《基于52单片机的温度显示系统设计与实现》5200字(论文)_第1页
《基于52单片机的温度显示系统设计与实现》5200字(论文)_第2页
《基于52单片机的温度显示系统设计与实现》5200字(论文)_第3页
《基于52单片机的温度显示系统设计与实现》5200字(论文)_第4页
《基于52单片机的温度显示系统设计与实现》5200字(论文)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

PAGE基于52单片机的温度显示系统设计与实现目录引言………………………1设计目标………………………22.所用元器件…………23.数字温度显示器简介…………24.系统方案与设计…………………24.1STC89C52单片机…………………24.2DS18B20温度传感器……………54.3数码管显示…………………64.4电路原理图……………………75.软件设计……………………86.仿真………………97.综合调试………………………107.1焊接………………………107.2焊接方法………………………107.3调试………………………10参考文献……………………11引言:随着社会科技的发展,人们对生活质量的要求也越来越高,对周围环境的舒适度的要求也越来越高,温度显示器可以很好的监控室内温度,通过对温度的显示可以方便人们及时调整,同时温度在工业设计,机器运行方面也是一个重要的参数,超出或低于一定温度会对其性质,功能产生一定影响,因此温度显示不仅对日常生活,而且对工业生产方面都非常重要。本次设计主要针对家庭学校,工厂等需求,测得所在地实时的温度,并精确的在数码管上进行显示,为人们的日常生活以及工业生产提供基本信息。1.设计目标1.该设计能够显示当前环境温度值,采用三极管驱动数码管显示。2.测量的温度范围-55至125度。3.温度精确到小数点后一位。4.单片机按键手动复位,带上电复位。2.所用元器件本次设计所采用的元器件有:单片机STC89C52电源开关数码管两个电容DS18B20温度传感器晶振按键三极管1K电阻10K电阻若干等3.数字温度显示器简介温度是我们日常生活都能接触到的物理量,像时间需要时钟来记录一样,温度也需要相应的温度显示器来衡量,温度显示器的种类有很多,相较于传统的指针式的温度显示,数字式的温度显示器在温度显示方面更加精确,反应也更加迅速,可以让人们更直观的了解当前的温度。本次温度显示器所采用的芯片包括STC89C52单片机最小系统,其精度较高,稳定性较强,本次的温度显示所采用的温度敏感元件是DS18B20温度传感器,其测温范围为-55℃~125℃,分辨率最大可达0.0625℃。DS18B20可以直接读出被测温度值。而且采用3线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。4.系统方案设计本文以STC89C52单片机为核心,首先通过DS18B20温度传感器将实时采集到的温度的变化转换成电信号的变化,然后通过A/D转换器将电信号转换成数字信号,传递给89C52单片机,经过变成将其通过四位LED数码管显示出来。其工作原理如图一所示:显示装置单片机处理器I/OA/D转换温度电压转换器测温元件显示装置单片机处理器I/OA/D转换温度电压转换器测温元件图1工作原理图4.1STC89C52单片机单片机的种类有很多,在本次单片机的选择上,没有选择传统的AT89C51芯片,而是选择了STC系列的STC89C52,该芯片具有传统AT系列所不具有的许多功能,如具有EEPROM功能,并且相对于有些芯片来讲不需要专门的仿真器。相较于AT系列单片机,STC系列可查找的资源较多,芯片的反应速度也较快,在价格上与AT系列差不多,所以在性价比上要优于AT系列的单片机。其主要参数为REF_Ref24339\r\h[1]:1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.2.工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz4.用户应用程序空间为8K字节5.片上集成512字节RAM6.通用I/O口(32个),复位后为:P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片8.具有EEPROM功能9.共3个16位定时器/计数器。即定时器T0、T1、T210.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒11.通用异步串行口(UART),还可用定时器软件实现多个UARTSTC89C52的引脚图如下:图2STC89C52引脚图其中,P1.0-P1.7八位准双向I/O口,负载能力为三个LTSTTL门,RST为复位端,高电平有效,宽度在24个时钟周期以上,RXD为串行口输入端,TXD为串行口输出端,INTO外部中断0输入端,INT1外部中断1输入端,T0为定时器/计数器0外部输入端,T1为定时器/计数器1外部输入端,XTAL2为接外部振荡器一端,片内是一个振荡电路反相放大器的输出端,XTAL1接外部晶体振荡另一端,片内是一个振荡电路反相放大器的输入端。STC89C52还包括复位电路和晶振电路复位电路的作用是上电后单片机进行延时后开始执行代码,复位电路启动的方式有三种,一是通过给电路通电时复位,二是手动复位,可以用按键来实现,三是通过某种程序的写入来实现复位。其电路图如下所示:图3复位电路电路图复位电路工作原理如下图所示,RST连接单片机的复位引脚,VCC(+5v)上电后,电容C开始充电,带电容充满电后,电容相当于断路状态,在这个过程中,单片机中5V的电压经10K的电阻流出,这样由5V到0V的过程就是单片机的复位的过程;另外一种复位方法是外部输出,采用按键的方式,原理就相当于断电通电一样。图4复位电路工作原理图晶振电路,晶振电路是由一个电容并联一个电阻,再传连一个电容的形式,如下图所示,其中电容C2和电容C3的值越小越好,C3的值应大于C2。Y1为12M,即每秒产生12000000个正弦波,C2和C3起起振作用,如果没有这两个电容,就不会产生正弦波。图5晶振电路工作原理图4.2DS18B20温度传感器之前的温度传感器使用热敏电阻传感器,热敏电阻传感器,其阻值会随着温度的变化而变化,所以可以通过ADC采集热敏电阻上的两端电压值,再通过计算得到当前温度信息。其计算公式为REF_Ref24770\r\h[2]。T--被测温度--与热敏电阻有关的温度系数K--与热敏电阻特性有关的系数--热敏电阻两端的温度但由于热敏电阻需要的复杂的电路,需要的器件也很多,其温度不同,阻值也不同,需要通过阻值查表计算得到温度数值,相对于热敏电阻来说,DS18B20就简单的多了,DS18B20温度传感器测温简单方便,精度较高,其需要在5V的电压下进行工作,不然精度会受到影响,此外,当传感器检测外部温度时,需要一定时间反应,此外,在编写程序时需要按照一定的时序,否则也会使精度受到影响。在单线上所连接的DS18B20不能超过8个,当超过8个时,需要解决微处理器的总线驱动问题。一个单片机的引脚上可以连接多个温度传感器,当连接多个时,由于该温度传感器的特点是每个口唯一存储在ROM中的64编码,就相当于每个人的身份证号一样,这样就可以准确的找到指定的温度传感器,并显示上面的温度。DS18B20的读写时序如下图所示REF_Ref25342\r\h[3]:预置预置比较比较低温度系数晶振计数器1低温度系数晶振计数器1预置预置加1温度寄存器加1温度寄存器=0=0高温度系数晶振计数器高温度系数晶振计数器2停止停止=0=0图6DS18B20读写时序图低温度系数晶振的震荡频率受到温度的影响较小,其产生的固定的脉冲信号传送给计数器1,其与计数器1被预置在一个基数值里,计数器1进行减法运算,直至其减为0,此时,温度寄存器加1,计数器1重新对低温度系数晶振所产生的信号进行重新计数,依次循环,直至计数器2的值为0。DS18B20温度传感器的DS18B20温度传感器的电路图如下,其包括三个引脚,为外接电源输入端,DQ为数字信号输入/输出端,GND为电源地。正常情况下5V供电,也可以直接使用DQ引脚同时作为输入输出端,同时供电,不过通常情况下不使用。图7DS18B20温度传感器电路图在默认的情况下,DS18B20温度传感器是12位,其精度为0.0625,温度传感器的温度转换表如下所示REF_Ref25427\r\h[4]:图8温度转换表4.3数码管显示数码管显示相较于液晶显示来说虽然显示的内容单一,耗电量大,但是由于其价格低廉,寿命长,坚固耐用,使用简单等优点,本次温度显示仍采用的是数码管,且为八段数码管,相较于七段数码管来说,八段数码管多了小数点的显示,使得显示的温度更为精确。数码管还分为共阴极数码管和共阳极数码管,共阴极数码管是将其阴极接在一起并接地,共阳极是将其阳极接在一起,并接地REF_Ref27046\r\h[5]。本次采用的是共阴极接法。图9共阴极共阳极原理图本次使用的数码管有是个引脚,其中1,2,3,4是控制四个数码管显示的,例如,想要第一个数码管显示,就要给1一个信号,此外,ABCDEF是控制每个数码管的不同线路,如图所示:图10数码管电路图4.4电源模块电源模块电路图如下所示,首先5V的电压从J1流出,通过引脚1流入SW1,从2处流出,这样VCC处的电压就是5V。图11电源模块电路图4.4整个电路图原理图如下:图12电路原理图5.软件设计整个设计需要硬件和软件的相互配合才能实现,软件的设计主要有两个功能,一是监控软件,作为整个设计的核心,协调各个部分完成整体功能,二是执行软件,用来完成实质性的功能,如测量,计算等。每个执行软件要完成各自的功能,然后再规划监控模块,从而完成整个软件部分的设计。主程序包括二个子程序,数码管显示程序,温度采集与转换程序。数码管显示子程序主要对所测得的温度通过编程,在数码管上通过数字的方式进行显示。温度采集是将被测环境的温度转换成数字量。其流程图如下:初始化初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY 图12流程图5.1温度采集与转换模块图13温度采集与转换程序该过程是温度采集与转换的过程,先是进行发一个指令,将温度传感器启动,接着读取温度,进行16次读取,将每次电平的值读出来,存在temp之中,不过是以数字量的形式,然后再乘以0.0625将其转换为实际的温度,最后乘以10将其暂时的储存起来。5.2数码管显示模块首先是数码管的定义,包括数码管的位选定义,和数码管的段选定义。由于不同品牌的数码管的段选是不一样的,并不是所有的数码管都是按A-B-C-D-E-F-G排列的,并且分别对应单片机的I0-7口,所以在定义之前要先了解所使用的数码管的具体情况,本次数码管是按照A-G与T0-7口一一对应的形式的。6.仿真仿真所使用的为Proteus软件REF_Ref31288\r\h[6],用来仿真单片及其他电路。该软件是当前最流行的仿真软件,是目前世界上唯一将电路仿真软件,PCB设计软件,虚拟模拟仿真软件三合一的设计平台。在焊接实物之前进行仿真相当于进行实验,将一些复杂的状况进行模拟,比如在本次设计中可以模拟尽可能多种温度情况,用来检测是否灵敏,反应是否正确。本次设计的仿真图如下:当调试温度为零下5度时:图14仿真图当调试温度为23.8度时:图15仿真图7.综合调试7.1焊接焊接时应注意要先焊接电阻一面的元件,最后焊接数码管的那一面,其次焊接时要按照元器件由低到高的顺序,先焊接小的元器件,焊接大的元器件,焊锡不要放太多,多出的管脚要尽量剪掉,焊接时要注意有些元器件的方向问题,防止正负极接反,特别是在焊接数码管时应该先固定两边管脚中的中间一个管脚,这样的话如果放的不正,可以一边融化管脚一边调整,四个数码管都焊接好了再焊接其他管脚。焊接单片机前,要先焊接单片机座,再把单片机装上去。有了这个座子,这样之后如果要更换单片机,或者把单片机取出来下载程序,都是比较方便的。7.2焊接方法(1)在焊接之前,要将焊接用的电烙铁进行加热,直到它可以融化焊锡。(2)待电烙铁加热到一定程度,左手拿焊锡,右手拿焊烙铁,按照排好的元器件的顺序进行焊接,在此过程中要注意安全。(3)每个元器件焊接完成后,用剪刀剪掉多余的长的管脚,防止元器件之间短路。7.3调试调试包括硬件调试和软件调试,硬件调试主要是检查焊接的质量问题,防止触电之间短路或者是出现虚焊情况,在检查无误的情况下,下一步可以进行通电,观察显示的温度是否为当前所测环境的温度值。软件调试可以通过仿真来完成,在保证程序无错误的情况下,将程序导入到单片机内,通过增加或减小温度观察数码管显示的温度的变化是否灵敏和准确。实物图如下:图16实物图8.结束语经过我的努力,包括查找资料,询问老师和同学的方式,完成了本次基于单片机显示温度的设计,该设计没有采用传统的AT89C51单片机为核心,使用的是STC89C52芯片,相较于AT系列单片机,STC系列的单片机的资源较多,芯片反应速度也较快,价格上也与AT系列单片机差不多等,更加方便,能够更好的顺利完成本次设计目标。参考文献:王永华,龙怡嘉,张志华.基于STC89C52的智能温控系统的设计[J].计算机产品与流通,2020(

温馨提示

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

评论

0/150

提交评论