求单片机89C51数字钟的设计,要用C语言程序,四位数码管的。谢谢~~

如题所述

P1口片选 P3口位选 P3.0对应最右边那个 P3.3对应最左边那个 数码管共阳四位 不显示小数点

#include <reg52.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
uint8 number[]={0xFC,0x60,0xDA,0xF2,0x66,
0xB6,0xBE,0xE0,0xFE,0xF6};

void refresh();

main()
{
uint8 i=0,j=0,k=0,L=0;
uint16 counter,n;

TMOD = 0x01;
TH0 = 0xb7;
TL0 = 0xFF;
TR0 = 1;
while(1)
{
n=(L*1000+k*100+j*10+i);
if(1 == TF0)
{
TF0 = 0;
TH0 = 0xb7;
TL0 = 0xFF;
counter++;
}
P1=~number[i];P3=0x01;P3=0x00;
if(n>9)
{P1=~number[j];P3=0x02;}
P3=0x00;
if(n>99)
{P1=~number[k];P3=0x04;}
P3=0x00;
if(n>999)
{P1=~number[L];P3=0x08;}
P3=0x00;
if(50 == counter)
{
counter = 0;
i++;
}
if(i == 10)
{
i = 0;
j++;

}
if(j== 6)
{
j= 0;
k++;
}

if(k== 10)
{
k= 0;
L++;
}
if(L==6)
{
L= 0;
}

}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答