毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc

上传人:仙人指路1688 文档编号:3980194 上传时间:2023-03-30 格式:DOC 页数:46 大小:679.50KB
返回 下载 相关 举报
毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc_第1页
第1页 / 共46页
毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc_第2页
第2页 / 共46页
毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc_第3页
第3页 / 共46页
毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc_第4页
第4页 / 共46页
毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机ATmega16的电子湿度计设计.doc(46页珍藏版)》请在三一办公上搜索。

1、基于单片机ATmega16的电子湿度计设计摘要:湿度与人们的生活和工农业生产有着密切的关系。为了创造舒适的生活环境和理想的生产条件,必须对空气湿度进行精确检测和调整控制。本文论述了基于测控技术的空气湿度检测报警装置的硬件和监控软件的设计与实现。该系统以AVR单片机ATmega16为硬件核心,通过实时采集和数据处理能够准确地监测环境湿度,采用LED 数码管作为辅助显示模块,显示当前环境湿度,当被测环境湿度超过预设定数值时,将产生声光报警,并且用PC机作为上位机为系统提供一个可视的操作界面,实现串口通信,数据库保存、查询、备份等功能。文中重点讲述系统的软硬件结构和功能特点,着重阐述了信号采集处理、

2、单片机及扩展电路的设计思路和实现方法。在目前的试用中,该系统能够可靠、稳定、安全的测量现场湿度,具有推广应用价值。关键词:湿度传感器;AVR单片机;湿度检测;声光报警Design of the Electronic Hygrometer Based on ATmega16 AVR MicrocontrollerAbstract:Humidity is closely related with industrial and agricultural production,as well as peoples lives. In order to create a comfortable livi

3、ng environment and the ideal production conditions, we need measure and control the humidity precisely. This article discusses the detection of air humidity alarm monitoring hardware, software design and implementation of programs that based on the measurement and control technology. The system uses

4、 ATmega16 AVR Microcontroller as the core, it can accurately monitor the indoor air humidity through real-time acquisition, data processing. LED digital tube display is used as a supplementary module displays the current air humidity. When measured more or less than pre-set value, the system will ha

5、ve a sound and light alarm. And used as a PC for the system to provide a visual interface, Serial communication, Data retention,Data query,Data backup, and control functions.This paper focuses on the system hardware, the structure of software, and the features of function, and stress on the signal a

6、cquisition and processing, the expansion circuit of single-chip, design ideas and implementation. In the current trial, the system can measure the environment humidity reliably, stably and securely, with the promotion of application value.Key words: Humidity Sensor, AVR Microcontroller, Humidity Mea

7、surement, Sound-Light Alare目 录摘要IAbstract.II第1章 绪论11.1 课题背景、目的及意义11.1.1 课题背景11.1.2 课题的目的及意义21.2 系统设计内容2第2章 系统概述42.1 系统设计主要原理42.2 系统硬件设计方案42.2.1 微控制器的选择42.2.2 湿度传感器的选择52.2.3 显示方案的确定62.3 系统软件设计方案72.3.1 上位机软件设计方案82.3.2 微控器软件设计方案9第3章 系统硬件设计实现123.1 电子湿度计系统的组成结构123.2 主控器最小系统133.2.1 ATmega16简介133.2.2 引脚图及引

8、脚介绍143.2.3 单片机最小系统电路设计153.2.3.1 电源设计153.2.3.2 复位电路设计163.2.3.3 晶振电路设计173.2.3.4 串口通信电路设计183.3 湿度传感器检测模块电路设计183.4 LED数码管的显示电路设计203.5 声光报警电路设计213.6 RS-232的通信部分设计21第4章 系统软件设计实现244.1 总体软件设计244.2 开机自检模块程序设计254.3 湿度采集程序设计25湿度数据采集程序流程图下图如图4-3所示:254.4 LED显示模块程序设计264.5 数据处理与声光报警程序设计274.6 串行通信模块程序设计274.7 上位机程序设

9、计28第5章系统调试315.1 硬件静态测试315.2 系统联机调试及结果325.2.1 微控制器测试325.2.2 显示电路调试335.2.3 声光报警电路测试335.3 测试结果33总结34致谢35参考文献36附录1 ATmega16的引脚图38附录2 系统设计部分程序39附录3 上位机界面截图42第1章 绪 论本章主要介绍本次毕业设计的研究的背景、目的与作用,以及在本次设计的主要内容和设计技术指标。1.1 课题背景、目的及意义1.1.1 课题背景湿度是表示大气干燥程度的物理量。在一定的温度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气越潮湿。空气的干湿程度叫做“湿度”

10、。在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比等物理量来表示。空气湿度在许多方面有重要的用途,在大气学、气象学和气候学中它主要是理论中的一个重要值,而在实际生产生活中应用也极为广泛。下雨的时候,空气湿度是非常大的在气象学和水文学中湿度是决定蒸发和蒸腾的重要数据。它对不同的气候区的产生起决定性的作用。而在天气预报中,更常用到相对湿度。它反映了降雨、有雾的可能性。在医学上空气的湿度与呼吸之间的关系非常紧密。在一定的湿度下氧气比较容易通过肺泡进入血液。一般人在4555的相对湿度下感觉最舒适。过热而不通风的房间里的相对湿度一般比较低,这可能对皮肤不良和对粘膜有刺激作用。湿度过高影响人调节体温的

11、排汗功能,人会感到闷热。在生物学中,尤其是在生态学中空气湿度是一个非常关键的量,它决定一个生态系统的组成。在存放水果的仓库里湿度决定水果的成熟。在存放金属的仓库里湿度过高可能导致腐蚀,其它许多货物比如化学药剂、烟、酒、香肠、木、艺术品、集成电路等等也必须在一定的湿度或在湿度为零的则件下存放。因此在许多仓库、博物馆、图书馆、计算机中心和一定的工厂(比如微电子工业)中都有空调装置来控制室内的湿度。在建筑物理中露点是一个非常重要的量。假如一座建筑内的温度不一样的话,那么从高温部分流入低温部分的潮湿的空气中的水就可能凝结,在这些地方可能会发霉,在建筑设计时必须考虑到这样的现象。此外相对湿度是衡量建筑室

12、内热环境的一个重要指标,建筑物理把在人体的主观热感觉处于中性时,风速不大于0.15m/s,相对湿度为50定为最舒适的热环境,这也是室内热环境设计的一个基准。因此,实时、及时、准确地测量环境湿度在实际应用中具有重要的意义。1.1.2 课题的目的及意义数据采集是工农业生产过程中进行监控所必需的环节,本课题是对嵌入式技术与数据采集技术的应用,即用流行的AVR单片机平台实现数据的采集与显示。近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体

13、硬件结构,以及针对具体应用对象特点的软件结合,以作完善。目前AVR单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。AVR单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,AVR单片机的应用如此广泛而又潜力,因而也不用质疑其生命力1。本课题需要

14、完成一个完整系统的设计,涉及到电子技术、传感器技术、计算机应用与控制技术等多学科知识,是一个硬软件相结合的设计性题目。本课题融知识性与趣味性于一体,提供了一个有力的了解小家电设计技术的平台,能提高检索文献资料的能力、电子系统设计的能力、实际动手的能力。而且可以通过这次设计,很好的掌握系统设计的工作流程、开发步骤;熟悉单片机开发的通用编程语言。1.2 系统设计内容本设计的题目是“基于单片机Mega16的电子湿度计设计”。选择Mega16单片机为系统的主控芯片,采用CHTM-02/N湿度传感器作为环境湿度的传感器,经过一系列处理实现对环境湿度进行智能地实时监测,当湿度超出标准范围时能自动报警。并且

15、用PC机作为上位机为系统提供一个可视的操作界面,实现串口通信,数据库保存、查询以及备份等功能。 系统设计详细任务如下:(1)整体方案的确定:包括单片机、传感器的选型,用AVR单片机作为主控器,分析ATmegal16单片机与温湿度传感器等部件实现软、硬件接口的技术以及数据显示方案湿度传感器模块设计:熟悉湿度传感器工作原理,确定其与AVR单片机的接口设计方案。(2)数据采集的算法设计:将采集的数据经过数字滤波转化为数字量传入单片机,湿度数据是由传感器测得现场湿度信号经变送器转换直流信号,送到A/D模数转换器转换成数字量后,再送入单片机进行数据处理,对处理后的数据比较做出控制量的选择。(3)数据显示

16、模块设计:系统使用LED显示,并扩展报警功能,在要求的湿度达到一定的上界或者下界时,报警电路开始工作。(4)上位机程序设计: 该部分的主要任务是用PC机为上位机提供一个可视的操作界面,实现串口通信,数据保存、查询以及备份等功能。(5)AVR单片机最小系统的设计。实现所有的硬件、软件设计、系统整体调试、形成可以正常运行的产品为本次设计的最终目标。论文将从系统的设计总体方案;硬件、软件的设计实现;系统的调试等方面进行介绍。第2章 系统概述本章分为三个部分,主要介绍本次设计的系统的主要设计原理,给出硬件选择以及软件设计的最终方案。2.1 系统设计主要原理空气湿度检测是生活和工业测量中很重要的部分,根

17、据采用的测量元件和测量方法的不同,其精度也不同,因而对数据采集(A/D转换)的精度也不同,对测量结果的定标要到专业的计量部门才能进行,这样就给现场测量带来了很大的不便,我们在空气湿度测量的研究和设计过程中查阅了大量的资料和成果,结合测控专业的特点,提出了能够实现空气湿度检测和报警的系统设计方案。系统由湿度传感器将湿度转换为模拟电压信号,此mV级电信号经低通滤波器滤掉干扰信号,然后由放大器将信号放大为05V后,送A/D转换器,变换成数字量送MCU2。MCU接收到信号后进行数据分析,当空气湿度达到设定边缘值,将输出数字信号驱动声光报警(若组建网络后将向上位PC机输出所处位置及报警值)以让监控人员及

18、时进行处理。2.2 系统硬件设计方案2.2.1 微控制器的选择目前,再电子系统研究与设计中,常用的微控器有MC51单片机、PIC单片机、AVR单片机和ARM芯片。方案一:采用ARM作为微控器ARM 微处理器已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额。但是,ARM技术往往需要第三方工具、软件的支持,且ARM系列处理器很少集成片上硬件资源,实际产品成本方面,ARM配置外设价格较高,PCB版也好设计,往往还需要考虑信号的完整性等,因此,对于初学者来说,使用起来不是很方便。方案二:采用PIC单

19、片机作为微控器PIC单片机速度快,片内资源丰富,抗干扰能力强,价格便宜。但没有地址总线,不适宜做大系统,而且只能使用汇编指令,虽然筒单,但不适合写大程序。CPU采用RISC结构,分别仅有33,35,58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,一次性编程,小体积,适用于用量大、档次低、价格敏感的产品。方案三:采用AVR单片机作为微控器3AVR单片机采用的RISC优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。AVR单片机的程序存储器和数据存储器是分离的,并且可对具

20、有相同地址的程序存储器和数据存储器进行独立的寻址。在AVR单片机中,CPU执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统 MCS51系列单片机中多指令周期的出现。传统的MCS51系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单片机的瓶颈;在AVR单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。综上所述,AVR单片机与51单片机、PIC单片机相比运行效率高很多、芯片内部的Flsah、EEPROM、SRAM容量较大、全部支持在线编程擦写、每

21、个I/O口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成AD、DA模数转换器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。现在比较流行的型号是ATmega8/16。所以,本设计选用ATmega16单片机作为主控芯片。2.2.2 湿度传感器的选择目前,市场上有许多类型的湿度传感器,其参数及适用场合等各不相同,现就几种常用的湿度传感器进行比较。方案一:采用BQ8-CHR系列湿度传感器BQ8-CHR系列湿度传感器采用功能高分子膜涂敷在带有导电电极陶瓷衬底上,形成阻抗随相对湿度变化成对数变化的敏感部件,导电机理为水分子的存在影响高分子膜内部导电离子的迁

22、移率。其具有稳定、低漂移、高精度、快速响应特性、高可靠,耐水性好等特点,具有很好的适应性。特征阻抗范围为,但是由于其工作电压为1V AC(502KHz),而本次设计使用的均为直流电源,所以排除使用BQ8-CHR系列湿度传感器。方案二:采用HS1101湿度传感器用湿度传感器HS1101做成的电压输出湿度模块,高可靠性与长时间稳定性,在5VDC供电时,0100%RH对应输出14VDC线性电压,温度依赖性非常低;宽量程:0100%RH,工作温度范围宽;5VDC恒压供电,1-4VDC放大线形电压输出;抗静电,防灰尘,有效抵抗各种腐蚀性气体物质常温使用无需温度补偿;无需校准;电容与湿度变化0.34pf/

23、%RH;典型值180pf55%RH;长期稳定性及可靠性,年漂移量0.5%RH/年4。这款湿度传感器的参数比较能适合本次设计,但是HS1101系列传感器一般价格较高,通常用于工业生产过程。方案三:采用CHTM-02/N系列湿度传感器CHTM-02/N系列湿度传感器的敏感元件为LM35(或NTC)及CHR-01高分子湿敏电阻,输出线性电压信号。0100%RH对应03V(A型)或13V(B型)输出,精度5%RH,有效测量范围2595%RH。电压DC5V,最大电流为5mA(2mA平均),带壳尺寸为61x27x17mm。价格约为人民币10元左右。广泛应用在暖通空调、加湿机、除湿机、程控交换机等民用设备及

24、工业自动化领域。综合比较可以发现,CHTM-02/N系列湿度传感器无论从电气特性、尺寸、应用范围,还是从价格等方面都比较适合于本次系统的设计,所以采用CHTM-02/N系列湿度传感器作为湿度检测元件。2.2.3 显示方案的确定LCD和LED是目前普遍采用的两种显示技术。方案一:采用LCD显示技术LCD是液晶显示屏的全称,主要有TFT、UFB、TFD、STN等几种类型的液晶显示屏。其主要特点是:低压应用,低驱动电压,固体化使用安全性和可靠性提高;平板化,又轻薄,节省了大量原材料和使用空间;低功耗,节省了大量的能源;品种多样,使用方便灵活、维修、更新、升级容易等许多特点。显示范围覆盖了从1英寸至4

25、0英寸范围内的所有显示器的应用范围以及投影大平面,是全尺寸显示终端;显示质量从最简单的单色字符图形到高分辨率,高彩色保真度,高亮度,高对比度,高响应速度的各种规格型号的视频显示器;显示方式有直视型,投影型,透视式,也有反射式。环保特性好,无辐射、无闪烁,对使用者的健康无损害。方案二:采用LED显示技术LED是发光二极管(LightEmittingDiode)的英文缩写,是一种固态的半导体器件,它可以直接把电转化为光。LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏。目前,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言

26、,中国的设计和生产技术水平基本与国际同步。LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。LED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。LED与LCD的功耗比大约为10:1,而且更高的刷新速率使得LED在视频方面有更好的性能表现,能提供宽达160的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、VCD、DVD等彩色视频信号,多幅显示屏还可以进行联网播出。有机LED显示屏的单个元素反应速度是LCD液晶屏的1000倍,在强光下也可以照看

27、不误,并且适应零下40度的低温。利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,拥有广泛的应用前景。 简单地说,LCD与LED是两种不同的显示技术,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏。LED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。所以,在本设计中,采用LED显示技术5。2.3 系统软件设计方案系统软件包括单片机应用软件和PC 机应用软件。单片机应用软件主要实现定时数据采集、数字信号处理、存储、显示、通信处理等功能;PC 机应用软件主要是对进一步处理总站多路数据转发器传输过来的数据,提供友好的监测界面,实

28、现串口通信,数据库保存、查询等功能。系统软件部分的设计主要包括主程序和中断服务程序。其中主程序的功能是完成系统的初始化、信号采集及处理、信息显示、湿度超限报警。中断服务程序根据中断源来编写需要执行的内容。系统的主程序流程图如下图图2-1所示:开始初始化对湿度进行采样有外部中断INT?A/D初始化送LED显示与湿度报警参数对比超出?声光报警结束调用中断程序图2-1 系统主程序流程图发送至上位机YNNY2.3.1 上位机软件设计方案现代化集中管理需要对现场数据进行统计、分析、制表、打印、绘图、报警等,同时,又要求对现场装置进行实时控制,完成各种规定操作,达到集中管理的目的。加之单片机的计算能力有限

29、,难以进行复杂的数据处理。因此在功能比较复杂的控制系统中,通常以PC机为上位机,单片机为下位机,由单片机完成数据的采集及对装置的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。目前,大家普遍采用C+、VB、VC、VC#等高语言进行上位机的编程。方案一:采用VB作为编程语言用VB开发串行通信程序有两种法,一种是利用Windows的API函数;另一种是采用VB的通信控件MSComm。利用API函数编写串行通信程序较为复杂,需要掌握大量的通信知识,其优点是可实现的功能更丰富、应用面更广泛,适合于编写较为复杂的低层次通信程序。而VB的MSComm通信控件提供了标准的事件处理函数、事件、方法,并

30、通过控件属性对串口参数进行设置,比较容易地解决了串口通信问题。但是VB不支持继承,没有“构造函数”,不能在new操作时根据情况初试化一些变量,由于不能继承,如果VB自带的控件不好用,就只有寄希望于第三方控件,增加了包袱,增加的出错的风险。方案二:采用C+或者VC作为编程语言C+与VC在实质上是一种语言,VC是只不过是C+专用在WINDOWS下开发WIN的软件,集成WIN的API,而C+是一种泛指,Unix、Linux和WIN等操作系统下都可以用。但由于C+要兼容C的内容,而C是面向过程的,所以C+不可避免地出现过程影子,并不算是完全的面向对象的程序设计语言。由于C+的事实标准的存在,即各个编译

31、器总存在差异,所以或多或少存在不兼容。而且各个软件平台的C+启动代码和硬件指令不同,编译后的C+程序一般是不能跨平台的。方案三:采用VC#作为编程语言VC#的特点是简单、功能强大、类型安全,而且是面向对象的。VC#凭借在许多方面的创新,在保持C语言风格的表现力和雅致特征的同时,实现了应用程序的快速开发。VC#保留了对底层操作系统API的直接调用和指针。VC#对集成现有代码提供完全COM平台支持,并且通过提供垃圾回收和类型安全实现可靠性,通过提供内部代码信任机制保证安全性,提供了生成持久系统级组件的能力。综合比较几种常见的编程语言,本设计使用方案三,即采用VC#作为上位机编程语言。2.3.2 微

32、控器软件设计方案常用的单片机编程语言是汇编和C语言。方案一:使用汇编语言汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性

33、也差。汇编语言能够直接访问与硬件相关的存储器或I/O端口; 能够不受编译器的限制,对生成的二进制代码进行完全的控制;能够根据特定的应用对代码做最佳的优化,提高运行速度; 能够最大限度地发挥硬件的功能。但是还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:编写的代码非常难懂,不好维护; 很容易产生Bug,难于调试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调;兼容性不好,与硬件关系非常紧密。因而不是很适合初学者的应用。方案二:使用C语言C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组

34、下标越界不作检查等6。指针是C语言的一大特色,可以说C语言优于其它高级语言的一个重要原因就是因为它有指针操作可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。但是对于本次设计来还说,C语言具有以下优点:(1)简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。(2)运算符丰富C的运算符包含的范围很广泛,共有34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极

35、其丰富表达式类型多样化。(3)数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。(4)C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(5)C语法限制不太严格,程序设计自由度大虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。(6)C语言允许直接访问物理地址,可以直接对

36、硬件进行操作因为既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,可以用来写系统软件。(7)C语言程序生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低1020%。综合比较之后,本次设计采用方案二,即使用C语言作为微控制器的编程语言。第3章 系统硬件设计实现硬件是系统的载体与执行结构,硬件设计是本次设计的重点,主要设计传感器信号放大、采集、处理,显示处理,声光报警,执行电路设计,系统供电等多个部分。本章分为6节介绍系统的硬件设计实现。3.1 电子湿度计系统的组成结构系统用时下流行且功能强大的AVR单片机来控制数据采集与显示模块,利用单片

37、机采集环境湿度值,进行存储和显示,经过简单的运算发出各种控制命令,并能动态的显示当前湿度值,设定目标控制湿度值,当空气湿度高于65或低于38时,报警电路(包括报警器、闪烁灯)开始工作。也就是说,现场温度经温度传感器采样后变换为模拟电压信号,经低通滤波滤掉干扰信号后送放大器,信号放大后送单片机,在要求的湿度达到一定的上界或者下界时,报警电路开始工作。并且使用PC机为上位机提供一个可视的操作界面,并实现串口通信,数据保存、查询、备份以及控制功能。系统整体结构方框图如下图图3-1所示:AVR单片机(Mega16)室内湿度湿度传感器串 口PC机显 示声音报警光报警图3-1 系统方框图本电子湿度计系统模

38、块由以下几个模块组成:湿度传感器检测部分模块,AVR单片机主控制器,LED数码管显示模块,声光报警提示模块,最终来实现对空气湿度的检测报警提示以及数据保存和历史数据查询。3.2 主控制器最小系统3.2.1 ATmega16简介7ATmega16单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。该单片机具有AVR高性能、低功耗RISC结构,工作在8MHz时具有8MIPS的性能,同时片内16KB的在线可编程FLASH存储器,可擦除1000次以上,并且集成了512B的SRAM 和512 B在线可编程EEPROM。另一个显著的特点是自带8通道10位高精度

39、的逐次逼近式A/D转换器,A/D引脚与PA口的引脚两者复用,可以通过程序指定来加以区别应用。另外,它还拥有很宽的工作电压范围,可以在2.76V之间正常运行,具备很强的适应性。AVR单片机具有良好的集成性能,采用低功率、非挥发的CMOS工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机Flash,EEPROM写入功能。AVR单片机还支持 Basic、C等高级语言编程。采用高级语言对单片机系统进行开发是单片机应用的发展趋势。对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。ATmega16的主要性能参数及特性如下: 16K 字节可重擦写Flash闪存存储器,擦写寿命为10

40、000次; 在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器; 32个可编程的I/O口,40引脚PDIP封装,32个通用寄存器; 全静态工作; 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器; 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能; 通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程; 两个可编程的串行USART,可工作于主机/ 从机模式的SPI 串行接口。ATmega16可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通

41、信口及中断系统继续工作;掉电方式保存RAM中的内容,但是振荡器停止工作并禁止其他所有部件工作到下一个硬件复位。3.2.2 引脚图及引脚介绍ATmega16的引脚图见附录1。VCC 电源正 GND 电源地端口A(PA7PA0) 端口A作为A/D 转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7PB0) 端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特

42、性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口C(PC7PC0) 端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口D(PD7PD0) 端口D为8位双向I/O 口,具有可编程的内部上拉电阻。其输出缓

43、冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D的模拟基准输入引脚。3.2.3 单片机最小系统电路设计在单片机硬件最

44、小系统中,没有任何信号线的连接,只有电源到主板的电源连接,在判断的过程中通过电源指示灯及工作状态指示灯来判断这一核心组成部分是否可正常工作。ATmega16单片机的最小系统如下图图3-3所示。图3-3 单片机最小系统3.2.3.1 电源设计图3-4 ATmega16单片机电源单片机是一个电子器件,一个电子器件能够工作的第一个前提就是要有电源电源是一切电子器件工作的前提,对于单片机系统也不例外。AVR单片机最常用的电源电压是5V。ATmega16的电源电路设计如上图图3-4所示。3.2.3.2 复位电路设计ATmega16有5个复位源8:(1)上电复位电源电压低于上电复位门限VPOT时,MCU复

45、位。上电复位(POR)脉冲由片内检测电路产生,POR电路保证器件在上电时复位。VCC达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当VCC下降时,只要低于检测门限,RESET信号立即生效。(2)外部复位引脚RESET上的低电平持续时间大于最小脉冲宽度时MCU复位。外部复位由外加于RESET引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门限电压VRST(上升沿)时,tTOUT延时周期开始。延时结束后MCU即启动。(3)看门狗复位看门狗使能并且看门狗定时器溢出时复位发生。看门狗定时器溢出时将产生持

46、续时间为1个CK周期的复位脉冲。在脉冲的下降沿,延时定时器开始对tTOUT记数。(4)掉电检测复位掉电检测复位功能使能,且电源电压低于掉电检测复位门限VBOT时MCU即复位。BOD电路的开关由熔丝位BODEN控制。当BOD使能后(BODEN被编程),一旦VCC下降到触发电平以下(VBOT-,Figure 19),BOD复位立即被激发。当VCC上升到触发电平以上时(VBOT+,Figure19),延时计数器开始计数,一旦超过溢出时间tTOUT,MCU即恢复工作。(5)JTAG AVR复位复位寄存器为1时MCU复位。JTAG通过复位寄存器mcur,复位寄存器为1时MCU复位。通过JTAG指令AVR

47、_RESET可以使JTAG复位寄存器置位,并引发MCU复位,并使 JTRF 置位。上电复位将使其清零,也可以通过写“0”来清除。本设计选用了最直接的复位形式,由于AVR单片机本身内部带有复位电路的优势,只需要接一个10K上拉电阻就可以完成复位电路的设计。为了可靠,可以加上一只0.1uF的电容以消除干扰和杂波,如下图图3-5所示:图3-5 单片机复位电路图S0RESETR010KC00.1uFD31N41483.2.3.3 晶振电路设计单片机内部的各种功能电路绝大多数是由数字电路构成的。数字电路的工作过程,尤其是时序逻辑电路的工作过程,离不开时钟脉冲信号,即时间基准信号,每一步细微的动作都是在一个共同的时间基准信号驱动之下完成的。作为时基发生器的时钟振荡电路,为整个单片机芯片内部各个部分电路的工作提供系统时钟信号,也在为单片机与其他外接芯片之间的通信以及与其他数字系统或者计算机系统之间通信,提供可靠的同步时钟信号。AVR单片机设计了4种类型的时基振荡方式可供选择:标准的晶体振荡器/陶瓷谐振器振荡方式X

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号