基于单片机温湿度控制课件.ppt

基于单片机温湿度控制课件.ppt

ID:57295177

大小:1.16 MB

页数:17页

时间:2020-08-10

基于单片机温湿度控制课件.ppt_第1页
基于单片机温湿度控制课件.ppt_第2页
基于单片机温湿度控制课件.ppt_第3页
基于单片机温湿度控制课件.ppt_第4页
基于单片机温湿度控制课件.ppt_第5页
资源描述:

《基于单片机温湿度控制课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设计思路温湿度采集传感器:DHT11实物图与单片机连接图DHT11时序主机发送请求信号从机发送应答信号位数据“0”的格式位数据“1”的格式温湿度显示:LCD1602引脚LCD_1602初始化一些重要指令:0x38设置16*2显示,5*7点阵,8位数据接口0x01清屏0x0F开显示,显示光标,光标闪烁0x08只开显示0x0e开显示,显示光标,光标不闪烁0x0c开显示,不显示光标0x06地址加1,当写入数据的时候光标右移0x02地址计数器AC=0;(此时地址为0x80)光标归原点,但是DDRAM中断内容不变0x18光标和显示一起向左移动160

2、2读写时序图总电路图程序如下:#include#includetypedefunsignedcharuchar;typedefunsignedintunint;unsignedcharstr1[]={""};unsignedcharstr2[]={""};unsignedcharcodedis1[]={"TRHRH:"};unsignedcharcodedis2[]={"TRHT:"};sbitTRH=P2^7;//温湿度传感器DHT11数据接入sbitLCD_RS=P2^3;sbitLCD_RW=

3、P2^4;sbitLCD_EN=P2^5;sbitjiare=P1^4;sbitjiangwen=P1^5;sbitzengshi=P1^6sbitjiangshi=P1^7;ucharTH_data,TL_data,RH_data,RL_data,CK_data;ucharTH_temp,TL_temp,RH_temp,RL_temp,CK_temp;ucharcom_data,untemp,temp;ucharrespond;voiddelayNOP(){_nop_();_nop_();_nop_();_nop_();}voiddel

4、ay_us()//5us级延时程序{uchari;i--;i--;i--;i--;i--;i--;}voiddelay_ms(unsignedcharms)//毫秒级延时子程序{unsignedchari;while(ms--){for(i=0;i<150;i++){_nop_();_nop_();_nop_();_nop_();}}}//测试LCD忙碌状态lcd_busy()为1时,忙,等待。lcd_busy()为0时,闲,可写指令与数据。bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=

5、1;delayNOP();result=(bit)(P0&0x80);LCD_EN=0;return(result);}//写入指令数据到LCDvoidlcd_wcmd(unsignedcharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}//写显示数据到LCD:RS=高电平,RW=低电平,E=高脉冲,D0-D7=数据。voidlcd_wdata(unsign

6、edchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}//LCD初始化设定voidlcd_init(){delay_ms(15);lcd_wcmd(0x38);//16*2显示,5*7点阵,8位数据delay_ms(5);lcd_wcmd(0x0c);//显示开,关光标delay_ms(5);lcd_wcmd(0x06);//移动光标delay_ms(5);lcd_wcmd(0x01);

7、//清除LCD的显示内容delay_ms(5);}//设定LCD显示位置voidlcd_dis_pos(unsignedcharpos){lcd_wcmd(pos

8、0x80);//数据指针=80+地址变量}//收发信号检测,数据读取charreceive(){uchari;com_data=0;for(i=0;i<=7;i++){respond=2;while((!TRH)&&respond++);delay_us();delay_us();delay_us();if(TRH){temp=1;respond=2;while((TRH)&&

9、respond++);}elsetemp=0;com_data<<=1;com_data

10、=temp;}return(com_data);}//读取温湿度子程序voidread_TRH(){T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。