#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dis[]={'0','1','2','3','4','5','6','7','8','9',0x3a,0xa0,0x2d};
uchar code dis1[]={'T','i','m','e',':'};
uchar code dis2[]={'D','a','t','e',':'};
uchar data ntime[5];
uchar data time[8]={0,2,10,0,0,10,0,0};
uchar data date[8]={0,0,12,0,0,12,0,0};
unsigned data s,min,hour,date1,moon,year,day,nmin=0,nhour=1,t50ms=0;
uchar i,chang=0;
void set_time(void);
sbit BUZZER=P2^7;
sbit fun_key=P1^0;
sbit rs=P2^0;
sbit rw=P2^1;
sbit lcdep=P2^2;
sbit busy=P0^7;
sbit ACC_7=ACC^7; //位寻址寄存器定义
sbit DS_CLK=P3^6; // DS1302时钟信号
sbit DS_IO=P3^7; // DS1302数据信号
sbit DS_RST=P3^5; // DS1302片选
#define nop() _nop_()
sbit DS18B20_DQ = P2^5;
uchar DS18B20_ID[8];
uchar Temp=0;
#define KEY_IN P1
unsigned data keytemp,key;
unsigned data flag=0x00;
bit flag_key=0;
delay(uchar t) //延时
{
uchar i;
for(t; t>0; t--)
for(i=0;i<120;i++);
}
/************液晶驱动程序***********/
void check() // 判断忙或闲
{
do
{
P0=0xff;
rs=0;
rw=1;
lcdep=0;
delay(1);
lcdep=1;
}while(busy==1);
}
void write_com(uchar com) //写指令
{
P0=com;