基于51单片机的温度测量系统_第1页
基于51单片机的温度测量系统_第2页
基于51单片机的温度测量系统_第3页
基于51单片机的温度测量系统_第4页
基于51单片机的温度测量系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的温度测量系统目 录摘 要IABSTRACTII1 绪论11.1选题的背景11.2课题研究的目的和意义11.3本文的结构12 系统总体方案设计12.1总体方案设计22.2部分模块方案选择32.2.1单片机的选择32.2.2温度检测方式的选择32.2.3显示部分的选择42.2.4电源模块的选择43 硬件电路的设计43.1 硬件电路设计软件43.2系统整体原理图53.3单片机最小系统电路63.4单片机的选型73.5温度测量模块83.5.1 DS18B20概述83.5.2 DS18B20测温工作原理113.5.3 DS18B20温度传感器与单片机的接口电路123.6 显示模块133.7 按

2、键以及无线遥控模块153.7.1按键的相关知识163.7.2 5伏带解码四路无线接收板模块173.8 报警及指示灯模块193.9 电源模块204 系统软件设计及仿真部分214.1软件设计的工具214.1.1程序编写软件214.1.2仿真软件224.2各模块对应的软件设计234.2.1显示模块的程序234.2.2温度测量的程序274.2.3报警系统程序334.2.4按键程序344.2.5总体程序365 实物制作385.1电源部分385.2单片机最小系统部分385.3 总体实物386 总结397 致谢39参考文献40附录一41附录二49基于单片机的温度测量系统摘 要随着测温系统的极速的发展,国外的

3、测量系统已经很成熟,产品也比较多。近几年来,国内也有许多高精度温度测量系统的产品,但是对于用户来说价格较高。随着市场的竞争越来越激烈,现在企业发展的趋势是如何在降低成本的前提下,有效的提高生产能力。追求价格便宜、性能高效,且应用广泛的器件是企业优先考虑的问题,因此设计出以一种操作简单、性能优越、价格便宜的测温系统将会有很好的发展潜力。本文选用单片机STC89C52为核心制作了温度实时监测系统。单片机STC89C52 可以依据温度传感器Ds18b20 所收集的温度在液晶屏上实时显示,通过按键来设置上下限温度。所有温度数据均通过液晶显示器LCD显示出来。经过反复调试,系统可以运行,上电后LCD16

4、02显示当前温度,并能进行报警预警。关键字 单片机 温度传感器 液晶显示器Temperature measurement system based on single chip microcomputerABSTRACTWith the development of the temperature measuring system of high speed, measurement system has been very mature abroad, products is also more.In recent years, there are also many domestic hi

5、gh precision temperature measurement system of products, but the price is higher for the user.As the market competition is more and more fierce, and now the trend of the development of the enterprise is how to reduce cost under the premise of effectively improve production capacity.Pursue cheap, eff

6、icient performance, and widely used device is a priority for enterprises, thus designed in a simple operation, superior performance, price cheap temperature measurement system will have very good development potential. This article chooses microcontroller STC89C52 made temperature real-time monitori

7、ng system for the core.Microcontroller STC89C52 can be collected according to the temperature sensor DS18B20 temperature in real-time display on the LCD panel, temperature through the buttons to set the upper and lower limits.All the temperature data through a liquid crystal display LCD display. Aft

8、er repeated debugging, the system can run, after power on the LCD1602 display the current temperature, and can alarm warning.KEY WORDS Microcontroller The temperature sensor Liquid crystal displayI1 绪论1.1选题的背景 随着社会的进步和发展,人们物质生活的提高,单片机技术已经深入我们的生活,工作,和其他领域的研究,已成为一种成熟的技术,单片机系统成为人们追求的目标之一,它所给人带来的便利是无与伦比

9、的,其中数字温度计就是一个很典型的例子,由于人们对于它的要求越来越高,想要为人们提供更便捷的设备就需要从单片机技术入手,使设备向着数字化,智能化的方向发展。目前,测温系统得到极速的发展,国外的测量系统已经很成熟,产品也比较多。近几年来,国内也有许多高精度温度系统的产品,但是对于用户来说价格高。随着市场的竞争越来越激烈,现在企业发展的趋势是如何在降低成本的前提下,有效的提高生产能力。追求价格便宜、性能高效,且应用广泛的器件是企业优先考虑的问题,因此设计出以一种操作简单、性能优越、价格便宜的测温系统将会有很好的发展潜力。1.2课题研究的目的和意义随着近几年的持续高温天气,使得温度测量变得越来越被人

10、重视。本文运用单片机STC89C52制作了温度实时测量系统。温度传感器DS18B20所收集的温度通过单片机在液晶屏上实时显示,通过按键控制改变温度的上下限温度。所有测到的数据通过LCD1602显示出来。设计的温度测量系统能实现以下功能:(1) 测温范围:-55+125;(2) 温度显示:lcd1602液晶显示器;(3) 超过设置温度范围会发生报警且对应指示灯亮。(4) 测温分辨力:0.5;(5) 测温准确度:1左右;(6) 独立按键与无线遥控二者并行控制温度的上下限设置。 经过此次毕业设计使我懂得了单片机控制系统的综合知识,掌握了简单的软、硬件设计方法,并进一步锻炼我在单片机利用方面的能力。1

11、.3本文的结构全文共分为六章,各章主要内容如下:第一章是绪言部分,主要介绍了选题的背景、研究的目的意义以及本文的主要内容和结构;第二章为系统方案设计部分,主要说了整个体系的工作原理和硬件结构,判断系统的总体方案的优劣,并对各类方案做出比较并选取;第三章为各模块硬件设计部分,详细介绍各模块的原理,并对电路功能进行分析,对硬件线路进行设计并得出对应的硬件原理图;第四章为系统软件设计及仿真部分,主要介绍系统各部分模块的设计流程和简单程序;以及系统软件仿真。第五章为实物制作,贴出具体的实物图片,以及在调试过程中所遇到的问题和解决方案。第六章是总结和展望,主要是对本设计的总结归纳,并对存在的问题提出解决

12、方案,以及功能扩展和进一步研究的方向。2 系统总体方案设计2.1总体方案设计电源模块 按键及无线遥控模块显示模块 单 片 机温度测量模块温度报警及指示灯模块图2-1 系统总体方案流程图系统总体以stc89c52单片机为核心,通过温度测量模块、lcd显示模块和按键模块来组成。可以通过按键设定温度报警的上下限。当测量的温度超出设定范围时,单片机能够驱动报警电路。显示模块可以显示当前的温度值、温度上下限等信息,按键模块采用普通按键和无线遥控两种并行使用方式。2.2部分模块方案选择2.2.1单片机的选择方案一:采用AT89C51芯片为核心,硬件使用闪速存储器,4KB内部程序存储空间,与51系列单片机是

13、完全兼容的。但这个电路设计因为没有在线编程技术,因此在电路调试、修改或由于程序错误需要下载时,需反复拔插芯片,会造成芯片一定的损伤,不利于测试使用。此外,内部没有集成A / D转换模块。方案二:选用STC89C52单片机为核心,该单片机是51系列增强型的8位单片机,它具有32个I/O口,且片内含8K FLASH程序存储器,并且具有AT89C51的所有功能,能够实现在线编程功能,在对电路进行调试时,由于程序的错误修改需要烧入程序时,可以直接在线进行,避免了多次插拔芯片从而造成单片机的损坏1。由上可得出,本设计选取STC89C52作为本系统的核心。2.2.2温度检测方式的选择方案一、使用热偶电阻之

14、类的器件,将随被测温度转变的电压或电流收集过来通过A/D 转换后,能够用单片机进行数据的处理,并把数据显示出来,但是这种设计需要用到A/D 转换电路,其中还涉及到热偶电阻与温度的对应关系。而且在采样信号的放大过程中由于受温度的影响将是一个大的偏差,精度不高,不推荐采用。 方案二、现在在单片机测温电路设计中,大部分都是利用温度传感器的,本系统可以选用温度传感器DS18B20,此传感器是单总线数字传感器,可以进行温度读取,转换,且给单片机的是二进制补码形式的数据。具有高精度,抗干扰能力强,便于计算的特点,而且便于系统的再扩展,满足设计要求。 从以上两种方案来看很容易得出,方案二电路比较简便,费用不

15、高,性价比高,且程序设计也比较简便,故选用了第二种方案。2.2.3显示部分的选择方案一:采用8位共阴极段数码管,数码管可以将单片机得到的温度数据显示出来。该方案简单易懂,成本较低,但是所需的元件较多,线路复杂,程序设计复杂,但是可读性差,不容易操作,一经设定,无法再添加其他的功能,显示格式受严重限制。方案二:采用LCD1602显示。LCD1602是一个低电压,低功耗,只要2到3伏特工作,低工作电流,能显示大量的信息,除了数字,还可以显示文本的液晶显示器,与传统的数码管的比较,lcd显示器的显示界面有了质的飞跃。虽然液晶显示器的价格是更昂贵,但它效果良好。使用液晶显示装置,更容易实现的需求,背面

16、的扩展功能兼容性很高,只需要修改软件程序就可扩展,可操作性强,易阅读,还可以显示更多内容。综上分析,采用第二个方案。2.2.4电源模块的选择方案一:使用干电池的三、四节电池箱提供电源。该方案的优点是操作简单,容易实现,成本低,缺点是三个输出电压为4.5 V(太小),单片机几乎不工作,只适用于小电流负荷时。且在整个系统工作过程中,电压会降低,不宜使用很长一段时间。用四节电池时高于单片机的工作电压,虽然可以用稳压管稳压,但是却不能长时间使用。方案二:采用220V转9V电源线和LM7805设计的稳压电源。从而可以使系统在稳定电压下工作,为了演示方便可用9V干电池临时代替。综上分析,选择第二种方案。3

17、 硬件电路的设计3.1 硬件电路设计软件 本次设计采用了Altium Designer Summer 09软件进行了原理图的绘制和PCB图的生成。Altium是由Nick Martin在1985年成立,该公司总部在澳大利亚,这是专门为于基于PC机的软件开发,绘制原理图和印制电路板,提供辅助的设计。后来Altium 公司通过公开募股在澳大利亚股票市场成功上市。所筹集的资金用于在收购适当的公司和技术,其中包括收购ACCEL Technologies公司、Metamor公司等【3】。 Altium宣称在中国有70%多的工程师和大多数与电子工程相关专业在校学生正在使用它的软件,但是当前所用的正版率仅有

18、3%左右。主要功能(1)电路原理图设计(2)印刷电路板设计(3)电路模拟仿真(4)FPGA及逻辑器件设计(5)高级信号完整性分析3.2系统整体原理图本课题设计的是以STC89C52单片机为核心,以DS18B20温度传感器作为采集模块的温度测量系统。该测温系统能够实时存储相关的温度数据并在LCD上进行显示。其系统主要包括:电源模块、温度采集模块、按键控制模块、LCD1602显示模块、无线遥控模块以及单片机最小系统。系统整体原理图和PCB图如下:图3-1 系统整体原理图图3-2 系统整体PCB图3.3单片机最小系统电路在本次的温度测量系统中,控制核心是STC89C52单片机,该单片机是51系列增强

19、型的8位单片机,它具有32个I/O口,内部有8K的程序存储器,512字节数据存储空间,能方便的在线进行程序的读写。使用这个单片机可以完成本系统的设计要求,其它的最小系统主要包括:复位电路、外部震荡电路和存储器选择模式(EA脚的高低电平选择)【15】,电路如下图3-3所示:图3-3 单片机最小系统3.4单片机的选型这次设计的温度测量系统主要控制芯片选择为STC89C52单片机,其主要特点如下:STC89C52单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机。 主要特性如下:1 增强型8051单片机,12时钟/机器周期可以随意选择,指令代码与传统80

20、51完全兼容.2 工作电压:5.5V3.3V(5V单片机)3 工作频率范围:040MHz,只相当于普通8051的080MHz,而实际工作频率可达48MHz4 用户应用程序空间为8K字节5 片上集成512字节RAM6 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,当作为总线扩展用时,不用加上拉电阻,但是作为I/O口用时,需加上拉电阻。7 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,具有简单快捷方便的优势8 具有EEPROM功能9 具有看门狗功能

21、10 有3个16位定时器/计数器。11 外部中断4路,可选择下降沿或低电平来触发电路12 工作温度范围:-40+85(工业级)/075(商业级)13 PDIP封装 STC89C52RC单片机的工作模式1 掉电模式:典型功耗小于0.1A,可由外部中断唤醒,中断返回后,继续执行原程序,适合用于电池供电系统及便捷设备2 空闲模式:典型功耗2mA3 正常工作模式:典型功耗4mA7mA 图 3-4 STC89C52RC引脚图STC单片机的引脚与51系列的单片机引脚几乎相同。另外STC89c52有两种时钟模式,一种是12时钟模式,在该模式下,STC单片机与51系列单片机具有相同的机器周期,即12个振荡周期

22、为一个机器周期;另一种是6时钟模式,在此模式下,STC单片机比其他51单片机运行速度快一倍【15】。复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。3.5温度测量模块3.5.1 DS18B20概述DSl8B20 温度传感器是美国DALLAS半导体公司最新推出智能温度传感器。与传统的热敏电阻相比,它能够根据要求通过简单的编程来

23、实现 9l2 位的数字直接读取出被测温度。并且DSl8B20仅需要一根总线来实现与单片机的信息传输,而温度变换所功率全部来源于数据总线,无需额外电源。因而使用DSl8B20可使系统结构更趋简便、操纵简单、可靠性强1。DSl8B20其内部结构框图如下图所示:图 3-5 DSl8B20 的内部结构图Ds18b20 的内部构造主要有四部分组成:64位光刻ROM、非挥发的温度报警触发器TH和TL、温度传感器、配置寄存器。Dsl8b20有2种封装形式:3脚PR-35直插式和8脚SOIC贴片式。封装图如图3-5所示图3-6 DS18B20封装64位激光ROM开始8位是产品类型的编号,接着是每个器件的惟一的

24、序号共有 48 位,最8位是前56位的 CRC 校验码,这也是多个 DSl8B20能够采用一线进行通信的原因。DSl8B20温度传感器包括一个高速暂存RAM和一个非易失性的可电擦除EEPRAM。后者用于存储TH、TL值。而配置寄存器是高速暂存器中的第5个字节,它的内容与温度值的数字转换分辨率有关,DSl8B20工作时按照这个寄存器中的分辨率将温度转换成对应精度的二进制数值。又因为低5位一直都是1,TM是测试模式位,主要是用于设置 DSl8B20 在工作模式还是在测试模式。在 DSl8B20 出厂时该位会默认设置成0用户不需要去进行改动,Rl和R0却是决定温度转换精度位数。如表 3-1 所示。

25、表 3-1 内部存储器TMR1R011111 由表 3-2 可见,分辨率越高,温度转换时间所需的时间越长。因此,在实际应用需要在分辨率和转换时间中找到平衡,根据实际需要选择最佳的。 表 3-2 温度数据转换与时间R1R0分辨率温度最大转换时间/ms00993.750110187.51011275.001112750.00 DSl8B20 接收到温度转换命令后,就进行转换,如表 3-3所示。转换完成后的温度值就 以16位带符号的二进制补码形式储存在高速暂存存储器的第 l,2 字节。单片机通过单线接口得到该数据,读取时低位在前面,高位在后,数据格式以 0.0625LSB 形式表示。温度计算要求:当

26、符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补码变换为原码,再计算十进制值。表 3-3 高速暂存存储器温度低位温度高位HL配置保留保留保留8 位 CRC 在DSl8B20完成温度变换之后,温度值与贮存TH和TL内的触发值会发生相比较,如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。每次温度测量更新此标志。只要告警标志置位,DSl8B20 将对告警搜索命令做出响应。这就是允许并联连接许多DSl8B20的原因,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。部分温度转换如表3-4所示:表3-4 部分温

27、度转换温度输入(2 进制)输出(16 进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1111 0101 1110EE6FH-551110 1110 011

28、0 1111FE90H DS18B20的参数特性:(1)独特的单线接口需 1个接口即可通信 (2)多点综合测温能力使分布式温度检测应用得以简化 (3)不需要外部元件 (4)可用数据线供电 (5)需备份电源(6)测量范围从-55至+125(7)以 9 位数字值方式把温度值传给单片机 ( 8 )在 1 秒时间内把温度变换为二进制的数字3.5.2 DS18B20测温工作原理 Ds18b20测温原理如图3-7所示。图中由于低温度系数晶振的振荡频率受温度影响很小,多用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为减法计数器2的脉冲输入。计数器1和温度寄存

29、器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值1。图3-7 DS18B20测温原理图3.5.3 DS18B20温度传感器与单片机的接口电路 DS18B20能够选用两种方式供电,一种是寄生电源供电方式。另一种是选用独立电源供电方式,用于多个传感器同时使

30、用时,单片机不能有效驱动各个传感器,接线方式为:Ds18b20的1脚接地,2脚作为信号线,3脚接电源。本系统采用第一种方式供电,如图3-8所示单片机端口接单线总线。当Ds18b20处于写存储器操作和温度转换操作时,总线上需要有强的上拉,上拉开启时间最大为10us。 图3-8 Ds18b20温度传感器的接口电路3.6 显示模块本文采用LCD1602来进行显示,显示系统原理图: 图 3-9 显示系统原理图3.6.1 LCD1602简介 1602液晶也被称为1602字符液晶显示,这是一个特殊的用于显示字母,数字,符号的液晶显示模块。它是由若干个5x7或5x11的点阵字符位组成,每一个点阵字符位都可以

31、用显示一个字符,每位之间有一个点距的间距,每行之间也有间隔13。由于字符间距和行间距的影响,使它不能很好的显示图片 1602LCD可以显示两行,每行有16个字符液晶模块(显示字符和数字)。当前市场上的字符液晶大多数是基于HD44780液晶芯片的,它们控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压来控制显示区域,有电就有显示。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点。从而被广泛运用。 LCD1602的基本参数及引脚功能LCD1602分为带背光和不带背光

32、两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3.6所示:图3-10 LCD1602尺寸图LCD1602主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mmLCD1602采用标准的16脚(带背光)接口,各引脚接口简要说明如表3-7所示:表3-7 引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择1

33、2D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极其具体功能及注意事项介绍如下:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,当对比度过高时会产生“鬼影”,我们使用时通常通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择位,高电平时为数据寄存器,低电平时为指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端低电平时,液

34、晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.7 按键以及无线遥控模块3.7.1按键的相关知识轻触开关是一种常用的电子开关,使用时只要按开关按钮就可使开关相连通,当松开手时开关立即断开。 轻触按键因为控制方便、体积小、质量轻的特点在电子方面得到了广泛的应用,常见的应用有:电视机按键、照明按键等。 轻触按键在闭合和断开时,触点会存在抖动现象,为了避免这种现象对线路的影响,我们需要在程序里进行去抖操作。我们使用的开关如下图:图3-11 按键外观及内部构造图因为此系统按键较少,采用独立键盘。按键与单片机接口电路图如下:图 3-12 按键与单片机

35、接口电路图3.7.2 5伏带解码四路无线接收板模块 5伏带解码接收模块-M4点动带解码接收模块: 工作电压(V):DC 5静态电流(mA):5接收灵敏度(dBm):-110 工作频率(MHz):315MHZ/433.92MHZ(260-440等20余种频率可选) 编码类型:固定码 尺寸(LWH):49*20*7mm 产品特点:再生接收板(固定码)采用LC振荡电路,内含放大整形,输出的信号为高电平,可直接驱动一只发光二极管,使用极为方便,并且价格低廉,所以被广泛使用。接收板有较宽的接收带宽,一般为±10MHz,出厂时一般调在315MHz。接收板一般采用DC5V供电。 使用说明:接收板一

36、般有7个外部接口,上面有英文标示。“VDD/VCC”表示接电源正极,“GND/VSS”表示接电源负极,“D0/13”、“D1/12”、“D2/11”、“D3/10”表示四路信号输出,“VT”表示收到指示位,使用时应尽量避免两个接收板在一起同时工作,两个振荡源会相互干扰,从而使接收距离变近。接收模块测试电路图图 3-13 测试图 下图是带解码的超再生接收模块等效电路图      图3-14 接收板原理图 编码解码芯片PT2262/PT2272芯片原理  PT2262/2272是一种CMOS工艺制造的低功耗低价位通用编

37、解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路10。编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作

38、,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100的调幅10。模块外观图如下图 3-15 无线接收模块3.8 报警及指示灯模块本模块采用一个5v有源蜂鸣器和三个LED灯组成,其与单片机的接口电路图如下: 图3-16报警及指示灯模块原理图 其电路图中D3作为单片机正常通电的指示灯,D1作为温度超过设置的上限温度的报警灯,D2为温

39、度超过设置的下线温度的报警灯。LS是蜂鸣器通过三极管2N3906进行启动。当单片机P1.5为低电平时蜂鸣器响。 蜂鸣器是一种一体化构造的电子发声器,选用直流电压供电,普遍应用于计算机、报警器等电子产品中作发声器件。蜂鸣器分有源蜂鸣器和无源蜂鸣器,有源蜂鸣器直接给额定的电流就可连续发声;而无源蜂鸣器需要接在专门的音频输出电路中才能发声。有源蜂鸣器与无源蜂鸣器的区别:注意:这里的指的是震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不存在震荡源,如果用直流信号驱动无法使它发声。必须用2K的方波才能使它发声。有源蜂鸣器比无源的贵的原因是里面多个震荡电路。无源蜂鸣器的优点是:

40、1. 便宜2. 声音频率可控,可以做出“多来米发索拉西”的效果有源蜂鸣器的优点是:程序编写简单,便于控制。本模块所用器件的参数:三极管2N3906中Icmax=200mA,放大倍数为100。有源蜂鸣器工作参数:工作电压约5V,工作电流不超过35mA,声压:75dB,主频:2330HzLed灯工作电流在10mA左右,工作电压在2V左右。R5阻值的计算:为使三极管在正常工作而不被烧毁,需要在基极加入限流电阻进行保护。R7,R8阻值的计算:3.9 电源模块 本系统采用9V转5v电源系统,由于市场上没有直接5伏的干电池,于是需要转换电路来满足系统的工作需要,另外本系统不仅可以用9V干电池驱动,还可以用

41、9v的直流电直接驱动,其电源部分原理图是:图3-17电源电路原理图 本稳压模块采用LM7805稳压管;从而是电源电压稳定在5V。原理图中C4作用是滤波,C5作用是防自激保护稳压管,常见的三端稳压集成电路有正电压输出的lm78 系列和负电压输出的lm79系列。用lm78/lm79系列三端稳压管来组成稳压电路时由于所需的外围元件很少,同时电路内部还有过流、过热和调整管的保护电路,因此用起来更加安全,放心。另外更重要的是价格低廉,损坏容易更换。在lm78系列三端稳压器中常用的是TO-220封装,与三极管封装相似。4 系统软件设计及仿真部分4.1软件设计的工具4.1.1程序编写软件 本次程序编写运用的

42、软件是Keil uv4.Keil C51是美国Keil Software公司出品的基于51系列单片机的C语言软件开发系统,运用接近于传统c语言的语法来开发,与汇编相比,C语言简单易学容易上手,而且可以提高工作效率和缩短项目开发周期,同时此软件还能嵌入汇编。运行Keil软件需要WIN98、WINXP等操作系统。这些系统均是主流系统,使此软件容易在PC上运行。假如你使用C语言编程,那么Keil将是你最佳的选择。Keil的网站尽管暂时没有中文版本,但是却不影响Keil软件被中国80%的硬件工程师使用。凡是与电子相关的专业,都会开始从单片机编程开始学习,而学习单片机自然会用到Keil软件6。2009年

43、2月发布Keil UVision4,它加入灵便的窗口管理体系,使得开发人员可以同时使用多台监视器。并且使之前的功能更加完善。新版本还支持更多最新的ARM芯片,是应用范围更广。4.1.2仿真软件本次设计运用的仿真软件是protues。Protues软件是英国Labcenter electronics公司生产的EDA工具软件。它不仅仅能够仿真EDA软件,还能仿真单片机及外围器件。并且它是目前最好的仿真单片机的工具。虽然它在国内起步较晚,但是已经成为单片机仿真的主流工具。Proteus是世界上著名的EDA工具(仿真软件),实现了从原理图布图、代码调试到单片机与外围电路协同仿真,真正实现了从概念到产品

44、的完整设计。到目前为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三者完美结合在一起的软件设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MATLAB等多种编译6.仿真原理图如下:图4-1 系统仿真原理图4.2各模块对应的软件4.2.1显示模块的程序介绍显示模块利用LCD1602进行显示。1 LCD1602的指令说明及时序1602液晶模块的控制器共有11条控制指令,如表4-1所示:表4-1 控制命令表序号指令RSR/WD7D6D5D4D3D2D

45、1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、光标的操作都是通过编程来实现的。表中功能详细介绍如下:指令1:清显示,光标移动地址00H位置。指令2:光标复位,光标返回到地址00H。指令3

46、:光标和显示模式设置I/D:光标移动方向标志位,高电平时右移,低电平时左移S:屏幕上所有文字左移或者右移标志位。高电平表示有效,低电平则无效。指令4:显示开关控制。D:整体显示的开与关选择位,高电平时开显示,低电平时关显示C:光标的开与关选择位,高电平时有光标,低电平时无光标B:光标是否闪烁选择喂,高电平时闪烁,低电平时不闪烁。指令5:光标或显示移位S/C:高电平时显示的文字移动,低电平时光标移动。指令6:功能设置命令DL:低电平时为8位总线,高电平时为4位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址

47、设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址,BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。时序表如下表所示:表4-2 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无图4-2 读操作时序图4-3 写操作时序液晶显示模块在要显示字符时需要先输入显示字符地址,也就是告诉模块在哪里显示字符,图4-4是16

48、02的内部显示地址。图4-4 LCD1602内部显示地址由上图可知第二行第一个字符的地址是40H,但是却不能是直接写入40H来表示可将光标定位在第二行第一个字符的位置,这是因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B即(40H+10000000B(80H)=11000000B(C0H)。在对LCD1602的初始化中需要先设置它的显示模式,在液晶模块显示字符时光标是自动右移的,不用人工调整。但是在每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块里面的字符发生存储器(CGROM)已经保存了160个不同的点阵字符图形,且每一个字符都有一个固

49、定的代码,显示时模块只需把地址中的点阵字符图形显示出来,我们就能看到所需的图形5。2 lcd1602的主要程序写入命令RS=L,RW=L,D0D7=指令码,E=高脉冲。/* 函数名 : LcdWriteCom* 函数功能 : 向LCD写入一个字节的命令* 输入 : com* 输出 : 无/*void LcdWriteCom(uchar com) /写入命令LCD1602_E = 0; /使能LCD1602_RS = 0; /选择发送命令LCD1602_RW = 0; /选择写入LCD1602_DATAPINS = com; /放入命令Lcd1602_Delay1ms(1);/等待数据稳定LCD

50、1602_E = 1; /写入时序Lcd1602_Delay1ms(5); /保持时间LCD1602_E = 0;写入数据RS=H,RW=L,D0D7=数据,E=高脉冲。/* 函数名 : LcdWriteData* 函数功能 : 向LCD写入一个字节的数据* 输入 : dat* 输出 : 无*/ void LcdWriteData(uchar dat)/写入数据LCD1602_E = 0;/使能清零LCD1602_RS = 1;/选择输入数据LCD1602_RW = 0;/选择写入LCD1602_DATAPINS = dat; /写入数据Lcd1602_Delay1ms(1);LCD1602_E = 1; /写入时序Lcd1602_Delay1ms(5); /保持时间LCD1602_E = 0;LCD1602的初始化/* 函数名 : LcdInit()* 函数功能 : 初始化LCD屏* 输入 : 无* 输出 : 无*/void LcdInit() /LCD初始化子程序 LcdWri

温馨提示

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

评论

0/150

提交评论