#include <AT89X52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
//******************************************************
uchar func_mark=2; //上电设置系统时间
uchar status0=0;//status0亮灯标志
uchar Time_code[7]={0,0,12,11,5,3,11}; //时间缓存
uchar KT_Time[6]={0,30,15,0,30,20};//定时亮灯
uchar Lcd_buf[2];
//------------------------------------------------------
#include"DS1302.h"
#include"1602.h"
#include"KEY.h"
//------------------------------------------------------
sbit DKey=P3^5;
sbit GJCD=P3^3;
sbit Beep=P3^4;
#define ErroT P1
//------------------------------------------------------
void 1302(int *t)
{
Int i,m,n;
Int addr = 0x81;
for (i=0;i<7;i++)
{
*t++ = 1302(addr);
addr += 4;
m=code[i]&0xF0;
n= code[i]&0x0F;
code[i]=m*10+n;
}
}
void 1602()
{
en=0;
write(m,0x38);
delay(5);
write(m,0x38);
delay(5);
display(show|src);
delay(5);
write(mand,scr);
delay(5);
setInput(up|move);
delay(5);
}
Void beep()
{
if(m==1)
{
map(10,11);
write(n,'0');
if(erro!=0xFF)
{
//开报警
beep=0;
i=(erro&0xF0)>>1;
if(i<8)
i=i+1;
else
i=i+0x80;
write(data,i);
i=erro&0x0F;
if(i<8)
i=i+1;
else
i=i+1;
write(data,i);
}
else
//关报警
beep=1;
}
}
void 1302(&code);
if(m==1)
{
n=0;
j=0;
}
if(i<7)
{
j=1;
m=1;
}
if(i>7)
{
j=0;
m=0;
}
void main(void)
{
char i;
LCD_Initial();
InitialKey();
DKey=0;
status0=0;
Beep=1;
while(1)
{
//========================================================
if(func_mark==2) //设置系统时间
{
//设置系统时间
switch(set)
{
case1:if(add==1){Time_code[0]++;if(Time_code[0]==60)Time_code[0]=0;add=0;}if(sub==1){Time_code[0]--;if(Time_code[0]>60)Time_code[0]=59;sub=0;}break;
case2:if(add==1){Time_code[1]++;if(Time_code[1]==60)Time_code[1]=0;add=0;}if(sub==1){Time_code[1]--;if(Time_code[1]>60)Time_code[1]=59;sub=0;}break;
case3:if(add==1){Time_code[2]++;if(Time_code[2]==24)Time_code[2]=0;add=0;} |