如下图所示,用单片机控制一个8段LED数码管(图中型号为7SEG-COM-AN-BLUE),先显示单个偶数:0、2、4、6、8,再显示单个奇数:1、3、5、7、9,如此反复循环显示。
参考代码:
#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
#define out P0
uchar code seg[]={0xc0,0xa4,0x99,0x82,0x80,0xf9,0xb0,0x92,0xf8,0x90,0x01}; //共阳极段码表
void delayms(uint j)//延时函数
{
uchar i;
for(;j>0;j--)
{
i=250;
while(--i);
i=249;
while(--i);
}
}
void main()
{
uchar i;
while(1)
{
out=seg[i];
delayms(900);
i++;
if(seg[i]==0x01) i=0; //如果段码为0x01,表明一个循环的显示已结束,此时给i置0,为新的循环做准备
}
}