📄 12.c
字号:
/*#include<reg52.h>
unsigned char flag,a;
void main()
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
/* if(RI==1)
{
RI=0;
P1=SBUF;
}*/
/* if(flag==1)
{
ES=0;
flag=0;
SBUF=a;//28;
while(!TI);
TI=0;
SBUF='2';//28;
while(!TI);
TI=0;
SBUF='3';//28;
while(!TI);
TI=0;
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0;
P1=SBUF;
a=SBUF;
flag=1;
}*/
#include<AT89X51.h>
#define uint unsigned int
#define uchar unsigned char
unsigned char code dispcode[]={0x7e ,0x48 ,0x3d,0x6d,0x4b,0x67,0x77,
0x4c,0x7f,0x6f,0x5f,0x73,0x36,0x79,0x37,0x17,0x00
};
uchar dispbitcode[]={0xbf,0xdf,0xf7,0xfb,0xfd,0xfe},
dispbuf[6]={0,0,0,0,0,0},dispbitcnt,
second, minite,hour={12},mstcnt,i,j, Dt1,second1, minite1,hour1={6},flag,a,b; //4cH,7fH,6fH,5fH,73H,36H,79H,37H,17H
uint tcnt;
void delay(uint z)
{
uint t1,y;
for(t1=z;t1>0;t1--)
for(y=100;y>0;y--);}
void main()
{ P1=0;
ET0=1;
TR0=1;
TH0=(65536-1976)/256;//定时时间为3000 个周期
TL0=(65536-1974)%256;
TMOD=0x21;
EA=1;
Dt1=1;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
REN=1;
PS=1;
SBUF=0;
flag=0;
minite=0;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=a;//28;
while(!TI);
TI=0;
minite=b;
b=SBUF;
ES=1;
}
if(P3_3==0)
{
delay(10);
if(P3_3==0)
{
while(P3_3==0);
minite++;
if(minite==60)
{
minite=0;
}
second=0;
}
}
if(P3_2==0)
{
delay(10);
if(P3_2==0)
{
while(P3_2==0);
hour++;
if(hour==24)
{
hour=0;
}
second=0;
}
}
}
}
void ser() interrupt 4
{
RI=0;
P1=SBUF;
a=SBUF;
flag=1;
}
void t0() interrupt 1
{TH0=(65536-1976)/256;
TL0=(65536-1974)%256;
P0=dispcode[dispbuf[dispbitcnt]];
if(Dt1==0)
{
if(dispbitcnt==1)
{
P0=P0|0X80;
}
if(dispbitcnt==3)
{
P0=P0|0X80;
}
}
P2=dispbitcode[dispbitcnt];
dispbitcnt++;
if(dispbitcnt==6)
{
dispbitcnt=0;
}
tcnt++;
if(tcnt==500)
{
Dt1=!Dt1;
tcnt=0;
second++;
if(second==60)
{
second=0;
minite++;
if(minite==60)
{
minite=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
dispbuf[5]=second%10;
dispbuf[4]=second/10;
dispbuf[3]=minite%10;
dispbuf[2]=minite/10;
dispbuf[1]=hour%10;
dispbuf[0]=hour/10;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -