电子信息工程技术毕业论文:基于单片机在温控系统中的应用原理.doc_第1页
电子信息工程技术毕业论文:基于单片机在温控系统中的应用原理.doc_第2页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

电子科技大学毕业设计电子科技大学 电子工程学院 毕业设计报告题目:基于单片机在温控系统中的应用原理课 题 类 别:论文实践报告 学 生 姓 名: 学 号: 班 级: 专业(全称):电子信息工程技术指 导 教 师 : 2011年 4月17摘要以单片机为基础,分别以轿车温控系统和贮液容器温控系统为例,阐述单片机在温控系统中的应用原理。关键词: 单片机 目录第1 章单片机在贮液容器温控系统中的应用- 4 -1.1 硬件设计- 4 -1.1.1 前向通道的设计- 4 -1.1.2 后向通道的设计- 4 -第2章 软件设计- 5 -2.1 单片机最小系统的设计- 5 -2.2 温度传感电路设计- 6 -2.3 温度控制电路的设计- 6 -2.4 键盘电路的设计- 6 -2.5 显示电路的设计- 10 -第3章 系统的软件设计- 11 -3.1 系统的主程序设计- 11 -3.2 中断程序的设计- 11 -第4章 系统的控制- 13 -4.1 温控电路及报警电路的控制- 13 -4.2 lcd显示电路的控制- 14 -4.3 使用说明- 14 -第5章 全文总结- 15 -5.1 经济效益分析- 15 -5.2 社会效益分析- 15 -致谢- 17 -参考文献- 17 -附录ii 程序- 18 - 第- 8 -页 第1章 单片机在贮液容器温控系统中的应用该系统中以贮液容器温度为被控参数,蒸汽流量为控制参数,输入贮液容器冷物料的初温为前馈控制,构成前馈一反馈控制系统。发挥前馈控制和反馈控制的各自优势,将可测而不可控的干扰由前馈控制克服,其他干扰由反馈控制克服,从而达到控制贮液容器温度。满足工艺要求的目的 。1.1 硬件设计选单片机at89c51为主机,配以两路传感变送器、多路开关、ad转换器、da转换器、vi转换器、调节阀等实现对贮液容器温度的自动控制,同时还设有报警电路、键盘和显示电路。系统在稳态时,贮液容器的温度恒定在工艺要求的数值不变。当冷物料的初始温度与其设定值相比发生变化时,如果变化很小,将完全由前馈控制来克服这一变化给系统带来的影响;如果变化大,前馈控制不能完全克服这一变化给系统带来的影响,反馈控制则开始动作。当冷物料的初始温度不变,而由其他干扰引起贮液容器的温度发生变化时,只有反馈控制动作,最终使系统重新达到稳态。 1.1.1前向通道的设计 采用jumu90系列的温度传感变送器,其输入范围为:0500,输出为4ma20ma(dc),测量精度为0.5选用10位逐次逼近式ad转换芯片ad5712,接收到有效的conv ert命令后,内部的逐次逼近寄存器从最高位开始顺次经电流输出的dac在比较器上与模拟量经5k8电阻所产生的电流相比较。检测完所有位后,sap中包含转换后的10位二进制码。转换完成后,sap发出dr信号(低电平有效),单片机查询到dr=0时,便使其打开三态缓冲器输出数据。 1.1.2后向通道的设计 (1)da转换器的设计。为了满足系统的精度要求,选用10位的da转换器dac1020。由于其内部不带有锁存器,所以必须通过io 口才能与at89c51单片机连接,又由于at89c51的字长是8位的,一次操作只能传输8位数据因此at89c51必须进行两次操作才能把一个完整的10位数据送到ac1020。为了使10位数据能够同时送人dac1020,避免输出电压波形出现毛刺现象,故必须采用双缓冲器方式。at89c51先把高2位数据输出到74ls74(1),接着把低8位数据输出到74ls377,与此同时74ls377的片选信号也作为74ls74(2)的时钟脉冲,把74is74(1)的内容打人74ls74(2)中,从而使一个完整的数据同时到达dac1020的数据输入端这样就消除了dac输出端的毛刺现象。 (2)执行器及调理电路的设计。系统中选用的是zman 16bg,zgicr18ni9ti型号的对数流量特性的调节阀。阀的输入信号为气信号,而da转换器的输出为ov5 v的电压信号所以在da转换器和调节阀之间要加一个vi转换器和一个电气阀门定位器,将0v5v的电压信号先转换成4ma20ma的电流信号后,再将4ma20ma的电流信号转换成002mpa01mpa的气信号。使调节阀接收气信号而工作。 第2章 软件设计2.1软件设计经分析,系统软件可采用结构化模块程序设计,主要有系统主程序、看门狗中断服务程序、键盘扫描子程序、显示子程序、报警子程序、ad转换子程序、da转换子程序、pid数据处理子程序、bcd码转换子程序。 主程序开始后,先对单片机at89c51和8155芯片进行初始化,接下来是开中断,调用键盘扫描子程序,选通多路模拟开关的1号通道,将采集的数据送人ad转换器转换后传入单片机。若温度越限就报警处理,否则直接处理后送显示,再选通多路模拟开关的2号通道,将采集的数据送人ad转换器转换后送人单片机进行总的运算处理,输出给da转换器变成模拟信号去改变调节阀的开度。 2.2硬件系统本系统选用atmel公司的at89系列单片机中的at89c52,at89c52单片机是一种新型的低功耗、高性能且内含8k字节闪电存储器的8位cmos微控制器,与工业标准mcs一51指令系列和引脚完全兼容。有超强的加密功能,其片内闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程擦除速度快。at89c52芯片内部有6个中断源:两个外部中断into和int1三个定时器中断(定时器0,1,2)和一个串行口中断。在本系统中涉及到at89c52芯片的中断源有五个:分别是外部中断int1,定时计数器t0,t1和t2以及串行口中断。本测控系统采用电平激活方式,也即是int1=0;一旦int1引脚的采样值为低电平,则tcon寄对于定时器to和tl,通过寄存器tmod,tcon来控制和选择定时计数器的功能和操作模式。这些寄存器的内容靠软件设置,系统复位时,寄存器的所有位都被清零。而t2的工作是靠对t2con寄存器进行软件设置而定义的。本系统采用定时to来计算车厢温度采集的时间间隔,设置为工作方式1,即l6位计数定时方式:定时tl作波特率发生器使用,选择在工作方式2,即8位自动加载方式;定时器t2用于确定混合风门步进电机输入脉冲的频率,设置位l6位常数自动重装人的工作方式。 当采用12mhz的晶振时,计数速率为lmhz微机串口通常采用rs232电平,而单片机串口是1trl电平,二者不兼容。所以,接口必须做电平转换处理。采用maxim公司的max232电平转换芯片。单片机串行口的txd,rxd和gnd经电平转换分别与微机的rxd,txd和sg相连,max232电平转换芯片的第9,10引脚分别接单片机的l0和11引脚。db9串口的第2,3引脚分别接max232电平转换芯片的7,8引脚。通过max232的ttl电平和rs232的输入输出端口,自动地调节了单片机串口的ttl电平信号和rs232的串行通信信号的电平匹配。数据发送是由一条写发送寄存器(sbuf)的指令开始,随后在串行口由硬件自动加人起位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由txd端串行输出。一个字符帧发送完后。使txd输出线维持在“1”状态下,并将串行控制寄存器scon的ti位置“1”,通知cpu可以接着发送下一个字符。 2.3软件系统轿车空调智能温控系统的工作模式分为“正常运行模式”、“软关机模式”、“手动控制模式”和“自动控制模式”。系统上电时,软件进人上电自检状态,这时系统会首先从监控芯片x25045读入上次断电前存人eeprom的系统状态信息,初始化各个中断并恢复空调控制器到上次关机前状态。经过上电初始化,智能温控系统会恢复到上次关机前的“正常运行模式”。此时,通过温度调节按键可以设定需要的温度值,温度传感器定时检测车厢温度,显示器显示温度设定值和温度测量值,混合风门的开度会根据温差和温差变化自动调节,温控系统能够与pc机通过串口通讯交换数据。按一下“onoff”键,可使温控系统进入“软关机模式”。此时,系统不能再进行温度检测、温度设定和串行通讯,显示器熄灭,混合风门步进电机停止运转。 2.4 键盘电路的设计如图2.6所示,用at89s51的并行口p1接44矩阵键盘,以p1.0p1.3作输入线,以p1.4p1.7作输出线;液晶显示器上显示每个按键的“0f”序号。对应的按键的序号排列如图2.5所示:图 2.5 按键的序号排列图图2.6中微处理单元是at89s51单片机,x1和x2接12m的两脚晶振,接两个30pf的起振电容,j1是上拉电阻.单片机的p1口8位引脚与行列式键盘输出脚相连,控制和检测行列式键盘的输入.行线通过上拉电阻接到+5v上,无按键按下时,行线处于高电平状态,有键按下时,行线的电平状态将由与此行线相连接的列线的电平决定.键盘输入的信息主要进程是:1 cpu判断是否有键按下.2 确定是按下的是哪个键.3 把此键所代表的信息翻译成计算机可以识别的代码或者其他的特征符号. 图 2.6 键盘硬件电路图2.5 显示电路的设计液晶显示器是一种将液晶显示器件,连接器件,集成电路,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端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。 第1516脚:空脚。与单片机的连接如图2.7所示。图 2.7 液晶显示电路图第3章 系统的软件设计3.1 系统的主程序设计主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。流程图如3.1 所示。系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在lcd上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。按下4*4键盘上的a键可以设定温度上限,按下b键可以设定温度下限。系统软件设计的总体流程图开始系统初始化开中断int0=0?yn温度上下限设定温度测量温度测量显示系统图 3.1 系统总体设计流程图4.2 中断程序的设计mcs-51单片的中断系统有5个中断请求源,用户可以用关中断指令“clr ea”来屏蔽所有的中断请求,也可以用开中断指令“set ea”来允许cpu接收中断请求。在本设计中我们选用into 来作为中断请求源。int1外部中断请求0,由into引脚输入,中断请求标志为ie0。org 0000hljmp mainorg 0003h (中断入口地址)jmp int0org 0038h (主程序的起始地址) main: (主程序)mcs-51响应中断后,就进入中断服务程序,中断程序的基本流程图如下图 关 中 断 现场保护开 中 断中断处理关 中 断现场恢复开 中 断中断返回图 3.2 中断服务程序基本流程第34页 第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.2 lcd显示电路的控制把8根数据线和p2口连接,把3根控制线和p2.5、p2.6、p2.7连接。给vcc端加上+5v的电压,gnd端接地。vee端的驱动电压不要过大,要调节滑动变阻器使vee在0.7伏以下显示器才能工作。4.3 使用说明键盘中阿拉伯数字09是数据输入键,a键是写上限的功能键,b键是写下限的功能键,c键是取消键,其他的键置空。第5章 全文总结5.1 经济效益分析本系统的设计,是为了保证某特定环境温度维持在设定的范围内,以保证工作系统在稳定的状态下工作。本系统的设计成本很低,总成本不超过50元人民币。如果采用大批量生产的话,生产成本会更低。在市场上的温度自动控制系统的价格在百元人民币以上。对于本系统的使用者来说,本系统能够很稳定的控制温度而且稳定性很高。只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动控制。这对于提高系统的利用率,避免重复设计有很大的帮助的。在本系统的作用下,可以为工作系统提供一个良好的环境,使产品的数量和质量有很大的提高。使得产品的生产成本降低,从而使系统的使用者获得的利润提高了。通过分析表明:本系统是一个性价比比较好的系统,不论对于生产者还是使用者来说,它都可以带来好的经济效益。5.2 社会效益分析本设计是以at89s51为核心,利用软硬件相结合的自动控制的典型例子。在单片机自动控制已经广泛的应用于人们的生产和生活的今天,传统用模拟电路来控制温度的做法,已经逐渐被淘汰。这个系统的实现,改变了传统的温度控制方法,为温度的控制开辟了一条新的道路。根据我国的科技和工业水平,这个系统的设计是符合工业生产的需要。实现我国的工业化,自动控制是其中的一个重要目标,自动控制系统正广泛的应用于工业生产和人们的日常生活。本系统的设计成功知识实现自动控制的“冰山一角”,但它为以后更加智能化、人性化的自动控制系统的设计,作了铺垫。因此这种系统的设计具有比较好的社会效益。经过四个多月的方案论证、系统的硬件和软件的设计、系统的调试。查阅了大量的关于传感器、单片机及其接口电路、以及控制方面的理论。经过了一番特殊的体验后,经历了失败的痛苦,也尝到了成功的喜悦。第一次靠用所学的专业知识来解决问题。检查了自己的知识水平,使我对自己有一个全新的认识。通过这次毕业设计,不仅锻炼自己分析问题、处理问题的能力,还提高了自己的动手能力。这些培养和锻炼对于我们这些即将走向工作岗位的大学生来说,是很重要的。这次毕业设计基本的完成了任务书的要求,实现了温度的控制。通过测试表明系统的设计是正确的,可行的。但是由于设计者的设计经验和知识水平有限,系统还存在许多不足和缺陷。致谢在本次毕业设计中,不仅自己付出了很多心血,也得到了很多老师和同学的支持,为我创造了很多有利条件,在这里,我要特别感谢我的导师魏宏老师,在毕业设计的开始,王老师给了我很多帮助,指导我了解了很多单片机的相关知识,并在当我设计遇到困难时,及时的给予帮助和鼓励,同时,对我其他学科的鼓励也渗透在毕业设计的同时,给了我莫大的信心,为我顺利完成毕业设计起到了非常重要的作用。同时。我还要感谢实习组及实验室的所有老师,为我的毕业设计提供了非常便利的条件。最后还要感谢帮助我的同学,在我遇到困难时给予我耐心的帮助。再次对在本次毕业设计中给予过我帮助的老师和同学至上我最真挚的谢意。参考文献1 沙占友. 集成温度传感器原理与应用. 北京:机械工业出版社,2002, 8495.2 刘君华. 智能传感器系统. 西安:西安电子科技大学出版社,1999,83105.3 沙占友. 智能化传感器原理与应用. 北京:电子工业出版社,2004,99108.4 赵负图. 传感器集成电路手册. 北京:化学工业出版社,2002,692703.5 张毅刚. mcs-51单片机原理及应用. 哈尔滨:哈尔滨工业大学出版社,2004,8194 附录ii 程序di equ p3.3do equ p3.4clk equ p3.5cs equ p3.6 ; lcd端口定义d2rs equ p2.7d2rw equ p2.6d2e equ p2.5keyport equ p1 ; ds18b20端口定义temper_l equ 36htemper_h equ 35htemper_num equ 38hflag1 bit 00hdq bit p2.4org 0000hljmp mainorg 0003hjmp int00org 0038hmain: mov sp,#60h setb p2.0 setb p2.1 setb p2.2 setb ea setb ex0 setb p2.0 seetb p2.1 setb p2.2 mov r0,#01h ;清屏并置地址计数器ac为0 lcall dis_cmd _wrt mov r0,#38h ;8位数据接口,双行显示,5*7点阵 lcall dis_cmd _wrt call dis_cur_off mov 42h,#20 mov 43h,#32xian: lcall get_temper lcall disp lcall delay43ms mov a,temper_num subb a,42h jc zzzl mov a,temper_num subb a,43h jnc zzz2 setb p2.0 setb p2.1 setb p2.2 jmp xianzzzl: clr p2.0 clr p2.2 jmp xianzzz2: clr p2.0 clr p2.1 jmp xianint0: ;扫描键盘程序 lcall asksao: clr 01h lcall key jnb 01h,sao cjne a,#10,pan lcall answ retipan: cjne a,#12,sao reti ;显示函数部分,可供调用dis_cur_off: mov r0,#0ch lcall dis_cmd_wrt retdis_cur_on: mov r0,#0eh lcall dis_cmd_wrt retchk_busy_flg: mov p0,#0ffh clr d2rs nop nop nop lcall display_rd jb acc.7,chk_busy_flg retclear_dis: mov r0,#01h lcall dis_cmd_wrt retdis_cmd_wrt: lcall chk_busy_flg mov p0,r0 clr d2rs nop nop nop lcall display_wrt retdis_data_wrt: lcall chk_busy_flg cjne a,#10h,dis_dat_wrt1 mov p0,#0c0h ;1100,00000行起始地址为40 clr d2rs nop nop nop lcall display_wrtdis_dat_wrt1: mov p0,r0 setb d2rs nop nop nop lcall display_wrt retdisplay_wrt: clr d2rw nop nop nop setb d2e nop nop nop clr d2e nop nop nop retdisplay_rd: setb d2rwnopnopnopsetb d2enopnopnopmov a,p0nopnopnopclr d2enopnopnopretdis_data_rd: lcall chk_busy_flgmov p0,#0ffhsetb d2rslcall display_rdret ;键盘程序,出口:a为按键值 01h:0无键按下 1 有键按下key: mov keyport,#0fh mov a,keypor cjne a,#0fh,keydown mov a,#0ffh retkeydown:lcall delay43ms mov keyport,#0fh mov a,keyport cjne a,#0fh,keydown_yes mov a,#0ffh retkeydown _yes: mov b,a mov keyport,#0f0h mov a,keyport orl a,b push 30h mov 30h,amov r3,#10h mov dptr,#keyvaluenext_key:mov a,r3 movc a,a+dptr cjne a,30h,nextkeyvalue dec r3 pop 30hwaitkey_f:mov keyport,#0fh mov a,keyport cjne a,#0fh, waitkey_f mov a,r3 setb 01h retnextkeyvalue: djnz r3,next_key dec r3 pop 30hwaitkey_free: mov keyport,#0fh mov a,keyport cjne a,#0fh, waitkey_free mov a,r3 setb 01h retkeyvalue:db 0ffh,7eh,7dh,7bh,77h,0beh,0bdh,0bbh,0b7h,0deh,0ddh,0dbh,0d7h,0eeh,0edh,0ebh,0e7hdelay43ms: push a mov a,r3 push a mov a,r2 push amov r3,#43delay:mov r2,#0fahloop:nop ;内层循环为1ms nop djnz r2,loopdjnz r3,delay pop a mov r2,a pop a mov r3,a pop a ret ;确认是否修改温度设定ask: mov r0,#01h ;清屏并置地址计数器ac为0 lcall dis_cmd_wrt mov 40h,#0zdz: mov dptr,#line mov a,40h movc a,a+dptr mov r0,a lcall dis_data_wrt inc 40h mov a,40h movc a,a+dptr cjne a,#00h,zdz retline: db are you sure change t(y/n)?,00hansw: mov r6,42h mov r7,43h mov r0,#01h lcall dis_cmd_wrt mov r0,#44h call dis_data_wrt mov r0,#6fh call dis_data_wrt mov r0,#77h call dis_data_wrt mov r0,#6eh call dis_data_wrt mov r0,#3ah call dis_data_wrt mov 40h,#0 clr 00h jmp sao1gai: mov r0,#0feh call dis_data_wrt mov r0,#55h call dis_data_wrtmov r0,#70h call dis_data_wrt mov r0,#3ah call dis_data_wrt mov 40h,#0sao1: clr 01h lcall key jnb 01h,sao1 mov r1,a mov b,#10 div ab jz next2 mov a,a1 cjne a,#11,xu jb 00h,down mov 42h,40h cpl 00h jmp gaidown: mov 43h,40h retixu: cjne a,#12,sao1 mov 42h,r6 mov 43h,r7 retinext2: mov a,r1 add a,#30h mov r0,a lcall dis_data_wrt mov a,r1 xch a,40h mov b,#10 mul ab nop clr dq clr cwr1: clr dq mov r3,#6 djnz r3,$ rr r4,#2 r1,#36h ; 低位存入36h(temper_l),高位存入35h(temper_ nop nop setb dqmov r3,#7 djnz r3,$ mov

温馨提示

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

评论

0/150

提交评论