毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc

上传人:仙人指路1688 文档编号:3978364 上传时间:2023-03-30 格式:DOC 页数:44 大小:1.35MB
返回 下载 相关 举报
毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc_第1页
第1页 / 共44页
毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc_第2页
第2页 / 共44页
毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc_第3页
第3页 / 共44页
毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc_第4页
第4页 / 共44页
毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机的远程温度显示系统的设计与实现.doc(44页珍藏版)》请在三一办公上搜索。

1、基于51单片机的远程温度显示系统的设计与实现基于51单片机的温度远程显示系统的设计与实现摘 要随着现代工业的逐步发展,在工业生产中,温度、压强、湿度和液体是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。比如:在冶金产业、化工产业、电力产业、机械加工以及食品加工等诸多领域,基本都离不开对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。但是,用常规的操作方法,满足不了对较高的性能要求。利用单片机对它们来进行操作控制不但具有控制方便、灵活性大和简单的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制

2、问题。本系统实现一个温度远程显示系统,基于STC89C52单片机为设计开发平台,用DS18B20温度传感芯片完成对温度的采集,配合MAX3232通信接口芯片实现温度的远程传输(还可以用232转485接口来增大传输距离),用简单的通信协议来增加传输可靠性,用蜂鸣器实现高低温报警,报警温度可用按键调节。最后用12864液晶显示屏完成显示功能。关键词:单片机; DS18B20;MAX3232;12864液晶显示屏DESIGN AND IMPLEMENTATION OF THE SYSTEM 51 SINGLE REMOTE TEMPERATURE DISPLAYABSTRACTWith the gr

3、adual development of modern industry, in industrial production, temperature, pressure, humidity, and fluid is four of the most common process variables. Among them, the temperature is a very important process variables. For example: in metallurgical industry, chemical industry, power industry, machi

4、nery processing, and food processing, and many other areas, basically cannot leave for various heating furnace, heat treatment furnace, reactor and boiler temperature control. However, with the regular operation method, it cant satisfy the requirements for high performance. Using single chip microco

5、mputer to control the operation of them is not only possesses the advantages of convenient control, flexibility and simple, but also can greatly improve the technical index of the measured temperature, thus can greatly improve the quality and quantity of the product. Therefore, the single-chip compu

6、ter control of the temperature problem is an industrial production control problems often encountered.The system implements a remote display system temperature,based on STC89C52 microcontroller design and development platform,using DS18B20 temperature sensor chip to complete the collection of temper

7、ature, coordinate the MAX3232 chip communication interface to finishing remote transmission of temperature (you can also use 232 to 485 to increase the transmission distance), employing a simple communication agreement to increase transmission reliability and to achieve alarm buzzer high-low tempera

8、ture, alarm buttons adjust the temperature available. Finally, complete the 12864 LCD display. Key words:MCU;DS18B20;MAX3232;12864LCD display第1章 绪论11.1 温度采集部分11.2 远程传输部分11.3 显示部分1第2章 系统方案设计32.1 方案设计32.2 方案论证42.3 方案具体实现流程4第3章 系统详细设计73.1 电源73.2 复位电路83.3 时钟电路83.4 ISP下载电路93.5 报警部分103.5.1 硬件电路设计103.5.2 软

9、件设计113.6 温度采集部分123.6.1 DS18B20温度传感器123.6.2 电路原理图143.6.3 软件设计143.7 串行通信模块193.7.1简述193.7.2 硬件电路设计223.7.3 软件设计233.8 显示模块263.8.1 LCD1602的基础知识263.8.2 硬件电路设计26第4章 仿真与实现314.1 软件编程环境314.1.1 Keil C51开发系统基本知识314.2 仿真环境324.2.1 Protues软件介绍324.2.2 仿真结果324.3 实物展示33总 结36致 谢37参考文献38第1章 绪论单片机已经在测控领域中获得了广泛的应用,它除了可以测量

10、电信号以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用于很多领域。本次设计,核心可以归结为三个部分,即温度采集部分、远程传输部分和显示部分。1.1 温度采集部分单片机的接口信号时数字信号,要想用单片机获取温度这类非电信号的信息,毫无疑问,必须使用温度传感器。温度传感器的作用是将温度信息转换为电流或电压输出,如果转换后的电流或电压输出时模拟信号,那么还必须进行A/D转换,以满足单片机的需要。该模块采用美国达拉斯半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并可根据实际要求通过简单的编程实

11、现9-12位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从采用I2C总线读数方式,接线方便。并且从DS18B20读出的信息或写入DS18B20的信息数据只要有一根接口线(单线接口)读写,而温度转变的功率起源于数据总线的发送端,其数据总线自身也能够向与其所连接的DS18B20供电,而不须要外部提供电源。因此采用DS18B20可使系统的整体应用结构更加趋于简单化。它在测量温度精度、时间转换、距离传输、显示屏分辨率等方面相比较于DS1820有了巨大的改善,让用户使用起来更加方便,也收到了令人意想不到的效果。1.2 远程传输部分串行通信与并行通信相比,虽然速度

12、较慢,但传输距离长,而且使用的数据线少,节约通信成本,因此常应用于需要长距离通信而又对速度要求不高的场合,非常适合使用在本设计中。如果连个51单片机系统之间的距离很短,可以通过将它们自带串口直接相连的方法实现双机通信,连接时注意要将一方的TxD和另一方的RxD引脚连接。RS-485标准是由两个行业协会于1983年共同制订合开发的,即EIA电子工业协会和TIA通讯工业协会。EIA开始时在它所有的标准前加上“RS”前缀。如今EIA-TIA已经开始正式启用“EIA/TIA”替代“RS”以此用来明确其根本来源。修改后为其命名TIA/EIA-485-A。但是人们仍然习惯的称它为RS-485。RS-485

13、是由RS-422发展衍变而来的。这两者在工业应用领域中是取得最成功的案例。但是RS-422是一个差分标准模式,为了弥补RS232的诸多不足而发展衍变来的,它改善了RS-232通讯传输距离极短和工作效率低的缺点,RS-422设置了一个平衡双向通信接口,将数据传输速度提高到10Mbps,将传输速率低于1Mbps时传输距离加长到3566英尺,而且可以在单条平衡线上联接多个数据接收器。 RS-485是在RS-422的基础之上提出来的,为了拓展其应用范围与提高其通信能力,RS-485增加了多模块、双向通讯能力,换句话说就是可以让多个发送器联接到同一根数据总线上,与此同时,RS-485还提高了发送器的驱动

14、系统应用能力与改善了通讯间断冲突的保护性能,利用差分传输的特点拓展数据总线的应用范围。RS-485基本上算是符合大多数的RS-422要求规格。但是,与此相反就难以实现。能够实现RS-485电平转换的芯片有很多,本设计选用常用的Maxim公司的MAX3232集成芯片。MAX3232是一款可以实现EIA-232接口的低功耗电平转换芯片,它包含两路收发器,数据传输速率可保证为250kbps,具有强静电保护能力。1.3 显示部分在单片机系统中应用LCD液晶显示器作为输出器件特点如下所示:显示质量好:因为LCD液晶显示在某一点收到信号后就会始终保持当前色彩与亮度,固定发光,且不同阴极射线管显示器(CRT

15、)这样需要持续刷新新的亮点。所以,LCD液晶显示器显示质量高并且不会出现闪烁情况。字接口:LCD液晶显示器基本上都是数字模式的,与单片机系统相连的接口不仅简单可靠,而且可操作性强。 体积较小、重量较轻:LCD液晶显示器是通过显示屏上的正负电极来控制液晶分子的状态以达到显示的目的,它在重量上较相同面积的传统型显示器而言要轻的多。功耗低:具体来说,LCD液晶显示器的功率消耗主要损耗在其内部的正负电极与驱动IC上,所以耗电量较其它显示器而言要少得多。本次设计使用的LCD1 602液晶显示模块,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。第2章

16、系统方案设计2.1 方案设计方案一:该方案由单片机、模拟温度传感器AD590、运算放大器、AD转换器、LCD显示电路、电平转换模块、报警器模块组成。本方案使用模拟温度传感器AD590当作测量温度元器件。传感器把测量到的温度变换转变成电流变化,然后通过模拟电路将其转变成电压变化,接着采用运算放大器将变化的信号来进行适度的放大,最后通过数模转换器把模拟信号转变为数字信号,传给温度采集部分的单片机,然后通过串口发送给显示部分的单片机。单片机将温度值进行处理之后用LCD显示 ,当温度值超过设置值时,系统开始报警。方案一温度测量系统方案框图如图2-1所示。图2-1 方案一温度测量系统方案框图方案二:该方

17、案使用了AT89S52单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,温度采集部分通过访问DS18B20得到温度值,将温度值由串口经MAX3232传入显示部分,为提高传输质量,这里使用了简单的握手校验协议,显示部分通过按键模块来对常温进行设置,显示电路使用 LCD1602模块,使用有源蜂鸣器当作报警模块。测温系统框图如图2-2所示。 图 2-2 测温系统框图2.2 方案论证方案论证如下所示:方案一:通过模拟温度传感器而转换得到的结果,须要由运算放大器与AD转换器来传送给中央处理器。虽然它的控制十分简单,但是其电路较为复杂。因为采用了许多分立元件与模数转换器件,所以,出错率比较

18、高,测量得到的结果不那么准确。于是本方案便无可取性。方案二:利用智能温度传感器DS18B20精度极高,电路简单易懂的特点,仅仅须要模拟DS18B20的读写顺序,根据DS18B20的协议来读取转变的温度。因此本方案的可取性较高。 由此可见,方案二的硬件电路设计更加简单,程序设计较为复杂一些,使用开发工具KEIL用C语言对此系统进行程序设计,可以达到了预期的效果。显而易见,此方案完成要有可行性,体现了技术的先进性,经济上也没有问题。综上所述,本课题采用方案二对系统进行设计。2.3 方案具体实现流程在确立了方案二为具体实行方案后,接下来将是主程序的处理流程。本设计中,分为温度采集部分与显示部分,这两

19、部分通过串口通信又彼此独立运行。温度采集部分以一片AT89S52单片机为核心,依靠DS18B20为温度传感器,测出温度采集部分所在位置的温度,然后通过单片机串口发送数据,通信部分用一块MAX3232芯片为电平转换芯片,连接DB-9接线器,有效提高了发送距离,通过串口连接线通向显示部分。温度采集部分处理流程如图2-3所示。显示部分的核心部件同样是一片AT89S52单片机,同样用一块MAX3232电平转换芯片和DB-9连接器接收数据,为提高通信的准确率,通信时满足简单的握手协议,并在收到数据后进行数据校验。如增加传输距离,用232转485转换器。用LCD1602液晶屏作为现实设备,将接收到的温度显

20、示,显示部分还具有报警温度,当温度低于低温报警温度或高于高温报警温度时,蜂鸣器会发出报警声音,并且提供了低温报警和高温报警温度的设置,可以通过按键实现,显示部分处理流程如图2-4所示。图 2-3 温度采集部分处理流程图图 2-3 温度采集部分处理流程图 图2-4 显示部分处理流程图第3章 系统详细设计3.1 电源电压方面:AT89S52的工作电压范围为3.5v5.5v,usb可以提供5v的稳压直流电,从电压上可以满足供电要求。功率方面:主板上单个USB口的最大供电电流是400-500毫安, 由400ma计算:5v*0.4a=2W,故外加实验板的满载功率应不超过2W。本设计中,温度采集部分的主要

21、组件为AT89S52一片,MAX3232一片,DS18B20一片。显示部分主要组件为AT89S52一片,MAX3232一片,LCD1602液晶显示器一个。各组件功耗如表3-1 表 3-1 各组件功耗表组件名称功耗AT89S52单片机约0.025WLCD1602约0.01WMAX3232约0.0015WDS18B20约0.0075W由此可知,不管是温度采集部分还是温度显示部分,其功率都远远小于2W。因此,本设计采用USB供电的方式是可行的。另外为了提供更加稳定的直流电,需要电容来滤波。大电容滤低频,小电容滤高频具体电路如图3-1所示。 图3-1 电源部分原理图3.2 复位电路许多单片机系统,在运

22、行过程中,会出现“死机”、“程序走飞”等现象,这时候,复位电路的作用就显得尤其重要。单片机的复位方法有:手动按钮复位与上电复位。本设计采用手动按钮复位。手动按钮复位须要人为的在复位输入端RST上添加高电平。通常采用的方法是在RST端与正电源Vcc之间接入一个按钮。当人为的按下按钮开关时,则Vcc的+5V电平便会直接添加到RST端。手动按钮复位电路图如图3-2所示。在按钮保持接通之前有着数十毫秒的时间空隙,因此,能够完全满足复位的时间要求。单片机复位电路要求有一个持续时间,加上电容可以利用其两端电压不能突变的特性,使复位电路电平维持一定时间,使单片机复位。单片机复位电平在其手册里可以看到,另外这

23、个电容还可以去除一些杂波的干扰,防止单片机被错误复位。电容通常取 10UF 或 22UF ,铝电解电容即可。下拉电阻的作用实际上是吸收电流,有时候接口会有多个状态,比如高电平、低电平和高阻,甚至还有不确定的状态,这时候就需要使用下拉电阻,使得我们能快速达到我们需要的状态。图3-2 复位电路电路图3.3 时钟电路51单片机的时钟信号通常用两种电路形式得到:内部时钟和外部时钟。外部时钟是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。在引脚XTAL1与XTAL2外接晶体振荡器和陶瓷谐振器,由此就形成了内部时钟。因为单片机的内部具有一个高增益反相放大器,所以当外接

24、晶体振荡器后,就形成了自激振荡器而且产生振荡时钟脉冲。本设计采用内部振荡方式,电路如图3-3所示。图3-3中,电容器Cl,C2起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的值为12MHz。通过内部振荡方式所得到的时钟信号较为稳定,实际电路中使用较多。 图 3-3 时钟电路电路图3.4 ISP下载电路ISP(in-system programming)其实就是在线编程,以往单片机下载程序都需要烧写器之类的东东,并且需要把单片机从电路板上拔下来烧写,烧好再插上,很麻烦。ISP功能可以通过非常简单廉价的下载线直接在电路板上给单片机下载程序或者擦除程序,可以在线调试,免去插来插

25、去的麻烦。51的S系列,就有ISP功能。ISP接口连线如图3-4所示。 图 3-4 ISP连线图这次我们购买郑州金聚宝电子科技有限公司的USBASP/USBISP下载器,这款下载器支持ATMEL MEGA系列 AT89S51/52系列 ISP下载。使用这款下载器,首先需要在PC端安装驱动。然后用所提供的下载线将USBASP下载器与开发板ISP口相连,注意:计算机的USB口提供5V电源到您的开发板上,但最大输出电流不得超过0.5A。启动下载程序,将出现如图3-5程序运行界面。电路板成功连接上PC后,只需调入烧写程序,然后点击“自动”即可。软件提示烧写成功则烧写已经完成。图3-5 ISP下载软件运

26、行界面3.5 报警部分3.5.1 硬件电路设计本系统采用的蜂鸣器是有源式的,通过VCC提供电压。其输入的端口连接P3.4口,通过I/O口来控制蜂鸣器的鸣叫与否。满足报警条件时,给P3.4口输出一定频率的脉冲,则蜂鸣器鸣叫。否则P3.4口保持低电平,蜂鸣器不鸣叫。电路图如图3-6所示。图 3-6 蜂鸣器电路3.5.2 软件设计要控制蜂鸣器的频率,这里需要用到延时程序,延时程序在往后的设计中也会出现,在这里,先附上本系统中用到的两个延时程序,本系统采用的晶振为12M。void delay(unsigned int z) / 延时约为z*10 us while(z-) ;void delayms(u

27、nsigned int t) /延时约为t ms unsigned int i; while(t-) for(i=0;i0;i-) DQ=0; /拉低总线 DQ=dat&0x01; delay(5); /整个写时隙不低于60us DQ=1; dat=1; 表3-4 RAM的操作命令命令类型命令字节功能说明Write Scratchpad(写暂存器)4EH此命令写暂存器中的地址2-地址4的3个字节(TH、TL和配置寄存器)在发起复位脉冲之前,3个字节都必须要写Read Scratchpad(写暂存器)BEH此命令读取暂存器内容,从字节0一直读取到字节8(第9个字节)。主机可以随时发起复位脉冲已停

28、止此操作Copy Scratchpad(复制暂存器)48H这个命令把暂存器中的内容复制到E2RAM,借此把温度告警的触发字节存到非易失性内存中。一旦在这个命令后,主机发生读时隙,那么只要期间再次进行复制便会输出0,当复制完成之后,再输出1Convert T(温度转换)44H这个命令开始执行温度转变操作,如果执行完此命令后,主机仍然发生读时隙,那么只要期间再次进行转换温度就能够输出0,转换完成后,再输出1Recall E2(重调E2存储器)B8H将存储在E2RAM中的告警温度警告触发值和配置寄存器值重新拷贝到暂存器中。此重掉操作在DS18B20家电时自动产生Read Power Supply(读

29、取供电方式)B4H主机发起此命令后的每个读数据实习内,DS18B20会发信号通知它的供电方式:0为寄生电源,1为外部电源。 DS18B20读时隙。当主机从DS18B20读数据时,把数据线从高电平拉至低电平,保持至少1us,产生读时隙。DS18B20在输出下降沿产生15us后,数据有效,在读时隙结束时,DQ将通过外部上拉电阻拉回至高电平,所有读时隙必须保持最短60ms,各读时隙间鼻息保持最短1us的恢复时间。具体代码如下:unsigned char ReadOneChar(void) /读一个字节 unsigned char i=0; unsigned char dat=0; for(i=8;i

30、0;i-) DQ=0; /给脉冲信号 保持低至少1us dat=1; DQ=1; /给脉冲信号 if(DQ) dat|=0x80; delay(5); /读时隙不低于60us return(dat);读取温度读取后温度值存在readdata0和readdata1中,通过串口可把两个字节发送出去具体代码如下:void ReadTemperature(void) /读取温度 Init_DS18B20(); delayms(1); WriteOneChar(0xCC); /跳过读序列号的操作 WriteOneChar(0x44); /启动温度转换 Init_DS18B20(); delayms(1)

31、; WriteOneChar(0xCC); /跳过读序列号的操作 WriteOneChar(0xBE);/读取温度寄存器等(共可读9个 寄存器),前两个就是温度 readdata0=ReadOneChar(); /读取温度值低8位 readdata1=ReadOneChar(); /读取温度值的高8位读取后可以利用前面的内容推算出温度计算的方法,计算出的温度转换成字符便于显示,这部分内容放在从机中。具体代码如下:float Tempprocess() unsigned int t; float tt,tem; unsigned char temp; if(readdata1&0x80)!=0) word13=-; t=readdata1; t=4; word14=t/100+48; word15=(t/10)%10)+48; word16=t%10+48; temp=readdata0; temp=temp-1; temp=temp; temp=temp&0x0f; tt=temp*0.0625; tem=t+tt; word17=.; word18=(unsigned char)(t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号