电子温度计的温度采集系统程序设计_第1页
电子温度计的温度采集系统程序设计_第2页
电子温度计的温度采集系统程序设计_第3页
电子温度计的温度采集系统程序设计_第4页
电子温度计的温度采集系统程序设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、毕 业 论 文 正 文 第39页哈尔滨职业技术学院印制摘 要在我的论文中,是以AT89C51单片机为核心的,对温度的检测与显示进行了简单的设计与阐述。本次设计可以说是软硬结合,又以硬件为主。电子温度计温度采集系统由主控制器、温度采集电路、温度显示电路、报警控制电路及键盘输入控制电路组成。它利用单片机AT89C51做控制及数据处理器、智能温度传感器DS18B20做温度检测器、LED数码显示管做温度显示输出设备。硬件电路比较简单,成本较低,测温范围大,测量精度高,读数显示直观,使用方便。关键词:环控系统;数字;温度;传感器;单片机;控制目 录 TOC o 1-3 h z u HYPERLINK l

2、 _Toc358356629 一、一线总线介绍 PAGEREF _Toc358356629 h 3 HYPERLINK l _Toc358356630 (一)一线总线器件工作原理 PAGEREF _Toc358356630 h 3 HYPERLINK l _Toc358356633 (二)一线总线协议简介 PAGEREF _Toc358356633 h 5 HYPERLINK l _Toc358356634 二、电子温度计硬件电路设计 PAGEREF _Toc358356634 h 7 HYPERLINK l _Toc358356635 (一)方案确定 PAGEREF _Toc35835663

3、5 h 7 HYPERLINK l _Toc358356639 (二)温度采集电路设计 PAGEREF _Toc358356639 h 8 HYPERLINK l _Toc358356642 (三)单片机控制电路设计 PAGEREF _Toc358356642 h 10 HYPERLINK l _Toc358356644 (四)显示电路设计 PAGEREF _Toc358356644 h 12 HYPERLINK l _Toc358356645 (五)报警控制电路设计 PAGEREF _Toc358356645 h 13 HYPERLINK l _Toc358356646 (六)电源电路设计

4、PAGEREF _Toc358356646 h 14 HYPERLINK l _Toc358356647 (七)看门狗电路 PAGEREF _Toc358356647 h 14 HYPERLINK l _Toc358356648 三、电子温度计的温度采集系统程序设计 PAGEREF _Toc358356648 h 16 HYPERLINK l _Toc358356649 (一)主程序设计 PAGEREF _Toc358356649 h 16 HYPERLINK l _Toc358356650 (二)子程序设计 PAGEREF _Toc358356650 h 16 HYPERLINK l _To

5、c358356652 四、系统调试与仿真 PAGEREF _Toc358356652 h 21 HYPERLINK l _Toc358356653 (一)系统调试 PAGEREF _Toc358356653 h 21 HYPERLINK l _Toc358356654 (二)系统的仿真 PAGEREF _Toc358356654 h 22 HYPERLINK l _Toc358356655 (三)系统的运行 PAGEREF _Toc358356655 h 22 HYPERLINK l _Toc358356656 结 论 PAGEREF _Toc358356656 h 23 HYPERLINK

6、l _Toc358356657 参考文献 PAGEREF _Toc358356657 h 24 HYPERLINK l _Toc358356658 附录A 电路图 PAGEREF _Toc358356658 h 25 HYPERLINK l _Toc358356659 附录B 程序代码 PAGEREF _Toc358356659 h 26 HYPERLINK l _Toc358356660 附录C 元件清单 PAGEREF _Toc358356660 h 38 HYPERLINK l _Toc358356661 致 谢 PAGEREF _Toc358356661 h 39绪 论地铁是一类特殊的

7、建筑,是由多个车站通过隧道连接成的一个整体。地铁主体建筑(车站和行车隧道)一般位于地下数米至数十米深处,其上覆盖土层,是一个相对封闭的场所。内部空间(包括隧道和站台,站厅等)较大,但与外界连通的开口相对较少,只有少量的通风井和车站的出入口与外界直接连通,其他部分基本上与大气隔绝。由于功能上的要求,地铁一般是全年运行的,在车站和隧道内有大量的人流和车流,而且流量在不断地变化。地铁运营和乘客进出站口挥发出大量的热量,使空气湿度增大,同时还产生一些有害气体,如不及时排除就会降低地铁的运营环境。同时,当列车因非火灾事故阻塞在区间隧道内时,因不能产生“活塞效应”而无法提供新鲜空气而导致停留在车厢内的乘客

8、和向安全地疏散的乘客感到不舒适。随着人们生活水平的提高,地铁必须给乘客提供一个舒适度高的环境。因此,建立一套完整的环控系统不仅是乘客舒适乘车的要求也是确保地铁安全运营的要求。地铁环控系统主要由以下几部分组成:隧道通风系统;车站空调通风系统(大系统);车站管理用房和设备用房空调通风系统(小系统);空调制冷循环水系统;隧洞口空气幕系统;折返线通风系统等。环控系统的作用是控制和调节地铁内的热环境,保证地铁内的IAQ(室内空气品质)在一个合理舒适的范围之内,满足乘客和工作人员的舒适性、健康和安全需求,满足设备的工作要求。此外,它应当在事故及灾害情况下进行通风、排烟和排热,起到生命保障及辅助灭火作用。

9、环控系统的运行模式分为开式运行模式、闭式运行模式、屏蔽门模式3种形式。设置站台屏蔽门,就是通过在地铁车站的站台候车区与行车轨道之间设置屏蔽门装置,将地铁车站与区间隧道从空间上分隔开来,将车站和区间分隔成两个不同的空气环境区域。站台屏蔽门可以减少列车活塞风对车站站台环境的影响,列车运行产生的热量大部分通过设置在车站端部的活塞风道及车站行车道顶部和站台下排热风道直接排放到地面,因而可以阻止大部分的列车散热量进入车站。温度是人们日常生活中接触最多的物理量,人们的日常生活、动植物的生存繁衍和周围环境的温度息息相关,石油、化工、冶金、纺织、机械制造、航空航天、制药、烟草、档案保管、粮食存初等领域对温度也

10、有着较高的要求,还有,对于地铁中更是不可忽略的部分。例如:印刷车间的温度控制水平对印刷质量有很大的影响;为防止库存武器弹药、金属材料等物品霉烂、生锈,必须保持环境温度不能过高和干燥;而水果、种子、肉类等的保存也需要保证一定的温度;在矿山、棉麻、塑料、食品生产加工等企业的生产环境中,如果空气温度不适应,极易发生不良反应。温度是温度监控系统中最基本、最为核心的衡量指标,也是测温系统中最为重要的被控参数,因此对温度进行准确的检测一直是一个重要的研究课题。因此,测量温度的仪器在测温系统中占有至关重要的地位。随着科学技术的发展和人们生活水平的提高,单片机控制无疑是人们追求的目标之一,他给人们带来的方便也

11、是不可否定的,但是人们的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。所以,本次设计是为了对于地铁内环控系统内温度采集装置而设计的。一、一线总线介绍一线总线(1-Wire Bus)技术采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的,其线路简单、硬件开销少、成本低廉、软件设计更方便,因此具有无可比拟的优势(一)一线总线器件工作原理1. 一线总线技术简介目前,常用的微机与外设串行总线主要有我们熟知的I2C总线,SPI总线,SCI总线等等。其中I2C总线是以同步串行2线方式进行通信(一条时钟线,一条数据线)

12、,SPI总线是以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),SCI总线是以异步方式进行通信(一条数据输入线,一条数据输出线)。这些总线至少需要有两条或两条以上的信号线。近年来,美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)推出了一线总线(1-Wire Bus)技术,与上述的总线不同,它采用一单根信号线,既传输时钟,又传输数据,而且数据传输是双向的,其具有线路简单,减少硬件开销,成本低廉,便于总线的扩展和维护等优点微控制器微控制器(主机)一线总线器件#1一线总线器件#2一线总线器件#3一线总线器件#4图1-1 一线总线硬件接口示意图一线总线要求外接

13、一个约4.7k的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信总体上说是通过以下3个步骤完成的:初始化1-wire器件;识别1-wire器件;交换数据。由于二者是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循一线总线命令序列:初始化、ROM命令、功能命令9。如果出现顺序混乱,1-wire器件就不会响应主机(搜索ROM命令,报警搜索命令除外)。通信信号方式要求所有的一线总线器件要求遵循严格的通信协议,以保证数据的完整性。2. 一线总线工作原理顾名思义,一线总线只有一根数据线,系统中的数据交换、控制都在这根线上完成。设备(主机或从机)通过

14、一个漏极开路或三态端口连至该数据线,这样允许设备不发送数据时释放总线,以便其他设备使用。其内部等效电路如下图1-2所示。图1-2 一线总线硬件接口示意图一线总线要求外接一个约4.7k的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信总体上说是通过以下3个步骤完成的:初始化1-wire器件;识别1-wire器件;交换数据。由于二者是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循一线总线命令序列:初始化、ROM命令、功能命令9。如果出现顺序混乱,1-wire器件就不会响应主机(搜索ROM命令,报警搜索命令除外)。通信信号方式要求所有的一线总

15、线器件要求遵循严格的通信协议,以保证数据的完整性。(二)一线总线协议简介一线总线系统网络的主机和从机之间,遵循一线总线协议进行通信。目前大多数传感器系统是采用放大、传输、数模变换这种处理模式。这种模式中传输的方式采用并口或采用串口,这两种方式一般要占用数根数据/控制线,限制了单片机使用功能的扩展10。一线总线协议就解决了这种问题。数字式传感器的核心之一就是采用什么协议能最大限度的高速安全的传输数据,另外就是如何更好的节省硬件资源。一线总线协议通过一根总线实现主设备对从设备的控制(主设备往往是微控器等),一线总线器件在采用这种工作方式时就充当着从设备的作用11。由于只有一根线,并且没有译码功能,

16、所以这些器件是一线总线系统唯一的从设备,所有的数据和命令都在这根总线上传送,数据和命令字节传送顺序是从低位到高位。为了使其它的设备也能使用这根线,一线总线协议通过一个三态门转换传输状态,使得每一个设备在不传送数据时空出该数据线给其它设备12。因为一线总线在外部有一个上拉电阻,所以在总线空闲时是高电平。为保证信号的完整性,一线总线协议定义了以下几种信号:复位脉冲、存在脉冲、读写0或1。除存在脉冲外,其它的信号均由主设备发出。RX和TX分别是内部数据的发送和接收端,外界的环境量变化引起敏感膜的变化,产生的电信号被编码成数字量,存储在专用寄存器当中,经由DQ端读入到单片机当中。主设备给低电平并保持4

17、80s就空出总线并进入接收模式RX。此时上拉电阻器使总线为高电平,即空闲状态。一旦一线总线器件检测到这一上升沿,就会等待15-60s,并给出存在脉冲使总线保持60-240s的低电平。而写操作均在读、写时隙之间进行,在每个时隙中,系统只传送一个二进制位。二、电子温度计硬件电路设计(一)方案确定1.传感器部分在测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理

18、化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量。轻松的组建传感器网络。2.主控制部分此方案采用AT89C51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工

19、作,还可以与PC机通信。运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。3.系统方案由于PC机不能与DS18B20直接连接,所以使用不方便。因为其结构复杂,稳定性不强不能在任何条件下长期工作,且PC机体积庞大,携带不便。而AT89C51可与DS18B20直接工作,硬件实现简单,系统稳定,适合各种环境下应用。按照系统设计功能的要求,系统由5个模块组成:主控制器、温度采集电路1、温度显示电路、报警控制电路、看门狗电路

20、。电子温度计总体电路结构框图如图2-1所示单单片机温度传感器电源显示电路看门狗电路报警电路图2-1 电子温度计硬件统结构框图采用智能温度传感器(DS18B20)采集环境温度并进行简单的模数转换;单片机(AT89C51)执行程序对温度传感器传输的数据进行进一步的分析处理,转换成环境对应的温度值,通过I/O口输出到数码显示管(LED)显示;由键盘输入控制选择某采集电路检测温度及显示;报警电路对设定的最高最低报警温度进行监控报警。(二)温度采集电路设计温度采样处理电路由温度传感器、放大电路、A/D转换电路等组成。采用分块结构的温度采样处理电路,其硬件电路结构复杂,也不便于数据的处理。采用智能温度传感

21、器采样处理电路,能够方便的进行温度的采集及简单的数据处理。并且可以达到设计的技术指标要求。本系统选择智能温度传感器DS18B20作为温度采集电路的核心器件。由DS18B20及辅助电路构成温度采集电路。1.DS18B20简介(1)、DS18B20的性能特点DS18B20是美国DALLAS半导体公司推出的一种改进型智能温度传感器,与传统的热敏电阻等温度传感器相比,它能够直接读出被测温度,并可根据实际要求通过简单的编程实现912位的数字值读数方式。它的测温精度可达到0.0625/LSB。它的测温范围是-55+125(2)、DS18B20供电方式外部电源供电方式是DS18B20最佳的工作方式,工作稳定

22、可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证测量精度。所以本系统采用外部电源供电方式。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上可以挂接任意多个DS18B20传感器,组成多点测温系统。外部电源供电方式如图2-2所示。图2-2 外部电源供电方式2.温度采集电路结构温度采集电路结构如图2-3所示。图中给出了温度采集电路,1只智能温度传感器DS18B20的信号

23、输出端都连接到单片机的P1.7端,电阻R6作为上拉电阻。如果需要增加,可以在P1.7端再连接更多的智能温度传感器DS18B20。工作时,由程序控制读取某智能温度传感器DS18B20采集的温度数据,送单片机处理。图2-3 电子温度计温度采集电路(三)单片机控制电路设计1.单片机芯片选择MCS8031和AT89C51都具有4个8位I/O接口,但MCS8031没有内部程序存储器,需要外接,增加了电路的复杂性;AT89C2051和AT89C51都具有Flash ROM,可以省去外接程序存储器;但AT89C2051接口少,不利于功能扩展;故选用AT89C51。2.AT89C51单片机工作基本电路设计AT

24、89C51单片机正常工作,必须连接基本电路。基本电路包括晶振电路和复位电路。(1)晶振电路单片机的时钟信号通常有两种产生方式:一是内部时钟方式,二是外部时钟方式。本设计采用内部时钟方式,在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振),作为单片机内部振荡电路的负载,构成自激振荡器,可在单片机内部产生时钟脉冲信号。(2)复位电路复位是使单片机处于某种确定的初始状态。单片机工作从复位开始。本设计采用复位电路。电路如图2-4中所示图2-4 单片机控制电路(四)显示电路设计显示电路采用LED数码管显示。LED数码显示管有静态显示方式和动态显示方式,本系统采用串行输出的静态显示方式。1.LE

25、D数码显示管静态显示工作原理LED显示器工作于静态显示方式时,各位的阴极(或阳极)选择线连接在一起并接地(或+5V);每位的段码线分别与1个8位的锁存器输出连接。2.显示电路结构显示电路由单片机AT89C51的P3.0端作数据输出,连接到低位74LS164的数据输入引脚端,其余2片74LS164的数据输入端分别接到它前面一位74LS164的数据输出端的最高位引脚端。显示电路如图2-5所示。图2-5显示电路结构3.显示电路工作过程AT89C51单片机工作在串行口方式0下(移位寄存器方式),P3.0(RXD)为数据输出端,P3.1(TXD)为移位脉冲输出端,P1.4为74LS164允许输出控制端。

26、串行口发送缓冲区的数据在移位脉冲的作用下,一位一位地从P3.0口移入到74LS164中,并在控制信号的控制作用下,通过LED数码显示管显示。(五)报警控制电路设计1.报警控制电路结构报警控制电路由单片机AT89C51的P3.7端作输出,通过一个限流电阻与三极管C945的基极相连接。报警控制电路如图2-6所示。图2-6 报警工作电路2.报警控制电路工作过程(1)压电蜂鸣器工作原理压电蜂鸣器以压电陶瓷制作而成。压电陶瓷是一类有将压力与电流相互转换能力的特殊陶瓷。当压电陶瓷在一定方向上受到一个压力使其晶体结构发生形变时,它就会在内部产生一个电流,电流的变化与压力的变化密切相关。反之,当在压电陶瓷上加

27、上一定频率的电压,就会在内部产生一定频率的电流,从而就会引起压电陶瓷微小形变,这一形变带动空气发生振动。(2)报警控制电路工作过程报警控制信号由单片机AT89C51的P3.7端输出,通过一个限流电阻加到三极管C945的基极。当P3.7端的输出信号发生变化时,则三极管C945将交替的工作于截止、饱和状态,形成高低电平的波,从而使压电蜂鸣器发出声音。(六)电源电路设计电源电路由变压器、单相桥式整流电路、滤波电路和三端稳压电路构成。其电路图如图2-7所示,图中“output”端输出为+5V。图2-7 电源电路电子设备中常使用输出电压固定的集成稳压器。在本系统中,要求电源电压为+5V,由于三端式稳压器

28、输出电压固定,故在设计中选择三端式稳压器L7805。根据有效值与峰-峰值的关系选择220V/6V的变压器。根据经验选择电解电容,其容值分别为C4=220F、C5=47F;C6、C7为高频滤波电容,均选0.1F的无极性电容。根据FG1112004正向电流为5mA及管压降为+2V,选择限流电阻R5= 680。(七) 看门狗电路图2-8 看门狗电路本设计为单片机电路添加一个外部看门狗电路,定时查询单片机的工作状态,一旦发现异常即对单片机延时重起,以保证系统安全可靠的运行。其电路如图2-8所示。三、电子温度计的温度采集系统程序设计(一)主程序设计主程序主要功能是控制调用子程序,实现温度的实时显示、读出

29、并处理DS18B20的测量温度值(温度测量每1s进行一次)。其程序流程图如图3-1所示。调用显示子程序调用显示子程序1s到?初次上电?读出温度值温度计算处理显示数据刷新NYYN初始化发出报警YN温度超过报警值?调用键盘扫描子程序发出温度转换开始命令图3-1 电子温度计主程序流程图(二)子程序设计1.DS18B20的通信协议根据DS18B20的通讯协议,主机(单片机AT98C51)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行初始化操作,初始化成功后发送一条存储器操作命令(ROM指令),最后处理数据(发送RAM指令),这样才能对DS18B20进行预定的操作

30、。所用各ROM、RAM操作指令分别如表3-1、表3-2所示。表3-1 ROM指令表指令约定代码功能读ROM33H读DS18B20温度传感器ROM中的编码(即64位地址)符合ROM55H发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20使之做出响应,为下一步对该DS18B20的读写做准备.搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址。为操作各器件作好准备。跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后温度超过设定值上限或下限的片子才能做出响应。表3-2

31、 RAM指令表指令约定代码功能温度转换44H启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容。写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。2.子程序(1)键盘扫描子程序键盘扫描子程序对按下的键进行判断,并转到按下的相应键对应的程序段,执行相应的功能。其程序流程图如图3-2所示。(2)温度转换命令子程序温度转换命令子程序主要是发送温度转换开始命令。在发送匹配ROM命令后,紧跟着发送要进行测温的DS18B20的64位ROM序列。采用1

32、2位分辨率,转换时间约为750ms。其程序流程图如图3-3所示。开始确定键号有键按下?开始确定键号有键按下?开始Y转至相应的程序,执行相应的功能N其它子程序返回发DS18B20复位命令命令匹配ROM、64位地址发温度转换开始命令返回图3-2键盘扫描子程序流程图 图3-3温度转换命令子程序流程图(3)读出温度子程序读出温度子程序主要功能是读出RAM中的9个字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图3-4所示。(4)计算温度子程序从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。低字节的高半字节乘以0.0625恰好就是原整数。采用1位数

33、码管来显示小数,可以精确到0.1。表3-3就是二进制和十进制小数的近似对应关系。其程序流程图如图3-5所示。表3-3小数部分二进制和十进制的近似对应关系表小数部分二进制数0123456789ABCDEF十进制数0011233455667889发DS18B20复位命令命令发匹配ROM、64位地址移入温度暂存区发DS18B20复位命令命令发匹配ROM、64位地址移入温度暂存区发读取温度命令读取RAM中的9个字节9字节完?返回YNYNCRC校验正确?开始置“+”标志计算小数位温度BCD值计算整数位温度BCD值温度值取补码置“”标志温度零下?返回YN开始始图3-4读出温度子程序流程图 图3-5 计算温

34、度子程序流程图(5)显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。其程序流程图如图3-6所示。十位数显示符号,百位数不显示十位数0?返回十位数显示符号,百位数不显示十位数0?返回YN温度数据移入显示寄存器百位数0?百位数显示数据(不显示符号)YN开始返回N设定最高温度报警值设定值小于显示缓冲区的值?Y发出报警开始图3-6 显示数据刷新子程序流程图 图3-7 报警控制子程序流程图(6)报警控制子程序当设定的最高报警温度值大于显示缓冲区中的数据时,发出报警,提示温度超过设定的最大值。其程序流程图如图3-7所示。四、系统调试

35、与仿真(一)系统调试系统调试分为硬件调试和软件调试两步1、硬件调试硬件调试比较简单,首先检查电路的焊接是否正确及电路中有没有虚焊等问题,然后可用万用表测试或通电检测电路。实物焊出来之后,先要进行硬件调试。把电子元器件连接起来,实现特定功能的关键一步是调试。具体的调试步骤如下:(1) 电前检查。检查的方法是对照电路图,按一定的顺序逐级对应检查。特别是注意电源是否接错,轻轻拨一拨元器件,观察焊点是否牢固等。(2)通电检查。先调试好所需电源电压数值,然后再给电路接通电源。电源一经接通,先要观察是否有异常现象,如冒烟、异常气味、放电的声光、元器件发烫等。如果有,应立即关断电源,待故障排除后,方可重新接

36、通电源。然后,测量每个集成块的电源引脚电压是否正常,以确信集成电路是否已通电工作。(3)分块调试。调试顺序按信号的流向进行,这样可以把前面调试过的输出信号作为后一级的输入信号,为最后的整机联调创造条件。(4)整机联调。整机联调时应观察各单元电路连接后各级之间的信号关系,主要观察动态结果,检查电路的性能和参数,分析测量的数据和波形是否符合设计要求。实物经过硬件调试后还要进行软件调试,即将程序写入到单片机存储器中,实现设计功能。2.软件调试软件调试以程序为主。先编写一段显示程序对硬件的正常工作进行检验,然后进行主程序、匹配ROM子程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷

37、新子程序等的编程及调试。由于DS18B20与单片机采用单线串行数据传送,因此,对DS18B20进行读写编程时必须严格地保证读写时序,否则将无法读取测量结果。(二) 系统的仿真此设计的电路在Proteus软件中进行仿真,运行 Proteus 的 ISIS 程序后,进入该仿真软件的主界面。通过元件选择按钮 P (从库中选择元件命令) 命令,在弹出的 Pick Devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,对元件参数设置及元器件间连线,完成单片机系统的硬件原理图绘制。用制作的测温系统和已有的成品温度计(如水银温度计)来同时测量环境温度,并对测量的结果进行比较分析。(三)系统的运

38、行(1)首先启动KEIL C51软件的集成开发环境,从桌面上双击uVision图标以启动软件。(2)建立工程文件。通常单片机应用系统软件包含多个源程序文件,KEIL C51使用工程这一概念,将这些参数设置和所需的所有文件都加在一个工程中。(3)建立并添加源文件。使用菜单或者单击工具栏的新建文件按钮,出现文本便捷窗口,在该窗口中输入新编制的源程序。然后,我打开已经画好的仿真图,再将生成的HEX文件导入单片机里,点击开始按钮,电路正常工作,并且能够实现预先设想的所有功能,而且效果很好,从而验证了我的程序的正确性。结 论基于单片机的电子温度计主要实现了温度的测试与显示功能。在复杂和恶劣的环境中能稳定

39、而有效的完成测试与显示。在我的毕业设计中,主要是以AT89C51单片机为核心的,对温度的检测与显示进行了简单的设计与阐述。本次设计可以说是软硬结合,又以硬件为主。硬件设计中主要运用了TA89C51单片机和DS18B20温度传感器。还设计了像显示电路、温度采集电路、报警电路等辅助电路。以DS18B20为温度传感器的温度采集电路主要作用是随时感应周围环境的温度变化,再通过AT89C51单片机作为媒介,就可以在LED显示屏上显示出温度。本设计的不足之处是:本设计只能监测、采集与显示周围环境的温度变化,但不能改变其温度。参考文献1 王涌.MCS-51系列单片机基本实验.华北电力大学信息工程综合实验室.

40、19962 林继鹏,王君,凌振宝.温度传感器和一线总线协议.传感器技术.20023 美国德克萨斯仪器公司TTL集成电路特性应用手册.上海半导体器件工业公司.上海半导体器件研究所.19764 罗文广.单总线数字温度传感器的自动识别技术.电子产品世界.20025 D.皮茨,L.西索姆著.葛新石等译.传热学.科学出版社.20016 魏智.解析DALLAS通用的单总线网络.Semiconductor technology. 20017 王彦平,任延群,危胜军.Protel 99电路设计指南.清华大学出版社8 1-Wire网络可靠设计指南.Dallas Semiconductor应用笔记9 姬铁兰.火灾

41、报警系统的研究.科技情报开发与经济.2004 10 陈志英,李光辉.单总线技术及其应用.电气时代.2003 11 黄攀,王俊杰.单总线数字温度传感器DS1820及其应用.清华大学自动化系.元器件与应用.200112 龚荣胜,张阿卜.一线总线的软件接口.自动化技术及应用.2003,附录A 电路图图A 系统的硬件电路图附录B 程序代码;*;*;工作内存区定义。BITS EQU 20HTIMEOK BIT BITS.1 ;1秒定时到标志。TEMPON BIT BITS.2 ;第一次温度转换标志。TEMPL EQU 26H ;从DS18B20中读取温度低位的存放处。TEMPH EQU 27H ;从DS

42、18B20中读取温度高位的存放处。TEMPCL EQU 28H ;转换后温度的小数位与个位存放处。TEMPCH EQU 29H ;转换后温度的十位与百位存放处,如果温度为负,则百位为符号位。TEMPHEAD EQU 36H ;从DS18B20高速缓存RAM中读出数据的存放处的第一位。;*;常数定义。K0 EQU P2.0 ;按键K0定义。K1 EQU P2.1 ;按键K1定义。DQ EQU P1.7 ;数据传送脚定义。;*;多路温度采集系统源程序。;*ORG 0000HLJMP STARTORG 000BHLJMP DVTO ;T0中断入口地址。;*;系统初始化。 ORG 0030HSTART

43、: MOV SP,#60H ;数据存储区20H80H清“0”。CLS: MOV R0,#20H MOV R1,#60HCLS1: MOV R0,#00H INC R0 DJNZ R1,CLS1 CLR P1.4 ;关移位脉冲。 CLR P3.6 ;关闭报警器。 MOV TMOD,#21H ;选择定时器0工作方式1; MOV TH0,#0E0H ;20ms定时初值。 MOV TL0,#0B1H MOV SCON,#00H ;选择串行口工作方式0; NOP NOP SETB ET0 ;开定时器T0。计时开始。 SETB TR0 SETB EA MOV PSW,#00H CLR TEMPONE LJ

44、MP MAIN;*;主程工作内存区定义秒定时到标志第一次温度转换标志从DS18B20中读取温度低位的存放处从DS18B20中读取温度高位的存放处转换后温度的小数位与个位存放处从DS18B20高速缓存RAM中读出数据的存放处的第一位。;转换后温度的十位与百位存放处,如果温度为负,则百位为符号位按键K0定义按键K1定义;数据传送脚定义。多路温度采集系统源程序T0中断入口地址系统初始化。 ;数据存储区20H80H清“0”关移位脉冲关闭报警器选择定时器0工作方式120ms定时初值选择串行口工作方式开定时器T0。计时开始;主程序。MAIN: LCALL KEYBORD ;调用键盘扫描子程序。LOOP1:

45、 LCALL DISP ;调用显示子程序。 JNB TIMEOK,LOOP1 ;测温每1秒一次。 CLR TIMEOK JNB TEMPONE,LOOP2 ;上电时先温度转换一次。 LCALL READTEMP ;读出温度值子程序。 LCALL TEMPBCD ;温度BCD码计算处理子程序。 LCALL DISPBCD ;显示区BCD码温度值刷新子程序。 LCALL ALARM ;最高温度报警子程序。LOOP2: LCALL TEMPCONV ;温度开始转换子程序。 SETB TEMPONE SJMP MAIN;*;定时器T0中断服子程序。DVT0: PUSH PSW MOV PSW,#10H

46、 MOV TH0,#0E0H MOV TL0,#0B1H INC R7 CJNZ R7,#32H,DVT01 MOV R7,#00H SETB TIMEOK ;1秒定时到标志。 DVT01: POP PSW RETI;*;键盘扫描子程序。KEYBORD: JB K0,L1 JNB K0,$ LCALL FUNCTION LJMP KEYBORD L1: JB K1,L2 JNB K1,$ LCALL FUNCTION1 LJMP KEYBORD L2: RETFUNCTION0: MOV 40H,#28H ;第一路DS18B20的64位序列号装入存储单元40H47H。 MOV 41H,#0D6

47、H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#0E3H RETFUNCTION0: MOV 40H,#28H ;第二路DS18B20的64位序列号装入存储单元40H47H。 MOV 41H,#0D6H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#01H MOV 47H,#0E3H RET;*;DS18B20复位子程序。RETET: SETB DQ NOP NOP CLR DQ MOV R6,#0A0H ;延时

48、480us DJNZ R6,$ MOV R6,#0A0H DJNZ R6,$ SETB DQ MOV R6,#32H ;延时70us DJNZ R6,$ MOV R6,#3CHRESET1: MOV C,DQ JC RESET2 DJNZ R6,RESET1 MOV R6,#64H ;延时200us DJNZ R6,$ SJMP RESET RETRESET2: SETB DQ RET;*;读DS18B20子程序,从DS18B20中读出一个字节的数据。READ: MOV R7,#08H SETB DQ NOP NOPREAD1: CLR DQ NOP NOP NOP SETB DQ MOV R

49、6,#07H ;延时15us。 DJNZ R6,$ MOV C,DQ MOV R6,#3CH ;延时120us。 DJNZ R6,$ RRC A SETB DQ DJNZ R7,READ1 MOV R6,#3CH ;延时120us。 DJNZ R6,$ RET;*;写DS18B20子程序,给DS18B20中写入一个字节的数据。WRITE: MOV R7,#08H SETB DQ NOP NOPWRITE1: CLR DQ MOV R6,#07H ;延时15us。 DJNZ R6,$ RRC A MOV DQ,C MOV R6,#34H ;延时104us。 DJNZ R6,$ SETB DQ D

50、JNZ R7,WRITE1 RET;*;温度开始转换子程序。TEMPCONV: LCALL RESET MOV A,#55H ;发送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延时104us。 DJNZ R6,$ MOV R7,#08H ;发送64位ROM编码。 MOV R0,#40HTEMPVONV1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 ;64位ROM编码发送完没有? MOV R6,#34H ;延时104us。 DJNZ R6,$ MOV A,#44H ;发送启动温度转换命令。 LCALL WRITE MOV

51、R6,#34H ;延时104us。 DJNZ R6,$ RET;*;读出温度值子程序。READTEMP: LCALL RESET MOV A,#55H ;发送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延时104us。 DJNZ R6,$ MOV R7,#08H ;发送64位ROM编码。 MOV R0,#40HREADTEMP1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 MOV R6,#34H ;延时104us。 DJNZ R6,$ LCALL WRITE MOV R6,#34H ;延时104us。 DJNZ R6,$

52、 MOV R5,#09H MOV R0,#TEMPHEAD MOV B,#00HTEADTEMP2: LCALL READ MOV R0,A INC R0READTEMP3: LCALL CRC DJNZ R5,READTEMP2 MOV A,B MOV R0,#TEMPHEDA MOV TEMPL,R0 ;读取转换后的温度低位到TEMPL中。 INC R0 MOV TEMPH,R0 ;读取转换后的温度高位到TEMPH中。READTEMP4: RET;*;温度BCD码计算处理子程序。TEMPBCD: MOV A,TEMPH ANL A,#80H JZ TEMPBCD1 ;温度值为正。 CLR

53、C ;温度值为负时,求补码。 MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV TEMPCH,#0BH ;执符号位“-”。 SJMP TEMPBCD2TEMPBCD1: MOV TEMPCH,#0AH ;执符号位“+”。TEMPBCD2: MOV A,TEMPCH SWAP A MOV TEMPCH,A MOV A,TEMPL ;小数部分处理。 ANL A,#0FH MOV DPRT,#TEMPDOTTAB MOVC A,A+DPRT MOV TEMPCL,A ;小数位放入TEMPL低位中。 MOV A,TEMPL ;整数部分处理。 ANL A,#0F0H SWAP A MOV TEMPL,A MOV A,TEMPH ANL A,#0

温馨提示

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

评论

0/150

提交评论