1、毕业设计姓名专业电气自动化班级电气0901班指导教师电子信息工程系印制毕业设计任务书姓名专业电气自动化班级电气0901设计课题基于单片机控制的温度控制报警系统指导教师电子信息工程系印制二一年十一月毕业设计题目基于单片机控制的温度控制报警系统毕业设计目的使学生在掌握理论知识后,具备实际分析动手能力。毕业设计任务以AT89C51作为核心处理器,设计了一个简易的温度测控报警系统。毕业设计主要技术数据该系统能够测量090范围的温度,并且利用十进制实时显示温度值,当温度超过60时,系统产生报警指示。毕业设计工作量要求五千字以上(不包含图所占字符)毕业设计进度计划第4周下达毕业设计任务;第514周进行毕业
2、设计第15周上交毕业设计论文;第16周毕业答辩。毕业设计应完成的技术资料测温范围为090,精度误差在01以内参考文献1、楼然苗,李光飞编著51系列单片机设计实例北京航天航空大学出版社2、先锋工作室单片机程序设计实例清华大学出版社教研室主任意见系主管领导意见任务下达日期2011年9月16日规定完成日期2011年11月26日基于单片机控制的温度控制报警系统摘要第一章绪论11课题背景12温度检测与及报警系统的国内外状况13温度参数、温度检测和语音报警131温度参数132温度检测133语音报警第二章单片机温度控制和语音报警系统硬件设计21温度控制和报警主机22单片机的相关资料23AT89C51功能及特
3、点231特点232AT89S51的引脚功能介绍24传感器的选择25DS18B20芯片简介251功能介绍252温度传感器的储存器253DS18B20内部逻辑图254DS18B20温度传感器与单片机的接口电路26温度检测和报警主机硬件电路设计27单片机及复位键控制模块28LED的介绍第三章软件设计31设计思路32程序设计321主程序322读出温度子程序323温度转化命令子程序324计算温度子程序325显示数据刷新子程序326LED显示程序模块第四章系统调试41硬件调试411硬件静态的调试412系统硬件调试42软件调试43软硬联调结论致谢参考文献附录第一章绪论11课题背景温度是工业生产中主要的被控参
4、数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。随着单片机技术的迅速兴起与蓬勃发展,其稳定、安全、高效、经济等优点十分突出,所以其应用也十分广泛。单片机已经无处不在、与我们生活息息相关,并且渗透到生活的方方面面。单片机的特点是体积较小,也就是其集成特性,其内部结构是普通计算机系统的简化,增加一些外围电路,就能够组成一个完整的小系统,单片机具有很强的可扩展性。它具有和普通计算机类似的、强大的数据处理功能,通过使用一些科学的算法
5、,可以获得很强的数据处理能力2。所以单片机在工业中应用中,可以极大地提高工业设备的智能化、数据处理能力和处理效率,而且单片机无需占用很大的空间。随着温度检测理论和技术的不断更新,温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和半导体集成传感器等,每种传感器根据其自身特性,都有它自己的应用领域。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。12温度检测
6、与及报警系统的国内外状况温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。温度采集控制系统是在嵌入式系统设计的基础
7、上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS51单片机来对温度进行控制,不仅具有
8、控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。同时温度也是生活中最常见的一个物理量,也是人们很关心的一个物理量,它与我们的生活息息相关,有着十分重要的意义,在工业生产中,温度过高或过低会直接影响到产品的质量、对机械设备和控制系统中的各种元器件造成一定的损坏,严重的会影响到生产安全。在日常生活中,温度过高或过低同样会造成一些不良影响。在实际生产、生活等各个领域中,温度是环境因素的不可或缺的一部分,对温度及时精确的控制和检测显得尤为重要。比如,农业上土壤各个层面上的温度将会影
9、响植物的生长;在医院的监护中也用到温度的测量。在工业中,料桶里外上限温度要求不一,以及热处理中工件各个部位的温度对工件形成后的性能至关重要等等。现代电子工业的飞速发展对自动测试的要求越来越高。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。针对以上情况,在控制成本的前提下,通过本设计设计一款能够实时检测控制温度,又具有对系统设定不同的报警温度的温度控制报警系统功能。此系统能够满足现代生产生活的需要,效率高,具有较强的稳定性和灵活性。因此,在生产和生活中要对温度进行严格的控制,使温度在规定的范围内变化。通过本系统提高学生对于温度控制的认识。在学习实践中
10、提高对理论的认知能力和动手解决实际问题的能力,达到教学实践相结合的目的。及采用先进的科学技术,加以丰富的保安实际经验和知识,向社会提供各种超值安全设备服务,给用户带来安全和放心。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。13温度参数、温度检测和语音报警131温度参数基本范围090LED数码直读显示132温度检测通过DS18B20传感器检测测量温度,通过AT89C51
11、单片机进行控制,通过用4位LED数码管以串口传送数据实现温度显示。133语音报警通过给单片机外接蜂鸣器实现第二章单片机温度控制和语音报警系统硬件设计21温度控制和报警主机主控单片机采用一片ATMELAT89C51。根据题目要求,充分利用了单片机灵活控制的优点,发挥其优势功能,采用单片机控制显示信号灯,提高了系统的灵活性,设置方便。AT89C51芯片本身集成了看门狗(WDT)电路,这是为了系统更加的稳定可靠,避免了系统因为死机而停止工作的情况发生这种做法对于实际上长时间运行在恶劣状况的交通灯控制系统来说是十分必要的。它可以完成自动加载复位,省去人工调整的麻烦,可以做到无人职守22单片机的相关资料
12、单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据
13、处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。23AT89C51功能及特点231特点兼容MCS51指令系统32个双向I/O口2个16位可编程定时/计数器全双工UART串行中断口线2个外部中断源中断唤醒省电模式看门狗(WDT)电路灵活的ISP字节和分页编程4K可反复擦写1000次)ISPFLASHROM4555V工作电压时钟频率033MHZ128X8BIT内部RAM低功耗空闲和省电模式3级加密位软件设置空闲和省电功能双数据寄存器指针单片机引脚图23
14、2AT89S51的引脚功能介绍VCCAT89C51电源正端输入,接5V。VSS电源地端。XTAL1单芯片系统时钟的反相放大器输入端。AT89C51XTAL2系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一个20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESETAT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代
15、码而执行程序。EA/VPP“EA“为英文“EXTERNALACCESS“的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用8751内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(VPP)。ALE/PROGALE是英文“ADDRESSLATCHENABLE“的缩写,表示地址锁存器启用信号。AT89C51可以利用这支引脚来触发外部的8位锁存器(如74LS
16、373)将端口0的地址总线(A0A7)锁进锁存器中,因为AT89C51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN此为“PROGRAMSTOREENABLE“的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89C51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用6
17、4K的定址范围。PORT0(P00P07)端口0是一个8位宽的双向输出入端口,共有8个位,P00表示位0,P01表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0A7,再配合端口2所送出的A8A15合成一个完整的16位地址总线,而定址到64K的外部存储器空间。PORT1(P10P17)端口1也是具有内部提升电路的双向I/
18、O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P10又当作定时器2的外部脉冲输入脚,而P11可以有T2EX功能,可以做外部中断输入的触发脚位。PORT2(P20P27)端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了用做一般I/O端口使用外,若是在AT89C51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当作I/O来使用了。PORT3(P30P37)端口3也
19、具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下P30RXD,串行通信输入。P31TXD,串行通信输出。P32INT0,外部中断0输入。P33INT1,外部中断1输入。P34T0,计时计数器0输入。P35T1,计时计数器1输入。P36WR外部数据存储器的写入信号。P37RD,外部数据存储器的读取信号。24传感器的选择本部分主要是论证温度传感器的选型。传感器的选择受到很多因素的影响,首先是各种温度传感器自身的优缺点,其次是各种不同的环境因素,还
20、有就是系统所要求实现的精度等,所以在不同的设计当中温度传感器的选择也将不同。方案一热电偶传感器热电偶传感的原理是将温度变化转换为电势变化。它是利用两种不同材料的金属连接在一起,构成的具有热电效应原理的一种感温元件。其优点为精确度高、测量范围广、构造简单、使用方便,型号种类比较多且技术成熟等。目前广泛应用于工业与民用产品中。热电偶传感器的种类很多,在选择时必须考虑其灵敏度、精确度、可靠性、稳定性等条件。方案二热电阻传感器热电阻传感器的原理是将温度变化转换为电阻值的变化。热电阻传感器是中低温区最常用的一种温度传感器。它的主要特点是测量精度高,性能稳定。其中铂热电阻的测量精度是最高的,不仅广泛应用于
21、工业测温,而且被制作成标准的基准仪。从热电阻的测温原理可以知道,被测温度的变化是直接通过热电阻阻值的变化来表现的。因此,热电阻的引出线的电阻的变化会给测温带来影响9。为消除引线电阻的影响,一般采用三线制或四线制。热电阻测温系统一般由热电阻、连接导线、显示仪表组成。方案三半导体集成模拟温度传感器半导体IC温度传感器是利用半导体PN结的电流、电压与温度变换关系来测温的一种感温元件。这种传感器输出线性好、精度高,而且可以把传感器驱动电路、信号处理电路等,与温度传感器部分集成在同一硅片上,体积小,使用方便,应用比较广泛的有AD590等。IC温度传感器在微型计算机控制系统中,通常用于室温或环境温度的检测
22、,以便微型计算机对温度测量值进行补偿。方案四半导体集成数字温度传感器随着科学技术的不断进步和发展,新型温度传感器的种类繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式、多总线式发展10。数字温度传感器,更因适合与各种微处理器的I/O接口相连接,组成自动温度控制系统,这种系统克服了模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,被广泛应用于工业控制、电子测温、医疗仪器等各种温度控制系统中,数字温度传感器中比较有代表性的有DS18B20等。电子设计中常用的几种温度传感器的性能、价格等的对比,如表21所示表31传感器对比表传感器AD590PT100DS18B20产地
23、美国德国美国量程5015020045055125精度0302505供电电压4V30V13V36V30V55V输出信号类型模拟信号模拟信号数字信号PT100与AD590都不能与单片机的I/O口直接相连,需要设计信号调理电路,A/D转换电路。而DS18B20是数字温度传感器,并且采用单总线技术,使该传感器不但可以直接与单片机I/O口相连,并且只需要一个I/O就可以连接多个温度传感器,实现多点温度测量与控制。所以使用数字温度传感器DS18B20不但可以节约单片机I/O口,还能使系统设计成本降低。25DS18B20芯片简介251功能介绍DALLAS半导体公司最新单线数字温度传感器DS18B20的“一线
24、器件”体积更小、适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为55C_125C,10_85C范围内,精度为05C。DS1822的精度较差为2C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同
25、,新的产品支持3V55V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822的特性DS18B20可以程序设定912位的分辨率,精度为05C。可选更小的方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电依然保存。DS18B20的性能是新一代产品中最好的性能价格比也非常出色DS1822、DS18B20软件兼容好。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和
26、DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20的内部结构DS18B20内部结构主要由四部分组成64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRCX8X5X41)
27、。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/LSB形式表达,其中S为符号位,见表21。表21DS18B20内部温度表示形式BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0LSBYTE2322212021222324BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0LSBYTESSSSS262524这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面
28、5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于00625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于00625即可得到实际温度。例如125的数字输出为07D0H,250625的数字输出为0191H,250625的数字输出为FF6FH,55的数字输出为FC90H。见表22表22DS18B20转化温度形式实际温度值数字输出(二进制)数字输出(十六进制)125000001111101000007D0H8500000101010100000550H25062500000001100100010191H10125000000001010001000A2
29、H0500000000000010000008H000000000000000000000H051111111111111000FFF8H101251111111101011110FF5EH2506251111111001101111FE6EH551111110010010000FC90H252温度传感器的储存器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PPRAM,后者存放高温度和低温度触发器TH、T和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是
30、TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节,见表23。表23DS18B20暂存存储器的8个连续字节寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5计数剩余值6每度计数值7CTR校验8该字节各位的意义如下TMR1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示(DS18B20出厂时被设置为12位),见表24表2
31、4分辨率设置表R1R2分辨率温度最大转换时间009位9375MS0110位1875MS1011位375MS1112位750MS根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点
32、,但在实际应用中也应注意以下几方面的问题1较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序计时,对DS1820操作部分最好采用汇编语实现。2在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。3连接DS1820的总线电缆是有长度限制的。试验
33、中,当采用普通信号电缆传输长度超过50M时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150M,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。4在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测
34、温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。253DS18B20内部逻辑图DS18B20内部内部逻辑图DS18B20测温流程初始化DS18B20跳过ROM匹配温度变换读暂存器转换成显示码数码管显示延时1S跳过ROM匹配测温原理内部装置254DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对
35、总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10US。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的
36、传输都是低位在先。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60US才能完成。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被预置低温度系数振荡器高温度系数振荡器减法计数器减到0减法计数器斜坡累加器减到0温度寄存器预置计数比较器拉低至少60US,保证DS18B20能够在15US到45US之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15US之内就得释放单总线。26温度检测和报警主机硬件电路设计温度的检测主要依据DS1
37、8B20来采集,DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图33所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。本设计采用电源供电方式,P11口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89S51的P10来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10S。采用寄生电源供电方式是VDD和GND端均接地。由
38、于单线制只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个步骤初始化;ROM操作指令;ROM操作指令;我们要求的温度在一定的范围内为安全温度,我们设置的上界温度为90,当测量值在正常范围内时,程序控制P20输出低电平,音频信号不发声,当达到一定的上界或者下界时,报警电路开始工作,P20同时为高电平,音频发音告警同时报警的红灯亮,操作人员观察音频发生器是否发音或红灯亮灭,就可知道被测量器件工作是否正常。报警灯蜂鸣器电路27单片机及复位键控制模块单片机最小系统电路主要由晶振电路和复位电路组成。电路图如图31所示。80C51单片机的时钟信号通常有两种方式一是内部
39、时钟方式,二是外部时钟方式。内部时钟方式如图(A)所示,在80C51单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟信号。图中C1和C2的作用是稳定频率和快速起振,电容值为530PF,典型值为30PF晶振的振荡频率范围为1212MHZ,典型值为12MHZ和6MHZ。外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片80C51同时工作,以便于各单片机同步。如图(B)所示。一般要求外部信号高电平的持续时间大于20NS,且频率低于12MHZ的方波。对于采用CHMOS工艺的单片机,外部时钟由XTAL1端引
40、入,而XTAL2端引脚悬空。1单片机晶振电路复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的。当在STC89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(如果RST引脚持续保持高电平,单片机就处于循环复位状态)。实际工作中,复位操作有两种基本形式一种是上电复位,另一种是上电与按键均有效的复位。单片机复位电路上电复位要求接通电源后,单片机自动实现复位操作。常用的开机复位电路如图所示。开机瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就
41、可以进行复位操作。该电路典型的电阻和电容参数为晶振频率为12MHZ时,C1为10UF,R1为82K;晶振频率为6MHZ时,C1为22UF,R1为1K。28LED的介绍液晶显示屏具有微功耗、体积小、显示内容丰富、超薄轻巧等诸多优点。在袖珍式仪表和低功耗应用系统中,LCD得到越来越广泛的应用。字符型液晶显示屏,是一种用57点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,本设计以常用的2行16个字的JDL162A液晶模块作为数据显示模块。JDL162A采用标准的16脚接口,其中第1脚VSS接地第2脚VDD接5V正电源。第3脚为液晶显示器对比度调整端,
42、接电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K欧姆的电位器来调整对比度。第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时,可以写入指令或者显示地址,当RS为低电平RW为高电平时,可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第1516脚空脚第三章软件设计31方案论证根据系统的设计要求,选择DS18B20作为本系统的温度传感器,
43、选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。该系统的总体设计思路如下温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED数码管以动态扫描法实现。检测范围55摄氏度到125摄氏度。按照系统设计功能的要求,确定系统由3个模块组成主控制器、测温电路和显示电路。数字温度计总体电路结构框图如图图1数字温度计总体电
44、路结构框图32设计思路在子程序设计中,要求系统结构清晰,尽可能地保证单入口单出口,减少与其他程序之间的耦合,但为了提高这类滞后对象的实时性指标,可以在个程序适当的部分进行揉合。例如在播放语音时,需要调用一段延时,在本程序中,利用CPU执行温度转换这段代码占有的时间代替这段延时。在正常执行温度转换时,同样需要调用一段延时,而本系统利用CPU执行显示子程序占有的时间代替这段延时。总之,系统设计时要协调这种时间滞后,使系统满足实时性要求。具体软件流程图如图AT89C51主控制器显示电路温度传感器DS18B20蜂鸣器电路图2开始初始化显示,语音,DS18B20设定个通道温度范围读键盘设定循环显示通道温
45、度转换读取通道温度显示温度温度超限读取通道温度通道温度转换语音报警温度正常自向下一个通道通道显示完读取通道温度通道温度转换选择通道温度超限读取通道温度通道温度转换语音报警温度正常读取通道温度32程序设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,报警子程序和显示数据刷新子程序等。321主程序主程序的主要功能是负责温度的实时显示,读出并处理DS18B20的测量温度值。温度测量每1S进行一次。主程序流程图如图3322读出温度子程序读出温度子程的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不能进行温度数据的改写。读出温度子程序流程图如图323温
46、度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750MS。在本程序设计中,采用1S显示程序延时法等待转换的完成。温度转换命令子程序流程图如图4324计算温度子程序计算温度子程序将RAM中读取的值进行BCD码的抓换运算,并进行温度值正负的判断。其流程图如图5325显示数据刷新子程序6显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。显示数据刷新子程序流程图如图图3主程序流程图初始化显示调用子程序1S到初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令Y发DS18B20复位命令发跳
47、过ROM命令发读取温度命令读取操作,CRC校验9字节完结束CRC校验正确移入温度暂存器NYN图4读出温度子程序流程图发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图5温度转换命令子程序流程图开始温度零下温度值取补码置“”标志计算小数位温度BCD值计算整数位温度BCD值结束置“”标志YN十位数0百位数0百位数显示数据(不显示符号)十位数显示符号百位数不显示结束图7显示数据刷新子程序流程图YNYN温度数据移入显示寄存器图4计算温度子程序流程图326LED显示程序模块LED显示程序就是将3AH单元的内容在两个LED显示器上显示出来。当定时器定时为1秒,时程序跳转到时间显示及信号灯显示
48、子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。第四章系统调试41硬件调试近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。根据方案设计的要求,调试过程共分三大部分硬件调试、软件调试和软硬联调。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是
49、在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。42硬件静态的调试421排除逻辑故障这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。422排除元器件失效造成这类错误的原因有两个一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。423排除电源故障在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V48V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。424系统硬件调试电路的调试主要看接口以及连线是否正确。依
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。