单片机控制数码管显示

利用单片机控制6个共阴极8段数码管显示 , 可以通过两个锁存器分别进行位选(位置即哪个数码管)和段选(数码管的哪一段即显示什么数) 。74HC573锁存器使能端为低电平有效 , 当LE为高电平时 , 输出端(output)跟随输入端(D)变化;当LE为低电平时 , 输出端保持LE为高电平时的值 。单片机通过锁存器控制数码管的电路图如图1所示:
 
说明:
1)、数码管为共阴极的 , 当位选Q0~Q5 , 响应位为0时为选中 , 为1为不选 。如选择第一个数码管P0=0xfe;
2)、共阴极数码管表(段选表)
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,
0 1 2 3 4 5
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
6 7 8 9 A B
0x39 , 0x5e , 0x79 , 0x71 , 0x00
C D E F 无显示
3)、共阴极位选表
0xfe,0xfd,0xfb,0xf7,0xef,0xdf
1 2 3 4 5 6 (选择哪一位)
3)、一般先进行位选然后锁存住 , 再进行段选锁存住 , 程序举例
sbit dula=P2^7;
sbit wela=P^8;
while(1)
{
【单片机控制数码管显示】wela=1;//位选
P0=0xfe;//位选第二个数码管
wela=0;//位锁存
dula=1;//段选
P0=0x39;//显示6
dula=0;//段锁存
delay ();//一般自己写个延时函数或利用中断定时器进行延时
}

    推荐阅读