完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include #include #define uchar unsigned char #define uint unsigned int uchar addr[6]={0x8d,0x89,0x8b,0x85,0x83,0x81}; //年,月,日,时,分,秒 读 uchar time[6]; uchar zhuanhua[12]; ***it rs=P1^2; //数据/命令选择 ***it rw=P1^1; //读写控制 ***it e=P1^0; //片选信号 ***it rst=P3^0; //ds1302 ***it sclk=P3^1; ***it io=P3^2; ***it dq=P1^3;//ds18b20定义数据线 #define lcd P2 //8 bit数据线 #define low 0 #define high 1 void ds18b20ini(); ds18b20writebyte(uchar byte); uchar ds18b20readbyte(); uint gettemp(); void ds18b20dis( ); void delayus(uint i) { uchar k; for(k=0;k _nop_(); } void delay(uint t) { uint i; while(t--) { for(i=0;i<125;i++); } } //液晶模块 void checkbusy() { uchar busy; rs=0; rw=1; lcd=0xff; do { e = 1; busy=lcd; e=0; } while(busy&0x80); } //写命令函数 void wcom(uchar com) { checkbusy(); e=low; rs=low; rw=low; lcd=com; e=high; delay(10); e=low; } //写数据函数 void wdata(int dat) { checkbusy(); e=low; rs=high; rw=low; lcd=dat; e=high; delay(10); e=low; } //初始化函数 void init() { lcd=0xff; delay(100); wcom(0x30); //写基本指令集 delay(1); wcom(0x30); delay(1); wcom(0x0c); //显示开 delay(1); wcom(0x01); //清屏指令 delay(20); wcom(0x06); //游标右移 delay(100); } //清屏函数 void lcdclear(void) { wcom(0x01); //清屏指令 delay(100); } //显示汉字 dishanzi(uchar addr,uchar *hz) { int i; checkbusy(); wcom(addr); for(i=0;hz[i]!=' |