下面我来介绍一下,数码管的工作原理:
1.首先是138译码器
就是以3个引脚(P22,P23,P2^4)控制LED1~8的8个引脚
G1,G2A,G3B,称为使能端(只要接入Vcc即可开始工作)
将能量给三个引脚,将信号传到8个LED的引脚上;
下面介绍3个引脚的原理:
2.下面我们来介绍数码管:
在这里插入代码片:
#include <REGX52.H>
//数码管段码表
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//数码管显示子函数
void Nixie(unsigned char Location,Number)
{
switch(Location) //位码输出
{
case 1:P2_4=1;P2_3=1;P2_2=1;break;
case 2:P2_4=1;P2_3=1;P2_2=0;break;
case 3:P2_4=1;P2_3=0;P2_2=1;break;
case 4:P2_4=1;P2_3=0;P2_2=0;break;
case 5:P2_4=0;P2_3=1;P2_2=1;break;
case 6:P2_4=0;P2_3=1;P2_2=0;break;
case 7:P2_4=0;P2_3=0;P2_2=1;break;
case 8:P2_4=0;P2_3=0;P2_2=0;break;
}
P0=NixieTable[Number]; //段码输出
}
void main()
{
Nixie(2,3); //在数码管的第2位置显示3
while(1); //这里只能在某一位的数码管显示,并保持此状态
}
这里就是静态数码管的工作介绍了;