1.功能
2.程序
#include "reg52.h"
//定义共阳数码管无小数点的数字段码值
unsigned char SMGNoDot_CA[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
/*=======================简单的延时函数========================*/
void Delay(unsigned int t)
{
while(t--);
}
/*=====================数码管显示数字函数=======================*/
void DisPlaySMG()
{
char i;
P2 = 0x80; //使能数码管最左边的一位
//逐段点亮数码管
for(i = 0; i <= 8; i++)
{
P0 = 0xff << i;
Delay(40000);
}
//依次显示数字0~9
for(i = 0; i < 10; i++)
{
P0 = SMGNoDot_CA[i];
Delay(40000);
}
}
/*==========================主函数============================*/
void main()
{
while(1)
{
DisPlaySMG();
}
}
3.原理图