完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人找了一段dht11在1602上显示的程序,但因为莫名的原因注释变成了乱码,求大神帮忙复原一下下付程序:
#include"reg52.h" #include ***it RS = P1^0; //???? ***it EN = P1^1; ***it dp = P2^5; #define RS_CLR RS=0 #define RS_SET RS=1 #define EN_CLR EN=0 #define EN_SET EN=1 //msgnum[]存储短信编号的字符编码,第0字节存储编号位数 unsigned char temp,setmode=0,open=0,start=0,mode=1,rxnum=1,rxbuf[20]={" "},msgnum[4],delmsgstart=0,phonebuf[15],startsend=0,num_yinhao=0; unsigned char code atreadmsg[8]={"AT+CMGR="}; unsigned char code atdelmsg[8]={"AT+CMGD="}; unsigned char code atset[9]={"AT+CMGF=1"}; unsigned char code atset2[11]={"AT+CNMI=2,1"}; unsigned char code atsend[9]={"AT+CMGS=x22"}; unsigned char code atset3[4]={"ATE0"}; unsigned char qqq[5]={0,0,0,0,0},h1=0,h2=0,t1=0,t2=0,baojing=0; /******************************************************************/ /* ?????? */ /******************************************************************/ void delay_us(unsigned int n) //?? ????????? ????? { if (n == 0) { return ; } while (--n); } /******************************************************************/ /* ?????? */ /******************************************************************/ void delay_ms(unsigned char i) { unsigned char a, b; for (a = 1; a < i; a++) { for (b = 1; b; b++) { ; } } } void delay(unsigned char i) /*??i/10 ms*/ { unsigned char y; for(;i >0;i--) for(y=0;y<28;y++); } void delay_10us() /*??10 us*/ { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } /******************************************************************/ /* ?????? */ /******************************************************************/ void LCD_write_com(unsigned char com) { RS_CLR; EN_SET; P0 = com; delay_us(5); EN_CLR; } /******************************************************************/ /* ?????? */ /******************************************************************/ void LCD_write_Data(unsigned char Data) { RS_SET; EN_SET; P0 = Data; delay_us(5); EN_CLR; } /******************************************************************/ /* ?????? */ /******************************************************************/ void LCD_write_char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) { LCD_write_com(0x80 + x); } else { LCD_write_com(0xC0 + x); } LCD_write_Data( Data); } /******************************************************************/ /* ????? */ /******************************************************************/ void LCD_init(void) { LCD_write_com(0x38); //数据线8位,两行显示,5*7点阵 LCD_write_com(0x01); /*????*/ //清屏 LCD_write_com(0x06); /*????????*///写入数据后光标右移,显示屏不移动 delay_ms(3);//必须的延时,最少3ms LCD_write_com(0x0c); /*????????*///显示开,无光标,光标闪烁 } void Read(unsigned char * Data) /*??DHT11??*/ { unsigned char x,m,n,time_out; for(n=0;n<5;n++) { for(m=0;m<8;m++) { while (!dp); /*??bit????50us???????,??????DHT11?????????*/ delay_10us(); //????????????0??1,??0 ???????26us-28us,???30us delay_10us(); _nop_(); _nop_(); // _nop_(); // _nop_(); // _nop_(); // _nop_(); // _nop_(); // _nop_(); // _nop_(); x = 0; /*????x?0*/ if(dp) /*?????????30us,????x?1*/ x = 1; Time_out = 2; while (dp&&Time_out++); /*?????????????,?????????DHT11?????????,????????*/ if(Time_out==1) /*??????????,?Time_out????(??????8bit?????),???1,???*/ break; /*?????,????*/ *Data <<= 1; /*DHT11??????????,?????,??????*/ if(x) *Data |= 0x01; /*??????????????x?,??????????*/ } Data++; } } unsigned char Get_data() /*DHT11????????????*/ { unsigned char o,sum; dp = 0; /*????????18ms,??DHT11????????*/ delay(180); /*?????18ms*/ dp = 1; /*?????20-40us,????DHT11??*/ delay_10us(); delay_10us(); delay_10us(); if(dp==0) /*DHT11????,???????80us*/ { while (!dp); /*??DHT11??????80us,??????*/ while (dp); /*??DHT11??????,??????*/ Read(qqq); /*?????????*/ for(o=0;o<4;o++) /*?????????,??32bit????,??????8bit*/ sum+=qqq[o]; if(sum!=qqq[4]) /*CRC??*/ return 0; else return 1; /*??,???1; ??,??0*/ } return 0; } |
|
相关推荐
3个回答
|
|
|
|
|
|
那些都是一些注释 可以直接不要的。
|
|
|
|
求人气,帮顶,
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12035 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 23:38 , Processed in 0.572410 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号