完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include #include #define uchar unsigned char #define uint unsigned int #define Data P0 ***it RS=P2^4; ***it RW=P2^5; ***it E=P2^6; ***it DHT=P1^0;(这只有一个DHT,电路图需要两个) ***it HADD=P1^3; ***it HSEC=P1^4; ***it TADD=P1^5; ***it TSEC=P1^6; ***it ADD=P1^7; ***it SEC=P3^5; ***it XJT=P3^0; ***it UPT=P3^1; ***it XJH=P3^2; ***it UPH=P3^3; ***it ADD1=P3^6; uchar FirstLine[] ="wen:00.0 T:00"; uchar SecondLine[]="shi:00.0 H:00"; unsigned char shiZ,shiX,wenZ,wenX,check,T=25,H=25; unsigned char tr_shiZ,tr_shiX,tr_wenZ,tr_wenX; unsigned char flag; unsigned int n=20,m; void delay_1ms(unsigned int a) { unsigned int i; while(--a!=0) { for(i=0;i<600;i++); } } void delay_10us() { unsigned char i; i--; i--; i--; i--; i--; i--; } char read_data() { unsigned char i,num,temp; num=0; for(i=0;i<8;i++) { flag=2; while((!DHT)&&flag++); delay_10us(); delay_10us(); delay_10us(); if(DHT==1) { temp=1; flag=2; while(DHT&&flag++); } else temp=0; num<<=1; num|=temp; } return(num); } void delay(uchar ms) { uchar i,j; for(i=ms;i>0;i--) for(j=100;j>0;j--); } void DelayUs(unsigned char us) { unsigned char uscnt; uscnt=us>>1; while(--uscnt); } void DelayMs(unsigned char ms) { while(--ms) { DelayUs(250); DelayUs(250); DelayUs(250); DelayUs(250); } } void lcd_write_com(uchar c) { DelayMs(5); E=0; RS=0; RW=0; _nop_(); E=1; Data=c; E=0; } void lcd_write_dat(uchar c) { DelayMs(5); E=0; RS=1; RW=0; _nop_(); E=1; Data=c; E=0; RS=0; } void lcd_init() { DelayMs(15); lcd_write_com(0x38); lcd_write_com(0x38); lcd_write_com(0x38); lcd_write_com(0x06); lcd_write_com(0x0c); lcd_write_com(0x01); } void ShowChar(uchar pos,uchar c) { unsigned char p; if (pos>=0x10) p=pos+0xb0; else p=pos+0x80; lcd_write_com(p); lcd_write_dat(c); } void ShowString (uchar line,char *ptr) { unsigned char l,*p; p=ptr; l=line<<4; while((*p)!=' |