单片机实现0---99累加

2019-07-15 08:59发布

file:///C:UsersAdministratorDocumentsTencent Files1204547967ImageC2CDAWO5]B))%(Z)GTMP]NO18W.pngfile:///C:UsersAdministratorDocumentsTencent Files1204547967ImageC2CE5X15RN}YTW$}U%V(VDIQ6V.png
用Protues仿真只能实现动态扫描显示00,不能累加,求大神赐教

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
晓晓江南
2019-07-16 07:06
#include <reg51.h>
#define Dateport P2
#define unit unsigned int
#define uchar unsigned char
sbit weixuan=P3^1;
sbit duanxuan=P3^0;
uchar code duanma[10]={0x30,0xf9,0x52,0xd0,0x99,0x94,0x14,0xf1,0x10,0x90};
uchar code weima[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar TempDate[1];
void delay(unit i);
void display(unit firstbit,unit num);
void main()
{
        unit num;
        while(1)
        {
                if(num==100)num=0;
                TempDate[0]=duanma[num/10];
                TempDate[1]=duanma[num%10];
                num++;
                display(1,2);
        }
}
void delay(unit i)
{
        while(i--);
}
void display(unit firstbit,unit num)
{
        unit t;
        for(t=0;t<num;t++)
        {
                Dateport=0;
                duanxuan=1;
                duanxuan=0;
                Dateport=weima[t+firstbit];
                weixuan=1;
                weixuan=0;
                Dateport=TempDate[t];
                duanxuan=1;
                duanxuan=0;
                delay(1000);
        }
}
有些变量不知何意,只能帮你到这了。

一周热门 更多>