/* *****************************************************************/
/* 电子技术实验室论坛单片机开发板演示程序 */
/* 数码管动态显示 */
/* 数码管 */
/* 晶体:12M */
/* MCU:STC89S51,52orAT89系列
/*******************************************************************/
#include<AT89X52.h>
code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码
void delay1ms() //1毫秒延时子程序
{
unsigned char i;
for(i=124;i>0;i--); //延时124*8+10=1002us
}
void LED_display() //显示子程序
{
P0=0xfe; //P0.0=0,选通第一位
P2=seg7code[2]; //段显
delay1ms(); //延时
P2=0xff; //消隐
P0=0xfd; //P0.1=0,选通第二位
P2=seg7code[0]; //段显
delay1ms(); //延时
P2=0xff; //消隐
P0=0xfb; //P0.2=0,选通第三位
P2=seg7code[0]; //段显
delay1ms(); //延时
P2=0xff; //消隐
P0=0xf7; //P0.3=0,选通第四位
P2=seg7code[8]; //段显
delay1ms(); //延时
P2=0xff; //消隐
}
main()
{
while(1)
{
LED_display(); //显示
}
}