欢迎来到天天文库
浏览记录
ID:42193048
大小:1.17 MB
页数:19页
时间:2019-09-10
《基于单片机温湿度控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于单片机的温箱温度和湿度的控制姓名:金义飞学校:郑州大学设计思路温湿度采集传感器:DHT11实物图与单片机连接图DHT11时序主机发送请求信号从机发送应答信号位数据“0”的格式位数据“1”的格式温湿度显示:LCD1602引脚LCD_1602初始化一些重要指令:0x38设置16*2显示,5*7点阵,8位数据接口0x01清屏0x0F开显示,显示光标,光标闪烁0x08只开显示0x0e开显示,显示光标,光标不闪烁0x0c开显示,不显示光标0x06地址加1,当写入数据的时候光标右移0x02地址计数器AC=0;(此时地
2、址为0x80)光标归原点,但是DDRAM中断内容不变0x18光标和显示一起向左移动1602读写时序图总电路图程序如下:#include#includetypedefunsignedcharuchar;typedefunsignedintunint;unsignedcharstr1[]={""};unsignedcharstr2[]={""};unsignedcharcodedis1[]={"TRHRH:"};unsignedcharcodedis2[]={"TRHT:"
3、};sbitTRH=P2^7;//温湿度传感器DHT11数据接入sbitLCD_RS=P2^3;sbitLCD_RW=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
4、,temp;ucharrespond;voiddelayNOP(){_nop_();_nop_();_nop_();_nop_();}voiddelay_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
5、_busy()为1时,忙,等待。lcd_busy()为0时,闲,可写指令与数据。bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=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=cm
6、d;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}//写显示数据到LCD:RS=高电平,RW=低电平,E=高脉冲,D0-D7=数据。voidlcd_wdata(unsignedchardat){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(0x
7、38);//16*2显示,5*7点阵,8位数据delay_ms(5);lcd_wcmd(0x0c);//显示开,关光标delay_ms(5);lcd_wcmd(0x06);//移动光标delay_ms(5);lcd_wcmd(0x01);//清除LCD的显示内容delay_ms(5);}//设定LCD显示位置voidlcd_dis_pos(unsignedcharpos){lcd_wcmd(pos
8、0x80);//数据指针=80+地址变量}//收发信号检测,数据读取charreceive(){uchari;c
9、om_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)&&respond++);}elsetemp=0;com_data<<=1;com_data
10、=temp;}return(com_data
此文档下载收益归作者所有