基于串口通讯的单片机测温系统设计_第1页
基于串口通讯的单片机测温系统设计_第2页
基于串口通讯的单片机测温系统设计_第3页
基于串口通讯的单片机测温系统设计_第4页
基于串口通讯的单片机测温系统设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

武汉纺织大学机械设计及其自动化学院课程设计〔论文〕说明书论文题目基于串行口收发电路的温度测量单片机系统设计学号1102381062学生姓名景小飞专业班级测控1102班任课老师乔桥总评成绩2023年6月15日摘要随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。本文介绍了数字温度测量及自动控制系统的设计。本文采用单片机来实现对温度的控制。它的主要组成局部有:AT89S51单片机、温度传感器、键盘与显示电路、温度控制电路、串口通讯电路。它可以实时的显示和设定温度,实现对温度的自动控制。通过测试说明,本设计对温度的控制有方便、简单的特点,从而大幅提高了被控温度的技术指标。关键词:单片机温度传感器键盘和显示串口通讯AbstractAsthetechnologyadvancesinindustrialproductioninthetemperatureischargedwithcommonparameters,andtheuseofthosechargedwithSCMtotheparametersofcontrolhasbecomethemainstream.Inthispaper,digitaltemperaturemeasurementandautomaticcontrolsystemdesign.Inthispaper,SCMtoachievethetemperaturecontrol.Itisamajorcomponentof:STC89C52SCM,temperaturesensor,keyboardanddisplaycircuit,temperaturecontrolcircuit.Itcandisplayreal-timeandtemperaturesettings,andthetemperaturecontrol,andserialinterfaceelectriccircuit.Passedthetestsshowthatthedesignofthetemperaturecontrolisconvenientandsimplecharacteristics’,thusgreatlyraisingthetemperaturewaschargedwiththetechnicalindicators.Keywords:MCUTemperaturesensorKeyboardandDemonstrationSerialInterface目录1.设计任务书............................................32.具体设计..............................................42.1方案设计及论证........................................42.2电路设计..............................................52.2.1单片机最小系统....................................52.2.2温度传感电路设计..................................92.2.3温度控制电路设计.................................102.2.4键盘电路设计.....................................112.2.5显示电路设计.....................................132.2.6串口收发电路.....................................143.系统的软件设计........................................183.1系统的主程序设计...................................184.系统的控制.............................................194.1温控电路及报警电路的控制............................204.2LCD显示电路的控制..................................214.3使用说明............................................21设计小结.................................................22参考文献.................................................23附录一:整体电路图.......................................24附录二:程序.............................................251.设计任务书1.设计题目:基于串行口收发电路的温度测量单片机系统设计1.2目的意义:(1)综合运用并稳固所学单片机设计知识;(2)采用编程的方法实现基于串行口收发电路的温度测量单片机系统设计。1.3设计内容:⑴A/D转换电路的制作。①掌握A/D转换电路的制作。②掌握温度采样电路的原理和制作。③掌握将转换的数字信号换算成实际温度值的方法。④掌握相应电路的程序编写⑵单片机串行口收发电路的制作学会单片机与PC机收发电路的制作。掌握MCS-51单片机串行口收发程序的编写要点。(3)根本人机接口设计完成显示接口设计。完成键盘接口设计。设计要求:①按题意要求,画出原理图;②单片机接线图;③按照题目要求设计采集电路;④完成单片机控制程序;⑤成设计说明书〔10页〕;⑥设计上交内容:设计说明书〔包括1、2、3、4、5项〕1.4设计步骤⑴理解并确定设计要求⑵确定整体控制方案⑶编写程序具体设计2.1方案设计及论证由于课题根本要求设计一种数字温度控制系统,测量范围0~100°C,分辨率不低于0.5°C;通过键盘可任意设置温度报警的上限和下限,当温度到达高、低限温点时将发出声或光报警信息的温度测量系统。但通过我们对各种温度测量系统的观察,发现了一些缺乏之处,比方:温度分辨率过大、无时间和日期显示等,这都给人们的使用带来了某些不便。为此设计了一种具有温度测量和万年历显示功能的基于51单片机的温度测量系统。单片机芯片的选择:采用89C2芯片作为硬件核心,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。虽然说采用AT89S52,同样具有89C52的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片屡次拔插,所以不会对芯片造成损坏。但是专用的并口烧写口本钱较高。而采用STC89C52,虽然运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的屡次拔插会对芯片造成一定的损坏。但是可以采用40引脚IC座,可轻松对芯片进行屡次拔插,本钱方面也较低。因而选用STC89C52芯片。显示模块选择:采用8段数码管显示,虽然可视范围十分宽,而且经济实惠,也不需要复杂的驱动程序,但是操作比液晶显示略显繁琐,内容显示也不多,比拟局限。采用液晶12864显示,液晶显示效果出众,可以运用菜单项来方便操作,可显示大量文字,图形,显示多样、详细,清晰可见,操作也比拟简单,但是价格比拟昂贵,体积大。采用液晶1602显示,虽然显示不了文字,但是价格较实惠,比液晶12864的体积小,功能也相差无几,较适合此次作品。因而选用液晶1602显示。时钟芯片的选择:不使用时钟芯片,而直接用STC89C52单片机来实现电子万年历设计。单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。这样就实现了直接用单片机来实现电子万年历设计。因而选择直接使用单片机来实现电子万年历设计。温度传感器选择:DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线〞接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的“DS1820〞体积更小、更经济、更灵活。使您可以充分发挥“一线总线〞的长处。DS18B20、DS1822“一线总线〞数字化温度传感器。由于DS18B20将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,与AD590相比是更新一代的温度传感器,所以温度传感器采用DS18B20。2.2电路设计STC89C52报警电路STC89C52报警电路温度传感温度传感矩阵键盘显示电路矩阵键盘显示电路该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到STC89C52单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器为点阵字符LCD,1602液晶模块。检测范围0摄氏度到100摄氏度。本系统除了显示温度以外还可以设置一个温度值,对所测温度进行监控,当温度高于或低于设定温度时,开始报警并启动相应程序〔温度高于设定温度时,风扇开;当温度低于设定温度时,加热器开〕。单片机最小系统STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。STC单片机引脚说明[12]:图2.1STC89C52管脚图〔1〕VCC:电源电压〔2〕GND:接地〔3〕RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。〔4〕/EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。〔5〕XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。〔6〕XTAL2:来自反向振荡器的输出。〔7〕P0口:P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。作为输出口用时,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。〔8〕P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能吸收或输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。〔9〕P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可吸收或输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。〔10〕P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可吸收或输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。P3口也可作为STC89C521的一些特殊功能口,如表2.1管脚备选功能

P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0记时器0外部输入P3.5T1记时器1外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通表2.1P3特殊功能口P3口同时为闪烁编程和编程校验接收一些控制信号。〔11〕ALE//PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。〔12〕/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。本次设计中使用的引脚为RXD,TXD,P2,P3口根据以上原理,画出单片机主控局部,如图2.2所示。单片机系统单片机系统复位电路晶振电路复位电路晶振电路图2.2单片机最小系统MCS-51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电容通常选择为30pF左右,该电容的大小会影响到振荡器频率的上下、振荡器的稳定性和起振的快速性。晶体的振荡频率为12MHz。把EA脚接高电平,单片机访问片内程序存储器,但在PC值超过0FFFH〔4Kbyte地址范围〕时,将自动转向执行外部程序存储器内的程序。MCS-51的复位是由外部的复位电路来实现。采用最简单的外部按键复位电路。按键自动复位是通过外部复位电路的来实现的.我们选用时钟频率为12MHz,C3取47μf。2.2.2温度传感电路设计DS18B20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值〔9位二进制数,含符号位〕测温范围为-55℃-+125℃,测量分辨率为0.0625℃内含64位经过激光修正的只读存储器ROM适配各种单片机或系统机用户可分别设定各路温度的上、下限内含寄生电源。DS18B20内部结构主要由四局部组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图2..所示。图2.3DS18B20管脚图在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻.我们采用的是第一种连接方法,如图2.4所示:把DS18B20的数据线与单片机的13管脚连接,再加上上拉电阻。图2.4温度传感器电路DS18B20有六条控制命令,如表2.2所示:指

令约定代码操

明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU表2.2DS18B20控制命令CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。温度控制电路设计图2.5温度控制电路实际电路如图2.5所示,通过键盘设定温度的上下限。把实际测量的温度和设定的上下限进行比拟,来控制P0.0、P0.1、P0.7端口的上下电平。把P0.0、P0.1、P0.7端口分别与三极管的基极连接来控制温度和报警。当测量的温度超过了设定的最高温度,P2.2由高电平变成低电平,就相当于基极输入为“0〞,这时三极管导通推动小风扇和控制电路工作,反之,当基极输入为“1〞时,三极管不导通,报警器和控制电路都不工作。只要控制单片机的P0.0、P0.1、P0.7口的上下电平就可以控制模拟电路的工作。键盘电路设计如图2.7所示,用STC89C52的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;液晶显示器上显示每个按键的“0-F〞序号。对应的按键的序号排列如图2.6所示:图2.6按键的序号排列图图2.7中微处理单元是STC89C52单片机,X1和X2接12M的两脚晶振,接两个30PF的起振电容,J1是上拉电阻.单片机的P1口8位引脚与行列式键盘输出脚相连,控制和检测行列式键盘的输入.行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,有键按下时,行线的电平状态将由与此行线相连接的列线的电平决定.键盘输入的信息主要进程是:1CPU判断是否有键按下.2确定是按下的是哪个键.3把此键所代表的信息翻译成计算机可以识别的代码或者其他的特征符号.图2.7键盘硬件电路图显示电路设计液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。根据显示内容和方式的不同可以分为,数显LCD,点阵字符LCD,点阵图形LCD在此设计中我们采用点阵字符LCD,这里采用常用的2行16个字的1602液晶模块。1602采用标准的14脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高,比照度过高时会产生“鬼影〞,使用时可以通过一个10K的电位器调整比照度第4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15~16脚:空脚。与单片机的连接如图2.8所示。图2.8液晶显示电路图串行口收发电路①C51串行通信根本原理串行通信是一种能把二进制数据按位传送的通信,故它所需传输线条数极少,特别适用于远程通信之中。串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的。它的优点是只需一对传输线进行传送信息,因此其本钱低,适用于远距离通信;它的缺点是传送速度低。串行通信有异步通信和同步通信两种根本通信方式。同步通信适用于传送速度高的情况,其硬件复杂。而异步通信应用于传送速度在50到19200波特之间。是比拟常用的传送方式。在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5~8位的数据位,一位奇偶校验位(可省略)和一位停止位四局部组成。在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。②MAX232与RS232▲MAX232芯片简介MAX232芯片是MAXIM公司生产的低功耗、单电源双RS232发送/接收器。适用于各种EIA-232E和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232C输出电平所需±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容。其取值均为1μF/25V·宜选用钽电容并且应尽量靠近芯片。C5为0.1μF的去耦电容。MAX232的引脚T1IN、T2IN、R1OUT、R2OUT为接TTL/CMOS电平的引脚。引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚·因此TTL/CMOS电平的T1IN、T2IN引脚应接MCS-51的串行发送引脚TXD;R1OUT、R2OUT应接MCS-51的串行接收引脚RXD。与之对应的RS-232C电平的T1OUT、T2OUT应接PC机的接收端RD;R1IN、R2IN应接PC机的发送端TD。▲RS232简介RS232是个人计算机上的通信接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。RS-232标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;假设每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于15m以内的通信。同时RS232是点对点〔即只用一对收、发设备〕的通信,因此PC机课直接对一个下位机进行远距离通信。③串行口收发电路如下图,MAX232外围需要4个点解电容C1、C2、C3、C4,是内部电源转换所需电容。其取值均为1uF/25V。应尽量靠近芯片。C5为0.1uF的去耦电容。引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚。在本系统中TTL/CMOS电平的T1IN引脚应接MCS-51的串行发送引脚TXD;R1OUT应接MCS-51的串行接收引脚RXD,与之对应的RS-232C电平的T1OUT应接PC机的接收端RXD,R1IN应接PC机的发送端TXD。因为MAX232具有驱动能力,所以不需要外加驱动电路。④软件设计▲单片机局部MCS-51系列单片机提供全双工串行通信接口RXT、TXD,其内部具有两个相互独立的接收、发送缓冲器SBUF和两个特殊功能存放器PCON、SCON,利用这两个特殊功能存放器来控制串行口的工作方式和波特率,辅以一定的通信协议,可以将缓冲器中的数据、指令发送给上位机。下面这段程序是发送数据,再将接收的数据跟发送出去的数据比拟,假设相同那么进行,不同那么重新发送一次。串行通信是采用工作方式1,波特率是9600b/s,发送数据是中断方式,接送数据是查询方式。定时器Tl选用工作方式2,初值为#0FDH,晶振频率12Hz。ORG0000HSJMPSTARTORG0023H;串行中断人口地址SJMPSTRORG0030H;程序开始START:MOVSP,#60H;设堆栈起始地址MOVTMOD,#20H;选T1定时模式2MOVPCON,#80H;SMOD=1MOVTH1,#0FDH;串行通信的波特率为9600HZSETBTR1;启动定时器T1CLRET1;关定时器T1中断MOVSCON,#50H;串行口方式1工作,允许接收。SETBEA;开总中断SETBES;开串行口中断MOV30H,A;存数据MOVSBUF,A;发送数据SJMP$;等待中断STR:MOVR2,#1AJMPSTR1LOOP:DJNZR2,STR3;两次发送不成功那么放弃MOVA,30H;重新发送数据MOVSBUF,AJNBTI,$STR1:CLRTI;去除T1CLRES;关串行中断允许ACALLDELAYJNBRI,LOOP;50ms后仍没收到PC机的回复那么重新发送MOVA,SBUF;从缓冲器读数据CLRRICJNEA,30H,LOOP;假设数据不同那么重新发送STR3:SETBES;开串行中断允许RETIDELAY:MOVR0,#50DELAY2:MOVR1,#0FAHDELAY1:NOPNOPDJNZR1,DELAY1DJNZR0,DELAY2RETENDPC局部上位机这局部,可以使用超级终端、VB、LABVIEW等软件工具进行串口通信。在此介绍下VB串口通信。在VB中使用MSComm控件。MSComm控件具有功能完善的串口数据发送和接受功能,有两种处理通信的方式,即事件驱动方式和查询方式,事件驱动方式是利用MSComm控件的OnComm事件捕获并处理通信错误事件,是处理串行端口交互作用的一种非常有效的方法;查询方式是通过检查CommEvent属性的值来判断事件和错误。几个重要属性:⑴InputMode确定Input属性的类型,即什么形式读出所收的数据。⑵Rthreshold用于确定收到多少字符才产生OnComm事件。⑶Sthreshold如果在发送缓冲区中的字符数由大于Sthreshold变到小于Sthreshold时,将产生OnComm事件。⑷InBuffercount用以告诉用户,已收到多少字节的数据。⑸Settings以字符串形式设置或返回串口的波特率、奇偶校验位。数据位长度。停止位。⑹InBufferSize和OutBufferSize分别指定接收缓冲区和发送缓冲区的大小。3.系统的软件设计3.1系统的主程序设计主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。流程图如4.1所示。系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。按下4*4键盘上的A键可以设定温度上限,按下B键可以设定温度下限。系统软件设计的总体流程图开始开始系统初始化系统初始化开中断开中断IInt0=0?YYN温度上下限设定N温度上下限设定温度测量温度测量温度测量温度测量显示系统显示系统图3.1系统总体设计流程图4.系统的控制本章对系统的硬件控制进行概述。分别对温度控制电路,报警电路及LCD液晶显示电路进行说明。4.1温控电路及报警电路的控制单片机的P0.0、P0.1、P0.7分别与三极管的基极连接来控制控制温度(图4.1)和报警〔图4.2〕。利用面包板搭了一个PNP9012的偏置电路电路如图3.4。基极输入为“0〞时,这时三极管导通推动报警器和控制电路工作,当基极输入为“1〞时,三极管不导通,报警器和控制电路都不工作。只要控制单片机的P0.0、P0.1、P0.7口的上下电平就可以控制模拟电路的工作。图4.1硬件控制电路图4.2硬件报警电路4.2LCD显示电路的控制把8根数据线和P2口连接,把3根控制线和P2.5、P2.6、P2.7连接。给VCC端加上+5V的电压,GND端接地。VEE端的驱动电压不要过大,要调节滑动变阻器使VEE在0.7伏以下显示器才能工作。4.3使用说明键盘中阿拉伯数字0~9是数据输入键,A键是写上限的功能键,B键是写下限的功能键,C键是取消键,其他的键置空。设计总结单片机技术在各个领域正得到越来越广泛的应用,尤其MCS-51系列单片机,迅速占领了工业测控和自动化工程应用的主要市场,并取得了令人瞩目的成果,展现出了广阔的应用前景。基于单片机的串口温度测量系统,采用STC89C52单片机和DS18B201温度传感器,实现了对环境温度的自动测量和报警,80C52单片机因其指令系统丰富、小巧、低价、灵活易扩展等独特的优点,在所设计的温湿度测量系统中使整个系统的性价比得以大幅度的提高。将80C52单片机成功应用于温度测控系统,所研发产品可靠性和扩充性较强,能广泛应用于粮库、物流仓储、档案馆等对温度要求较高的场所,具有较大的市场推广前景。这次课程设计根本的完成了任务书的要求,实现了温度的控制。通过测试说明系统的设计是正确的,可行的。但是由于设计者的设计经验和知识水平有限,系统还存在许多缺乏和缺陷。通过设计使我对单片机有了更深刻的了解,尤其是让我学会了如何使用一个完全陌生的元件,通过查阅各种资料,对新元件从陌生到熟悉直至灵活应用,这种自学的方法会使我终生受益参考文献[1]胡乾斌等.单片微型计算机原理与应用.武汉:华中科技大学出版社,2006年1月.[2]刘君华.智能传感器系统.西安:西安电子科技大学出版社,1999.[3]沙占友.智能化传感器原理与应用.北京:电子工业出版社,2004.[4]赵负图.传感器集成电路手册.北京:化学工业出版社,2002.[5]张毅刚.MCS-51单片机原理及应用.哈尔滨:哈尔滨工业大学出版社,2004.[6]李玉峰,倪虹霞.MCS-51系列单片机原理与接口技术.北京:人民邮电出版社,2004.[7]林伸茂.8051单片机彻底研究经验篇.北京:人民邮电出版社,2004.[8]沙占友.单片机外围电路设计.北京:电子工业出版社,2003.[9]段峰,段伟,王耀南,段正华.VB串行通信高级编程技巧.现代计算机,2001.附录一附录二#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuchara,b,c,i,j,t,flag,rdata,tdata,temp_data,w1,w2,w3,w4,w5,w6,w7,w8,tempH,tempL;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00,0x39};/*不带小数点的数字和减号*/ucharcodedesk[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};/*带小数点的数字*/unsignedlongdefy,num;sbitLE=P1^0;/*8位数码管所连的锁存器*/sbitend=P1^1;/*数码管所连led*/sbitbeep=P1^5;/*蜂鸣器*/sbitDQ=P3^7;/*ds18b20数据口*/voiddelay(uintz);/*延时函数*/voidinit();/*初始化函数*/voidwritedata(uchartdata);/*写入数据*/intreadata();/*读取数据*/voiddisplay(w8,w7,w6,w5,w4,w3,w2,w1);/*显示函数*/voidread_temp();/*读取温度函数*/intreset();/*ds18b20复位函数*/voidturn();/*2字节温度数据转换到显示函数所需变量*/voidtime();/*定时器中断开启函数*/voidDelay15(ucharn);voidmain(){init();read_temp();time();while(1){if(t==20){t=0;turn();if(num>200000)beep=0;elsebeep=1;display(w8,w7,w6,w5,w4,w3,w2,w1);read_temp();}elsedisplay(w8,w7,w6,w5,w4,w3,w2,w1);}}voiddelay(uintz)/*延时函数*/{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidread_temp()/*ds18b20转换温度函数*/{reset();writedata

温馨提示

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

评论

0/150

提交评论