微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 各位老师,我的累加(1-99)在显示时有阴影,怎么消除?

各位老师,我的累加(1-99)在显示时有阴影,怎么消除?

时间:10-02 整理:3721RD 点击:
我的累加(1-99)在显示时有阴影,怎么消除?
在显示5时,你会看到9.
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dua=P2^2;
sbit wei=P2^3;
uchar bai,shi,ge,num,a;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void init()
{
        num=0;
        TMOD|=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
}
void timer0_plus() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        a++;
        if(a==20)
            {
        a=0;
                num++;
            if(num==100)
                {       
                        num=0;
                }
                bai=num/100;
                shi=num%100/10;
                ge=num%10;
                }
}
void delay(uint t)
{
        while(t--);
}
void display(uchar bai,uchar shi,uchar ge)
{
       
        if(bai!=0)
        {
        P0=0xfe;
        wei=1;
        wei=0;
    P0=table[bai];
    dua=1;
        dua=0;
        delay(2);
       
        }
       
        if(shi!=0)
        {
    P0=0xfd;
        wei=1;
        wei=0;
        P0=table[shi];
    dua=1;
        dua=0;
        delay(2);
}
        P0=0xfb;
        wei=1;
        wei=0;
    P0=table[ge];
    dua=1;
        dua=0;
        delay(2);
}
void main()
{
init();
while(1)
        {
                display(bai,shi,ge);       
        }

}

一般这个问题。调节下扫描延时

哦。谢谢你。我今天试一试

所谓消影就是在段的地方把段前辈给关了!

哥啊,扫描延时调 了也是不好用啊!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top