1.定义
数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。
2.原理图
(1)亮时为0,灭时为1(从右往左记二进制)
(2)段选与位选:
a.位选:假设我们要控制8个数码管,依次是1、2…… 8。我们要选择控制哪个数码管(比如控制第1个),这就是位选,位选有选择位置的意思。
b.段选:然后我们要让第1个数码管显示“1”。我们就要控制第一个数码管“b=0、c=0,a=1、d=1、e=1、f=1、g=1(或者b=1、c=1,a=0、d=0、e=0、f=0、g=0),这就是段选,即选择数码管的哪一段。
void display(void)
{
P2 = ((P2&0x1f)|0xe0); //数码管消隐
P0 = 0xff;
P2 &= 0x1f;
P2 = ((P2&0x1f)|0xc0); //位选控制
P0 = 1<<dspcom;
P2 &= 0x1f;
P2 = ((P2&0x1f)|0xe0); //段码输入
P0 = tab[dspbuff[dspcom]];
P2 &= 0x1f;
if(+&