先在proteus里画好电路图
稍微了解一下原理
1.动态显示数码管本质是靠数码管快速切换,利用人的视觉残留而产生同时显示的错觉。下面是将程序放慢显示后的样子。可以看到每个数字是独立显示的。
2.位码的意思是控制当前的数码管显示的第几位。
再看代码
1.开头的声明
2.动态显示数码管
最后把完整代码放进来
#include "reg52.h"
#define u8 unsigned char
#define u16 unsigned int
u8 code duanSMG[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
u8 code weiSMG[]={0x01,0x02,0x04,0x08};
u16 num[4]={0,9,2,0};
u16 count;
sbit duan=P3^6;
sbit wei=