图8 数码管的段码表
1.5. 程序设计
本例实现的功能是让单片机控制数码管循环显示0~9的数字。
#include <AT89X52.h> //
unsigned char code DispTab[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void Delay(void);
void main(void)
{
unsigned char i;
P2 = 0xfe;
while(1)
{
for(i = 0;i < 10;i )
{
P0 = DispTab[i];
Delay();
}
}
}
要编程实现程序控制数码管显示数字,首先要控制数码管的公共端,其次要控制数码管的段码端,结合上面图中共阳极数码管的段码表,即可编出合适的程序。
1.6. 实例仿真
编写完程序后,在keil环境下编译,生成hex文件,然后将该文件装载到proteus环境下的仿真电路的单片机中,点击开始仿真,就可观察到程序的执行结果。
1.7. 总结
通过本实例,我们一是学习了单片机驱动数码管的电路设计,也就是驱动较大电路器件的电路设计,第二学习数码管的显示原理,并且知道了数码管的共阳极和共阴极的区别,第三学习了根据数码管的数字编码表来编写数码管显示数字的程序。
,