📄 新建 文本文档.txt
字号:
#i nclude <reg51.h>
#i nclude <intrins.h>
#i nclude <absacc.h>
#define uchar unsigned char
#define uint unsigned int
sbit key7=P3^2;
sbit key8=P3^3;
uchar code tab1[6]= {0x7f,0x88,0xbc,0xbc,0x1c,0x2a};// HELLO-
uchar data con1s=0x00,con=0x00,con04s=0x00;
uchar data dis[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00};
uchar data tab[6]={0x04,0x03,0x05,0x2,0x08,0x00};
uchar code dis_7[11]={0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09,0xff};//0~9
uchar code dis_9[11]={0x88,0xe3,0x44,0x41,0x23,0x11,0x10,0xc3,0x00,0x01,0xff};//带小数点的0123456789不亮
delay(uint t) //1ms秒延时
{
uint i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}
display() //开机显示子程序
{
uchar i,j;
for(i=0;i<6;i++)
{SBUF=tab1[i];
while(!TI);
TI=0;
delay(300);
}
for(j=0;j<5;j++)
delay(1000);
}
keyscan() //键扫描子程序
{
EA=0;
if(key7==0)
{
delay(10);
while(key7==0);
if(dis[con]==10)
{dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];}
con++;TR0=0;ET0=0; TR1=1;ET1=1;
if(con>=6)
{con=0;TR1=0;ET1=0,TR0=1;ET0=1;}
}
if(con!=0) //加1
{
if(key8==0)
{
delay(30);
while(key8==0);
tab[con]++;
if(tab[con]>=10)
{tab[con]=0; }
dis[con]=tab[con];dis[6]=0x0a;
}
}
EA=1;
}
clearmen() //初始化子程序
{
uchar i;
for(i=0;i<6;i++)
dis[i]=tab[i];
SCON=0x00;
TH0=0x3c;TL0=0xb0;
TH1=0x3c;TL1=0xb0;
TMOD=0x11;
TR0=1; ET0=1;
TR1=0; ET1=1;
EA=1;
}
scan() //显示子程序
{
uchar i;
for(i=0;i<6;i++)
{
if(i==0||i%2!=0)
{ SBUF=dis_7[dis[i]];
while(!TI);
TI=0;}
else
{SBUF=dis_9[dis[i]];
while(!TI);
TI=0;}
}
}
void time_intt(void) interrupt 1 using 0 //计时中断0
{
ET0=0;TR0=0;TH0=0x3c;TL0=0xb0;TR0=1;
con1s++;
if(con1s==20)
{
con1s=0x00;
tab[0]++;
if (tab[0]>=10)
{
tab[0]=0;tab[1]++;
if(tab[1]>=6)
{
tab[1]=0;tab[2]++;
if(tab[2]>=10)
{
tab[2]=0;tab[3]++;
if(tab[3]>=6)
{
tab[3]=0;tab[4]++;
if(tab[4]>=10)
{
tab[4]=0;tab[5]++;
}
if(tab[5]==2)
{
if(tab[4]==4)
{
tab[4]=0;tab[5]=0;
}
}
}
}
}
}
dis[0]=tab[0];dis[1]=tab[1];dis[2]=tab[2];
dis[3]=tab[3];dis[4]=tab[4];dis[5]=tab[5];
}
ET0=1;
}
void time_iint1(void) interrupt 3 //计时中断1
{
EA=0;TR1=0;TH1=0x3c;TL1=0xb0;TR1=1;
con04s++;
if(con04s==8)
{
con04s=0x00;
dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];
}
EA=1;
}
main()
{
key7=1;
key8=1;
display();
clearmen();
while(1)
{
scan();
delay(10);
keyscan();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -