多位数码连接上可使用共阴极和共阳极,各管可以用锁存器来保持其各自的数字,其原理就是位锁存器选通1位数码管,然后段锁存锁定输出的数字。如果多位显示的话,利用人眼的视觉暂留,分别以很快的速度位锁段锁一数码管,再位锁段锁另一数码管,下一篇将会学习。下面是将共阴极第一位显示数字3的示例。
#include <reg52.h>
sbit LATCH1 = P2^2; //定义锁存使能端口 段锁存sbit LATCH2 = P2^3; // 位锁存
void main(){ while(1) {P1 = 0xFE; //取位码 二进制1111 1110 即第一位数码管选通 LATCH2 = 1; //位锁存 锁存器进入接收数据状态 其实就是将0xFE更新/装载到锁存器 LATCH2 = 0; //停止接收(锁住),必需要有否则后面的赋值同样会被接收
P1 = 0x4F; //取显示数据 0100 1111,即共阴极的3 LATCH1 = 1; //段锁存 装载数据 LATCH1 = 0; //锁住 }}
转载于:https://www.cnblogs.com/coloregg/p/3567776.html
相关资源:8位LED数码管结构图