




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北大学2011届本科生毕业论文(设计)1引言随着人们生活水平的不断提高,数字化控制日益成为人们所追求的目标,它给人们带来了无以比拟的方便,数字温度计就是其中一个典型的例子,它服务于现代人工作、科研、生活的各个领域,已经成为了一项比较成熟的技术,但为了满足人们不断提高的要求就需要从单片机技术入手,沿着数字化控制、智能化控制方向,走出一条新的道路。温度计的发展非常迅速,原始的玻璃管温度计逐渐被现在的热电阻温度计、热电偶温度计所取代,而热电偶和热电阻测出的一般都是电压,需根据一定的关系转换成与之对应的温度,对外部硬件支持要求高、反应速度慢、读数麻烦、测量精度不高、误差大1。通过“数字温度计的设计与实现”的设计过程,结合所学课程以及目前自动化 仪表的一般设计要求、工程设计方法、开发及设计工具的使用方法,通过从电路图的设计、程序模块的编写到仿真调试,全方位的实践过程,锻炼学生分析、解决问题以及实际动手操作的能力;积累经验,培养按部就班、一丝不苟的工作态度和学知识并综合应用的能力。本设计用集成数字温度传感器DS18B20设计并制作了一款基于AT89C52 的LCD显示数字温度计,主要用于需要对温度实施实时监控的场所,或科研实验室使用,其电路简单、读数方便、易于实现、测温准确、成本低、易使用,测量范围为099.9,当温度超出该范围时,蜂鸣器报警,能准确达到设计要求。1.1功能要求与设计方案1.1.1功能要求数字式温度计要求测温范围在0到99.9度,精度误差在0.度以内,LCD显示屏直读显示,超出上下限蜂鸣器报警。1.1.2设计方案该系统利用AT89C52芯片控制数字温度传感器DS18B20,对温度进行实时监测并显示,能够快速测量环境温度,并具有超出上下限温度报警功能。传感器采用的是美国DALLAS半导体公司推出的改进型智能温度传感器DS18B20作为检测组件,温度范围在-55125之间,分辨率用户可以从9位到12位选择。DS18B20是1-Wire式结构,即单总线器件,只需一个端口即可实现通信,外部的硬件电路简单,成本低,易使用,可以很容易直接读取被测温度值,进行转换,满足设计要求。1.2应用领域和元件清单1.2.1应用领域温度是一种最基本的环境参数,人们的生活、科研、生产环境与温度息息相关,温度控制的实现成为人们所追求的目标之一,随之产生的便捷也让人为之欣喜,以数字温度计为例,人们对它的要求成几何级增长,以自动测量、使用方便为目的,以单片机、传感器技术为手段,数字化、智能化控制为探索方向2,最终实现本次数字温度计的设计。本设计硬件均为常用元器件,实现方便,最流行LCD显示屏显示,符合发展潮流。该设计既可作为单独的测温元件应用于生活中各领域的温度测量,其为控制系统结构紧凑,体积小,可扩展性好,程序编写方便,可作为小型芯片加入其它仪器中,达到实时显示温度的目的。1.2.器件清单1、单片机:AT89C52 一块;2、温度传感器:DS18B20 一块;3、锁存器:74LS373 一块;4、LCD显示屏:LM032L 一块;5、蜂鸣器:SPEAKER 一个;6、二极管:B45196H6105M109 一个;7、电容器:CAP 两个;8、晶体振荡器:CRYSTAL 一个;9、开关:BUTTON 两个;10、电阻器:RES 五个;2硬件设计本章主要介绍设计的系统功能原理及所使用的结构器件。了解并熟悉单片机AT89C52、数字温度传感器DS18B20、锁存器74LS373等器件的引脚功能及其工作状态。2.1系统功能原理及硬件组成2.1.1系统功能原理该设计计利用集成温度传感器DS18B20实现温度的测量并对信号进行A/D转换,然后送到单片机AT89C52中进行处理变换,再将结果送到74LS373锁存器存储,最后送往LCD液晶显示屏,实现温度的数字显示。2.1.2系统硬件组成框图本设计采用AT89C52单片机作主控制器,选用DS18B20温度传感器来设计数字温度计,系统由4个模块组成:主控制器、测温电路、显示电路及控制报警电路。主控制器由单片机AT89C2052实现,测温电路由温度传感器DS18B20实现,显示电路由LCD显示屏直读显示实现,控制报警电路由蜂鸣器与单片机相连接实现。总体设计方案框图如图2-1-所示。单片机AT89C52单片机复位蜂鸣器复位LCD显示蜂鸣器温度传感器 图2-1-总体设计方案框图该设计将数字温度计电路分为四个模块(主控制电路、测温电路、显示电路和报警电路)和两个复位按键(单片机复位按键和蜂鸣器复位按键)。测温电路主要由温度传感器 DS18B20 构成。DS18B20 首先通过拉低总线的时间长度控制读时序和写时序,读写时序按照DS18B20的读写协议,在主机将信号线从高电平拉低至低电平起1560 S的时间内,将温度转换成指令,所得数据传输到单信号线上,供主机(这里是AT89C52)读取【3】。AT89C52 作为主控电路,依照预先设定程序控制数据的读入和写出,其主要包括四个子程序和一个主程序:液晶写指令,录入英文字符“The temperature is”;液晶写数据指令,录入温度显示数字“0123456789”;液晶初始化指令控制液晶显示屏进入初始化状态;DS18B20 温度读取模块,控制读取当前温度,并把它分字节送入LCD液晶显示屏显示;main函数做主程序调用并控制子程序【4】。显示电路选用现今最流行的显示模块,两行的LCD液晶显示屏,可输出英文字符“The temperature is ”和当前温度值。将蜂鸣器连接到单片机P1.7脚组成报警电路。P1.7脚调用DS18B20 温度读取子程序读取当前温度值,与所设定的温度上下限0.0和99.9进行比较,当温度超出该范围时,将P1.7口置高电平,蜂鸣器两端产生电压,鸣叫报警。为了在系统发生紊乱时可以恢复初始状态,安装了单片机复位键,当信息出现错误时可恢复进行复位。在产生报警声后,工作人员可调整设备温度,当温度恢复到测温范围时可按蜂鸣器复位键,报警声即可停止。2.1.3系统原理图下载安装仿真元件Proteus,根据1.2.2节所列元件清单,调用Proteus元件库中元件,结合系统框图及数字温度计的设计原理画出系统原理图如图2-1-所示。图2-1-系统原理图根据1.1.2节所列器件清单,调用Proteus元件库,添加元件到对象编辑器中备用。 取中心位置放置单片机AT89C52,添加二极管、晶体振荡器(石英)、电容器,布置好位置后,连线组建内部震荡模式。温度传感器DS18B20采用寄生电源供电方式,为了方便与温度显示结果做比较,将其置于右上角、LCD左侧。此时若要与单片机相连接则会出现交叉线,这里可采用标签连接,使线路简单、清晰,具体方法将在3.1.3节介绍。在与单片机AT89C52所组成的系统中,74LS373作为地址锁存器使用。单片机P2口接74LS373输入端口D0D7。LE接单片机外部中断INT1,随INT1输入信号变化,当LE端电平由高变低时输出端8位信息被锁存,直至LE段再次出现高电平。输出允许端OE接地,三态门一直处于打开状态。LCD显示“The temperature is + 当前温度值”,LM032L,两行显示屏即可满足要求。蜂鸣器紧挨单片机引脚P1.7,添加电阻放置电流过高损坏电路,复位键恢复初始设定状态。2.2单片机工作状态2.2.1单片机AT89C52AT89C52是Atmel公司生产的低电压,高性能CMOS 8位单片机。片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM)。器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容。内置通用8位中央处理器(CPU)和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂的控制应用场合【5】。2.2.2引脚状态AT89C52功能强大,能够提供以下标准功能:256字节内部RAM ,3个16 位定时计数器,32个I/O口线,一个两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路,8字节FLASH闪速存储器【6】。本设计所用到的引脚功能具体如下:1、XTAL1、XTAL2:内部振荡电路(高增益反相放大器)的输入端和输出端,外接晶振电路;XTAL1还可用来做内部时钟发生器的输入端2、RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。3、EA:外部访问允许,低电平有效。当需要CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA 端必须保持低电平(即接地)。需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(即接Vcc端), CPU则执行内部程序存储器中的指令。在设计中,EA接高电平,CPU从内部存储器中读取的指令,并依照所读指令运行。4、P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,不做处理时则作为输出口使用。5、P2口:P2口 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。本设计中P2口作为输出口使用,将DQ端口接收到的数据输出到数据锁存器74LS373中。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvxDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。6、P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) . P3口除了作为一般的I/0口线外,更重要的用途也是本设计所使用的是它的第二功能,具体情况如表2-2-所示。表2-2-P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)2.2.3时钟振荡电路XTAL2XTAL1GNDNCXTAL2外部震荡信号输入XTAL1GND内部振荡电路外部振荡电路AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端【7】。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图2-2-中左图。图2-2-时钟振荡电路由于外部时钟信号是通过一个二分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。当用户将该系统作为测温模块加入其它电路使用时,如有需要也可改用外部时钟。采用外部时钟的电路如图2.2.3右图所示。这种情况下,外部时钟脉冲接到内部时钟发生器的输入端,对应端口为XTAL1,输出端口 XTAL2 悬空。2.3传感器应用模式2.3.1传感器DS18B20DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式【8】。2.3.2主要功能特性1、采用单线接口方式,仅需要一个端口即可实现与微处理器的双向通讯。2、工作电源: 35VA/DC3、测温范围 55125。4、测量结果以数字方式串行传送,分辨率可在912位之间选择。5、内部包含上下限报警设置。6、实际应用中不需要任何外围元件即可实现温度测量。2.3.3单总线协议时序温度传感器DS18B20采用单总线协议,而单片机AT89C52在硬件上不支持该协议,需要采用软件方法模拟单总线协议时序,完成对DS18B20芯片的访问。DS18B20对读写的数据位和通信协议有着严格的要求,以保证各位数据传输的正确性和完整性【9】。在设计上述时序时主机作为主设备,单总线器件作为从设备,传输数据时从主机主动启动写时序开始,如果需要数据传送,写命令完成后,主机启动读时序进行命令的接收。全过程数据和命令的传输都遵从低位在前、高位在后的模式。读/写时序分为读0和读1两个过程,原理图如图2-3-1所示。图2-3-1DS18B20的读时序读时隙从主机把单总线拉低之后开始计算,在15秒内可以释放单总线,DS18B20把数据传输到单总线上,供主机读取。一个读时序过程至少需要60us。如果读出的温度不稳定,可能是温度转换时间过短造成的,此时可加长转换时间或者采用查点方式检查温度转换是否完成。写时序同样分为写0和写1两个过程,写0时单总线拉低时间至少为60us,写1时单总线在拉低后15us内释放。2.3.4测温原理DS18B20的测温部件主要有四个:、温度传感器,完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达。、64位光刻ROM,可以看作DS18B20的地址序列码,排列服从8位(28H)产品类型标号、48位自身的序列号、8位前56位的循环冗余校验码(CRC=X8+X5+X4+1)的先后顺序分布。、配置寄存器,低五位恒为1;TM为测试模式位,用于在工作模式和测试模式之间选择,在DS18B20出厂时该位设置为0,用户不需要去改动;R1和R0是分辨率设置位,如表2-3-1所示:(DS18B20出厂时被设置为12位)、高温和低温触发器TH和TL。表2-3-1配置寄存器字节位TMR1R011111DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。测温原理框图如图2-3-2所示。减法计数器1预置计数比较器低温度系数振荡器减到0温度寄存器预置斜率累加器高温度系数振荡器减法计数器2减到0图2-3-2DS18B20测温原理框图由于低温度系数晶振的振荡频率随温度变化其振荡频率无明显改变,可用来产生固定频率的脉冲信号送给计数器1,而高温度系数晶振受温度影响明显,产生的信号输入计数器2。将55所对应的基数值预置到计数器1和温度寄存器中,计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当预置值减到0时,温度寄存器的值增加1同时重新装入计数器1的预置,计数器1重新开始计数,如此循环直到计数器2减至0,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。为了补偿和修正测温过程中的非线性,加入斜率累加器,其输出用于修正计数器1的预置值。 2.3.5寄生电源供电DS18B20存在三种供电方式,分别为:寄生电源供电、寄生电源强上拉供电和外部电源供电。本系统采用寄生电源供电方式,其电路图如图2-3-3所示。图2-3-3DS18B20寄生电源供电方式电路图在该寄生电源供电方式下,DS18B20从单总线上汲取能量:当信号线DQ处于高电平时,将能量转移到内部电容里储存起来,当信号线DQ处于低电平时消耗电容里所储存的电能工作,直到高电平再次到来重新给寄生电源充电。设计要求数字温度计精度为0.1。为了达到该要求,DS18B20温度转换需要非常精确,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大【10】。因此,图2-3-5电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。2.4锁存器扩展2.4.1锁存器74LS37374LS373是地址锁存器逻辑芯片,经常与单片机系统结合作为外部存储器扩展使用,实质是一个是带三态缓冲输出的8D触发器,其内部结构框图如图2-4-1所示。图2-4-1内部结构框图2.4.2引脚功能、D0D7:8个数据输入端。、Q0Q7:8个数据输出端。、OE:输出允许端,低电平有效。当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出高阻态。、LE:锁存允许端。当LE =“1”,锁存器输出端同输入端。当 LE =“0”时,数据输入锁存器。真值表如表2-4-1所示:表2-4-1真值表(L-低电平、H-高电平、X-不定态)DnLEOEOnHHLHLHLLXLLQ0XXH高阻态在与单片机AT89C52所组成的系统中,74LS373作为地址锁存器使用。其中输入端D0D7接至单片机的P2口。LE接单片机外部中断INT1,随INT1输入信号变化,当LE端电平由高变低时输出端8位信息被锁存,直至LE端再次出现高电平。输出允许端OE接地,表示输出三态门一直处于打开状态。3系统软件及程序3.1Proteus仿真3.1.1Proteus ISISProteus ISIS是英国Labcenter Electronics公司开发的电路设计与实物仿真软件。该软件运行于Windows操作系统,集成了包括原理图编辑、印刷电路板(PCB)设计、电路仿真功能及自动布线在内的一个完整的电路组成与仿真,其最大的特色是电路仿真过程实现了交互化和可视化【11】。Proteus ISIS是一种操作简便而又功能强大的原理图编辑工具,用于绘制仿真图。该软件支持PIC系列、AVR系列、8051系列等许多通用的微控制器和ARM、PLD及各种外围芯片的仿真;可实现单步运行、断点设置等调试功能;能与常用编译器如Keil、IAR、Proton等协同调试;有直流电流表/电压表、交流电压表/电流表、示波器逻辑分析仪、频率计等虚拟仪器,为仿真中的测量记录提供了方便;支持图形化分析功能,具有频率特性、傅里叶分析等图形方式,可将仿真曲线精美地绘制出来。3.1.2ISIS窗口在计算机中安装好Proteus后,单击“开始”“程序”“ISIS 7 Professional”或者是双击桌面上的ISIS 7 Professional图标,进入ISIS窗口,如图3-1-1所示。图3-1-1ISIS窗口Proteus ISIS的工作界面,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。窗口中的编辑区是电路设计与仿真平台。3.1.3Proteus操作1、 建立、保存和打开文件进入ISIS窗口,如图3-1-2所示。单击菜单中的“File”“New Design”,弹出“Create New Design(创建新设计)”对话框。单击“OK”按钮,则以默认模板(DEFAULT)建立一个新的空白文件。单击“保存”图标,选择合适的路径,输入文件名后单击“保存”按钮,则保存为新的设计文件,并自动加上后缀DSN。单击“打开”图标,还可以选择打开已有的DSN文件。2、 元器件的添加、放置、删除和编辑添加元件:首先点击工具箱的元器件按钮,进入元件模式,再单击对象选择器中的按钮“P”,弹出元件选取窗口。在“Keyword(关键字)”栏中输入元件关键字,一般为元件名或元件名中的部分字。单击元件行呈现蓝色背景,表示已选中元件。在要选取的元件行双击,则将其添加到对象选择器中。放置元件:在对象编辑器中单击要放置的元件,将鼠标移至ISIS编辑区单击则出现该元件轮廓,将其移至期望位置单击,则元件放置到该位置。删除元件:右击对象,从快捷菜单中选择删除对象操作命令。编辑元件:即设置对象属性,将光标移至元件,双击弹出编辑元件对话框,改变元件参数,单击“确定”键。3、 连线具有线路自动路径功能,在两个对象(器件引脚或导线)间连线,无需采用工具,直接用鼠标单Proteus击连线的初始点再移动至终点单击,则自动连线。在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。图3-1-2 添加标签通过标签(Lable)也可实现连接。首先输入标签名称,然后再需要测量的导线上也放置同样的标签,即相当于将两点连接起来了。具体操作为:将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“”号,如图3-1-2所示,表明找到了可以标注的导线单击鼠标左键,弹出编辑导线标签窗口,在“string”栏中,输入标签名称(如a),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图所示。注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。3.1.4绘制原理图及仿真(1)智能化的原理图设计丰富的元件库:Proteus含有36种大的类别的元件库,超过8000重的具体元件,并可方便的创建新元件;器件搜索快速简洁:Proteus支持模糊搜索,只需知道简单的几个字母即可快速定位所需元器件。自动布线:连接导线简单快捷,极大地缩短了绘图时间。(2) 完善的电路仿真功能多样的激励源:包括直流、交流、正弦、脉冲等共八种形式,此外还支持文件形式的信号输入;丰富的虚拟仪器:13种类型的虚拟仪器,控制面板操作,效果逼真:生动的仿真显示:点的颜色显示引脚电平,与动态期间相结合,使仿真效果直观、生动;高级图形仿真:图标分析可精确到包括工作点、瞬态特性、频率特性在内的多项指标。(3) 独特的单片机协同仿真效果 外设类型:支持字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键等等,其COMPIM还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:支持UART/USART/EUSATTS仿真、中断仿真等;编译及调试:支持单片机汇编语言的编辑、编译、源码及仿真,也可以与第三方集成编译环境结合,进行高级语言的源码级仿真和调试。(4)单片机AT89C52与Keil的连接数字温度计的设计过程中使用到单片机AT89C52,用Keil软件对其编程,在仿真过程中需要将Proteus与Keil相连,添加所编写的程序加入到单片机中。首先,在Proteus中绘制好原理图并用Keil软件编写相应的程序,编译无误后,生成*.HEX。其次,将生成的*.HEX文件下载到单片机AT89C52中,步骤如下:鼠标右击AT89C52,在下拉菜单中选择属性,在出现的对话框的“Program File”项中选择要加入的*.HEX文件【12】。最后,单击Play键即可看到模拟的实物运行状态和过程,调节输入端温度的变化,LCD现实的温度值随之改变,某时刻的仿真结果如图3-1-3所示,与设计要求相比较完全正确。图3-1-3仿真结果3.2系统程序流程3.2.1Keil uvisionKeil uvision是一种优秀的单片机应用开发软件,集编辑、编译、仿真等于一体,界面友好,易学易用,可作为C语言和汇编语言编辑器编辑器使用,把编写好的程序变为机器码*.HEX,再添加到单片机内,在程序调试、软件仿真方面也有很强大的功能。在keil uvision中编写完程序后,要将程序添加到单片机中,该过程被称为烧录,要实现该过程需要预先在keil中产生一个*.HEX格式的文件,只有通过这种格式的文件,烧录器才能将程序烧写到单片机中。hex文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式【13】。在keil中对其进行如下设置,便能产生hex文件:首先点击菜单“Option for Tagret.” 然后选择“Output”页,钩选“Create HEX File”。最后进行重编译。如果程序无误,在Project的当前目录即会产生HEX文件,如果程序存在错误,修改、调试程序后重复以上过程。3.2.2系统程序流程主程序负责温度的实时显示,控制流程图如图3-2-1所示。NNY1s到?初始化调用液晶写指令调用DS18B20温度读取模块显示数据刷新超出温度上下限?蜂鸣器报警复位键按下Y图3-2-1主程序控制流程图 单片机P2口读出并处理温度传感器DS18B20测量的当前温度值,测量结果与上下限温度值相比较,超出上下限则启动蜂鸣器,控制报警。主程序负责温度的实时显示,读出并处理温度传感器DS18B20测量的当前温度值,测量结果与上下限温度值相比较,超出上下限则启动蜂鸣器,控制报警。温度测量每1s进行一次,这样在一秒之内即可测量一次温度。除主程序外,系统包含四个子程序,分别为:液晶写指令、液晶写数据指令、液晶初始化指令、DS18B20温度读取模块。(1)液晶写指令:通过拉低数据总线的时间长短,RS=0,工作寄存器选择位低位允许写入操作,将英文字符“The temperature ”和英文字符“is”分别写入单片机。(2)液晶写数据指令:同写液晶写指令,只是RS=1,工作寄存器选择位高位,控制允许温度显示数字“0123456789”的录入。运用单片机P2口的输出功能,P2口从单片机送出数据到DQ,DQ端口接收到的数据输出到数据锁存器74LS373,再转移至液晶显示屏显示。指令如下,左侧为液晶写指令,右侧为液晶写数据指令。void write_com(uchar com)void write_date(uchar date)wela=1; wela=1;P2=com; P2=date;Wela=0; wela=0;RS=0; RS=1;EN=0;EN=0;RW=0;RW=0;delay(10);delay(10);EN=1;EN=1;delay(10);delay(10);EN=0;EN=0; (3)液晶初始化指令:通过对液晶屏的各端口的定义、for循环定义与74LS373引脚连接状态的,控制液晶显示屏进入待显示状态。具体程序如下所示。void init()write_date(t0i);write_com(0x38);delay(0);delay(20); write_com(0x0f); write_com(0x80+0x40);delay(20); for(i=0;i16;i+)write_com(0x06); write_date(t1i);delay(20); delay(0);write_com(0x80); for(i=0;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; tmpDelay(4);return(dat);void WriteOneChar(uchar dat) /写一个字节uchar i=0;for(i=8; i0; i-) DQ = 0; DQ = dat&0x01; tmpDelay(5); DQ = 1; dat=1;uint Readtemp() /读取温度uchar a=0;uchar b=0;uint t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器a=ReadOneChar(); /连续读两个字节数据 b=ReadOneChar();t=b;t=8;t=t|a; /两字节合成一个整型变量tt=t*0.0625; /得到真实十进制温度值,因为DS18B20可以精确到0.0625度,所以读回数据的最低位代表的是0.0625度t= tt*10+0.5; /放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。return(t);4总结经过将近两个月的构思、设计、调试,终于完成数字温度计的设计及仿真。虽然没有真正去焊接电路板,作出实物,但还是发自内心的高兴,因为这次设计让我在很大程度上得到了长进。无论是硬件电路系统的安排、引脚的选择还是软件系统程序的编写、调试,每一次的失败都增加了我实践的能力,总结了经验。从用proteus画原理图,写程序再到软件仿真测试让我懂得了很多,受益颇丰。 在本次设计的过程中,我遇到了很多的问题,单片机课程设计的重点与难点在于软件算法的设计,程序只有在经常的读、写、修改的过程中才能得到提高,有好多的东西,理论上的很多东西是难以理解的,只有真正的去做了,才能真正的理解、掌握。 从这次的课程设计中,使我意识到在以后的工作中,要理论联系实际,把所学的理论知识用到实际当中,并从实际运用中总结经验,反馈到理论,如此循环反复,理论与实践的相结合,才能实现两者的共同发展。参考文献1 罗萍.简易数字温度计制作实训指导书M. 北京:高等教育出版社,2003:4344462 于永学,葛建.1-Wire总线数字温度传感器DS18B20及应用M.电子产品世界,2003:1151533 R J Higgens .Electronics and Aabg Integrated CircuitsM. NJ:Prentice - Hall Inc,2011:2422474 陈松,金鸿.电子设计自动化技术J.南京:东南大学出版社,2003,(2):22355 孙玉轩.AT89C52单片机资料手册.2001,第20卷:1151246 张友德,赵志英,涂时亮.单片微型机原理、应用与实验M. 上海:复旦大学出版社,2006:2422487 雷思孝.单片机原理及应用技术M.西安:西安电子科技大学出版社,2004:22358 居荣,郭怡倩.DS18B20在温控系统中的应用J.机化研究,2005,(3):36679 韩志军,刘新民.数字温度传感器DS18B20及其应用(自然科学版)J.南京工程学院学报,2003,(8):21324610 余孟尝. 数字电子技术基础简明教程M.北京:高等教育出版社,2004:8612711 Cray C,Swinhoe C F,MyinIY,et al Target controlled infusion of ketam in as analgessia for TIVA with propofol Can J Anesth,1999:49055712 Mifarel.Standerd Card IC S50 Functional Specification DATA SHEET, Philips ,2001:15617413 陈惠明,李燕华,王静滨.单片机控制手机的软硬件接口技术及应用J.微计算机信息,2005,(1):4198致谢本设计是在闫老师的悉心指导下完成的,从题目的选择、硬件的选择、程序的编辑、电路仿真、初稿的写作及修改直到论文最后装订完成,都离不开闫老师的悉心指导和帮助。闫老师深厚的学术造诣、坚持不懈的钻研精神使我受益终身;在学业上的严格要求让我在专业知识和动手能力方面都有很大的提高;严谨的治学态度和坚持不懈的钻研精神更是让我倍感钦佩。在此,我向闫老师表示最衷心的感谢!在此期间,很多同学给予了许多的启发,提出了很多的宝贵意见,扩展了我的设计思路,并在设计中得以体现,顺利完成毕业论文,在此我表示深深的感谢。同时,在实验设计及写作过程中,我还参考了相关的设计和资料,在这里向有关的作者表示诚挚的谢意。医学数字温度计在医学实践和研究领域,一种快速温度测量的复杂科学技术问题正日益为人们所关注。对典型的热物理参数(例如,快速反应转换器)和极端变异生物,由于条件的多样性使用传统的温度测量方法无法达到预期效果,虽然这种传统方法主要用于提高反应速度和满足对测温设备更高速度和精确度的需要。研究证明,控制电子温度计参数的关键因素是人体系统内部和环境组成之间的相互作用对温度传感器的影响。例如,在测量人体手臂腋窝区表面温度的变化时,在很大程度上会受到环境的影响,从而造成短暂而强烈的“拉动效应”。莫斯科工程物理研究院正在紧张进行一项有关高速医疗测温设备的物理过程的基础性研究。这项研究基于一次各种温度测量方法与身体传感器相互作用的调查。这项技术综合考虑了环境的影响和人体的动态参数变化,这使其可能发展为一项快速温度测量技术。在医学领域一系列改进数字温度计的技术已逐步走向成熟。数字温度计的设计图如图1所示。信息流从温度电压互感器(TVT)的输出端流出,再按照特定的处理算法经测量传感器(MT)输入。所用温度电压互感器应包括一个传感器,一个桥梁和一个差分放大器。测量结果通过模-数转换器(ADC)转换成数字并在数字显示屏上显示。不同的传感器在检测计的类型和结构方面存在很大的差异。该数字温度计的一个变种主要为腔体表面温度的测量而设计,即在没有表面温度和环境之间的相互作用的条件下进行测量。实际上当地的冷却传感器对身体的影响决定了这里与地表温度相匹配的体温,也是决定传感器人体系统暂态过程时间的主要因素。图1描述了电子医疗温度计的一种转换形式,可从最后一个值推断结果。具体过程为:该温度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年底保安安全培训课件
- 年后安全知识培训总结课件
- 年初安全培训记录课件
- 年初培训课件开场白
- 威尼斯的小艇课件图文
- 平高集团安全培训证书查询课件
- 平面设计美学基础课件
- 平面两直线位置关系课件
- E-Tadehaginoside-生命科学试剂-MCE
- 漯河事业单位笔试真题2025
- 危险方法危害公共安全罪认定标准研究
- GB/T 25775-2010焊接材料供货技术条件产品类型、尺寸、公差和标志
- GB/T 14454.2-2008香料香气评定法
- 肌内效贴布疗法课件
- 阿甘正传全部台词中英对照
- 人教版八年级下册英语全册教案完整版教学设计含教学反思
- 航天电子电气产品手工焊接工艺设计技术要求
- 跨文化交际全套课件
- 《剧本与动画分镜头 》课件分镜头
- 危险化学品的分类--爆炸品PPT课件.ppt
- 赏析古诗的意象、意境
评论
0/150
提交评论