基于STC89C52RC40单片机的温度传感控制系统.doc

上传人:文库蛋蛋多 文档编号:4144874 上传时间:2023-04-07 格式:DOC 页数:19 大小:2.08MB
返回 下载 相关 举报
基于STC89C52RC40单片机的温度传感控制系统.doc_第1页
第1页 / 共19页
基于STC89C52RC40单片机的温度传感控制系统.doc_第2页
第2页 / 共19页
基于STC89C52RC40单片机的温度传感控制系统.doc_第3页
第3页 / 共19页
基于STC89C52RC40单片机的温度传感控制系统.doc_第4页
第4页 / 共19页
基于STC89C52RC40单片机的温度传感控制系统.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于STC89C52RC40单片机的温度传感控制系统.doc》由会员分享,可在线阅读,更多相关《基于STC89C52RC40单片机的温度传感控制系统.doc(19页珍藏版)》请在三一办公上搜索。

1、 电子系统设计实训报告指导教师 学生姓名 学 号 专 业 电子信息科学与技术教学单位 物理与电子信息学院 完成时间 2013年11月16日目 录一、 设计内容2(一)设计要求2(二)设计目标2二、方案设计2(一)设计思路2(二)设计方框图3三、系统硬件设计3(一) 最小系统模块3(二) 温度采集模块8(三)报警模块10(四)显示模块11(五)键盘模块12(六)电源模块14(七)系统总电路图14四、硬件电路的制作16(一)焊接步骤16(二)焊接具体实施过程16(三)硬件电路制作结果 16五、设计总结18参考文献18基于STC89C52RC40单片机的温度传感控制系统摘要 随着微处理器和大规模集成

2、电路的发展,及其在测试控制技术方面的广泛应用,仪器设备的智能化已成为自动化技术发展方向,数据采集与温度检测的自动化将取代传统的方法。本设计采用STC89C52RG40型号的单片机,数字温度传感器采用美国DALASS公司的1Wire器件DS18B20,即单总线器件DS18B20,与单片机组成一个测温系统,当系统上电时,温度传感器就会读出当前环境的温度,并在LED数码显示管上显示出当前的温度,该测温系统的测温范围为-40110,按此要求设计硬件和软件以实现这一功能。关键词:STC89C52RG40单片机 温度传感器 温度采集 LED显示 一、 设计内容(一)设计要求充分利用网络资料,搜集资料,设计

3、制作由51单片机为控制核心的实用系统硬件电路,完成环境温度采集、显示、设置、报警、执行等功能。(二)设计目标本文设计是以单片机为核心,实现温度实时测控和显示。确定电路中的一些主要参数,了解温度控制电路的结构,工作原理,对该控制电路性能进行测试。硬件部分设计:以STC89C52RC40单片机作为处理器来处理数据,DS18B20温度传感器进行温度采集,八段数码管作为显示模块,利用键盘完成对温度测控。本次设计采用模块化思想,主要有五个大的模块:主控制程序,温度显示子程序,读温度子程序,温度转换子程序,计算温度子程序。二、方案设计(一)设计思路方案一:本设计是用来测控温度的,可以利用热敏电阻的感温效应

4、,将被测温度变化的模拟信号,电压或电流的采集过来,首先进行放大和滤波后,再通过A/D转换,将得到的数字量送往单片机中去处理,用数码管将被测得的温度值显示出来。但是这种电路的设计需要用到放大滤波电路,A/D转换电路,感温电路等一系列模拟电路,设计起来较麻烦。方案二:本设计采用单片机做处理器,可以考虑使用温度传感器,采用由达拉斯公司研制的DS18B20型温度传感器,此传感器可以将被测的温度直接读取出来,并进行转换,这样就很容易满足设计要求。从上面的两种方案,可以很容易看出来,虽然方案二软件部分设计复杂点,但是电路比较简单且精度高,故采用方案二。(二)设计方框图据设计的需求,分析单片机的工作原理,可

5、以大体得出来温度控制电路设计的总体方框图如图1-1所示,主处理器采用STC89C52RC40单片机,温度采集部分采用DS18B20型温度传感器,用4位LED显示数码管作为显示部分,用来将温度显示出来。系统硬件电路部分由五大模块组成:温度采集模块、温度显示模块、设置模块、报警模块和单片机最小系统模块。单片机最小系统设置模块显示模块采集模块报警模块图1-1 总体方框图三、系统硬件设计(一)最小系统模块1. STC89C52RC40单片机结构介绍STC89C52RC40单片机是一种8位微控制器,特点是低功耗、有高性能CMOS,同时内置8K字节可编程Flash存储器。芯片内拥有十分灵巧的8位微处理器和

6、在系统可编程Flash,使得STC89C52RC40单片机提供为许多较灵活、十分有效的解决方案,主要在工农业控制系统中。STC89C52RC40的标准功能如下:8k字节Flash,256字节RAM,32位I/O接口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量的中断结构,全双工串行口。另外,STC89C52RC40可降至0Hz静态逻辑操作,支持2种工作软件,用来选择节电模式。当工作在空闲模式下,微处理器就会停止工作,允许随机存储器、定时器/计数器、串口、中断继续工作。在掉电的时候,随机存储器中的内容会被保存起来,振荡器被冻结,单片机停止一切内外部工作,直到下一个中断或硬件

7、复位为止。最高运作频率35Mhz,6T/12T可选。(1) 引脚结构,见图1-2。图1-2 单片机引脚结构(2)内部结构,见图1-3。时钟电路ROM EPROM Flash 4KBRAM 128BSFR 21个定时器计数器CPU总线控制中断系统5个中断源2个优先级串行口全双工1个4个并行口VssVcc P0 P1 P2 P3RSTEA ALE PSENXTAL1XTAL2图1-3 内部结构2.STC89C52RC40单片机引脚介绍RST:复位输入,在高电平状态时有效。当单片机有脉冲信号时,在这个引脚加上持续时间超过2个机器周期的高电平状态时,就可以完成复位操作。一般在正常运行状态时,此引脚应该

8、是低电平状态。PSEN:片外程序存储器的读选通信号。当单片机在读片外程序存储器时,这个引脚的读片外部程序存储器选通信号应该是负跳沿脉冲。此引脚接外部程序存储的OE端时,访问外部RAM,PSEN信号是处在无效状态。EA/VPP:为访问外部程序存储器允许控制端。当EA的引脚接入低电平时,对程序存储器的操作,只能是读取外部程序存储器中的数据,所寻地址的范围是为0000H到FFFFH。如果需要执行内部程序指令,EA应该接入高电平。 P0口:8位,漏极开路的双向I/O口。当89C52扩展外部存储器及I/O接口芯片时,P0口作为地址总线及数据总线的分时复用端口。P0口也可以作为通用的I/O口使用,但需加上

9、拉电阻,这时为准双向口。当P0口用来做普通的I/O接口输入时,应该先向该端口的输出锁存器写1。P0口可以用来驱动8个LS型的TTL负载。P1口:8位,准双向的输入输出接口,它的内部中有上拉电阻。P1口是专门为用户使用的准双向I/O口,当用来做普通的I/O口输入时,应该首先向端口的输出锁存器写入1。P1口可以用来驱动4个LS型的TTL负载。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表1-1所示。当单片机进行Flash固化编程时,P1口同时接收低8位地址。P2口:8位,准双向的输入输出接口,它的内部中有上

10、拉电阻。当89C52扩展外部存储器及I/O接口时,P2口可输出高8位地址。P2口也可作为普通的I/O口使用,当用来做普通的I/O口输入时,应该首先向端口的输出锁存器写入1。P2口也可以用来驱动4个LS型的TTL负载。表1-1 P1口功能引脚号第二功能说明P1.0T2定时器计速器T2的外部计数输入,时钟输出P1.1T2EX定时器计速器T2的捕捉重载触发信号和方向控制P1.5MOSI在系统编程用P1.6MISO在系统编程用P1.7SCK在系统编程用P3口:8位,准双向的输入输出接口,它的内部中也有上拉电阻。P3口可以用来做为常用的I/O口,当作为通用的I/O口输入时,应该首先向端口的输出锁存器写入

11、1。P3口也可以用来驱动4个LS型的TTL负载。P3口还能向用户提供一些第二功能。P3口也可以用来作为STC89C52 RC40的一些特殊功能的接口,如下表1-2所示。当单片机进行Flash固化编程时,P3口同时也接收一些外部控制信号4。表1-2 P3口功能引脚号第二功能说明P3.0RXD串行数据输入口P3.1TXD串行数据输出口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0定时器0外部计数输入P3.5T1定时器1外部计数输入P3.6WR外部数据存储器写选通输出P3.7RD外部数据存储器读选通输出ALE/PROG:在芯片访问外部存储器时,有时候需要对地址或者数据进行所

12、存操作,该引脚的功能正是与锁存相对应,在软件编程方面也可以利用该功能进行便捷的操作。当单片机进行Flash固化编程时,此引脚对于输入编程脉冲有作用。时钟引脚XTAL1:反向振荡放大器的输入XTAL2:来自反向振荡器的输出如图1-4所示,STC89C52 RC40单片机有一个反相放大器,用来构成内部振荡器,一般会选石英晶体振荡器作为外接振荡源。此电路在加电过后会在XTAL2引脚上产生一个正弦波时钟信号,其振荡频率主要由外接的石英晶振的频率决定。电路中的两个电容C1、C2的作用有两个:一是用来帮助振荡器起振,二是用来微调晶体振荡器的频率。电容C1、C2的典型值为30pF。图1-4 自激振荡器原理图

13、定时器0和定时器1在STC89C52RC40单片机中,定时器0和定时器1的定时方式与89C51一样。定时器2:是一个自动恢复初始值的18位定时/计数器,既能做定时器,又可以做计数器。定时器2有2个8位寄存器:TH2和TL2。TL2为常数缓冲器,当TL2计数发生溢出时,在溢出标志位TF2置“1”的同时,自动将TH2的初始值送到TL2中,使得TL2得以从初始值处重新计数。中断STC89C52RC40有5个中断源:两个外部中断(INT0和INT1),两个定时中断和一个串行口中断。如果外部中断请求0时,请求信号由引脚INT0输入,IE0为它的中断请求标志位。如果外部中断请求1,请求信号引脚由INT1输

14、入,IE1为它的中断请求标志位。定时器计数器T0计数溢出中断请求,中断请求标志位为TF0。定时器计数器T1计数溢出中断请求,中断请求标志位为TF1。串行口中断请求是用来发送中断或接受中断,标志位为TI或RI。上述的中断请求标志位分别由特殊功能寄存器TCON和SCON相应的位锁存。 VCC:接+5V电源GND:接地(二) 温度采集模块1.功能介绍DS18B20这款型号的温度传感器是由DALLAS半导体公司研制出来的,它是一种在旧的结构基础上改进而来的智能温度传感器,传统的温度传感器是由热敏电阻作为主要元件的器件,改进后的传感器能够直接读出被测物体的温度,并且在实际的的操作中可通过软件编程来实现其

15、他相对复杂的功能。DS18B20提供9位温度读数,用来显示器件的温度数值。特性:与单片机相互通讯时只要一根接口线就行了,实现双工通讯功能用来测量温度的范围是-55+125,分辨率为0.5 几个DS18B20可以挂在一条的总线上,但是数量不能超过8个工作电源35V/DC 在测量温度时,不要任何多余的元件,直接测出温度可以一次读出9位温度数字值 把温度转化成为数字量,只需要1秒左右的时间用户可以自己设置温度上下限的告警值2. 内部存储器介绍图1-5的方框图表示DS18B20的内部结构:1)64位激光lasered ROM;2)温度灵敏元件;3)非易失性温度告警触发器TH和TL。64位 ROM和单线

16、接口存储器与控制逻辑高速缓存高温触发器TH配置寄存器低温触发器TL温度传感器8位CRC发生器CVdd图1-5 DS18B20内部结构如果一根总线上有多个DS18B20器件,那么可以只选出一个DS18B20指定,还可以给连接在总线上的处理器指出存在多少个器件及其类型。在接单个总线的时候,ROM操作在未开始之前,还不可以使用器件内部的操作系统,处理器首先必须提供五种ROM操作命令之一:1)Read ROM(读ROM),2)Match ROM(符合ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳过ROM),或5)Alarm Search(告警搜索)。上述的命令都是对每一个温

17、度传感器器件进行操作,操作的部分是64位激光ROM部分。DS18B20中的温度传感部分是用来测量被测物体的温度,下面用一个测得的12位温度值转化为例:用2个字节16位有符号的二进制补码形式来提供数值,以0.0625/LSB的形式表达出来,S是用来表示符号位,如下表1-3。表1-3 DS18B2012位温度数据bit7bit6bit5bit4bit3bit2bit1bit0LS Byte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MS ByteSSSSS262524表2-4是将12位温度值经过转换后得到的数据,是12位,将转

18、换后得到的数据存储在DS18B20的两个数据存储器中。字节的前面5位是符号位,用来判断测到的温度的正负。如果测到被测物体的温度值大于0,那么高字节前面的5位都是0,只要将测来的数值用来与0.0625相乘,就能得到实际的温度;如果测到被测物体的温度值小于0,那么高字节前面的5位都是1,将测到的数值来取反加1,再与0.0625相乘,就可以能够得到实际的温度。如下表1-4为DS18B20的温度/数据转换关系。表1-4 DS18B20的温度/数据关系TEMPERATUREDIGITAL OUTPUT(BINARY)DIGITAL OUTPUT(HEX)+1250000 0111 1101 000007

19、D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h+00000 0000 0000 00000000 h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h(三)报警模块本设计中的报警装置电路用到了发光二级管、三极管、100

20、欧姆的电阻。将发光二级管的一端接地,另一端接三极管的发射极,三极管的基极通过100欧姆的电阻接在三极管的P3.7引脚,三极管的集电极接+5V的电源。其电路图如图1-6所示。图1-6 报警装置电路图(四)显示模块LED显示数码管一般正向压降的都是1.52V,额定电流为10mA,通过最大的电流为40mA8。根据各种不同管接线的方式,可将数码管分成共阴极型和共阳极型。根据要求,本设计采用4位共阳LED数码管,从P0口输出段码,列扫描用P0口来实现。下图1-7中数码管采用的是8位七段共阳数码管,其中ADP段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码1、2、3、4分别接到单片机

21、的P2.4、P2.5、P2.6、P2.7,由单片机来决定当前该显示的是哪一位。在图中还有8个电阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。1. LED数码管结构图1-7 LED共阳数码管结构2.共阳数码管数字编码共阳数码管数字编码见下表1-5。 表1-5 共阳数码管数字编码显示数字共阳极字段码0C0H1F9H2A4H3B0H499H592H682H7F8H880H990H(五)键盘模块键盘实际是就是很多案件的一种组合,按键的按下与否形成一个高低电平,主控芯片CPU通过高低电平来识别所需信号,进而使程序进行下一步的操作。键盘操作的软硬件的设计有以下几个方面

22、的问题: 对于此设计来说我们要准确的显示我们所要对应的信息,每按一次按键要显示所要显示的信息。这按键是主要用来控制温度而设计的。这样比键盘操作方便,也比较实惠。按键电路采用中断模式。当有按键按下时,系统产生中断,CPU响应中断后,开始计数,即查询键号,通过软件来实现该键号所对应键的功能键盘的大体设置为:K1为温度控制的上下限,K2,K3用来控制温度的加减。如果K1没按下,则温度在上限控制状态,如果K1按下,则温度在下限控制状态。其电路图如下图1-8所示。图1-8 按键电路1. 判键及其接口电路设计键盘之所以能够对系统进行操作是因为键盘的按下会产生一个电平上的变化,电平的变化进而影响整个系统的操

23、作。如果系统规定高电平表示断开,反之低电平则表示闭合,通过芯片对电平的高低状态监测以及软件编写的配合可确认键按下与否。 由于按键是认为操作,对按键的按下与否把我并不是非常准确,有时按键信号的传递也会受到其他操作的影响使得信号之间产生串扰,所以为了确保按键是按下与否的识别情况,我要考虑进行按键防抖的操作,对于防抖操作有两种方式,一种是硬件的防抖,一种是软件的防抖,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是是指当程序在运行中检测到按键是低电平的时候并不急于向下继续运行,而是在软件延时一定程序后对该引脚的电平再次进行检测,看是否还处在低电平状态,若还是,则判断为有按键按下。软件消抖的方法

24、效果可以接受,同时也节省了硬件消抖的开销。此设计中由于按键较少,我选择的是软件消抖。当按键较多时,按键之间容易产生串扰,采用硬件消抖法会更好一点。 按键是要连接到硬件电路上的,其接口设计也有两种方法,独立式按键和矩阵式键盘。独立式按键顾名思义就是每个按键式相互独立,每个按键都通过一根线与主控芯片或者硬件电路中的相对应引脚进行连接。这种方法在操作上更加简便,不需要考虑太多的电路设计因素,对于简单的电路设计适用,任何事物有利有弊,弊端就是该方案对I/O资源比较浪费。对于大的系统来说,往往会导致引脚的不够用。矩阵键盘就是通过行线与列线的交叉点来安排按键的位置,这种方法适用于按键数量较多的电路。通过对

25、行线与列线的分布扫描来判断是哪一个按键按下,根据扫描的结果以及之前准备的组合表来判断具体按下的按键。2. 键盘的工作方式 键盘的工作方式主要有三种:编程扫描、定时扫描和中断扫描。当CPU在忙于各种各样工作时,如何怎样去处理键盘的输入,这主要取决于键盘的工作方式。键盘扫描只是CPU的各种工作任务的一种而已。编程扫描时,CPU会去反复扫描键盘,当用户有命令或者数据输入时,响应键盘的输入请求。这种扫描方式一般当单片机不工作时,才调用子程序,直到CPU返回重新扫描键盘为止。定时扫描工作方式通常是利用单片机内的定时器产生10ms定时中断,单片机响应定时器溢出中断后,对键盘反复进行扫描,如果发现有按键按下

26、时,并且能够识别出这个按下的键,就会执行与之相对应处理程序9。中断扫描在没有按键按下时,如果有键按下时就会产生中断,由中断程序识别并执行。(六)电源模块系统需要多种电源,单片机需要5V电源,运放需要5V,传感器需要12V的线性电源。采用7805,7905和7812组成稳压电路7805,7905固定式三端稳压器可输出5V,7812可对称输出+12v,其电路图如图1-9所示。图1-9电源电路(七)系统总电路图系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主控电路等,系统总电路图如图1-10所示。图1-10系统总电路图图1-10系统总电路图四、系统硬件制作(一)焊接步骤1焊接材料与工

27、具焊接材料:焊锡丝、助焊剂焊接工具:电烙铁及烙铁架,尖嘴钳,斜口钳,镊子,吸锡器,焊锡丝,未组装的数字万用表。2操作安全首先接通电源前要检查工具有无破损,短路等现象,以免发生事故;其次,在焊接过程中要注意电烙铁的正确使用,避免烫伤等事故;再次,在万用表调试中要注意不要损坏元器件,轻安轻放。(二).焊接具体实施过程1焊接步骤及其要求(1)预热:烙铁头成45度角,顶住焊盘和元器件脚,预热给元器件和焊盘加热。时间12s。(2)上锡:将锡线从元器件脚和烙铁接触面处引入。锡线熔化时,掌握进线的速度,当锡散满整个焊板时,拿开锡线。时间12s。(3)拿开锡线:拿开锡线。,烙铁继续放在焊板上,时间12s。(4

28、)拿开烙铁:当焊锡只有轻微的烟雾冒出的时候,拿开。 (5)剪去多余的引线:不要对焊点施加剪切力以外的其他力。(6)检查印制电路板上所有元器件引线的焊点,并修补缺陷。(7)焊点的质量检查:外观检查、拨动检查、通电检查2拆焊操作(1)使用合适的医用空心针头拆焊(2)用吸锡材料拆焊(3)采用吸锡器进行拆焊(三)硬件电路制作结果 图1-11电路板正面图1-12电路板反面五、设计总结目前,国内外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。现如今计算机的高速数据处理能力,和它丰富的利用资源,以及强大的逻辑功能,能够根据自己设计的实际需求进行灵活的资源采集分配,适当的增加或者减少其控制信号

29、,输出的路数,这样就能够合理的设置温度控制的范围与路数,给以后的实际应用提供了可靠的、有力的控制系统解决方案。1本次基于单片机温控电路的温度传感器的设计经过了整体分析和模块化分析、这样两个步骤,实现了温度的显示以及报警显示功能。2在写温度传感器的驱动时一定要处理好时序问题。3本次设计可以说达到了预期的要求,但尚有需要改进的地方。随着温度采集现场的复杂程度加大,如果依然用一个传感器来采集温度,必然反映不了真实的现场情况,这时一个很好的解决办法就是在总线上挂多个传感器,实行多路采集并且还可以加上时钟控制电路,实现实时温度控制。参考文献1 余孟尝数字电子技术基础简明教程(第二版)M北京:高等教育出版社,2000,45-562 常敏,王涵,范红波等51单片机应用程序开发与实践M. 北京:电子工业出版社,2009,235-2523 张培仁,孙占辉,张欣等基于C语言编程 MCS-51单片机原理与应用M北京:清华大学出版社,2002,268-277,296-2994 刘春恰数字温度传感器DS18B20测温的应用J电器时代,2010(10),116-1175 赵福按电子电路设计与实践M山东:山东科学出版社,2001,110-1186 陈金平电子系统设计M北京:国防工业出版社,2007,18-30

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号