📄 shizhong.txt
字号:
#include <AT89X51.H> //******头文件*******//
unsigned char mg=0,ms=0,fg=0,bittime=0,bitdisplay=0; //*定义变量*//
//********数码管段代码表(共阴且高位接a,低位接h笔段)**********//
unsigned char code Tab[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,
0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00};
//*********定时中断服务程序**********//
void timer0 (void) interrupt 1 using 0
{
TH0=0xE0; TL0=0xC0;
switch(bitdisplay)
{
case 0:P2=Tab[mg%10];P0=0xFE;break;
case 1:P2=Tab[mg/10];P0=0xFD;break;
case 2:P2=~(Tab[0])&0xFE;P0=0xFB;break;
case 3:P2=Tab[ms%10];P0=0xF7;break;
case 4:P2=Tab[ms/10];P0=0xEF;break;
case 5:P2=~(Tab[0])&0xFE;P0=0xDF;break;
case 6:P2=Tab[fg%10];P0=0xBF;break;
case 7:P2=Tab[fg/10];P0=0x7F;break;
}
bitdisplay++;bittime++;
if(bitdisplay==8){bitdisplay=0;}
}
void ys()
{unsigned char aaa,bbb;
for(aaa=255;aaa>0;aaa--)
for(bbb=0;bbb<255;bbb++); }
//*********主程序**********//
void main(void)
{
TMOD=0x01; TH0=0xE0;TL0=0xC0;
EA=1; ET0=1; TR0=1;P1=0x00;
while(1)
{
if(bittime>250)
{
bittime=0;mg++;
}
if(mg==60)
{
mg=0;ms++;
}
if(ms==60)
{
ms=0;fg++;
}
if(fg==24)
{
fg=0;
}
if(P3==0xFE)
{
ys();P3==0xFE;mg=mg+1;
}
if(P3==0xFD)
{
ys();P3==0xFD;ms=ms+1;
}
if(P3==0xFB)
{
ys();P3==0xFB;fg=fg+1;
}
if(mg<6&ms==0&fg==7)
if(mg%2==0)
{P1=0x08;}
else
{P1=0x00;}
else
P1 = 0x00;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -