c51单片机数码管静态显示程序

急啊!!!!编写一个数码管自检程序要求:四个数码管按照0000—1111—2222—3333一直到8888—9999的顺序显示,数字依次显示一秒,自检完毕后,再最后一个数码管显示“—”一杠,要单片机程序,c语言程序后考虑

第1个回答  2013-05-17
#include<reg52.h>
#define uchar unsigned char
uchar code table[11] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
//共阴
void Delay(uint i)//延时时间约为 10ms * x
{
uchar x;
for(x=0;x<=1827;x++);
}
void Main(void)
{
uchar i = 0;
for(i=0;i<11;i++)
{
P0 = table[i]; // i 值的 个位数
if(i==10)
P2=0x01; //点亮最后一个数码管
P2 = 0x0f; //点亮四个数码管
Delay(100); // 延时1s
} }
说明:若接法不一样,则赋值也不一样。
相似回答