要求:
【要求】根据下图共阴极型数码管动态显示电路,编程实现显示字符“123456”的功能。
纵览图:
代码:
#include <reg51.h>
#include<intrins.h>
unsigned char code num[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d};
void delay(unsigned int i){
unsigned int j=0;
for(;i>0;i--)
for(;j<125;j++);
}
void main(){
unsigned char disnum=0x01;
unsigned char count=0;
while(1){
P2=~disnum; //位选数码管
P0=num[count]; //输出数字1~6中的一个(eg。1)
count++;//计数标志位+1
disnum=disnum<<1; //位选下一个数码管,并且显示下一个显示的数字(eg。2)
if(count>=6){
count=0;//循环 从1开始显示
disnum=0x01;//复原,又从第一个数码管选起,而不是第七个(6个数码管)
}
delay(2) ;//让每次一个数码管显示到下个数码管显示前暂停一下保留视觉效果
}
}