[法律资料]单片机4400218.doc

上传人:sccc 文档编号:4542908 上传时间:2023-04-27 格式:DOC 页数:31 大小:1.26MB
返回 下载 相关 举报
[法律资料]单片机4400218.doc_第1页
第1页 / 共31页
[法律资料]单片机4400218.doc_第2页
第2页 / 共31页
[法律资料]单片机4400218.doc_第3页
第3页 / 共31页
[法律资料]单片机4400218.doc_第4页
第4页 / 共31页
[法律资料]单片机4400218.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《[法律资料]单片机4400218.doc》由会员分享,可在线阅读,更多相关《[法律资料]单片机4400218.doc(31页珍藏版)》请在三一办公上搜索。

1、 南华大学电气工程学院 设计题目: 单片机控制的温湿度测试仪的设计 专 业: 本09通信02班 学生姓名: 肖立传 学号: 20094400218 指导教师: 黄智伟 吴荣燕 教研室主任: 王 彦 目录 1 任务书.2摘要.3设计方案简介.4设计部分. 4.1硬件设计.4.1.1 AT89C51简介及其外围电路.4.1.2 液晶显示模块.4.1.3 DHT11温度传感器. 4.2软件设计.4.2.1系统软件的设计说明 .4.2.2 硬件块对应的程序.4.2.3 系统的软硬件测试. 5 硬件对应的原理图和PCB图. 6 设计结果和分析. 7 总结. 8 参考文献.1单片机课程设计任务书1课程设计

2、的内容和要求(包括原始数据、技术要求、工作要求等):一、课程设计内容 题目:一个典型单片机应用系统设计要求:输入信号为传感器、电压、电流、开关等形式,单片机型号可以自己选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显示器等。注:可以采用单片机、传感器电路模块以及集成电路芯片制作。二、课程设计要求1. 综合运用已学习过模拟电路、数字电路、单片机、通信电子线路等知识,阅读相关集成电路芯片资料和相关文献,了解单片机应用系统系统设计、电路设计的有关知识,方法和特点,掌握基本的单片机应用系统系统设计、电路设计和芯片使用方法。2. 一人

3、一题,所设计的系统、电路必须制作成功,并且全部或者部分通过计算机仿真。课程设计必须自己独立完成,不得从网上下载,一经发现该课程成绩记零分。3. 课程设计设计说明书(报告)应包括有: 系统电路工作原理分析 系统电路元器件参数设计计算 系统电路调试说明 系统电原理图和PCB图(必须自己画) 系统模块元器件装配图(必须自己画) 元器件清单 自己的收获和体会 要求字数不得少于3500字 要求图纸布局合理,符合工程要求,使用Protel等软件绘制电原理图(SCH)、元器件布局图和印制电路板(PCB)。 4. 所有的文档和表格必须采用Word形式。5. 同类型的设计题可以组成一个设计组,组员之间可以开展研

4、究与讨论。雷同者均计0分。6. 阅读有关芯片英文参考资料,理解资料内容。7. 英文资料中的曲线、参数、方框图、引脚端封装等图(不包括电原理图和PCB图)可以直接采用(pdf文档中的图可放大300倍后裁剪到Word文档中),图中的英文可以采用英文(中文)方式翻译在图下。8. 英文资料中的一些词,如果翻译拿不准,可以采用英文(中文)方式标注。9. 设计资料中的有关的公式可以直接采用。10. 课程设计结束,需要交制作的作品、文字稿和电子稿,采用Word文档形式。11. 成绩评定: 按ABCDE分档,其中:优秀为A,良好为B,中等为C,及格为D,不及格为E。 课程设计设计说明书占60%,实物制作占40

5、%。2对课程设计成果的要求包括图表(或实物)等硬件要求:系统设计、电路设计,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。3主要参考文献:(1) 黄智伟.全国大学生电子设计竞赛 技能训练(第2版)M.北京:北京航空航天大学出版社,2011.1,全国大学生电子设计竞赛“十二五”规划教材(2) 黄智伟.全国大学生电子设计竞赛 电路设计(第2版)M.北京:北京航空航天大学出版社,2011.1,全国大学生电子设计竞赛“十二五”规划教材(3) 黄

6、智伟.全国大学生电子设计竞赛 常用电路模块制作M.北京:北京航空航天大学出版社,2011.1,全国大学生电子设计竞赛“十二五”规划教材(4) 黄智伟.全国大学生电子设计竞赛 制作实训(第2版)M.北京:北京航空航天大学出版社,2011.1,全国大学生电子设计竞赛“十二五”规划教材(5) 黄智伟.全国大学生电子设计竞赛 系统设计(第2版)M.北京:北京航空航天大学出版社,2011.1,全国大学生电子设计竞赛“十二五”规划教材(6) 黄智伟.印制电路板(PCB)设计技术与实践M. 北京:电子工业出版社,2009.4(7) 黄智伟.基于NI mulitisim的电子电路计算机仿真设计与分析M. 北京

7、:电子工业出版社,2008.1 ,规划教材(8) 黄智伟.凌阳单片机课程设计M. 北京:北京航空航天大学出版社,2007.6(9) 胡汉才,单片机原理及其接口技术,清华大学出版社(10) 邹逢兴,微型计算机接口原理与技术,国防科技大学出版社(11) 阎凯,微型计算机硬件设计原理分析与维修,科学出版社(12) 何立民,MCS-51系列单片机应用系统设计系统配置与接口技术,北京航空航天大学出版社(13) 沈德金,MCS-51系列单片机接口电路与应用程序实例,北京航空航天大学出版社(14) 周航慈.单片机程序设计基础北京:北京航空航天大学出版社,1997(15) 求实科技.单片机典型模块设计实例导航

8、北京:人民邮电出版社,2004(16) 余永权.89系列(MCS-51)Flash单片机原理及应用. 北京:电子工业出版社,2003(17) 王幸之.单片机应用系统电磁干扰与抗干扰技术北京:北京航空航天大学出版社,2006 2摘要随着科学技术的日新月异,人类社会取得了长足的进步!在居家生活、工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境中的湿度和温度进行测量及控制。本设计设计了一个智能化的温湿度测量应用系统。本系统采用技术成熟的DHT11作为测量湿度和温度的传感器。控制系统芯片采用技术成熟,功能强大、价位低廉大众化的AT89C51单片机。DHT11数字温湿度传感器是一款含有已校

9、准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。每个DHT11传感器都在精确的湿度校验箱中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。LCD显示电路,声光报警电路都由AT89C51单片机控制。同时设计了能给系统提供稳定工作电压的电源电路。为了提高系统的抗干扰性能,对湿度、温度的检测采用了硬件抗干扰和软件抗干扰的综合方法。最后设计了系统各个功能

10、部分的软件程序。由本设计课题做成的温湿度检测系统结构简单、价格便宜、量程宽,具有较高的可靠性、安全性及实用性。Abstract With the rapid development of science and technology, human society has achieved great progress! In the life that occupy the home, industry, agriculture, national defense, weather, environmental protection and scientific research depart

11、ments, such as aerospace, often need to the environment humidity and temperature measurement and control. The design of an intelligent humidity measuring the application systems. The system adopts the technology DHT11 as measuring the humidity and temperature sensor. Control system chip adopt mature

12、 technology, powerful, price cheap popular AT89C51. Each DHT11 sensors are accurate calibration of humidity in calibration. In the form of calibration coefficient of the program memory, OTP stored in sensor signal detection in the internal process to call these calibration factor. Wired system, syst

13、em integration serial interface becomes easy. LCD display circuit, sound-light alarm circuit controlled by AT89C51. The system can be designed to provide a stable working voltage of power supply circuit. In order to improve the system of anti-jamming performance of temperature, humidity, using the h

14、ardware and software anti-interference synthesis method. Finally the design of the system software program each function. By this design task to make the temperature and humidity of the detection system structure is simple, cheap price, wide range, high reliability, safety and practicality. 3设计方案简介1

15、. 温湿度测量模块 经过温湿度传感器DHT11采集数据,再通过51单片机对其内部数字进行分析后,将其数值送到1602液晶模块进行显示。本系统可设定温度范围0到50摄氏度,最小区分度为一度,设定湿度范围为20%到90%RH,最小区分度为1%RH。DHT11的有点在于: (1)温度传感器的一体化结构能同时相对温度湿度进行测量; (2)数字信号输出,从而减少用户信号的预处理负担; (3)单总线结构输出有效的节省用户控制器的I/O资源; (4)独特的单总线传输协议使得读取传感器的数据更加方便; (5) 全部校准,编码方式为8位二进制数; (6) 40bit二进制数据传输,其中湿度整数部分占1Byte,

16、小数部分占1Byte 温度整数部分占1Byte,小数部分占1Byte。其中湿度为高16位,最 后 1Byte为校验和; (7)卓越的长期稳定性,超低功耗; (8) 4引脚安装,超小尺寸; (9)各型号管脚完全可以互换。2. 温度型号的采集模块 传感器是温湿度控制系统中的关键部件,它的精度直接影响到整个测试控制系统的性能。温度传感器选择了DS18B20,DS18B20数字温度计是DALLAS公司生产的单总线器件。该芯片具有线路简单,体积小的特点,因此用它组成的测温系统线路简单。它只用了一根通信线就可以连接多个DS18B20数字温度计因此十分方便。 芯片还具有以下几个特点:(1)仅需一个端口即可完

17、成数据的读取和写入;(2)每个DS18B20芯片都有一个独一无二的序号;(3)测量范围是在-55摄氏度到125摄氏度之间;(4)数字温度计的分辨率可以选择9到12位;(5)可以设置报警温度的上下限。 温度传感器对温度进行测量,测量结果将保存在DS18B20内存中,并可以 要阅读发出记忆功能的指挥。 总的方案: 根据设计要求确定了系统的总体方案,整个系统由单片机,温湿度感 器,键盘,下载口,液晶显示模块等部分构成。系统的原理图如下面图所示单片机发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待 主机开始信号结束后,DHT11发送响应信号,送出40bit数据,并触发一次 信号采集,如果

18、没有接受到单片机发送来的信号,DHT11不会主动进行温度采集,采集数据后转换到低功耗模式。温度测量范围1%到9%,最小进步为1%。 (总体的方框程图)4设计部分 4.1硬件设计 单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。系统电路原理图如图2所示。本系统主要硬件设计包括电源电路、晶振电路、复位电路、LCD 显示电路以及温湿度传感器电路。 控制电路的核心器件是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。AT89S52是一种低

19、功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。 4.1.1AT89S52外围电路简述 单片机AT89S52作为主控芯片,控制整个电路的运行。单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电

20、源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。该设计在电源电压瞬间下降时可以使电容迅速放电,可令系统可靠复位。AT89S52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体或陶瓷谐振器及电容C1,C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用30pF。还可以使用外部时钟。这种情况下,外部时钟脉冲接XTA

21、L1端,即内部时钟发生器的输入端, XTAL2应悬空。 由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求。 4.1.2液晶显示模块电路设计4.1.3 DHT11温度传感器 (1) DHTxx 系列数字温湿度传感器是一款含有已校准数字信号输出的 湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价

22、比极高等优点。每个DHTxx传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行输出接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。本产品为4 针单排引脚封装,特殊封装形式可根据用户需求而提供。(2) 产品特性 1.湿温度传感器的一体化结构能相对的同时对相对湿度和温度进行测量 2.数字信号输出,从而减少用户信号的预处理负担。 3.单总线结构输出有效的节省用户控制器的I/O口资源。并且,不需要额外 电器元件 4.独特的单总数据传输线协议使得读取传感器

23、的数据更加便捷。 5.全部校准。编码方式为8位二进制数(3)详细引脚说明: 传感器管脚方向识别:正面(有通气孔的一面)看过去,从左到右依次 为1、2、3、4脚。 电源引脚,DHT11的供电电压为3.55.5V。传感器上电后,要等待1s 以 越过不稳定状态在此期间不要发送任何指令。电源引脚(VDD,GND)之 间可增加一个100nF 的电容,用以去耦滤波(4)连接接口说明: DHT11数字湿温度传感器连接电路简单,只需要占用控制器一个I/O口即 可完成上下位的连接。典型应用电路如下图所示。另外,建议连接线长 度 短于 长20时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电 阻。 (5)

24、时序 DHT11传感器是通过奥松电子有限公司开发的单总线协议和上位机(控 制器)进行数据通信。DHT11传感器需要严格的读写协议来确保数据的完性。 整个读写分为,上位机发送起始信号,上位机接收下位机发来的握手响应 信号,读 0,和读1四个步骤。所有的信号除主机启动复位信号外, 全部都由DHT11产生。 通过单总线访问DHT11顺序归纳如下: 1.主机发开始信号. 2.主机等待接收DHT11响应信号 3.主机连续接收40Bit的数据和校验和 4.数据处理 (5.1)主机复位信号和DHT响应信号 用户主机发送一次开始信号(低电平)DHT从低速模式转换到高速模式,等待主机开始信号结束(拉高)后,DH

25、T发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。(注意:总线线空闲状态为高电平,主机把总线线拉低等待DHT响应,主机把总线线拉低必须大于18毫秒,保证DHT能检测到起始信号)。 DHT接收到主机的开始信号后,等待主机开始信号结束,然后发送低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT的回应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线线由上拉电阻拉高。(5.2)DHT开始发送数据流程 主机发送开始信号后,延时等待20us-40us后读取DHT的回应信号,读取总线为低电平,说明DHT发送响应信号,DHT发送

26、响应信号后,再把总线拉高,准备发送数据,每一bit数据都以低电平开始,格式见下面图示。如果读取响应信号为高电平,则DHT没有响应,请检查线路是否连接正常。(5.3)数字0信号表示方法 数字0表示方法为,首先DHT把总线拉低12-14us然后拉高,高电平保持时间 在26-28us这个范围内。则此比特为0电平。(5.4)数字1信号表示方法 数字1表示方法为,首先DHT把总线拉低12-14us然后拉高,高电平保持时间在116-118us这个范围内。则此比特为1电平。(6)测量分辨率测量分辨率分别为8bit(温度)、8bit(湿度)。(7)电气特性 VDD=5V,T = 25,除非特殊标注 4.2软件

27、设计4.2.1系统软件的设计说明:本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高,而且执行速度快。但是不同的CPU,其汇编语言可能有所差异,即依赖于计算机硬件,程序可读性和可移植性比较差。C语言是编译型程序设计语言,兼顾高级语言的特点,并具备汇编语言的功能。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构。C语言

28、执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。基于C语言的众多优点本设计选择此语言来编程。4.2.2硬件块对应的程序:软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、温湿度数据接收处理控制。外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。#include#include#includedatatype.H /定义1602的IO口sbit lcdrs=P24;sbit lcden=P26;sbit lcdrw=P25;sbit DATA =

29、 P10; /数据传输端口bit flag;/定义标志位,判断是对温度值还是湿度值滤波/*变量定义区*/INT8U U8flag;INT8U U8count,U8temp; /U8temp为传输的数据位,是“0”还是“1”INT8U U8RH_data,U8T_data;INT8U U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata; /校验和判断后数据INT8U U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;/

30、校验和判断之前数据INT8U U8comdata;INT8U indata5; /定义发送的字节数40位,共5个字节INT8U Temp_RH2,Temp_T2; /用来保存数据的整数和小数部分INT16U timer0_num;void delay(INT16U xms);void Delay(INT16U j);void Delay_10us(void);void DataCom(void);void DataRcv();void write_cmd(INT8U cmd);void write_data(INT8U date);void lcd_init();void displayT(I

31、NT8U bai,INT8U shi);void displayRH(INT8U bai,INT8U shi);void Datatrans(INT8U high,bit flag);void Timer0_init();void delay_ms(INT16U xms) INT16U i,j; for(i=xms;i0;i-) for(j=110;j0;j-);void Delay(INT16U j) /延时100us函数 INT8U i;for(; j0; j-) for(i=0; i27; i+);void Delay_10us(void) INT8U i;i-;i-;i-;i-;i-;

32、i-;/串行总线,接收数据void DataCom(void) INT8U i;for(i=0; i8; i+) U8flag = 2;while(!DATA) & U8flag+);/每一位数据传送以50us的低电平开始Delay_10us();Delay_10us();Delay_10us();U8temp = 0; /延时将近30us后将数据判为“0”,高电平持续时间为2628us 表示数据“0”if(DATA) /若30us后DATA仍为高电平,MCU将其潘伟数据“1”,否则, U8temp仍为0 U8temp = 1;U8flag = 2;/重置U8flagwhile(DATA) &

33、 U8flag+);/判断还能持续多久高电平/*如果高电平超时,判为无效,跳出for循环*/if(U8flag = 1) break;U8comdata = 1; /将U8comdata左移一位,低位用来保存刚才读取的数据U8comdata |= U8temp; /将数据“0或者”1“存入到U8comdata的最低位void DataRcv() /温湿度数据读取子函数DATA = 0;/拉低数据线,MCU发送开始信号Delay(180); /开始信号为18ms的低电平信号DATA = 1;/输出高电平Delay_10us(); /延时等待2040usDelay_10us();Delay_10u

34、s();Delay_10us();DATA = 1;if(!DATA)/若从机有响应信号U8flag = 2;while(!DATA) & U8flag+);/判断DHT11是否有响应信号,响应信号为低电平U8flag = 2;while(DATA) & U8flag+); /判断DHT11是否发出80us的高电平,如发出则进入 数据接收状态/*数据接收状态*/DataCom();U8RH_data_H_temp = U8comdata;/将最高的8位数据保存到湿度的整数数据DataCom();U8RH_data_L_temp = U8comdata;/湿度的小数数据DataCom();U8T

35、_data_H_temp = U8comdata;/温度的整数数据DataCom();U8T_data_L_temp = U8comdata;/温度的小数数据DataCom();U8checkdata_temp = U8comdata;/校验和/*数据校验*/U8temp = U8RH_data_H_temp + U8RH_data_L_temp + U8T_data_H_temp + U8T_data_L_temp;if(U8temp = U8checkdata_temp)/假如校验和正确 U8RH_data_H = U8RH_data_H_temp;U8RH_data_L = U8RH_d

36、ata_L_temp;U8T_data_H = U8T_data_H_temp;U8T_data_L = U8T_data_L_temp; BOOL lcd_bz()/ 测试LCD忙碌状态BOOL result;lcdrs = 0;lcdrw = 1;lcden = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);lcden = 0;return result;void write_com(INT8U com) while(lcd_bz(); lcdrs=0; lcdrw=0; lcden=0; _nop_();_nop

37、_(); P0=com; _nop_(); _nop_(); _nop_(); _nop_(); lcden=1; _nop_(); _nop_(); _nop_(); lcden=0;void write_data(INT8U date) while(lcd_bz(); lcdrs=1; lcden=0; lcdrw=0; P0=date; _nop_(); _nop_(); _nop_(); _nop_(); lcden=1; _nop_(); _nop_(); _nop_(); _nop_(); lcden=0;void lcd_init() write_com(0x38); delay

38、_ms(1); write_com(0x0c); delay_ms(1); write_com(0x06); delay_ms(1); write_com(0x01); delay_ms(1);/显示温度void displayT(INT8U bai,INT8U shi)INT8U i;delay_ms(5);write_com(0x81);write_data(0x54);/显示Twrite_com(0x82);write_data(0x3a);/显示:write_com(0x83);write_data(bai+0x30);write_com(0x84);write_data(shi+0x30);write_com(0x86);write_data(0xdf);/显示write_com(0x87);write_data(0x43);/显示Cfor(i=0;i8;i+) write_com(0x88+i); write_data(0x10);/显示湿度void displayRH(INT8U bai,INT8U shi)delay_ms(5);write_com(0x81+0x40);write_data(0x48);/显示Hwrite_com(0x82+0x40);wr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号