单片机实现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条回答
zx13924618104
1楼-- · 2019-07-15 17:39
chenwei6991627 发表于 2018-1-18 11:15
不能显示的话,先把显示调好啊

十位个位来回跳0
晓晓江南
2楼-- · 2019-07-15 19:46
 精彩回答 2  元偷偷看……
zx13924618104
3楼-- · 2019-07-16 00:28
晓晓江南 发表于 2018-1-19 10:22
TempDate[5]=duanma[num/10];
TempDate[5]=duanma[num%10];

我也改了1,2一样的  求赐教
晓晓江南
4楼-- · 2019-07-16 01:42
#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);
        }
}
有些变量不知何意,只能帮你到这了。
晓晓江南
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);
        }
}
有些变量不知何意,只能帮你到这了。

一周热门 更多>