单片机控制dht11液晶显示课程设计报告(共16页)_第1页
单片机控制dht11液晶显示课程设计报告(共16页)_第2页
单片机控制dht11液晶显示课程设计报告(共16页)_第3页
单片机控制dht11液晶显示课程设计报告(共16页)_第4页
单片机控制dht11液晶显示课程设计报告(共16页)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计 单片机课程(kchng)设计(shj)报告(bogo) 温湿度液晶显示院 系:物理学与电子科学学院班级专业:2012级微电子学生姓名:徐壮学 号:2012221105240021指导老师:卢仕TOC o 1-3 h u HYPERLINK l _Toc25470 摘要(zhiyo) PAGEREF _Toc25470 3 HYPERLINK l _Toc15591 一实验(shyn)目的 PAGEREF _Toc15591 3 HYPERLINK l _Toc6738 二实验(shyn)内容 PAGEREF _Toc6738 3 HYPERLINK l _Toc3787 三实验

2、器材 PAGEREF _Toc3787 4 HYPERLINK l _Toc28188 四实验资料 PAGEREF _Toc28188 4 HYPERLINK l _Toc12581 1.DHT11产品概述 PAGEREF _Toc12581 4 HYPERLINK l _Toc16263 2.DHT11引脚说明 PAGEREF _Toc16263 4 HYPERLINK l _Toc24221 3.DHT11电源引脚 PAGEREF _Toc24221 4 HYPERLINK l _Toc28826 4.串行接口 PAGEREF _Toc28826 4 HYPERLINK l _Toc171

3、72 5.单片机AT89C58 PAGEREF _Toc17172 6 HYPERLINK l _Toc28612 五系统的硬件设计和连接 PAGEREF _Toc28612 6 HYPERLINK l _Toc1291 5.1时钟电路 PAGEREF _Toc1291 6 HYPERLINK l _Toc7205 5.2显示模块 PAGEREF _Toc7205 7 HYPERLINK l _Toc5943 5.3传感器模块 PAGEREF _Toc5943 7 HYPERLINK l _Toc21838 5.4电路原理图 PAGEREF _Toc21838 8 HYPERLINK l _T

4、oc31701 六程序设计 PAGEREF _Toc31701 8 HYPERLINK l _Toc22986 七实验心得 PAGEREF _Toc22986 14 液晶(yjng)显示(xinsh)实验摘要(zhiyo): 温湿度是生活生产中的重要的参数。本设计为基于单片机的温湿度检测与控制系统,采用模块化、层次化设计。用新型的智能温湿度传感器DHT11主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89C58进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功能,显示部分采用LC

5、D1602液晶显示所测温湿度值。系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。一实验目的1.通过本实验了解液晶显示的基本原理、掌握如何用单片机来控制液晶显示模块的内容。2.学会使用DS18B20温度传感器模块进行温度测量。 二实验内容1.首先利用LCD显示自己的学号后3位+姓名拼音,比如“No:888 Name:WangNima”2.过3秒钟后,LCD显示当前温度,比如“Temp: 20 ”3.过3秒钟后,LCD显示姓名学号4.依次循环三实验器材1.AT89C58单片机实验板2.DHT11温度湿度传感器模块3.LCD1602模块四实验(shyn)资料1.DHT11

6、产品(chnpn)概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序(chngx)的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各

7、类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。2.DHT11引脚说明 引脚名称 类型 引脚说明 VCC 电源 正电源输入,3V-5.5V DC Dout 输出 单总线,数据输入/输出引脚 NC 空 空脚,扩展未用 GND 地 电源地 3.DHT11电源引脚 DHT11的供电电压为35.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。4.串行接口 DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时

8、间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“ 8bit 湿度整数数据 +8bit 湿度小数数据+8bi 温度整数数据 +8bit 温度小数数据 ”所得结果的末8位。用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模

9、式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。通讯(tngxn)过程如图1所示 总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号(xnho)。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。 数字温湿度传感器 DHT11 总线为低电平

10、,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接(linji)正常.当最后一bit数据传送完毕后,DHT11拉低总线0us,随后总线由上拉电阻拉高进入空闲状态。5.单片机AT89C58 ATC89C58是一种低功耗、高性能CMOS八位(b wi)微控制器,具有8K在系统可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C58产品指令和引脚完全兼容。片上Flash允

11、许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制(kngzh)应用系统提供灵活的解决方案。五系统(xtng)的硬件设计和连接 此次设计的电路部分是由我来设计,电路主要分为时钟电路、复位电路、显示模块等等,再将其连接到一起就组成了温湿度报警器传感器电路图,除此之外我还参与了电路的焊接。 5.1时钟电路 ATC89C51内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。如下:5.2显示(xinsh)模块5.3传感器模块(m kui)5.4电路(di

12、nl)原理图六程序设计(chn x sh j)#include #include typedef unsigned char uchar;typedef unsigned int unint;unsigned char str18=;unsigned char str28=;unsigned char code dis18 = Temp : ;unsigned char code dis28 = Humi : ;unsigned char code dis3=Number:021 ;unsigned char code dis4=2012221105240021;unsigned char c

13、ode dis5=xuehao: ;unsigned char code dis6=Name :XuZhuang ;sbit TRH = P20;/温湿度传感器DHT11数据(shj)接入sbit LCD_RS = P35; sbit LCD_RW = P37;sbit LCD_EN = P36;uchar TH_data,TL_data,RH_data,RL_data,CK_data;uchar TH_temp,TL_temp,RH_temp,RL_temp,CK_temp;uchar com_data,untemp,temp;uchar respond;void delayNOP()_no

14、p_();_nop_();_nop_();_nop_();/ 毫秒级延时子程序void delay_ms(unsigned char ms) unsigned char i;while(ms-)for(i = 0; i 150; i+)_nop_();_nop_();_nop_();_nop_();/5us级延时程序(chngx)void delay_us()uchar i;i-;i-;i-;i-;i-;i-; / 测试(csh)LCD忙碌状态/lcd_busy()为1时,忙,等待(dngdi)。lcd_busy()为0时,闲,可写指令与数据。bit lcd_busy() bit result

15、;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0&0 x80);LCD_EN = 0;return(result);/ 写入指令(zhlng)数据到LCDvoid lcd_wcmd(unsigned char cmd) 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=高脉冲

16、,D0-D7=数据。 void lcd_wdata(unsigned char dat) while(lcd_busy();LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;delayNOP();LCD_EN = 1;delayNOP();LCD_EN = 0; /LCD初始化设定(sh dn)void lcd_init() delay_ms(15); lcd_wcmd(0 x38); /16*2显示(xinsh),5*7点阵,8位数据delay_ms(5);lcd_wcmd(0 x38); delay_ms(5);lcd_wcmd(0 x38); delay

17、_ms(5);lcd_wcmd(0 x0c); /显示(xinsh)开,关光标delay_ms(5);lcd_wcmd(0 x06); /移动光标delay_ms(5);/lcd_wcmd(0 x01); /清除LCD的显示内容,如果屏幕过暗,可将这俩句删除/delay_ms(5);/设定LCD显示位置void lcd_dis_pos(unsigned char pos) lcd_wcmd(pos | 0 x80); /数据指针=80+地址变量/收发信号检测,数据读取char receive() uchar i;com_data=0;for(i=0;i=7;i+) respond=2;whil

18、e(!TRH)&respond+);delay_us();delay_us();delay_us();if(TRH)temp=1;respond=2;while(TRH)&respond+); elsetemp=0;com_data0;i-)for(j=110;j0;j-); /主函数(hnsh)/TH,TL,RH,RL分别代表(dibio)温湿度的整数和小数部分void main()unsigned char i,t=0 x00,n=0 x40,m;lcd_init(); delay_us(); while(1)read_TRH(); /写字符(z f)for(i=0;i=7;i+)lcd_

19、dis_pos(t+i); /显示字符lcd_wdata(dis1i);lcd_dis_pos(n+i); /显示字符lcd_wdata(dis2i); /写湿度数据m=0 x08;for(i=0;i=7;i+) lcd_dis_pos(m); lcd_wdata(str1i);m+;/写温度数据m=0 x48;for(i=0;i=7;i+) lcd_dis_pos(m); lcd_wdata(str2i);m+;delay_ms(100) ;/延时 delay(3000);m=0 x00;for(i=0;i=15;i+) lcd_dis_pos(m); lcd_wdata(dis3i);m+

20、;m=0 x40;for(i=0;i=15;i+) lcd_dis_pos(m); lcd_wdata(dis6i);m+;delay_ms(100) ;delay(3000);m=0 x00;for(i=0;i=15;i+) lcd_dis_pos(m); lcd_wdata(dis5i);m+;m=0 x40;for(i=0;i=15;i+) lcd_dis_pos(m); lcd_wdata(dis4i);m+;delay_ms(100) ;delay(3000); 七实验(shyn)心得 回顾起此次单片机课程设计,我仍感慨颇多,从理论到实践,在接近一个月期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且(r qi)学到了很多在书本上所没有学到过的知识。通过这次课程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论