




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言科技发展到今天,人们的生活中涌现出各种各样的科技产品,各种各样的电子产品更是花样百出、遍及人们生活中的每一部分,现在人们更是感觉到了科技给人们带来的巨大发展,科学技术作为第一生产力在人类社会的发展中起了很大的推动作用,人类从原始向先进的发展都伴随着科学的发展。当今微型计算机技术发展形成两大分支,一是以微处理器(Micro Processor Unit)为核心所构成的通用微机系统,主要用于科学计算、数据处理、图形图像处理、数据库管理、人工智能、数字模拟与仿真等领域。另一分支是为控制器( Micro Controller Unit),俗称单片机。单片机主要用于工业测控,如家用电器、计算机外围设备、工业智能化仪表、机器人、生产过程的自动控制、农业、化工、军事、航空航天等领域。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。摘要:单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。本课程设计是在学习了单片机的基本原理上进行的,综合利用所学单片机知识完成一个单片机应用系统设计。本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。本设计首先是确定目标,其后是各个功能模块的设计和相应程序的编写,再在Proteus软件上进行仿真,几经编写,修改,仿真。最后在单片机开发板上进行检测,经过观测实验现象与结果,本设计达到设计要求。关键字:单片机;数字温度计;STC89C52;DS18B20;PROTEUS;Abstract:The monolithic integrated circuit has the volume small, the power loss low, the control function strong, the expansion nimble, merits and so on microminiaturization and easy to operate, widely applies in the instrument measuring appliance, the union different type sensor, may realize such as physical quantity and so on voltage, power, frequency, humidity, temperature, current capacity, speed, thickness, angle, length, degree of hardness, element, pressure surveys.This curriculum design was in studies in the monolithic integrated circuit basic principle to carry on, the comprehensive utilization studied the monolithic integrated circuit knowledge to complete a monolithic integrated circuit application system design.This article mainly introduced based on the 89S52 monolithic integrated circuit temperature measurement system, in detail described the use numeral temperature sensor DS18B20 development temperature measurement system process, key to the sensor under monolithic integrated circuit hardware connection, the software programming as well as various modules system flow has carried on the exhaustive analysis, 11 has also carried on the introduction to various part of electric circuits, This system may facilitate realization temperature gathering and the demonstration, and may according to need to establish the bound to report to the police willfully the temperature, it uses quite conveniently, has the precision high, the measuring range width, the sensitivity high, the volume small, the power loss low status merit, suits in our daily life and the labor, the agricultural production temperature survey, also may treat as the temperature processing module to insert in other systems, takes other host system the assistance expansion.DS18B20 and STC89C52 the union realization most Jan temperature examination system, this system structure is simple, antijamming ability, suits under the adverse circumstance carries on the scene temperature survey, has the widespread application prospect.This design first determines the goal, after that is each function module design and the corresponding procedure compilation, again carries on the simulation on the Proteus software, several passes through the compilation, the revision, the simulation.Finally panel carries on the examination in the monolithic integrated circuit development, the process observation experiment phenomenon and the result, this design meets the design requirements.Key words: Monolithic integrated circuit; Digital thermometer; STC89C52; DS18B20; PROTEUS;目录前言- 1 -摘要- 2 -关键字- 2 -一 绪论- 5 -1.1单片机简介- 5 -1.2单片机的产生与发展- 6 -1.3单片机的应用- 6 -1.4单片机的开发过程- 7 -二 数字温度计方案设计- 8 -2.1 设计目的- 8 -2.2 设计思路- 8 -2.3方案论证- 9 -2.3.1 方案一- 9 -2.3.2方案二- 10 -2.3.3 方案三- 10 -2.3.4方案四- 10 -三 系统的硬件设计- 10 -3.1主控制器- 11 -3.2显示电路- 12 -3.3温度传感器工作原理- 15 -3.4DS18B20温度传感器与单片机的接口电路- 18 -3.5报警温度调整按键- 19 -3.6温度报警电路- 20 -四 系统的软件设计- 21 -4.1 主程序- 21 -4.2读出温度子程序- 22 -4.3温度转换命令子程序- 22 -4.4 计算温度子程序- 22 -4.5 显示数据刷新子程序- 22 -4.6按键扫描处理子程序- 23 -4.7 1602液晶显示- 23 -五 系统的测试- 24 -5.1 测试的意义- 24 -5.2 测试过程- 24 -六 总结- 28 -6.1 设计总结- 28 -6.2取得结果与致谢- 28 -七 参考文献- 29 -附录1 原理图- 29 -附录2 源程序清单- 30 -一 绪论1.1单片机简介当今在全世界范围内,已经形成了以计算机(Computer)通信(Communication)和消费类电子(Consumptive Electron)三足鼎立的发展新格局1,而我作为做21世纪的工科大学生,而我们又是学的电子这门专业,无论是从事科学研究工作,还是开办电子电器制造企业,抑或是经营电子元器件贸易,不仅要熟练地使用通用微机进行各种数据处理,还要把计算机技术运用到本专业领域或相关领域,即具有“开发”能力。所以新世纪的工科大学生既要掌握通用微机,又要掌握“单片机”。 单片机是一种集成电路芯片(如图1.1所示),采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。 图1.1 单片机芯片 图1.2 各类单片机应用芯片 由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。正是因为单片机功能之强大,应用范围之广,我们要努力掌握它。1.2单片机的产生与发展1974 年,美国仙童(Firchild)公司研制的世界第一台单片微型机F8.该机有两块集成电路芯片组成,结构奇特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视.从此,单片机开始迅速发展,应用领域也在不断扩大.现已成为微型计算机的重要分支,单片机的发展过程通常可以分为一下几个发展过程.(1)第一代单片机2(1974-1976):这是单片机发展的起步阶段.在这个时期生产的单片机特点是,制造工艺落后和集成度低,而且采用了双片形式.典型的代表产品有Fairchild公司的F8和Mostek387公司的3870等.(2)第二代单片机(1976-1978):这是单片机的第二发展阶段.这个时代生产的单片机随眼已能在单块芯片内集成CPU,并行口,定时器,RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广,典型的产品有Inrel公司的MCS-48系列机. (3)第三代单片机(1979-1982):这是八位单片机成熟的阶段.这一代单片机和前两代相比,不仅存储容量和寻址范围大,而且中断源,并行I/O口和定时器/计数器个数都有了不同程度的增加,更有甚者是新集成了全双工穿行通信接口电路.在指令系统方面,普遍增设了惩处法和比较指令.这一时期生产的单片机品种齐全,可以满足各种不同领域的需要.代表产品有Intel公司的MCS-51系列机,Motorola公司的MC6801系列机,TI公司的TMS7000系列机,此外,Rockwell,NS,GI和日本松下等公司也先后生产了自己的单片机系列.(4)第四代单片机(1983年以后):这是十六位单片机和八位高性能单片机并行发展的时代,十六位机的特点是,工艺先进,集成度高和内部功能强,加法运算速度可达到1us以上,而且允许用户采用面向工业控制的专用语言,如PL/MPLUS C和Forth语言等.代便产品有intel公司的MCS-96系列,TI公司的TMS9900,NEC公司的783系列和NS公司的HPC16040等.然而,由于十六位单片机价格比较贵, 销售量不大,大量应用领域需要的是高性能,大容量和多功能新型八位单片机.这些单片机有Intel公司的88044(双CPU工作),Zilog公司的Super8(含DMA通道),Motorola公司的MC68CH11(内含E2prom及A/D电路)和WDC公司的65C124(内含网络接口电路),等等。1.3单片机的应用 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。1.4单片机的开发过程这里所说的开发过程3并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。图1.3 单片机实验开发板二 数字温度计方案设计2.1 设计目的 测量范围为-55+125; 精度0.1; 所测的温度值可以由LCD直读显示; 可以任意设置上下限温度的报警功能; 进一步熟悉Proteus,keil,protel,word,visio软件的功能和使用方法。2.2 设计思路首先确定课程设计的目的是设计一个温度计,由单片机,温度传感器和液晶显示器以及其他相关部件共同实现。根据所要实现的功能,先在proteus软件上仿真,根据所选用的硬件可以将整个软件设计成若干个子程序,譬如初始化,复位,发送指令,读取数据,显示温度等构成,可以将以上子程序分别设计,实现各自功能,再在主程序中调用,实现预期功能。在proteus软件中画出相应的电路图,将编好的程序编译后的文件下载到电路图中的单片机中,进行仿真,对温度传感器设置不同的参数,如若不能达到预期效果,则进行修改直至成功,于此同时,将编译好的程序下载到单片机开发板中,进行测试。2.3方案论证2.3.1 方案一采用热电偶温差电路测温,温度检测部分可以使用低温热电偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图2.1所示),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考终点保持在抑制温度并测量该电压,便可推断出检测结点的温度,数据采集部分则由带有A/D通道的单片机,在将随被测温度变化的电压或者电流采集过来,进行A/D转换后,就可以用单片机进行数据处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作范围非常宽,且体积小,但是他们也存在着输出电压小,容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温比较麻烦。图2.1 热电偶电路图此系统主要包括对A/D0809的数据采集,温度的显示等,此外还包括复位,启动等电路,其系统框图如下所示:图2.2 热电偶温差电路测温系统的系统框图2.3.2方案二由于本设计是测温电路,可以使用热敏电阻(图2.3)之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。图 2.3 热敏电阻2.3.3 方案三采用铂电阻,其优点是测量精度高,测量范围广,但同时也存在缺点:热响应慢,且成本很高。2.3.4方案四进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上四种方案,很容易看出,采用方案四,电路比较简单,软件设计也比较简单,故采用了方案四。三 系统的硬件设计温度计电路设计总体设计方框图如图3.1所示,按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。声音报 警电路控制电路测温电路显示电路显示控制电路图3.1总体设计方框图3.1主控制器本设计采用STC89C52单片机4,它有高可靠,抗干扰,低功耗的特点。STC89C52单片机的RST端外部有两种操作方式:上电自动复位和按键手动复位。此处晶振采用12MHZ。复位电路采用上电结合按钮复位。图3.2 晶振电路图3.3 复位电路3.2显示电路本设计显示电路采用1602液晶7显示模块芯片。该芯片可显示162个字符,比以前的七段数码管LED显示器在显示字符的数量上要多得多。另外,由于l602芯片编程比较简单,界面直观,因此更加易于使用者操作和观测。l602A芯片的接口信号说明如表3.1所列。表3.1 l602芯片的接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据I/O2VDD电源正极10D3数据I/O3VL液晶显示偏压信号11D4数据I/O4RS数据/命令选择端12D5数据I/O5R/W读/写选择端13D6数据I/O6E使能信号14D7数据I/O7D0数据I/O15BLA背光正极8D1数据I/O16BLK背光负极3.2.1基本操作时序:写操作时序如下:图3.4 1602的写操作时序读操作时序如下:图3.5 1602的读操作时序1 读状态:输入:RS=L,RW=H,E=H 输出:D0D7=状态字2 写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:无3 读数据:输入:RS=H,RW=H,E=H 输出:D0D7=数据4 写数据:输入:RS=H,RW=L,D0D7=数据,E=高脉冲 输出:无时序参数:表3.2 1602的时序参数3.2.2 状态字说明:3.2.3 RAM地址映射图:3.2.4指令说明(1)初始化设置i:显示模式设置ii:显示开/关及光标设置(2)数据控制数据指针设置(3)其他设置图3.6 液晶显示电路3.3温度传感器工作原理3.3.1 DS18B20的性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.3.2 DS18B20的内部结构DS18B20采用脚PR35封装或8脚SOIC封装,其内部结构框图如图3.5所示。温度传感器高温触发器TH配置寄存器低温触发器TL8位CRC发生器存储器与控制逻辑高 速 缓 存64位ROM和单线线接口 图3.7 DS18B20内部结构64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。高速暂存RAM的结构为8字节的存储器,结构如图2-3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3.6所示。低位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC TMR0R111111图3.8 DS18B20字节定义由表3.3可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表3.4是一部分温度值对应的二进制温度数据。表3.3 DS18B20温度转换时间表R1R2分辨率/位温度最大转换时间/ms00993.750110187.510113751112750DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。3.3.3 DS18B20测温原理如图3.7所示,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。斜率累加器计数比较器预置低温度系数振荡器高温度系数振荡器减法计数器1减法计数器2减到0减到0预置温度寄存器斜率累加器计数比较器预置图3.9 DS18B20测温原理图中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。表3.4一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。3.4 DS18B20温度传感器与单片机的接口电路传感器传感器传感器单 片 机DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3.8所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。图3.10 DS18B20与单片机的接口电路框图图3.11温度传感器与单片机的连接3.5报警温度调整按键本系统设计时为了达到尽可能多的使用各项器件,共设计了四个按键,三个独立按键,另一个采用了4*4矩阵式键盘中的一个,采用查询方式。其中有两个是用于选择切换设置报警上下限温度,另外两个分别用于设置报警温度的加和减。均采用软件消抖。图3.12 独立按键 图3.13本设计中使用的4*4矩阵式按键之一 图3.14 4*4矩阵式按键3.6温度报警电路本设计利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过获低于或者是高于所预设的温度时,数据口相应拉高电平,报警输出。(也可采用发光二级管报警电路,如过需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALARM 的内容是否与预设一样,如不一样,则发光报警)报警电路硬件连接见图。图3.15 报警电路四 系统的软件设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。主程序需要调用4 个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。各模块程序功能如下:数码管显示程序:向数码的显示送数,控制系统的显示部分。温度测试及处理程序:对温度芯片送来的数据进行处理,进行判断和显示。报警子程序:进行温度上下限判断及报警输出。中断设定程序:实现设定上下限报警功能。4.1 主程序见图4.1发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNYY启动系统初始化DS18B20跳过ROM发出温度转换命令并读取温度值显示温度值温度是否超过上下限声音报警YN图 4.1 主程序图 图4.2 读温度流程图4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如上图4.2示。4.3温度转换命令子程序温度转换子程序主要是发温度转换开始命令,在本程序设计中采用while循环不停的扫描从而来等待转换的完成。温度转换命令子程序流程图如下:发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束 图4.3 温度转换流程图4.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4.4所示。4.5 显示数据刷新子程序显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。程序流程图如图4.5。 开始温度零下?温度值取补码置“1”标志计算小数位温度BCD值 计算整数位温度BCD值 结束置“0”标志NY温度数据移入显示寄存器 分离显示温度NY标志位为1?Y最高位显示“”最高为显示分理出的数据 结束 图4.4计算温度流程图 图4.5显示数据刷新流程图4.6按键扫描处理子程序按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。如下图4.6示。上/下限按键按下ADD键是否按下DEC键是否按下显示切换标志位是否为“0”调用显示子程序报警温度加1报警温度减1YNYNYN图4.6 按键扫描处理子程序4.7 1602液晶显示开始初始化1602延时调用子程序设置第一行显示位置与内容调用子程序设置第二行显示位置与内容图4.7 液晶显示粗略流程图五 系统的测试5.1 测试的意义 测试是为了发现程序中的错误而执行程序的过程; 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; 成功的测试是发现了至今为止尚未发现的错误的测试。 从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。正确认识测试是非常重要的,测试目标决定了试也是有价值的,完整的测试是评定测试质量的一种。5.2 测试过程在将程序下载到单片机开发板进行测试之前,先是就各个功能模块的设计和相应程序在keil软件上进行编写,再在Proteus软件上进行仿真,几经编写,修改,仿真。最后由isp下载软件下载到单片机开发板上进行测试,测试所显示的温度是否符合实际值。部分测试过程如下:(1)测试室温,测试结果显示 32.6。(2)用手指接触温度传感器,数字温度计温度上升,显示 34.6 (3)将手指拿开,数字温度计温度下降,最终显示 32.7。 (4)按下调整上限按键,液晶显示调整温度上限界面,通过加减按键,可以调整上限大小。(5)按下调整下限按键,进入下限调节界面,通过调节加减按键,可以对温度下限进行调节通过以上测试,设计符合预期要求。六 总结6.1 设计总结在课题项目开始之前,我先进行了大量的理论研究。通过学习各种以前没有接触过的软件,加强了自己对各种软件的了解,可谓受益匪浅。这一期的课程设计我早已经做好了充分的准备。当老师一把课程设计的题目与要求公布出来,我首先就是开始找电路,在网上,图书馆查找资料,把那些认为可以做的电路找出来,然后集中在一起,几经权衡。最后决定做一个数字温度计。设计之前,我首先确定目标,然后进行各个功能模块的设计和相应程序的编写,再在Proteus软件上进行仿真,几经编写,修改,仿真。最后在单片机开发板上进行测试,经过观测实验现象与结果,本设计达到设计要求。在本次的课程设计过程中,我发现了很多的问题,譬如单片机课程设计的重点在于软件算法的设计,因此需要很巧妙的程序算法。此外,从这次的课程设计中,我领悟到理论联系实践的重要性,如若没有实践,就如单纯的纸上谈兵,无丝毫实质内容可提。程序只有在经常写与读的过程中才能提高。通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于一些电路还是应该自己动手实际操作才会有深刻理解。在进行报告撰写时,我查阅了大量有关芯片的资料,努力做到图文并茂,从而有助于读者的理解。6.2取得结果与致谢看到自己的作品成功的那一刻。我很高兴,也很欣慰,就像多年夙愿得偿一般,虽然这样说很夸张,但是对于一个并不擅长于编写程序或者说很久没尝到成功的甜头的人来说,也不算过分。再则,我的知识也得到了开阔与创新。此次的任务是数字温度计的设计,而在此之前已经有很多人研究过了,我们要参考他们的想法,担有些地方我们也要勇敢的跳出他们的框架,结合我们的实际情况进行分析设计,思想不局限于前人。能完成此次论文的撰写,毋庸置疑,与老师的谆谆教诲密不可分,譬如最后跟老师交流时提到的怎么样将一个按键同时完成上下限设置的功能以及如若要用多个DS18B20则应该怎么样编程等等,积极的启发了我的思维。没有老师的用心授课以及他教导的热诚,我应还是一名门外汉,站在单片机设计的门口,却不知如何进入。在此,非常感谢老师的启蒙和教导。最后,惭愧的是,由于本人能力有限,设计的数字温度计在软硬件上都还有待改善和进一步提高,因此迫切需要的提高自身的编程能力与动手能力。七 参考文献1 张毅坤,陈善久.单片微型计算机原理及应用M.西安:西安电子科技大学出版社,2002.2 张友德,赵志英,徐时亮.单片微机原理应用与实验M.上海:复旦大学出版社,2000.3 蔡美琴,张为民,沈新群,张荣娟.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,1992.4马忠梅等. 单片机的C语言应用程序设计(第4版),2007.5江世明. 基于Proteus的单片机应用技术. 电子工业出版社,2009.6彭伟. 单片机C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年飞行汽车考试题及答案
- 2025年度调度规程考试题库及答案
- 高铁隧道施工劳务合同(3篇)
- 高速工程施工合同(3篇)
- 高频焊檩条采购合同模板(3篇)
- n3级级护士手考试试题及答案
- 航空航天单位员工航天技术聘用合同
- 互联网餐厅厨师承包服务与管理协议
- 2025公务员真实面试题及答案
- 深圳市绿色环保产业门面租赁及市场推广协议
- 第五章-近交系数与亲缘相关系数
- GB/T 42062-2022医疗器械风险管理对医疗器械的应用
- GB/T 30106-2013钟表防水手表
- GB/T 24432-2009假肢费用赔偿鉴定
- 厨房设备采购安装合同标准范本(2篇)
- 多模态语篇分析课件
- 前厅服务与管理课程标准
- 旧楼加装电梯安装合同范本
- 支气管舒张试验
- 道路工程安全技术交底记录大全
- 特种作业人员管理档案参考模板范本
评论
0/150
提交评论