基于单片机的温度控制系统本科生毕业论文_第1页
基于单片机的温度控制系统本科生毕业论文_第2页
基于单片机的温度控制系统本科生毕业论文_第3页
基于单片机的温度控制系统本科生毕业论文_第4页
基于单片机的温度控制系统本科生毕业论文_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、上海电力学院本科毕业设计(论文) 题目: 基于单片机的温度测量系统 院系: 自动化工程学院 指导教师:马进明 【摘 要】温度测量在实际生产和人们生活中都有广泛应用,为此我设计了一个温度测量系统。本系统利用at89s52单片机作为主控制器件,ds18b20作为测温传感器通过led数码管串口实现温度显示,通过按键电路设置上下限报警温度。并且在到达报警温度后,系统会自动报警。本文设计是从测温电路、主控电路、报警电路等几个方面来分析说明的该系统利用ds18b20测温范围广、测温分辨率高、外围电路简单、功耗低等特点,与at89s52构成比较简单的测温电路。该系统设计灵活、抗干扰性好,可以在恶劣的工作环境

2、中进行温度测量。 关键字:单片机;温度传感器;温度计;报警【abstract】.in this design using the at89s52 microcontroller as the main control device, ds18b20 as an led digital temperature sensor tube to achieve temperature display. the key circuit sed the temperature to set the alarm on the lower temperature. and the temperature re

3、aching the alarm, the system will automatically alarm. this design is from the temperature measurement circuit, main control circuit, alarm circuit, and several other aspects of the note. the system uses ds18b20 temperature measurement range, high temperature measurement resolution and peripheral ci

4、rcuit is simple, low power consumption, compared with at89s52 devices constitute a simple temperature measurement circuit. the system design of flexible, anti-interference performance is good, can be in the poor working environment for temperature measurement.keywords:at89s52;ds18b20;thermometer;ala

5、rm目录1 引言11.1 选题的背景11.2 选题的目的及意义12 系统设计的整体方案32.1 设计的主要内容32.2 设计性能要求33 器件的选择43.1 单片机的选择43.1.1 at89s52的基本组成及特征43.1.2 at89s52的引脚功能53.1.3 at89s52的工作模式及注意事项83.2 温度传感器的选择93.2.1 ds18b20的特点及选择原因93.2.2 ds18b20的测温原理113.3 显示器的选择113.4 蜂鸣器123.5 排阻134 电路原理144.1单片机电路144.1.1 晶振电路144.1.2 复位电路164.2 温度采集电路164.3 温度显示电路1

6、74.4 温度上下限设置电路174.5 温度过限报警电路184.6 系统总电路图电路195 系统流程图205.1 主程序205.2 读出温度子程序215.3 温度转换命令子程序215.4 计算温度子程序225.5显示数据刷新子程序226 软件仿真2461 软件设计流程246.2 原理图的绘制246.3 单片机程序的调试与编译266.4 仿真过程277 总结287.1 设计总结287.2 设计前景288 致谢30参考文献31附 录32附录1:系统总图32附录2: 程序321 引言1.1 选题的背景随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。单

7、片机在测控领域中具有十分广泛的应用,它既可以测量电信号,又可以测量温度湿度等非电信号。由单片机构成的温度检测、温度控制系统可广泛应用于很多领域。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。今天,我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服务。时下,家用电器和办公设备的智能化、遥控化、模糊控制化己成为世界潮流,而这些高性能无一不是靠单片机来实现的。人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,传感器属于信息技术的

8、前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域。温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ate)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(mcu)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传

9、感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。1.2 选题的目的及意义随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。无论是在工业方面,农业方面或者是平民大众的生活当中,我们都能看到温度计的身影。传统的温度检测以热敏电阻和ad590为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差。测温准确度低,检测系统也有一定的误差。因此,利用新型温度传感器取代旧式的温度传感器是必然的趋势,新型的温度传感器的优势越来越得到体现,越来越普及。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控

10、领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。本设计的温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,测温传感器使用ds18b20,led以串口传送数据,实现温度显示,能准确达到以上要求。2 系统设计的整体方案2.1 设计的主要内容根据系统的设计要求,当温度传感器ds18b20把所测得的温度发送到at89s52单片机上,经at89s52处理,将把温度在显示电路上显示,除了

11、显示温度以外还可以设置一个报警温度,对所测温度进行监控。利用外接的键盘设置电路,对温度进行上下限设置。当温度高于或低于设定温度时,开始报警。利用at89s52芯片控制温度传感器ds18b20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。系统框图如下图:at89s52显示设备报警电路温度传感器键盘设定图2-1系统框图选择ds18b20作为本系统的温度传感器,选择单片机at89s52为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器ds18b20,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路,省却了采样保持电

12、路、运放、数模转换电路以及进行长距离传输时的串并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。当led液晶显示器接收到来自at89s52单片机传送来的温度信息后,显示了当前的温度。2.2 设计性能要求本设计能完成的温度测量范围是-55c+125c,精度为0.1c,支持温度正负提示,并支持硬件手动配置温度上下限,超过此上下限即实现报警功能。3 器件的选择本设计是选用ds18b20作为温度传感器,选用at89s52单片机作为整个设计的核心处理器部分。通过处理作为温度传感器传输的温度信息后,将处理后的信息传输给led液晶显示器,超过上下限温度即报警。所以用到的器件at89s52、

13、ds18b20、led、蜂鸣器等。3.1 单片机的选择3.1.1 at89s52的基本组成及特征at89s52作为温度测试系统设计的核心器件该器件是intel公司生产的mcs一5l系列单片机中的基础产品,采用了可靠的cmos工艺制造技术具有高性能的8位单片机,属于标准的mcs一51的cmos产品。片内含8k bytes的可反复擦写的只读程序存储器(perom)和256 bytes的随机存取数据存储器(ram),器件兼容标准的mcs-51指令系统。片内置通用8位中央处理器(cpu)和flash存储单元。结合了hmos的高速和高密度技术及chmos的低功耗特征。其具有如下性质:(1)与mcs-51

14、 产品指令系统完全兼容(2)8k字节可反复擦写flash闪烁存储器。(3)寿命:1000写/擦循环。(4)数据保留时间:10年。(5)全静态工作:0hz-24hz。(6)三级程序存储器锁定。(7)128*8位内部ram。(8)32可编程i/o线。(9)三个16位定时器/计数器。(10)8个中断源。(11)可编程串行通道。(12)低功耗的闲置和掉电模式。(13)片内振荡器和时钟电路。at89s52单片机提供以下标准功能:8k字节flash,256字节ram,32 位i/o 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另

15、外,at89s52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。由于此设计需要编写程序,需要将程序烤入单片机中,因此单片机必须具有足够多的存储空间,其具有8k字节的flash完全满足要求。32位的i/o 口线能够使得单片机与温度显示器、温度传感器、键盘、报警电路、按键电路和指示灯连接等等变得可能。16位的定时计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和复位电路的连接。最重要的是,能够在掉电状态下保

16、存ram内的数据。同时,与同类51单片机相比,at89s52具有更强的可操作性。因此,对于本设计来说,选择at89s52是最有利的。3.1.2 at89s52的引脚功能at89s52共有40个引脚,8k bytes flash片内程序存储器,256 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。其逻辑引脚图如图3-1。图3-1 at89c51逻辑引脚图各引脚功能叙述如下:1电源和晶振vcc运行和程序校验时加+5vgnd接地xtal1输入到振荡

17、器的反向放大器xtal2反向放大器的输出,输入到内部时钟发生器(当使用外部振荡器时,xtal1接地,xtal2接收振荡器信号)rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,

18、movc指令是ale才起作用。另外,该引脚被略微拉高。2i/o(4个口,32根)p0口8位、漏极开路的双向i/o口。当使用片外存储器(rom、ram)时,作地址和数据分时复用。在程序校验期间,输出指令字节(需加外部上拉电路)。p0口(作为总线时)能驱动8个lsttl负载。p1口8位、准双向i/o口。在编程/校验期间,用于输入低位字节地址。p1口可驱动4个lsttl负载。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0 和 p1.2 分别作定时器/计数器 2 的外部计数输入(p1.0

19、/t2)和时器/计数器 2的触发输入(p1.1/t2ex),具体如下表3-2所示。脚号第二功能p1.0t2(定时器/计数器 t2 的外部计数输入),时钟输出p1.1t2ex(定时器/计数器 t2 的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程用)表3-2 at89s52 p1口第二功能表p2口8位、准双向i/o口。当使用片外存储器(rom及ram)时,输出高8位地址。在编程/校验期间,接收高位字节地址。p2口可以驱动4个lsttl负载。p3口8位、准双向i/o口,具有内部上拉电路。p3口提供各种替代功能。在提供这些功能

20、时,其输出锁存器应由程序置1。p3口可以输入/输出4个lsttl负载。3串行口p3.0rxd(串行输入口),输入。p3.1txd(串行输出口),输出。4中断p3.2int0外部中断0,输入。p3.3int1外部中断1,输入。5定时器/计数器p3.4t0定时器/计数器0的外部输入,输入。p3.5t1定时器/计数器1的外部输入,输入。6数据存储器选通p3.6wr低电平有效,输出,片外存储器写选通。p3.7rd低电平有效,输出,片外存储器读选通。7控制线(共4根)输入:rst复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ea/vpp片外程序存储器访问允许信号,低电平有效。在编

21、程时,其上施加21v的编程电压。注意:在加密方式1时,ea将内部锁定为reset;当ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。输入、输出:ale/prog地址锁存允许信号,输出。ale以1/6的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。在eprom编程期间,作输入,输入编程脉冲(prog)。ale可以驱动8个lsttl负载。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作

22、对外部输出的脉冲或用于定时目的。注意:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。输出:psen片外程序存储器选通信号,低电平有效。在从片外程序存储器取址期间,在每个机器周期中,当psen有效时,程序存储器的内容被送上p0口(数据总线)。psen可以驱动8个lsttl负载。3.1.3 at89s52的工作模式及注意事项at89s52单片机有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。这两种方式是

23、控制专用寄存器pcon(即电源控制寄存器)中的pd(pcon1)和idl(pcon0)位来实现的。pd是掉电模式,当pd=1时,激活掉电工作模式,单片机进入掉电工作状态。idl是空闲等待方式,当idl=1,激活空闲工作模式,点偏激进入睡眠状态。如需同时进入两种工作模式,即pd和idl同时为1,则先激活掉电模式。在空闲工作状态下,cpu保持睡眠状态而所有的片内的外设都保持激活状态,这种方式由软件产生,此时,片内ram和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,进入中断服务程序,执行完中断服务程序并紧随rst1(中断返回)指令后,

24、下一条要执行的指令就是使单片机进入空闲模式的那条指令后面的一条指令。其二是通过硬件复位可以将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,cpu通常是从激活空闲模式那条指令的吓一跳指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止cpu访问片内ram,而允许访问其他端口。为了避免可能对端口产生意外写入,激活空闲状态的那条指令后一条指令不应是一条端口或外部存储器的写入指令。在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。片内ram和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电

25、模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但并没有因此改变ram中的内容,在vcc恢复到正常工作电平前,复位应无效,但必须保持一定时间以使振荡器重启动并稳定工作。at89s52单片机具有一些极限参数:(1)工作温度:-55摄氏度至+125摄氏度(2)储藏温度:-65摄氏度至+150摄氏度(3)任一引脚对地电压:-1.0v至+7.0v(4)最高工作电压:6.6v(5)直流输出电流:15.0ma模式程序存储器alepsenp0p1p2p3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据表3-3 空闲和

26、掉电模式外部引脚状态3.2 温度传感器的选择3.2.1 ds18b20的特点及选择原因ds18b20是美国dallas公司继ds1820之后推出的增强型单总线数字式温度传感器,它在转换速度、转换时间、传输距离、分辨率等方面较之前产品有了很大的改进,给用户带来了更方便、更令人满意的效果。dallas 最新单线数字温度传感器ds18b20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。dallas 半导体公司的数字化温度传感器ds18b20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可

27、达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在eeprom 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个ds18b20可以并联到3 根或2 根线上,cpu只需一根端口线就能与诸多ds18b20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。dq 为数据输入/输出引脚,开漏单总线

28、接口引脚。当被用着在寄生电源下,也可以向器件提供电源; gnd为地信号;vdd为可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。在硬件上,ds18b20与单片机的连接有两种方法,一种是vcc接外部电源,gnd接地,i/o与单片机的i/o线相连;另一种是用寄生电源供电,此时udd、gnd接地,i/o接单片机i/o。无论是内部寄生电源还是外部供电,i/o口线要接5k左右的上拉电阻.ds18b20 的性能特点如下:独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线

29、上,实现组网多点测温。 64位rom和单线接口存储器与控制逻辑高速缓存温度传感器8位crc发生器配置寄存器高温触发器低温触发器图3-4 ds18b20内部结构框图ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。其具有9条特点:(1)适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数据线供电。(2)温范围55125,在-10+85时精度为0.5。(3)零待机功耗。(4)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(5)在9位分辨率时最多在93.75ms内把温度转换为

30、数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(6)用户可定义报警设置。(7)报警搜索命令识别并标志超过程序限定温度的器件。(8)结果直接输出数字温度信号,以一线总线串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力。ds18b20作为新型的器件,能够方便的和中心处理器进行连接,并具有很大的扩展空间。温度范围较广,使得整体的测温范围能大幅度的上升,零待机消耗更是起到了节能的作用。利用用户能自定义报警设置这一特点,能够在实现报警功能上得到很大的便利,同时极强的抗干扰性能使得温度的检测更加准确,作为温度计最基本的要求,准确必须满足。这些好处使得ds18b20最

31、终被选择。3.2.2 ds18b20的测温原理ds18b20的测温原理如图3-5所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。首先用ds1820提供的读暂存寄存器指令(beh)读

32、出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(lsb),得到所测实际温度整数部分t整数,然后再用beh指令读取计数器1的计数剩余值m剩余和每度计数值m每度,考虑到ds1820测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度t实际可用下式计算得到:t实际=(t整数0.25)+(m每度m剩余)/m每度。 低温度系数晶振高温度系数晶振预置斜率累加器计数器 1=0计数器 2=0比较预置温度寄存器图3-5 ds18b20测温原理图3.3 显示器的选择由于设计中要求显示测试温度,因此显示屏首先要能够一次性容纳这些字符。工作电压不能太高,与单片机的连接方式需要简单,显示准

33、确。本设计中采用的是四位共阴极led液晶屏能够很好的满足这些要求。led(发光二极管light emitting diode的英文缩写)是利用pn结把电能转换成光能的固体发光器件,根据制造材料的不同可以发出红、黄、绿、白等不同色彩的可见光来。led的伏安特性类似于普通二极管,正向压降约为2伏左右,工作电流一般在10 -20ma之间较为合适。led显示器有多种结构形式,单段的圆形或方形led常用来显示设备的运行状态,8段led可以显示各种数字和字符,所以也称为led数码管,这里我们使用8段led液晶屏。一个8段led显示器的结构是由8个发光二极管组成,各段依次记为a、b、c、d、e、f、g、dp

34、 ,其中dp表示小数点(不带小数点的称为7段led)。8段led显示器有共阴极和共阳极两种结构。8段led通过不同段点亮时的组合,可以显示09、af等十六进制数。显然,将单片机的数据输出口与led各段引脚相连,控制输出的数据就可以使led显示不同的字符。通常把控制led数码管发光显示字符的8位字节数据称为段选码或者字符译码,如图3-6所示。图3-6 8段led液晶屏引脚共阴极led的所有发光管的阴极并接成公共端com,共阴数码管在应用时应将公共极com接到地线gnd上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。led液晶屏的价格便宜使用简

35、单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等绝大多数热水器用的都是数码管。其优点是直观,成本低。缺点是只能显示测量点温度值和有限的符号,电路复杂。3.4 蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,广泛应用与计算机、打印机、报警器、定时器等电子产品中作发声器件。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机io引脚输出的电流较小,单片机输出的电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。s52单片机通过一个三极管pn5138来放大驱动蜂鸣器,原理图见图3-4:图3-4 驱动蜂鸣器原理图3.5 排阻排阻,就是

36、若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚。排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便。本系统中因选用共阴极led数码管,需高电平有效。必须用上拉电阻提供电流才能产生高电平,且排阻可减小p0口电流大小,保护p0口。本系统选用respack-8排阻。图3-5排阻respack-84 电路原理整个设计的电路包括了单片机电路、温度采集电路、温度显示电路、温度上下限设置电路和温度过限报警电路五部分电路组成。4.1单片机电路单片机电路由晶振电路、复

37、位电路、电源和at89s52单片机组成。如图4-1所示。 图4-1 单片机电路4.1.1 晶振电路晶振电路和复位电路与单片机连接构成最小系统电路,如何选取合适的引脚,选取何种连接方式都至关重要。因此需要了解at89s52的引脚特点图4-2 at89s52单片机引脚图在晶振电路中,主要用到了xtal1和xtal2两个引脚。(1)xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。(2)xtal2:来自反向振荡器的输出。在晶振电路中,at89s52具有两种晶振方式,一种是片内时钟振荡方式,但需要在引脚外接石英晶体和振荡电容,振荡电容的值一般取10-30pf。另一种是外部时钟方式,即将xtal

38、1接外部时钟,xtal2脚悬空。本设计的晶振电路如图4-3所示。图4-3 晶振电路单片机的晶振频率采用11.0592mhz,加两个30pf电容。xtal1和xtal2分别为反向放大器的输入和输出,外接石英晶体和振荡电容,构成了片内时钟振荡方式。而振荡周期指的就是单片机外接石英晶体振荡器的周期。当时钟起振后,产生一定的频率的时钟信号,单片机的cpu在时钟信号的控制下能一步一步完成自己的工作,同时与整个系统相关的周期还有振荡周期、状态周期、机器周期和指令周期。电容c2和c3主要用于校正波形,振荡器的作用主要是产生时钟振荡。而整个电路的作用则是为了产生自激振荡。4.1.2 复位电路对于复位电路,at

39、89s52有两种复位方式,分别是上电复位和按键复位。本设计采用的是按键复位,即利用一个复位电容和按键的组合使得复位变得更加直接和简单。复位电路如图4-4所示。引脚rst作用是复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。在按下按键后,系统自动复位,十分方便。在复位电路中添加按键主要是为了能够使得复位更加方便,电容主要是在复位后进行充电,而上拉电阻起到限流的作用,保护了电路。图4-4 复位电路4.2 温度采集电路温度控制电路主要运用到了ds18b20和at89s52。如何使两者连接实现功能是温度控制电路的主要设计目的。在硬件上,ds18b20与单片机的连接有两种方法,一种

40、是vcc接外部电源,gnd接地,i/o与单片机的i/o线相连;另一种是用寄生电源供电,此时udd、gnd接地,i/o接单片机i/o。内部寄生电源i/o口线要接5k左右的上拉电阻。这里采用的是第一种连接方法,如图4-5所示:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,p2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。图4-5 温度采集电路4.3 温度显示电路四位共阴极数码管,能够显示小数和负温度。负温时,第一个数码管显示负号,绿灯亮,其余数码管显示温度数值:正温时,

41、红灯亮,数码管显示相应的温度值:当温度超过99.9c时,四个数码管全部亮。图4-6 显示电路4.4 温度上下限设置电路按键电路的一端接地,一端和at89s52的相应端口相连。四个按键的功能分别能进行加减、修改和确认功能,配合指示灯电路,进行温度上下限的设置。图4-7 温度上下限设置电路4.5 温度过限报警电路利用蜂鸣器和led灯进行报警输出,采用直流供电。当所测温度超过获低于所预设的温度时,数据口相应拉高电平,报警输出。 图4-8 温度过限蜂鸣器报警 图4-9温度过限led报警如图4-8所示,蜂鸣器的正极接到vcc(+5v)电源上面,蜂鸣器的负极接到三极发射管的发射极e,三极管的基级b经过限流

42、电阻r3后由单片机的p1.0引脚控制,当p1.0输出低电平时,三极管t1截止,没有电流流过线圈,蜂鸣器不发声;当p1.0输出高电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制p1.0引脚的电平来使蜂鸣器发出声音和关闭。4.6 系统总电路图电路系统总电路图如下图4-10 系统总电路图5 系统流程图5.1 主程序yyn初始化中断和定时器开始显示初始化set键被按下?从ds18b20读取温度并显示温度极限返回执行报警程序n按键设置图5-1 主程序流程 主程序的主要功能是负责温度的实时显示、读出并处理ds18b20的测量的当前温度值,温度测量每1s进行一次。主程序的第

43、二个功能是查询set键是否被按下,以实现设置温度上下限的功能。其程序流程见图5-1所示。由总的流程图可以分析出,在整个程序中应该包括如下几个部分:读写温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。5.2 读出温度子程序读出温度子程序的主要功能是读出ram中的9字节。在读出时须进行crc校验,校验有错时不进行温度数据的改写。流程图5-2如下:图5-2 读出温度子程序流程图5.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750ms。在本程序设计中,采用1s显示程序延时法等待转换的完成。流程图5-3如下:发ds18b20

44、复位命令发跳过rom命令发温度转换开始命令结束图5-3 温度转换命令字程序流程图5.4 计算温度子程序 计算温度子程序将ram中读取值进行bcd码的转换运算,并进行温度值正负的判定。流程图5-4如下:开始温度零下?ny置“+”标志温度值取补码置“-”标志计算小数位温度bcd值 计算整数位温度bcd值 结束图5-4 计算温度子程序流程图5.5显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。如图5-5所示:温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束图5-5 显

45、示数据刷新子程序6 软件仿真在本设计中用到了两种软件,一种是proteus 7 professional,主要用于设计原理图的绘制及电路仿真,一种是keil c51编译系统,主要用于调试、编译at89s52单片机程序。61 软件设计流程软件设计流程框图如图6-1所示。图6-1 软件设计流程框图6.2 原理图的绘制在设计过程中我主要使用proteus7 professional issis软件完成系统原理图的绘制与仿真。proteus软件是英国labcenter electronics公司出版的eda工具软件,它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单

46、片机及外围器件的工具。proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元气库。proteus可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、spi调试器、i2c调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用,除了现实存在的仪器外,proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时的显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。proteus可提供的调试手段:

47、proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号,在proteus绘制好原理图后,调入已编译好的目标代码文件: *.hex,可以在proteus的原理图中看到模拟的实物运行状态和过程,不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程序上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果,它的元器件、连接电路等却和传统的单片机实验硬件高度对应。这在相当程序上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。使用proteus对电路进行设计和实验仿真的基本步骤是:

48、1、 用虚拟器件在工作区建立电路;2、 选定元件的模式、参数值和标号;3、 连接信号源等虚拟仪器;4、 选择分析功能和参数;5、 激活电路进行仿真;6、 保存电路图和仿真结果。在这里进行一些简单的操作流程介绍。首先,进入proteus设计页面,按照设计框图找出设计所需要的基本器件,如图6-2所示。图6-2 元器件的绘制原理图画好并设定参数后可点击“运行”按钮进行仿真。6.3 单片机程序的调试与编译at89s52单片机程序的调试与编译用到的编译系统是keil c51。keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性

49、、可读性、可维护性上有明显的优势,因而易学易用。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。keil c51工具包uvision是c51 for windows的集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide本身或其它编辑器编辑c或汇编源文件。然后分别由c51及c51编译器编译生成目标文件(.obj)。目标文件可由lib51

50、创建生成库文件,也可以与库文件一起经l51连接定位生成绝对目标文件(.abs)。abs文件由oh51转换成标准的hex文件,以供调试器dscope51或tscope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如eprom中。下面简单介绍keil c51开发系统的使用。首先,进入keil c51编译系统,建立工程文件,编辑c语言源文件。然后,建立c语言源文件,写入源代码并进行编译、调试,生成*.hex文件。当程序无错误时,就可以将文件载入到单片机电路图中进行模拟仿真。6.4 仿真过程刚开机时,led数码管显示的温度是50.0,温度传感器上显示的温度和l

51、ed数码管上显示的温度是一致的,且由于系统设置的初始温度上限是32c、下限是10c,led灯和报警器同时报警,功能正常实现。如图6-3所示。图6-3 测量温度仿真在仿真过程中,主要检测ds18b20是否能快捷的检测出室温,能否随着温度的变化而变化。这是检验是否能检验温度的重要标准。电平指示:蓝色为低电平,红色为高电平。通过仿真可知本系统能正确的显示被测点的温度,当超出设定范围时,也能准确的报警提示,但当被测温度变化较大时,该系统不能迅速的做出响应,需要改进。7 总结7.1 设计总结通过本次温度监控系统的设计,我大有收获,在制作过程中,一定要注意的每个工作步骤的检查,确保制作成功。这次毕业设计历

52、时至少3个月,从一开始的确定课题,到后来的资料查找、理论学习,再有就是近来的调试过程,这一切都使我的理论知识和动手能力进一步得到巩固和加强,可以说是对所学知识的一次全面综合。开始是搜集资料。通过各种渠道开始准备工作通过网络、图书馆搜集相关学术论文、核心期刊、书籍等。通过一个月的深入学习,搜集了一大堆与毕业设计相关的资料,在老师的指导下,摒弃了一些无关紧要的内容,保留了有参考价值的资料作为备用。在网上,我搜索了一些学术论文和期刊文章;我搜索了外文文献资料,参考了一些毕业论文样本和一些毕业论文设计总结;在常见的搜索引擎中,我了解到一些相关的知识,同时特意浏览了大量的网站,并将有用的内容列成提纲,便

53、于以后查询,以减少后期工作量。接下来,我开始对所搜集的资料进行整理、分析研究,并制作了课题研究的方案及设计规划,开题报告完成之后随即进入紧张而有序的写作及方案设计之中。本课题的最大的重点、难点便是初步接触温度传感器,要对传感器的原理、结构、应用等各方面从头开始琢磨以及电路的实现过程和怎么样通过单片机来间接的控制。在毕业设计的整个过程中要求保持沉着冷静,联系书本理论知识积极地思考,实在解决不了可以请教同学或指导老师。虽然在制作过程中不可避免地遇到很多问题,但是最后还是在老师以及同学的帮助下圆满解决了这些问题,实现了整个系统设计与最后调试,相关指标达到期望的要求,并完成了本次设计任务。经过四年学习

54、的积累,在已经掌握相关专业方面知识及其它各方面知识的情况下,我认真严肃的完成了我的毕业设计。在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我四年学习知识情和耐心况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力的考验。我在这个过程中深刻的感受到了做毕业设计的意义所在,和我一样真正投入了身心去做的人也一定会有同样的感触。7.2 设计前景在单片机自动控制已经广泛的应用于人们的生产和生活的今天,传统用模拟电路来控制温度的做法,已经逐渐被淘汰。这个系统的实现,改变了传统的温度控制方法,为温度的控制开辟了一条新的道路。与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,由于并且单片机价格的相对低廉,能够大量的普及。现在温度计的需求在日益增大当中。生活中,人们渐渐习惯了温度计的存在,而单片机的相对低廉决定了温度计的经济效益。对于本系统的使用者来说,本系统能够很稳定的控制温度而且稳定性很高。只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动控制。这对于提高系统的利用率,避免重复设计有很大的帮助的。在本系统的作用下,可以为工作系统提供一个良好的环境,使产品的数量和质量有很大的提高。使得产

温馨提示

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

评论

0/150

提交评论