#include<reg52.h>
#define Y0C P2&=0x1f,P2|=0x00;
#define Y1C P2&=0x1f,P2|=0x20;
#define Y2C P2&=0x1f,P2|=0x40;
#define Y3C P2&=0x1f,P2|=0x60;
#define Y4C P2&=0x1f,P2|=0x80;
#define Y5C P2&=0x1f,P2|=0xa0;
#define Y6C P2&=0x1f,P2|=0xc0;
#define Y7C P2&=0x1f,P2|=0xe0;
#define C138 P2&=0x1f;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
sbit hw=P3^4;
sbit BUZZ=P0^6;
int flagmm=0;
int mm=0;
unsigned char smg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int s=0,min=0,hour=0,kk=14,t_hour=100,t_min=100;
void pri(unsigned hour,unsigned min,unsigned s);
void delay(unsigned int a);
void close_buzz();
void delay(unsigned int a)
{
unsigned int i,j;
for(i=0;i<=a;i++)
for(j=0;j<88;j++);
}
void close_buzz()
{
Y5C;
BUZZ=0;
C138;
}
void open_buzz()
{
Y5C;
BUZZ=1;
C138;
}
void main()
{
unsigned int flag1=0;
close_buzz();
TMOD=0x01;
P3=0XFF;
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=0;
while(1)
{
/*
if(kk==19)
{
kk=0;
s++;
if(s==61)
{
s=0;
min++;
if(min==61)
{
min=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
}
*/
pri(hour,min,s);
if(mm>0&&hw==0)
{
TR0=0;
}
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0= (65536-50000)%6;
flagmm=1;
if(hw==1)
{
++kk;
mm++;
}
}
void pri(unsigned hour,unsigned min,unsigned s)
{
Y6C;
P0=0x01;
C138;
P0=smg[hour/10];
Y7C;
delay(2);
P0=0xff;
C138;
Y6C;
P0=0x02;
C138;
P0=smg[hour];
Y7C;
delay(2);
P0=0xff;
C138;
Y6C;
P0=0x04;
C138;
P0=0xbf;
Y7C;
delay(2);
P0=0xff;
Y6C;
P0=0x08;
C138;
P0=smg[min/10];
Y7C;
delay(2);
P0=0xff;
C138;
Y6C;
P0=0x10;
C138;
P0=smg[min];
Y7C;
delay(2);
P0=0xff;
C138;
Y6C;
P0=0x20;
C138;
P0=0xbf;
Y7C;
delay(2);
P0=0xff;
C138;
Y6C;
P0=0x40;
C138;
P0=smg[s/10];
Y7C;
delay(2);
P0=0xff;
C138;
Y6C;
P0=0x80;
C138;
P0=smg[s];
Y7C;
delay(2);
P0=0xff;
C138;
}
转载请注明原文地址: https://ju.6miu.com/read-6095.html