基于单片机的室内电热水器控制系统设计.doc

上传人:精*** 文档编号:846862 上传时间:2023-09-09 格式:DOC 页数:61 大小:750.03KB
下载 相关 举报
基于单片机的室内电热水器控制系统设计.doc_第1页
第1页 / 共61页
基于单片机的室内电热水器控制系统设计.doc_第2页
第2页 / 共61页
基于单片机的室内电热水器控制系统设计.doc_第3页
第3页 / 共61页
基于单片机的室内电热水器控制系统设计.doc_第4页
第4页 / 共61页
基于单片机的室内电热水器控制系统设计.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计论述了一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C51单片机最小系统,测温电路、实时时钟电路、LED液晶显示电路以及通讯模块电路等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LED显示程序以及数据存储程序等。关键词:STC89C51,单片机, DS18B20,

2、显示电路- VI -AbstractAlong with the computer measurement and control technology of the rapid development and wide application, based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC

3、89C51 describes a kind of mainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and record related to the current time. System design related hardware circuit and related applications. STC89C51 microcontroller

4、 hardware circuit include temperature detection circuit smallest system, and real-time clock circuit, LED display circuit, communication module circuit, etc. System programming mainly include main program, read temperature subroutine, the calculation of temperature subroutines, key processing proced

5、ures, LED display procedures and data storage procedures, etc. Keywords:STC89C51,icrocontroller,DS18B20,display circuit目录摘要IAbstractII目录III前言11片机及设计软件介绍21.1单片机介绍21.2 Proteus 软件介绍81.3单片机编译软件Keil介绍102 方案设计122.1功能介绍122.1.1 AT89C51 主要性能122.1.2数字温度传感器122.2系统方案论证162.2.1方案一162.2.2方案二183系统硬件设计193.1设计要求193.2

6、系统整体硬件电路193.2.1主板电路203.2.2显示部分203.2.3手动开关复位部分213.2.4按键部分213.2.5加热部分233.2.6温度传感电路设计243.2.7温度控制电路的设计263.2.8时钟电路264系统软件设计284.1主程序284.2显示数据刷新子程序28图4.2 数据刷新子程序294.3键盘扫描294.4定时器30总结32致谢33参考文献34附件1 系统电路原理图36附录2源程序37前言课题背景和意义:随着人们生活水平的提高,热水器越来越受到人们的青睐。由于燃气热水器易受水压限制,而且安全性较差。每年使用燃气热水器造成的爆炸、中毒等事故也屡有所闻。消费者对燃气热水

7、器怀有一定的惧怕感。而电热水器越来越受到人们的认可。采用MCS-51单片机对热水器水温进行控制,具有控制方便、组态简单和灵活性大等优点。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件。国内外研究现状:电热水器在中国的历史已经有10多年了,期间也经历了数次起落的过程,在上个世纪的最后几年,随着国外品牌的进入和国内一些大家电厂的目光转向电热水器,储水式电热水器能适应任何天气变化,普通家庭可直接安装使用,长时间通电可以大流量供热水。使用时不产生废气,既安全又卫生。目前市场上销售的电热水器多数还带有防触电装置。干净卫生,不必分室安装,调温方便。随着

8、技术的成熟,今后将朝着保温层整体发泡技术、温控器置入内胆、加热管下潜式设计、节能免更换几个方面发展。热水器是一种可供浴室,洗手间及厨房使用的家用电器。据国务院发展研究中心市场经济研究所统计数据表明:近年来我国热水器的销量每年以 25%的速度上升,在未来五年内,销售额每年可达近500亿以上。众所周知,燃气热水器因其安全隐患及越来越高的使用成本正渐渐淡出热水器市场,而太阳能热水器也因其严格受天气气候及安装条件影响而很难占据更大的市场份额,所以电热水器迅速崛起而不断壮大。为了满足人们对现代电器的智能化的要求,利用目前电子技术的最新成果改善电热水器的性能已经完全可能和必要。本课题将以单片机为控制核心,

9、实现对热水器的自动控制,设计出一款具有自动化、智能化、易于操作、控制精度高、性价比高的电热水器控制系统。1片机及设计软件介绍1.1单片机介绍由于单片机在整个设计中占据着重要的地方,首先介绍一下单片机的相关知识。单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要。MCS-51单片机内部结构:8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加

10、以说明:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图1.1 8051 内部结构程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(RO

11、M):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的

12、结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图是MCS-51系列单片机的内部结构示意图图1.2 MCS-51结构框图MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共3

13、2个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明.MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。图1.3 51单片机引脚图Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被

14、清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图1.4 复位电路图Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存

15、储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。输入/输出(I/O)引脚,P0口、

16、P1口、P2口及P3口,P0口(39脚22脚)P0.0P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。P1口(1脚8脚):P1.0P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPR

17、OM编程和进行程序校验时,P0口接收输入的低8位地址。P2口(21脚28脚):P2.0P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。P3口(10脚17脚):P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能见下表表1.1 单片机P3.0管脚含义引脚第2功能P3.0RXD(串行口输入端0)P3

18、.1TXD(串行口输出端)P3.2INT0(部中断0请求输入端,低电平有效)P3.3INT1(中断1请求输入端,低电平有效)P3.4T0(时器/计数器0计数脉冲端)P3.5T1(时器/计数器1数脉冲端)P3.6WR(部数据存储器写选通信号输出端,低电平有效)P3.7RD(部数据存储器读选通信号输出端,低电平有效)综上所述,MCS51系列单片机的引脚作用可归纳为以下两点:单片机功能多,引脚数少,因而许多引脚具有第2功能;单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。温度传感器电路,采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。传感器输出

19、信号进4.7K的上拉电阻直接接到单片机的P1.0引脚上。DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:系统的特性:测温范围为-55+125 ,测温精度为士0.5;温度转换精度912位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;12位精度转换的最大时间为750ms;可以通过数据线供电,具有超低功耗工作方式。系统成本:由于计算机技术和微电子技

20、术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。系统复杂度:由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。DS18B20温度传感器只有三根外引线:单线数据

21、传输总线端口DQ ,外供电源线VDD,共用地线GND。DS18B20有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接,其接口电路如图1.5所示。图1.5温度传感器接口1.2 Proteus 软件介绍Proteus是目前最好的模拟单片机外围器件的工具,真的很不错。可以仿真51系列、AVR,PIC等常用的M

22、CU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,.)其实proteus与multisim比较类似,只不过它可以仿真MCU!当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是估计初学者有的可能性比较小吧?如果你在学51单片机,如果你想自己动手做做LCD,LED,AD/DA,直流马达,SPI,IIC,键盘,.的小实验的话,试一下吧,不会让你失望的!用51不管你是用汇编或是C编程当然要用keil啦,uvisoin3有不少新特性呢!使用keilc51v7.50+proteus6.7可以像使

23、用仿真器一样调试程序,一般而言,微机实验中用万利仿真器+电工系自己做的实验板的实验都可以做得到吧!当然,硬件实践还是必不可少的! 本方案只是在没有硬件的情况下让你能像pspice仿真模拟/数字电路那样仿真MCU及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也不错的!Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实

24、验和工程应用间脱节的矛盾和现象。proteus的工作过程 运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pickdevices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Definecodegenerationtools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/removesourcefiles命令下,加入单片机硬件电路的对应程序;通过debug菜单

25、的相应命令仿真程序和电路的运行情况。Proteus软件所提供的元件资源Proteus软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。 软件所提供的仪表资源,对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus软件包中,不存在同类仪表使用数量的问题。Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。软件所提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,

26、Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stopanimation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。 对于软件的分步调试,应先执行debug菜单下的start/restartdebugging菜单项命令,此时可以选择stepover、stepinto和stepout命令执

27、行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start/restartdebuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的

28、科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。1.3单片机编译软件Keil介绍编写完程序后即可使用汇编软件对程

29、序进行编译了,本设计所使用的编译软件是Keil51,其步骤如下:源文件的建立:使用菜单“File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入要调试的汇编语言源程序,保存该文件,注意必须加上扩展名.c。建立工程文件:点击“Project-New Project ”菜单,在出现一个对话框中,输入一个工程文件名,不需要扩展名。点击“保存”按钮。工程的详细设置:工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边Project 窗口的Target 1,然后使用菜单“Project-Option for target target1

30、”即出现对工程设置的对话框,对部分内容进行必要的设置改即可,不过大部份设置项都是取默认值。编译、连接:在设置好工程后,即可进行编译、连接。选择菜单Project-Build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果选择Rebuild All target files 将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而Translate .项则仅对该文件进行编译,不进行连接。2 方案设计2.1功能介绍2.1.1 AT89C51 主要性能与MCS-51 单片机产品兼容 ;8K 字节在系统可编程F

31、lash 存储器;1000 次擦写周期;全静态操作:0Hz33Hz ;三级加密程序存储器;32 个可编程I/O 口线;三个16 位定时器/计数器;八个中断源;全双工UART 串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;看门狗定时器;双数据指针;掉电标识符。2.1.2数字温度传感器DS18B20数字温度传感器概述;DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点如下所示:只要求一个端口即可实现通信。在DS18B20中的每

32、个器件上都有独一无二的序列号。实际应用中不需要外部任何元器件即可实现测温。测量温度范围在55.C到125.C之间。数字温度计的分辨率用户可以从9位到12位选择。内部有温度上、下限告警设置。TO92封装的DS18B20的引脚排列见图2.4,其引脚功能描述见表2.1。表2.1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地DS18B20的内部结构:DS18B20的内部框图如图2.2所示。64位ROM存储器件独一无二的序列号。暂存器包含两字节(0

33、和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC )。图2.1 DS18B20的内部框图DS18B20加电后,处在空闲状态。要启动温度测量和模拟到数字的转换,处理器须向其发出Convert T 44h 命令;转换完后,DS18B20回到空闲状态。温度数据是以带符号位的16-bit补码存储在温度寄存器中的,如图2.2所示:图2.2温度寄存器格式符号位说明温度是正

34、值还是负值,正值时S=0,负值时S=1。表2.8给出了一些数字输出数据与对应的温度值的例子。温度输出(2进制)输出(16进制)+1250000 0111 1101 0000 07D0H+850000 0101 0101 00000550H+20.0620000 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-251110

35、 1110 0110 1111EE6FH-551111 1110 1001 0000FE90H表2.2温度/数据的关系访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。初始化:DS18B20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。ROM命令:ROM命令通过每个器件64-bit的ROM码,使主机

36、指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表2.9所示,每个ROM命令都是8 bit长。表2.3 DS18B20的ROM指令协议功能读ROM33H读DS18B20中的编码(即64位地址)符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20V 温度转换命令,适用于单个DS18B20工作告警搜索命

37、令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中读暂存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”功能命令:主机通过功能命令对DS

38、18B20进行读/写Scratchpad存储器,或者启动温度转换。数码管工作原理:LED的发光原理,稍有电子技术基础的人士都很清楚,我们不想作过多的介绍,7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。图2.3 数码管引脚LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。上图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共

39、阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管显示将显示数字“1”。而将a、b、d、e和g段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它字符的显示原理类同。2.2系统方案论证2.2.1方案一由于本设计的温度测温电路,可以使用热敏电阻Pt100其感温效应,Pt100温度传感器为正温度系数热敏电阻传感器,主要技术参数如下:测量范围:-200+850;允许偏差值:A级(0.150.002

40、t), B级(0.300.005t);热响应时间 30s;最小置入深度:热电阻的最小置入深度200mm;允通电流 5mA。另外,Pt100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。 铂热电阻的线性较好,在0100摄氏度之间变化时,最大非线性偏差小于0.5摄氏度。铂热电阻阻值与温度关系为式中,A=0.00390802;B = -0.000000580;C = 0.0000000000042735。可见Pt100在常温0100摄氏度之间变化时线性度非常好,其阻值表达式可近似简化为:RPt=100(1+At),当温度变化1摄氏度,Pt100阻值近似变化0.39欧。 下表2.4为Pt1

41、00在0100的分度表。传感器电路包括传感器测量电桥和放大电路两部分,图2.4传感器放大电路R2、R3、R4和Pt100组成传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过TL431稳至2.5V。从电桥获取的差分信号通过两级运放放大后输入单片机。电桥的一个桥臂采用可调电阻R3,通过调节R3可以调整输入到运放的差分电压信号大小,通常用于调整零点。 放大电路采用LM358集成运算放大器,为了防止单级放大倍数过高带来的非线性误差,放大电路采用两级放大,如图 1-2所示,前一级约为10倍,后一级约为3倍。温度在0100度变化,当温度上升时,Pt100阻值变大,输入放大电路的差分信号

42、变大,放大电路的输出电压Av对应升高。 这种设计需要用到A/D转换电路,感温电路比较麻烦。2.2.2方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器特性如下DS18B20是DALLAS公司生产的一线制数字温度传感器;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到一起,CPU只需一根数据线就能与诸多DS18B20通信,占用微处理器的端

43、口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统.从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二所示。3系统硬件设计3.1设计要求1.实时显示水温,范围为099可在2080范围任意设定水温;2.具有预约功能,24h 任意设定开机时间,可随时察看和校正系统时钟3.具有LED 数码显示实时温度,进行设定操作时闪烁显示设定水温、时间,并有预约、保温/加热指示4.超温断电保护并报警功能,出现漏电流故障时,迅速切断电源并提示报警功能5.系统断电能保护设定数据电路设计的硬件电路图如下: 图3.1系统设计硬件框图3.2系统

44、整体硬件电路3.2.1主板电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,控制电路,单片机主板电路等,如图所示图3.2主板电路图3.2.2显示部分显示电路采用四位共阳LED数码管,利用7447驱动段、74HC138驱动位,通过软件编程实现数码显示。此方式简单方便。其电路图如下所示图3.3显示部分电路图3.2.3手动开关复位部分复位电路虽然简单,但其作用非常重要。一个单片机系统能复正常运行,首先要检查是否能复位成功,其中手动复位开关比较常用,如图所示:图3.4手动开关复位电路手动开关未按下之前,电容正极处于充电状态,当按键按下去后,VCC与GND导通,电容放电,从

45、而实现放电。3.2.4按键部分采用矩阵键盘方式输入设计键盘控制电路部分,其键盘结构图如下所示:图3.5 矩阵键盘连线图每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3.5所示的4X4键盘,说明线反转个工作原理。首先,辨别键盘中有无键按下,有单片机I/O口

46、向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。输入信号由八个小开关控制,当有键按下的时候,

47、就产生了有效的输入信号,我使用了上拉电阻把输入信号先嵌位在高电平,为了理解起来容易,我下面将对上拉电阻进行简单介绍:上拉电阻就是把不确定的信号通过一个电阻钳位在高电平,此电阻还起到限流的作用。那么在什么时候使用上拉电阻呢?总结如下: 1.当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。 2. OC门电路必须加上拉电阻,以提高输出的搞电平值。3.为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4. 在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。 5.芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限,增强抗干扰能力。 6.提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。 7.长线传输中电阻不匹配容

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922