




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
扬州市职业大学汽车与电气工程系毕业设计论文作者吴晗学号0902030234教研室电气自动化教研室专业电气自动化题目基于AT89S51单片机的温度报警器设计指导者谢聪评阅者2012年5月毕业设计说明书(论文)中文摘要温度的测量是日常生活和工业生产中常遇到的问题,而日常生活中常用到的普通的温度计不能和计算机接口,也就不能实现现代的工业控制。本设计是通过MCS51单片机和DS18B20转换芯片,实现对环境温度的采集、模/数转换、处理、显示过程。要求综合运用所学主要课程的知识,并要求查询有关技术资料和书籍,得到本设计所要的技术数据和相关知识。温度控制系统是比较常见的和典型的过程控制系统。温度是工业生产过程中重要的被控参数之一,机械、食品、化工等各类工业生产过程中广泛使用的各种加热炉、热处理炉、反应炉,对工作的处理温度等均需要对温度严格控制。当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化和智能化了本装置的任务是对温度进行实时监测,首先,由温度传感器DS18B20对环境温度进行采集并送给单片机,通过单片机送至数码管显示,显示出来的数值即为所测的摄氏温度值。单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。本温度显示器的设计与制作,阐明了该装置进行设计与制作的具体过程及方法。这种温度显示器结构简单,可操作性强,应用广泛。工作时,由传感器检测温度,防止因温度升高而带来的不必要的损失。本文介绍的是采用温度传感器DS18B20的温度显示器,自动测量当前环境温度,由单片机AT89S51控制,并通过四位7段数码管显示。关键词温度显示单片机(AT89S51)数字温度传感器(DS18B20)目录摘要单片机介绍2单片机历史4单片机在各领域中的应用41引言611设计背景612设计任务613电路的工作原理72硬件设计方案721设计思路722硬件设计及框图7221电源部分7222时钟电路8223复位电路的设计9224总框图1023温度传感器10231DS18B2010232DS18B20的主要特性11233DS18B20工作原理11234温度格式12235DS18B20的通信协议12236DS18B20的外部电源供电方式1324AT89S5113241主要特性14242管脚说明1425数码管15251LED数码显示器连接方法15252方案16253数码管显示方式173系统的软件设计1731软件设计的主程序1732读温度子程序1833温度转换命令子程序1934计算温度子程序2035程序设计2036软件调试及仿真框图30结束语33参考文献33附录一元器件清单34附录二原理图35单片机介绍单片机也被称为微控制器(MICROCONTROLLER),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELI960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHZ,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的WINDOWS和LINUX操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有12部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢很多高级的语言已经达到了可视化编程的水平为什么不用呢原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机历史单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。1SCM即单片微型计算机(SINGLECHIPMICROCOMPUTER)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,INTEL公司功不可没。2MCU即微控制器(MICROCONTROLLERUNIT)阶段,主要的技术发展方向是不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,INTEL逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数PHILIPS公司。PHILIPS公司以其在嵌入式应用方面的巨大优势,将MCS51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记INTEL和PHILIPS的历史功绩。3单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。单片机在各领域中的应用目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。1在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。2在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。3在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。4单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。5在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。1引言11设计背景温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,随着人们生活水平的不断提高,对生活质量的要求不断提升,自然会更加关注跟人身体健康紧密联系的温度;同时在工业生产过程中经常需要实时测量温度,尤其是在高危生产行业,如花炮生产、煤矿行业等。但依靠人工检测既浪费时间、物力、人力,又有一定的危险性,且测量的数据也不准确;在农业生产中也离不开温度的测量,各种农作物的生长都跟温度有直接的关系,掌握了温度的变化就可以更好的控制农作物的生长。因此研究温度的测量方法和装置具有重要的意义。12设计任务本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用4位共阴极LED数码管实现温度显示,能准确达到以上要求。13电路的工作原理图13电路原理图这次的温度显示器由温度传感器DS18B20,AT89S51单片机,LED数码管和电源系统组成。其工作的原理是在电源系统供电的情况下由温度传感器DS18B20测量周围温度的变化,并将测的温度传给单片机AT89S51经过单片机AT89S51分析做出判断,同时经过单片机AT89S51将所测得的温度显示在LED显示出来,如果温度在温度传感器的规定的温度范围内,那么蜂鸣器将不会发出报警信号。2硬件设计方案21设计思路智能温度传感器亦称数字温度传感器是微电子技术、计算机技术和自动测试技术ATE的结晶。目前,已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器或寄存器和接口电路。由于DS18B20将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,测量范围广,精度高。稳定性好等优点。广泛的运用于温度检测领域。22硬件设计及框图硬件部分221电源部分8051的工作电压为5V,05V,工作电流200MA其它部分工作电流总电流500MA功耗25W图221电源电路电源桥式整流、滤波(两个滤波电容)、稳压三端稳压器件7805系列三端稳压器件是最常用的线性降压型DC/DC转换器,目前也有大量先进的DC/DC转换器层出不穷,例如低压差线性稳压器LDO等。7805简单易用,价格低廉,直到今天还在大多电路中采用。222时钟电路图222时钟电路单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图所示。电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。电路中,电容器C1和C2对振荡器频率有微调作用,通常的取值范围3010PF;石英晶体选择6MHZ或12MHZ都可以。其结果只是机器周期时间不同,影响计数器的计数初值。8051单片机的时钟产生有以下两种方法(1)内部时钟方式利用单片机内部的振荡器,然后在引脚XTAL1(18脚)和XTAL2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30PF左右;这两个电容对频率有微调的作用,晶振的频率范围可在12MHZ12MHZ之间选择。(2)外部时钟方式此方式是利用外部振荡脉冲接入XTAL1或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同,HMOS型单片机(例如8051)外时钟信号由XTAL2端脚注入后直接送至内部时钟电路,输入端XTAL1应接地。由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上接电阻。外接时钟信号通过一个二分频的触发器而成为内部时钟信号,要求高、低电平的持续时间都大于20NS,一般为频率低于12MHZ的方波。片内时钟发生器就是上述的二分频触发器,它向芯片提供了一个2节拍的时钟信号。223复位电路的设计复位是单片机的初始化操作,单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部复位电路才能实现。单片机的外部复位电路有上电复位和手动复位两种。我们在设计单片机时,选用手动复位。上电复位利用电容器的充电实现。上电要求接通电源后,单片机实现自动复位操作。上电瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平将逐渐下降,RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。手动复位按键后电容器被短路放电,RST直接和VCC相连,就是高电平,此时进入“复位状态”。松手后,电源开始对电容充电,此时,充电电源在电阻上,形成高电平送到RST,仍然是“复位状态”;稍后,充电结束,电降将为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。RST单C1GNDV3WPB图223上电复位图223手动复位手动复位电路中电阻R14的阻值为82K另外一电阻阻值为1K,电容大小为10F对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和5V连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。224总框图温度计电路设计总体设计方框图如图所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用2位LED数码管以串行口通信传送数据方式实现温度的显示。LED显示单片机复位报警点按键调整时钟振荡主控制器温度传感器图224总框图23温度传感器231DS18B20DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量。DS18B20内部结构主要由四部分组成64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图所示。DS18B20引脚定义1DQ为数字信号输入/输出端;2GND为电源地;3VDD为外接供电电源输入端(在寄生电源接线方式时接地)232DS18B20的主要特性1适应电压范围更宽,电压范围3055V,在寄生电源方式下可由数据线供电2独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯3DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内4温范围55125,在1085时精度为05DS18B20123GNDI/OVCC5可编程的分辨率为912位,对应的可分辨温度分别为05、025、0125和00625,可实现高精度测温6在9位分辨率时最多在9375MS内把温度转换为数字,12位分辨率时最多在750MS内把温度值转换为数字,速度更快7测量结果直接输出数字温度信号,以“一线总线“串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力8负压特性电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。233DS18B20工作原理DS18B20的读写时序和测温原理与DS18B20相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2S减为750MS。低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。234温度格式这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于00625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于00625即可得到实际温度。例如125的数字输出为07D0H,250625的数字输出为0191H,250625的数字输出为FE6FH,55的数字输出为FC90H。235DS18B20的通信协议由于DS18B20采用的是1WIRE总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题1较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。2在DS18B20的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。3连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50M时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150M,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。4在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。236DS18B20的外部电源供电方式在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。图236外部供电方式单点测温电路24AT89S51AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4KBYTESISPINSYSTEMPROGRAMMABLE的可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFLASH存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。241主要特性8031CPU与MCS51兼容4K字节可编程FLASH存储器寿命1000写/擦循环全静态工作0HZ24KHZ三级程序存储器保密锁定1288位内部RAM32条可编程I/O线两个16位定时器/计数器6个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路242管脚说明VCC供电电压GND接地P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口RST复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1片内振荡器反相放大器和时钟发生器的输入端。XTAL2片内振荡器反相放大器的输出端。25数码管251LED数码显示器连接方法共阳极接法把二极管的阳极连接在一起构成公共阳极,使用时公共阳极接5V,每个发光二极管的阴极通过电阻图与输入端相连。当阴极端输入低电平时,八段图251数码管的连接方法发光二极管就导通点亮,而输入高电平时则不点亮。共阴极接法把二极管的阴极连接在一起构成公共阴极,使用时公共阴极接5V,每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,八段发光二极管就导通点亮,而输入低电平时则不点亮。252方案这里为了方便导线的连接,电流由外部电源提供,为灌电流,不增加单片机负担,所以本次设计采用四位一体共阳数码管。(如下图)重点引脚的测量,去实验室找台设备,把电压调在15V20V之间。电源的正负极分别放在任意一脚上,根据数码管的段亮就可以判断引脚(如下图)图252共阳数码管253数码管显示方式数码管显示器有两种工作方式,即静态显示方式和动态显示方式。在静态显示方式下,每位数码管的AG和H端与一个8为的IO相连。特点是数码管中的发光二极管恒定地导通或截至,直到显示字符改变为止。静态显示方式程序非常简单,占用CPU时间资源很少,只是在显示字符改变时调用一下显示程序。但是硬件电路繁多,每个数码管需要一个8位IO口、一个8位驱动、8个限流电阻。一般应用于数码管位数少的场合。相对于静态显示方式而言,动态显示方式线路相对简单,成本低,在单片机系统中常常采用动态扫描显示方式。其工作原理是逐个地循环点亮各位显示器,也就是说在任一时刻只有一位显示器在显示。3系统的软件设计系统程主要包括主程序,温度显示子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。31软件设计的主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1S进行一次。这样可以在一秒之内测量一次被测温度。图31主程序流程图32读温度子程序初始化调用显示子程序1S到初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图YNYN结束发DS18B20复位移入温度暂存器C图8RC校验正确9字节完读取操作,CRC校验发读取温度命令发跳过ROM命令图32子程序流程图33温度转换命令子程序换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750MS,在本程序设计中采用1S显示程序延时法等待转换的完成。温度转换命令子程序流程图如图。图33转换流程图34计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图发温度转换开始命令发DS18B20复位命令发跳过ROM命令ROM命令结束图34计算温度子程序35程序设计ORG0000HAJMPMAINORG000BHAJMPTT0MAINORG002FH读18B20的温度TEMPHEQU50HTEMPLEQU51HTEMPHCEQU52HTEMPLCEQU53HZJ9EQU60HWDCGQBITP00系统初始化MOVSP,2FHMOVTMOD,21HMOVTH0,3CH12MHZ晶振时定时100MSMOVTL0,0B0HMOVR7,0AHSETBEASETBET0SETBTR0CLRF0CLR00HSETBP23MOVTEMPH,00HMOVTEMPL,00HMOVTEMPHC,00HMOVTEMPLC,00H主程序STARTLCALLDIPJNB00H,STARTCLR00HJNBF0,STA1LCALLREADLCALLDIPLCALLBCDLCLCALLDIPSTA1LCALLMLSETBF0LJMPSTARTT0中断子程序TT0PUSHPSWMOVPSW,10HMOVTH0,3CHMOVTL0,0B0HDJNZR7,TT0OUTMOVR7,0AHSETB00HTT0OUTPOPPSWRETI读1820的转换温度READLCALLRST1820MOVA,0CCH发跳过1820的ROM命令LCALLWRIT1820MOVR6,1AH延时104USDJNZR6,MOVA,0BEH读1820内部RAM中9个字节的内容LCALLWRIT1820MOVR6,1AHDJNZR6,MOVR5,09HMOVR0,ZJ9MOVB,00HREAD1LCALLREAD1820MOVR0,AINCR0READ2LCALLCRC8校验读到的八位数DJNZR5,READ1MOVA,BJNZREADOUTMOVA,ZJ90MOVTEMPL,AMOVA,ZJ91MOVTEMPH,AREADOUTRET给1820复位命令只有收到有效的复位信号才能返回RST1820SETBWDCGQNOPNOPCLRWDCGQMOVR6,50H延时480US640USDJNZR6,MOVR6,50HDJNZR6,SETBWDCGQMOVR6,12H延时70US75USDJNZR6,MOVR6,1EH在250US内读复位信号LOOPMOVC,WDCGQJCRSTOUTDJNZR6,LOOPMOVR6,032HDJNZR6,SJMPRST1820RETRSTOUTSETBWDCGQRETCPU向1820写一个字节的数据WRIT1820MOVR4,08HSETBWDCGQNOPLOOP1CLRWDCGQMOVR6,03H延时15USDJNZR6,RRCAMOVWDCGQ,CMOVR6,1AH延时104USDJNZR6,SETBWDCGQDJNZR4,LOOP1RETCPU从1820中读出一个字节的数据READ1820MOVR4,08HSETBWDCGQNOPLOOP2CLRWDCGQNOPSETBWDCGQMOVR6,03H延时15USDJNZR6,MOVC,WDCGQMOVR6,1EH延时120USDJNZR6,RRCASETBWDCGQDJNZR4,LOOP2MOVR6,1EH延时120USDJNZR6,RET接收的数据校验子程序CRC8PUSHACCMOVR4,08HLOP1XRLA,BRRCAMOVA,BJNCLOP2XRLA,18HLOP2RRCAMOVB,APOPACCRRAPUSHACCDJNZR4,LOP1POPACCRET给1820发温度转换命令1820转换一次必须先复位发R0M命令发RAM命令MLLCALLRST1820给1820复位MOVA,0CCH给1820发跳过1820的ROM命令LCALLWRIT1820MOVR6,1AH延时104USDJNZR6,MOVA,44H给1820的RAM发转换指令LCALLWRIT1820MOVR6,1AH延时104USDJNZR6,RET温度数据处理子程序BCDLCMOVA,TEMPHANLA,80HJZLP1为正数转LP1CLRC为负数时,将补码转换成原码MOVA,TEMPLCPLAADDA,01HMOVTEMPL,AMOVA,TEMPHCPLAADDCA,00HMOVTEMPH,AMOVTEMPHC,0BH符号位为负的标志为0BHSJMPLP2LP1MOVTEMPHC,0AH符号位为正的标志为0AHLP2MOVA,TEMPHCSWAPAMOVTEMPHC,AMOVA,TEMPLANLA,0FH乘00625MOVDPTR,TAB1MOVCA,ADPTRMOVTEMPLC,A小数部分的BCD码MOVA,TEMPLANLA,0F0HSWAPAMOVTEMPL,AMOVA,TEMPHANLA,0FHSWAPAORLA,TEMPLLCALLHEXBCDMOVTEMPL,AANLA,0F0HSWAPAORLA,TEMPHCMOVTEMPHC,AMOVA,TEMPLANLA,0FHSWAPAORLA,TEMPLCMOVTEMPLC,AMOVA,R4JZTEMPOUTANLA,0FHSWAPAMOVR4,AMOVA,TEMPHCANLA,0FHORLA,R4MOVTEMPHC,ATEMPOUTRETTAB1DB00H,01H,01H,02H,03H,03H,04H,04H,05H,06HDB06H,07H,08H,08H,09H,09H单字节十六进制转换成BCD码HEXBCDMOVB,64HDIVABMOVR4,AMOVA,0AHXCHA,BDIVABSWAPAORLA,BRET显示子程序DIPMOVDPTR,TABMOVA,TEMPHCANLA,0FHMOVCA,ADPTRMOVP1,AMOVA,TEMPLCMOVDPTR,TABANLA,0F0HSWAPAMOVCA,ADPTRRLAMOVP2,ARETTABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,90H,0FFH,0BFH,83H,0C6H,0A1H,86H,84HEND36软件调试及仿真框图首先通过伟福编程软件对所输入的程序进行编译,设置好传感器和主机的通讯首地址,还要系统初始化,调入主程序,设置TO口是中断口当编译成功,把程序灌入单片机内在主电路上再调试仿真图(不报警)仿真图(报警的)调试结果通过DS18B20的2管脚和单片机的P00口连线,16位的温度数字量输出到单片机寄存器中,通过程序的作用,把16进制的带符号温值转化成10进制带符号温度,通过LED显示模块在数码管显示。结束语按照指导老师的要求,我们选定了以温度传感器为桥梁,实现测量温度的功能,于是我们利用网络,图书馆,以及其他同学的帮助找到了很多关于数字温度计的材料,原来实现同样的功能,可以用不同的方法获得,虽然资料找到了,但是有的还不是符合指导老师的要求,我门一开始是用LCD温度显示,但是线路和程序比较复杂,于是我们采用静态LED显示,还是用的共阳(接5V电源)由于静态显示接的线比较多,于是我就把三位显示改成了2位显示,用一个发光二极管代替温度的正负号,这样大大简化了接线。通过本次设计,使得我对专业知识有了更深的体会。如电路,数、模电子技术,单片机技术,电路板设计的应用,传感器的使用等有了更进一步的认识。同时,也培养了我的动手能力以及抗压能力,也锻炼了我独立思考和独立完成任务的能力。在本次设计中,不但查阅了很多书本上的资料,也通过网络查阅到了很多的知识和芯片的结构接线等方面的知识。特别是关于DS18B20的结构和功能都是从网络查找的。从这次的毕业设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识运用到实际当中,学习单机片更是如此,程序只有在编程或是改错才能得到提高。设计过程中,我深刻的体会到在设计过程中,需要反复实践,其过程很可能相当烦琐,有时花很长时间设计出来的电路还是需要重做,那时心中未免有点灰心,有时还特别想放弃,此时更加需要静下心,查找原因。这就是我在这次课程设计中的最大的心得体会。参考文献1沈红文单片机应用系统设计实例与分析北京北京航空航天大学出版社,20032张振荣MCS51单片机原理及应用技术北京国防工业出版社,20063搂然苗李兴飞51系列单片机设计实例北京北京航空航天大学出版社,20004王效华张咏梅单片机原理与应用北京北京交通大学出版社,20075周杭慈单片机程序设计基础北京北京航空航天大学出版社,200356王煜东传感器及应用北京机械工业出版社,200837何希才传感器及其应用电路北京电子工业出版社,2001,36478沙占友集成温度传感器原理与应用北京机械工业出版社,2002,84959张培仁清华大学出版社200310李朝青单片机原理及接口技术(简明修订版)杭州北京航空航天大学出版社,199811李广弟单片机基础北京北京航空航天大学出版社,199412胡建单片机原理及接口技术机械工业出版社2005年第一版313林申茂8051单片机彻底研究实习篇人民邮电出版社2004年5月第1次印刷14北京精仪达盛科技有限公司8051实验指导书北京北京精仪达盛科技有限公司15阎石数字电子技术基础(第四版)北京高等教育出版社,199716王恩荣MCS51单片机应用技术北京化学工业出版社,2001附录一元器件清单名称型号封装形式数量单片机AT89S51DIP401个温度传感器DS18B20PORT31片七段显示数码管DPY_7SEG_DP4个晶振6MMAXIAL041个三极管9015TO92B5个电阻220AXIAL038个电阻47KAXIAL035个电容30PFRAD012个蜂鸣器1个按钮RAD011个附录二原理图GANEMPLOYMENTTRIBUNALCLAIEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠州市惠城职业技术学校招聘真题
- 掌控智能手机市场
- 躯干骨折的中医护理常规
- 胸痛患者护理课件模板
- 胸外科护理课件教学
- 2024年昆明市第二人民医院招聘真题
- 锁牌安全培训
- 胖胖和瘦瘦健康课件
- 旅行社财务管理课件
- 旅行社的促销管理课件
- 人员异地办公管理办法
- 2025年新修订治安管理处罚法课件
- 提高服务意识培训课件
- 电网工程设备材料信息参考价2025年第一季度
- GB/T 6913-2023锅炉用水和冷却水分析方法磷酸盐的测定
- 降低住院病人口服给药错误风险 持续质量改进
- 消防部队驾驶员行车安全
- GA 884-2018公安单警装备催泪喷射器
- 闸门启闭机系统课件
- 危重病人的容量评估与管理课件
- GJB3839-1999-蜂窝纸板规范
评论
0/150
提交评论