1、基于单片机的温度控制仪本科毕业设计论文目 次1 绪论温度是表征物体冷热程度的物理量,是工业生产和日常生活中经常测量的物理量,也是人类研究最早测量方法最多的物理量之一。温度对于工业生产的影响是很大的,很重要的,因为在生产中,对温度的要求是很严格的,特别是一些先进的工业生产。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产
2、品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。温度对人类的生活也很重要,如果温度突然改变了,人就会受到很大的影响,人类总是要利用外物降温保暖来保持一定的温度,以便能够健康的生活。因此对温度进行适时的控制对人们的生产和生活具有重要的意义。矚慫润厲钐瘗睞枥庑赖。本设计基于单片机系统的温度传感及温度过程控制研究,是对单片机及温度控制一个很好的学习和提升自身的知识水平的机会。聞創沟燴鐺險爱氇谴净。2 系统的总体设计21 系统基本工作原理本系统设计以单片机STC89C52RC作为核心控制单元,以温度传感器DS1
3、8B20作为温度采集单元。温度传感器DS18B20采集得到的温度数字信号送至单片机STC89C52RC进行处理,单片机STC89C52RC进行运算后得到相应的温度值。此外由按键输入单元输入设定温度至单片机STC89C52RC,单片机STC89C52RC将采集到的温度值与键盘输入的温度设定值进行比较,并根据比较结果做出相应的处理,例如超温报警处理。采集温度和设定温度都可由显示电路显示出来。残骛楼諍锩瀨濟溆塹籟。22 系统总体设计方案本设计在考虑整体方案选取时最主要考虑两个部分,一个是主控制单片机的选取,另一个是温度传感器的选取。2.2.1 主控制单片机选取在本设计的温度控制系统中,选择的核心控制
4、单片机是STC89C52, 该单片机为51系列增强型单片机,包含32个I/O 口,片内含8K flash 程序存储器,便于电擦除和改写操作,而且价格便宜,使用该单片机完全可以完成本设计任务。酽锕极額閉镇桧猪訣锥。2.2.2 温度传感器选取考虑到使用温度传感器,所以很容易想到数字温度传感器DS18B20,此传感器可直接被单片机读取所测温度,进行转换,且DS18B20中还包含用于存储温度上下限值的寄存器,完全满足本设计要求。彈贸摄尔霁毙攬砖卤庑。23 系统总体设计框图温度控制电路设计总体设计方框图如图2-1所示:核心控制单元采用单片机STC89C52RC,温度传感器采用DS18B20,系统中还包括
5、电源电路,键盘输入电路,显示电路等, 此外该系统支持ISP单片机在线烧程。謀荞抟箧飆鐸怼类蒋薔。ISP图2-1总体设计方框图3 系统的硬件设计3.1 主控制单元设计本设计温度控制系统的主控制单片机为STC89C52,其特点如下: 3.1.1 STC89C52单片机的简介STC89系列单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机。本设计选用的单片机型号为:STC89C52RC- 40I-PDIP40, 如图3-1为STC89系列单片机命名规则。厦礴恳蹒骈時盡继價骚。图3-1 STC89系列单片机命名规则所选单片机型号STC89C52RC-
6、40I-PDIP40的特性如下: 工作电压范围:3.8V5V 工作频率范围:040MHz 程序空间大小为: 8K 字节 RAM大小为: 512 字节 32个通用I/O 口P1/P2/P3/P4 具有 EEPROM 功能 具有看门狗功能 3 个 16 位定时器/计数器,即定时器 T0、T1、T2 工作温度范围:-40+85(工业级) 40个引脚的PDIP封装3.1.2 STC89C52单片机的引脚介绍如图3-2所示为STC89C52单片机的引脚图,其引脚介绍如下:图3-2 STC89C52单片机引脚图 VCC(40引脚):电源电压 VSS(20引脚):接地 P0端口(P0.0P0.7,3932引
7、脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。茕桢广鳓鯡选块网羈泪。 P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见表3
8、-1:鹅娅尽損鹌惨歷茏鴛賴。引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)表3-1 定时器计数器功能特性 P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。在访问外部程序存储器和16位地址的外部数据存储器时,P2送出高8位地址;在访问8位地址的外部数据存储器时,P2口引脚上的内容就是专用寄存器(SFR)区中的P2寄存器的内容,在整个访问期间不
9、会改变。籟丛妈羥为贍偾蛏练淨。 P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3口除作为一般I/O口外,还有其他一些复用功能,如表3-2所示:預頌圣鉉儐歲龈讶骅籴。引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)表3-2 P3
10、口的复用功能 RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。渗釤呛俨匀谔鱉调硯錦。 ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可作为外部定时器或时钟使用。铙誅卧泻噦圣骋贶頂廡。 (29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。当单片机从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。擁締凤袜备訊顎轮烂蔷。 /VPP(31
11、引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。贓熱俣阃歲匱阊邺镓騷。 XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。3.1.3 STC89C52单片机的工作模式STC89C52单片机共有3种工作模式,在每种工作模式下,都有超低的功耗: 掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后继续执行原程序 空闲模式:典型功耗 2mA 正常工作模式:典型功耗 4mA7mA 3.1.4 降低单片机对外部的电磁辐射 (EMI) EMI 在电子行业中是需要被考虑的一个重
12、要的要素,通过3种设计方法可以降低单片机STC89C52对外部干扰:坛摶乡囂忏蒌鍥铃氈淚。 禁止ALE 时钟信号输出: 使用汇编语言命令:MOV AUXR, #00000001B; ALEOFF 位置“1”,禁止ALE 时钟输出。蜡變黲癟報伥铉锚鈰赘。 外部时钟频率降一半:如将单片机在ISP 烧录程序时设为双倍速(即6T 模式,每个机器周期6 时钟),则可将单片机外部时钟频率降低一半,有效的降低单片机时钟对外界的辐射買鲷鴯譖昙膚遙闫撷凄。 单片机内部时钟振荡器增益降低一半:在ISP 烧录程序时将OSCDN 设为1/2 gain可以有效的降低单片机时钟高频部分对外界的辐射。綾镝鯛駕櫬鹕踪韦辚糴。
13、32 温度采集单元设计本设计温度控制系统所采用的温度传感器为DS18B20,该传感器是美国DSLLAS半导体公司推出的应用单总线技术的数字式温度传感器,其特点介绍如下:驅踬髏彦浃绥譎饴憂锦。3.2.1 DS18B20总体特性 单总线接口,单引脚通信特性 ROM中存有独立的64位序列号 多支路功能使分散感温应用简化 无需外围器件支持 可用数据线供电;供电电压范围:5.5V13V 温度测量范围:-55 +125 在-10+85温度范围内的测量精度为0.5 可读出9到12位数字信号 在750ms内将温度转换位12位数字信号 用户自定义的非易失性温度警报设置 警告搜索命令识别和温度超限器件寻址(设定温
14、度警告) 应用范围包括:控温系统,工业系统,消费类产品,温度计及热敏系统3.2.2 DS18B20的引脚说明本设计选用的是3引脚TO-92封装形式的DS18B20,其引脚定义如表3-3:表3-3 DS18B20的引脚定义3.2.3 温度传感电路设计数字传感器DS18B20采用5V外接供电,数据引脚DQ接单片机P1.0,并通过4.7K电阻上拉,如图3-3所示:猫虿驢绘燈鮒诛髅貺庑。图3-3 DS18B20原理图33 按键输入单元设计本设计采用的按键电路为独立式按键,独立式按键就是指每个按键相互独立,每个按键都通过一根线与主控制芯片相对应的引脚连接。这种方法在操作上比较容易实现,无需考虑太多的因素
15、,比较适合简单的电路设计。锹籁饗迳琐筆襖鸥娅薔。3.3.1 按键电路工作原路按键电路相对来说还是比较简单的,按键的按下与否形成一个高低电平,主控制芯片通过判断高低电平来识别是否按键。構氽頑黉碩饨荠龈话骛。按键电路采用中断模式,当有按键按下时,系统产生中断,单片机响应中断后,开始查询键号,通过软件来实现该键号所对应的按键的功能。輒峄陽檉簖疖網儂號泶。3.3.2 按键原理图本设计的按键实现原理图如图3-5:图3-5 按键电路原理图34 显示电路单元设计本设计采用的显示电路为字符型LCD1602液晶显示模块。3.4.1 LCD1602模块的特点字符型液晶显示模块的基本特点如下: 液晶显示屏是以若干个
16、5*8或5*11点阵块组成的显示字符群,每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。尧侧閆繭絳闕绚勵蜆贅。 主控制驱动电路为HD44780(HITACHI)。 具有字符发生器ROM,可显示192种字符。 具有64个字节的自定义字符RAM,可自定义8个5*8点阵字符或4个5*11点阵字符。 具有80个字节的RAM。 单+5V电源供电。 模块结构紧凑,轻巧,装配容易。 低功耗、长寿命、高可靠性。3.4.2 LCD1602模块的引脚定义LCD1602的引脚定义如表3-4:表3-4 LCD1602引脚定义3.4.3 显示电路单元原理图显示电路单元的原理图设计如图3-6:图3-6 LCD16
17、02 原理图、4 系统的软件设计41 系统软件设计步骤系统的软件设计的一般分为两步:第一步是根据系统的要求设计系统的流程图,包括系统总体流程图和各个子模块的流程图,这样会使程序的编写更具方向性;第二步:参照已经设计好的流程图编写相应的程序。识饒鎂錕缢灩筧嚌俨淒。42系统设计流程本设计的系统软件采用汇编语言编写,用Keil实现软件的编写及编译工作。Keil是美国Keil Software公司出品的,兼容51系列单片机C语言及汇编语言软件开发系统,易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些
18、部分组合在一起,且还具有较高的目标文件生成率。凍鈹鋨劳臘锴痫婦胫籴。4.2.1 系统设计总流程图将DS18B20温度传感器所采集到的温度值实时送到单片机中,再由单片机将温度值送到LCD模块上实时显示,并根据预置的温度上下限,当实时温度超出温度上下限时,显示报警信号。系统设计总流程图如图4-1:恥諤銪灭萦欢煬鞏鹜錦。LCD显示图4-1 系统设计总流程图4.2.2 DS18B20温度测量子程序流程图单片机对DS18B20的访问流程是:先初始化,再进行ROM 操作命令,最后才能对存储器操作和数据操作。单片机控制DS18B20完成温度转换这一过程, 根据DS18B20 的通讯协议,须经三个步骤:每一次
19、读写之前都要对DS18B20 进行复位,复位成功后发送一条ROM 指令,最后发送RAM 指令,这样才能对DS18B20 进预定的操作。DS18B20 温度传感器接口模块,分为初始化子程序,写入子程序及读取子程序,转换子程序等部分组成。温度采集子程序和温度转换子程序流程图如图4-2:鯊腎鑰诎褳鉀沩懼統庫。返回硕癘鄴颃诌攆檸攜驤蔹。图4-2 温度采集子程序和温度转换子程序流程图4.2.3 显示子程序流程图在向LCD写数据之前,首先应该对LCD初始化,然后写入要显示内容的地址,然后再写入要显的内容。LCD显示流程图如图4-3所示:阌擻輳嬪諫迁择楨秘騖。LCD显示图4-3 LCD显示流程图4.2.4
20、报警子程序流程图报警子程序主要功能是当温度高于设定温度或低于设定温度状态下时,系统将会报警,并显示报警信号。报警子程序流程图如图4-4:氬嚕躑竄贸恳彈瀘颔澩。Y图4-4 报警子程序流程图5 系统调试51 PROTEUS软件简介本设计所使用的仿真软件是PROTEUS软件,PROTEUS软件是英国Labcenter electronics公司出版的EDA工具软件。PROTEUS是一款电路分析实物仿真系统,可仿真各种电路,并支持单片机处理,PROTEUS软件的特点如下:1、支持单片机软件仿真系统的标准,可加载单片机软件,实现软件与硬件整合的功能演示;2、具有模拟电路仿真、数字电路仿真、单片机及其外围
21、电路组成的系统的仿真、RS-232动态仿真、SPI调试器、键盘和LCD系统仿真的功能;3、支持大量的存储器和外围芯片。该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,且简单实用。釷鹆資贏車贖孙滅獅赘。使用PROTEUS仿真软件是设计简单了很多,也节约时间与成本。在PROTEUS软件仿真工程中如果遇到问题,可直接修改硬件电路,或者修改编写的软件,直至整体电路运行有效。所有仿真结果正常之后,便可进行打板及焊接制作。怂阐譜鯪迳導嘯畫長凉。52 PROTEUS的仿真在PROTEUS仿真软件中,温度传感器采集到得温度值可送到LCD显示,可通过传感器上的加减按钮增加采集到的温度值,点击
22、加减按钮后LCD会时时显示改变后的温度。谚辞調担鈧谄动禪泻類。本设计系统软件设定的温度范围上下限为2585,该温度上下限的值可通过按键调节。具体按键设置的方法如下:嘰觐詿缧铴嗫偽純铪锩。查看温度上下限功能:按下K1键查看当前设定的温度上下限,即当前系统的最高温度TH与最低温度TL;按下K3键退出查看模式,返回系统默认主界面;熒绐譏钲鏌觶鷹緇機库。上下限温度设置功能:按下K2键进入温度设置模式,进入温度设置模式后,直接按K2键增加上限温度值,按下K3键增加下限温度值;如要降低上下限温度值,先按下K1键进行功能反转,然后按K2键减小上限温度值,按K3键减小下限温度值。所有温度值设定完成后,按下K4
23、键确认,返回主界面。鶼渍螻偉阅劍鲰腎邏蘞。D1为发光指示二极管,当温度传感器DS18B20采集到温度低于设定的下限温度或高于上限温度时时,系统可自动报警,发光二极管闪烁。纣忧蔣氳頑莶驅藥悯骛。53 PROTEUS的仿真结果参照已经设计好的原理图,在PROTEUS软件中绘制好相应的电路图,将在Keil软件中编写及编译后的程序调试生成HEX文件,并加载到单片机中,然后点击运行按钮,便可查看仿真结果,具体仿真结果如下:颖刍莖蛺饽亿顿裊赔泷。时时温度显示仿真结果:开始运行仿真软件,LCD上显示温度传感器DS18B20采集到的当前温度,通过温度传感器上的加减按钮改变采集温度,LCD可时时改变采集到得温度
24、,如图5-1所示。濫驂膽閉驟羥闈詔寢賻。图5-1 采集温度显示按键设置减小温度上下限仿真结果:按K2键进入温度设置模式,再按K2键减小上限温度值,每按一下,温度值减小1,将温度上限值设置为40;再按K3键减小下限温度值,每按一下,温度值减小1,将下限温度值设置为20,如图5-2所示:銚銻縵哜鳗鸿锓謎諏涼。图5-2 按键设置减小温度上下限按键设置增加温度上下限仿真结果:先按K2键进入温度设置模式,再按K1键进行设置反转,然后再按K2键调高上限温度值,每按一下,温度值增加1,将温度上限值设置为45;再按K3键调高下限温度值,每按一下,温度值增加1,将下限温度值设置为25,如图5-3所示:挤貼綬电麥
25、结鈺贖哓类。图5-3 按键设置增加温度上下限超上限温度报警仿真结果: 调节温度传感器DS18B20,将采集到得温度设置至46,使其大于上限温度45,可发现系统开始报警,二极管闪烁,如图5-4所示。赔荊紳谘侖驟辽輩袜錈。图5-4 超上限温度报警仿真结果图超下限温度报警仿真结果: 调节温度传感器DS18B20,将采集到得温度设置至24,使其小于下限温度25,可发现系统开始报警,二极管闪烁,如图5-5所示。塤礙籟馐决穩賽釙冊庫。图5-5 超下限温度报警仿真结果图6 实物制作61 实物焊接本设计的实物是在PCB泡沫板上制作的,首先根据设计好的原理图制作BOM清单,根据BOM清单准备齐所需的元件、导线及
26、工具,然后在PCB泡沫板上排线,焊接,制作出实物,具体见附录B。裊樣祕廬廂颤谚鍘羋蔺。62 遇到的问题及解决方法尽管本设计系统已在PROTENUS仿真软件中仿真出结果,但是在实物焊接过程及焊接完成后还是遇到了一些问题。仓嫗盤紲嘱珑詁鍬齊驁。问题1:LCD不亮实物焊接完成后,连接电源,但是发现LCD不亮,后经分析发现,LCD模块背光电源的引脚,第15脚和第16脚没接,后经查阅LCD1602模块使用手册,发现问题,并修改原理图,将第15脚接电源正极,第16脚接电源负极,LCD背光源显示正常,问题解决。绽萬璉轆娛閬蛏鬮绾瀧。问题2:LCD不显示解决了第一个问题,又遇到了第二个问题,即尽管LCD背景灯
27、光有了,但是LCD却没有字符显示。后经仔细分析研究,查阅了一些资料,终于找到了原因。原来在系统设计时直接将LCD第3引脚,即液晶驱动电源引脚直接电源5V,但是LCD液晶驱动电压并不是5V,最终通过在第3引脚接一个可变电阻器,调节电阻器的阻止改变液晶驱动电压,最后发现液晶驱动电压降为4V时,LCD液晶字符显示正常,问题解决。骁顾燁鶚巯瀆蕪領鲡赙。结 论本设计以单片机STC89C52为系统控制核心,通过数字温度传感器DS18B20采集环境温度,并通过LCD显示系统显示出来,可通过按键设定温度范围,当采集到得温度超出设定的温度范围时,可实现系统报警,实时监控环境温度。本文通过Proteus 仿真调试
28、,可实现既定的设计要求。该设计还可以做一些扩展设计,比如增加反馈电路,通过电磁继电器连接相应的加热或冷却系统,控制器监测温度超出设定温度时,可实现系统的自动降温或升温工作, 实现自动化控制。瑣钋濺暧惲锟缟馭篩凉。总之,通过完成这次的毕业设计,使我学习到了很多东西,不仅包括技术的,还包括生活中的。通过本次的毕业设计制作,我对单片机,温度传感器,显示电路等硬件设计都有了一些了解,也学会了一些软件设计相关的知识。但是更为重要的是,通过本次的毕业设计制作,更能锻炼了我深入思考,研究解决问题的能力,使我更懂得理论与实践相结合的重要性,理论更需要实践去检验。鎦诗涇艳损楼紲鯗餳類。致 谢首先,感谢我的指导老
29、师刘明老师,在整个毕业设计过程中,刘老师给了我很大的帮助,从毕业设计选题,到准备中期材料,再到毕业论文,刘老师给我提出了很多宝贵的意见,再此我要对刘老师表示诚挚的感谢。栉缏歐锄棗鈕种鵑瑶锬。我还要感谢的同事,在这次毕业设计过程中,我的同事也给了我很大的帮助,如我们公司的测试工程师朱双节,在我的设计过程中帮我指导软件的设计。还有一些同事,帮我提供了相关的资料,在我问题是和我一起讨论,在此,我也表示感谢。辔烨棟剛殓攬瑤丽阄应。这次毕业设计给我一个自我学习,自我实践,自我发现的机会。通过这次的锻炼,增强了我的实际动手能力,也提高了我解决问题的能力,对我今后的生活与工作都有着很大的帮助,我要感谢南京理
30、工大学给我这样的一个锻炼机会。峴扬斕滾澗辐滠兴渙藺。参 考 文 献1 鲍小南. 单片机基础. 浙江大学出版社. 20022 李叶紫. MCS-51单片机应用教程. 清华大学出版社. 20043 刘高鏁. 单片机实用技术. 清华大学出版社. 20044 姜中良,陈秀云. 温度的测量与控制. 清华大学出版社. 20055 何金田,成连庆,李伟峰. 传感器技术. 哈尔滨工业大学出版社. 20046 何希才. 传感器及其应用. 国防工业出版社. 20017 先锋工作室. 单片机程序设计实例. 清华大学出版社. 20038 王晓红, 毕于深,李飒. 汇编语言. 清华大学出版社. 20119 张睿. Al
31、tium Designer 6.0 原理图与PCB设计. 电子工业出版社. 2007詩叁撻訥烬忧毀厉鋨骜。10 谢夫娜,丁兆海. 软件工程. 电子工业出版社. 200411 龙晓苑. 数字化技术. 北京大学出版社. 2000.112 刘金琨. 智能控制. 电子工业出版社. 2009.0713 金发庆等. 传感器技术与应用. 北京机械工业出版社. 200214 陈海晏. 单片机原理及应用:基于Keil与Proteus. 北京航空航天大学出版社. 201015 周润景,张丽娜,刘印PROTENUS入门实用教程机械工业出版社. 200716 林志琦等. 基于protenus的单片机可视化软硬件仿真. 北京航空航天大学出版社. 2006附录A 系统原理图附录B 实物照片
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1