用仿真实现,采用6位一体的共阴数码管,P0口输出段码,P2口输出位码。仿真图如下:
程序如下
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,//0~9段码
0x77,0x7c,0x39,0x5e,0x79,0x71,};//共阴数码管A~F段码表
uchar buf[]={0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};//显示字母
void delay()//延时子程序
{
uint j;
for(j=300;j>0;j--);
}
void display()//显示子程序
{
uchar i,litbit=0xfe;
for(i=0;i<6;i++)
{
P2=litbit;//输出位码
P0=table[buf[i]];//输出段码
litbit=_crol_(litbit,1);
delay();//延时
}
}
void main()
{
while(1)
{
display();
}
}
应该试试
还好吧了