📄 dianzizhong.c
字号:
#include<reg52.h>
#include<ds1302.h>
#include<lcd1602.h>
#include<ds18b20.h>
#include<panduan.h>
#include<kaiguan.h>
#include<paobiao.h>
sbit s4=P1^3;
sbit s5=P1^4;
sbit buzzer=P2^5;
uchar tc,s5num,flag1,flag2;
uchar code table[]="20 - - ";
uchar code table1[]=" : : C";
void init()
{
uint i;
flag=0;
flag1=0;
flag2=1;
tc=0;
lcden=0;
s1num=0;
s5num=0;
buzzer=1;
TMOD=0x10;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
EA=1;
ET1=1;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
for(i=0;i<15;i++)
{
write_date(table[i]);
delay(5);
}
write_com(0x80+0x40);
for(i=0;i<16;i++)
{
write_date(table1[i]);
delay(5);
}
}
void didi()
{
buzzer=0;
delay(200);
buzzer=1;
delay(200);
}
void shijian_dis()
{
read_serial(aa);
miao=aa[0]/16*10+aa[0]%16;
write_sfm(6,miao);
fen=aa[1]/16*10+aa[1]%16;
if(fen==0)
//buzzer=0;
didi();
else if(fen==1)
buzzer=1;
write_sfm(3,fen);
shi=aa[2]/16*10+aa[2]%16;
write_sfm(0,shi);
ri=aa[3]/16*10+aa[3]%16;
write_yr(8,ri);
yue=aa[4]/16*10+aa[4]%16;
write_yr(5,yue);
week=aa[5]/16*10+aa[5]%16;
write_week(11,week);
nian=aa[6]/16*10+aa[6]%16;
write_yr(2,nian);
}
void key_paobiao()
{
if(s5==0)
{
delay(10);
if(s5==0)
while(!s5);
s5num++;
if(s5num==2)
s5num=0;
}
}
void key4scan()
{
if(s4==0)
{
delay(5);
if(s4==0)
while(!s4)
write_a(0x80,0x50);
write_a(0x82,0x59);
write_a(0x84,0x15);
write_a(0x86,3);
write_a(0x88,5);
write_a(0x8a,1);
write_a(0x8c,9);
}
}
void main()
{
init();
while(1)
{
run(nian);
panduan();
keyscan();
key_paobiao();
while((s5num==1)&&(s1num==0))
{
TR1=1;
flag1=1;
key_paobiao();
if(flag2==1)
{
write_com(0x01);
write_mbinit();
flag2=0;
}
key3scan();
}
if((s5num==0)&&flag1==1)
{
uchar i;
flag1=0;
flag2=1;
write_com(0x01);
write_com(0x80);
for(i=0;i<15;i++)
{
write_date(table[i]);
delay(5);
}
write_com(0x80+0x40);
for(i=0;i<16;i++)
{
write_date(table1[i]);
delay(5);
}
min=0;
sec=0;
haosec=0;
}
if((s1num==0)&&(s5num==0))
{
TR1=0;
key4scan();
shijian_dis();
wendu_dis();
}
}
}
void timer1() interrupt 3
{
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
tc++;
if(tc==10)
{
flag=1;
tc=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -