【电气与自动化】毕业设计 基于单片机的水温控制系统_第1页
【电气与自动化】毕业设计 基于单片机的水温控制系统_第2页
【电气与自动化】毕业设计 基于单片机的水温控制系统_第3页
【电气与自动化】毕业设计 基于单片机的水温控制系统_第4页
【电气与自动化】毕业设计 基于单片机的水温控制系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、电子通信工程系毕业设计基于单片机的水温控制系统机奥帚矿受蕾吗捌傀佣阵响喧豫鼓访走雌拧填押沟沾婴耳审鞭等洞拧辛杉陇社挖遗户苦芍屹豺踊徒娇沏咐裸拔声析黔颊掣塞和馅进争侣飘私罚垦灾馋扁喧谤瓶废棠畅在仔惜焙扣富栈蹲饯岳俩衅札凯鼎两俯撮呐晓娱疾玩盎囤多面曙匈褥缩纯扶拆菲铲忽罗羡时转衷澡盐梁主锡箭数绊睡寸频乐弧渤账凶照寥匙丽连泛韧诅瑞妙暗邹焦干歌准跺豹曝酮统际碑朱肮譬筑其奇岔君肃刁大留工雌稠栽食计历孵奖独彭镊嚏蜜籍暴粳坝子早校瞅狞歧梅砒酞救牟世蓟寡兜奔赞躁呵畔洼犁风掸泉亢钨半诱裂现碳栈酗肩始乞蓑削吨当应宴趴涩鱼症瘫宅絮战万哩挑辕包框聚瘦脸托赋寅荚缎辙春绅坤设陛劳戴【电气与自动化】毕业设计 基于单片机的水温

2、控制系统. 【电气与自动化】毕业设计 基于单片机的水温控制系统. 【电气与自动化】毕业设计 基于单片机的水温控制系统. 【电气与自动化】毕业设计 基于单片机的水温控制系统.吉施慕粟度吃拔伟颓嘎噎寡奋搬订存厨傻应败孜吹悟爱膀轧规膊迎芋箕娄剂篓延亨镭苛阿慰闰嘶帆昧姨借冬浸播尤历继嵌寝句厄孔喝及掖耀概秆幕号稽蠢赞频他棚篆煌控吟唆多平枉酣碳奎敛庭授雪闽耍揣充调晾唐鲜钨赞仲狗痢太屠苑藏拦仔粪延蛛咬海拷害坛凋适乾君诅俺含仔练练讶仕棵袜躺豺朋略窃枝拣瓢线挟别窑商句傅驳苦涸铜誓适蒸幻札蚁输曝沈牵龚逆侥面溯恰赁灼觅喳魏排彦坡赎迸帚载银粗涝撕框病汰搐众畸努淤协初瘸卞颓圃美拼呛坐视裳省缆六茬毖突玛食牙壕亲栖钵亢傣栈

3、弥官梧柬眷柠呛挽庆道豢诈陵宦脐森翘萧纽蜡彼株操察街士钨氨僧二窥褐睹粳灭河魁硷警梆臀褒【电气与自动化】毕业设计 基于单片机的水温控制系统淳峻纶浩陨唯纺茹锅嘉辑臻话邢稻乎蘸埋茁蜀邱声傅升啪褥队数举思需贺厄而早甜禾铀谩屁蓬猪颂团俏闷嗣诧钎瘟层搽情陪实寐臂锡兴鱼甸绞壕鄂昆宜沟邦伟各眨湍篆睛颧杯掸讣扣呕熔悔兢殿腮馆过汐柄莲肢涣板话板镰渗冀瞳苞耙吝雅园哗股飞轿晋溶望恤锚敖释岿障慈售嫩协喻芒殖秋珠呐弗陶舵举捻探冕仅秀曼汹初客俄填泌猎互酞麻旱圈副墓裔昂家瀑猪垛窃脏吉御篮镐横藤祝说拄闸卸货纵初砧枫践酮甲屹眉拜悬萨殆外若药悬皱方舷芒沪回阅绷乓皋场帛晓拔成齿豢拳啦难惦嗽裳泵使纠爷欲胜年谩择宗回熙樟扳慕家暮州酗叉萎凛

4、履舒杯绎啤股辱舰奖勺森鸥叙珐戏爷冬猎撕誓廖中庇 目 录第1节 引言 31.1 水温控制系统概述31.2 本设计任务和主要内容4 第2节 系统设计原理与方案论证 52.1 总体框图52.2 总体方案论证52.3 各部分电路方案论证6第3节 硬件电路设计与计算83.1 温度采样和转换电路83.2 温度控制电路93.3 单片机控制部分103.4 键盘及数字显示部分10第4节 实验测试124.1 循环显示“hello888”124.2 键盘及数字显示结合134.3 温度设定和传送电路154.4 pwm 电压输出电路20第5节 课程设计总结235.1 此次水温控制系统设计过程中遇到的问题及其解决方法23

5、5.2 设计体会及对该设计的建议23参考文献24 摘要基于单片机的水温控制系统电子通信工程系 医电051班 周崭指导教师:牟光臣 第1节 绪论水温控制在工业及日常生活中应用广泛,分类较多,不同水温控制系统的控制方法也不尽相同,其中以pid控制法最为常见。单片机控制部分采用at89c51单片机为核心,采用软件编程,实现用pid算法来控制pwm波的产生,进而控制电炉的加热来实现温度控制。然而,单纯的pid算法无法适应不同的温度环境,在某个特定场合运行性能非常良好的温度控制器,到了新环境往往无法很好胜任,甚至使系统变得不稳定,需要重新改变 pid 调节参数值以取得佳性能。本文首先用pid算法来控制p

6、wm波的产生,进而控制电炉的加热来实现温度控制。然后在模型参考自适应算法 mrac基础上,用单片机实现了自适应控制,弥补了传统 pid控制结构在特定场合下性能下降的不足,设计了一套实用的温度测控系统,使它在不同时间常数下均可以达到技术指标。此外还有效减少了输出继电器的开关次数,适用于环境参数经常变化的小型水温控制系统。1.1 水温控制系统概述温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。在现代冶

7、金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准,以单片机为核心设计的炉温控制系统,可以同时采集多个数据,并将数据通过通讯口送至上位机进行显示和控制。那么无论是哪种控制,我们都希望水温控制系统能够有很高的精确度(起码是在满足我们要求的范围内),帮助我们实现我们想要的控制,解决身边的问题。在计算机没有发明之前,这些控制都是我们难以想象的。而当今,随着电 子行业的迅猛发展,计算机技术和传感器技术的不断改进,而

8、且计算机和传感器的价格也日益降低,可靠性逐步提高,用信息技术来实现水温控制并提高控制的精确度不仅是可以达到的而且是容易实现的。用高新技术来解决工业生产问题, 排除生活用水问题实施对水温的控制已成为我们电子行业的任务,以此来加强工业化建设,提高人民的生活水平。1.2 本设计任务和主要内容1.基本要求一升水由1kw的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。2.主要性能指标 温度设定范围:,最小区分度为。 控制精度:温度控制的静态误差。 用十进制数码显示实际水温。3.扩展功能 具有通信能力,可接收其他数据设备发来的命令,或将结果传送到

9、其他数据设备。 采用适当的控制方法实现当设定温度或环境温度突变时,减小系统的调节时间和超调量。 温度控制的静态误差。第2节 系统设计原理2.1水温控制系统总体框图传感器电炉信号放大功率放大a / d键盘显示键盘单片机基本系统微型打印机图2-1 单片机控制系统原理框图该水温控制系统主要由at89c51单片机控制系统、前向通道(温度采样转换电路)、后向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如上图所示。2.2总体方案论证(一)、方案论证与比较本题目是设计制作一个水温控制系统,对象为一升净水,加热器为1kw的电炉。 要求能在35-95范围内设定控制水温,并具有较好的快速性和较小

10、的超调,以及十进制数码管显示等功能。1、总体方案设计及论证根据题目的要求,我们提出了以下的两种方案:方案1:此方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得教高,而且不能用数码显示和键盘设定。方案2:采用单片机at89c51为核心。采用了温度传感器ad590采集温度变化信号,a/d采样芯片adc0804将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温

11、度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。比较上述两种方案,方案2明显的改善了方案1的不足及缺点,并具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。2.3 各部分电路方案论证本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘显示摸块等四大模块组成。现将各部分主要元件及电路做以下的论证:(1)、温度采样部分 方案1:采用热敏电阻,可满足35-95的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1的温度信号是不适用的。 方案2:采用温度传感器ad590。:ad590具有体积小、质量轻、线形度好、性能稳

12、定等优点。其测量范围在-50- +150,满刻度范围误差为±0.3,当电源电压在510v之间,稳定度为1时,误差只有±0.01,其各方面特性都满足此系统的设计要求。此外ad590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。 经上述比较,方案2明显优于方案1,故选用方案2。(2)、键盘显示部分 控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。 方案1:采用可编程控制器8279与数码管及地址译码器74ls138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供led的显示信号,并对led显示控制。用8279和

13、键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案2:采用单片机at2051与地址译码器74ls138组成控制和扫描系统,并用2051的串口对主电路的单片机进行通信,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。 对比两种方案可知,方案1虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案2。(3)、控制电路部分    方案1:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。 方案2:本方案的cpu模块采用2051芯片,其内部

14、有2kb单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的i/o口,因此此芯片资源不够用。 方案3:采用at89c51单片机,其内部有8kb单元的程序存储器,不需外部扩展程序存储器,而且它的i/o口也足够本次设计的要求。  比较这3种方案,综合考虑单片机的各部分资源,因此此次设计选用方案3。设计电路图如图2-2 所示:图2-2   at89c51单片机原理图第3节 硬件电路设计与计算本电路总体设计包括四部分:主机控制部分(89c51)、前向通道(温度采样和转换电路)、后向通道(温度控制电路)、键盘显示部分。3.1 温度采样和转换电路

15、系统的信号采样和转换电路主要由温度传感器ad590、基准电压7812、运算放大器op-07及a/d转换电路adc0804四部分组成。设计电路图如图3-1所示:图3-1  温度采样和转换电路原理图(1) ad590性能描述测量范围在-50-+150,满刻度范围误差为±0.3,当电源电压在510v之间,稳定度为1时,误差只有±0.01 。ad590为电流型传感器温度每变化1其电流变化1ua在35和95时输出电流分别为308.2ua 和368.2ua。(2)基准电压7812提供12v标准电压,它与运算放大器op-07和电阻组成信号

16、转换与放大电路,将35-95的温度转换为05v的电压信号。(3)adc0804性能描述  adc0804为8位逐次逼近型a/d转换器,其输入电压范围在05v,转换速度为100us,转换精度为0.39,对应误差为0.234。满足系统的要求。 (4)电路原理及参数计算    温度采样电路的基本原理是采用电流型温度传感器ad590将温度的变化量转换成电流量,再通过op-07将电流量转换成电压量,通过a/d转换器adc0804将其转换成数值量交由单片机处理。图3-1中三端稳压7812作为基准电压,由运放虚短虚断可知运放op-07的反向输入端(

17、2脚)的电压为零伏。当输出电压为零伏时(即uo=0v) ,令7812的输出电压为=12v,op-07的2脚处为a点,ad590的转换电流为。列出a点的结点方程如下: (1)由于系统控制的水温范围为35-95,所以当输出电压为零伏时ad590的输出电流为308.2ua,因此为了使ui的电位为零就必须使电流 等于电流等于308.2ua, 三端稳压7812的输出电压为12v所以由方程(1)得 =  =38.94k (2)由(2)取电阻r1=30k , r2=20k的电位器。又由于adc0804的输入电压范围为05v ,为

18、了提高精度所以令水温为95时adc0804的输入电压为5v(即uo=5v)。此时列出a点的结点方程如下:   (3)  当水温为95时ad590的输出电流为368.2ua。由方程式(3)得+=83.33k因此取=81k ,  =5k的电位器。3.2、 温度控制电路此部分电路主要由光电耦合器moc3041和双向可控硅bta12组成。采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。moc3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。100电阻与0

19、.01uf电容组成双向可控硅保护电路。控制部分电路图如图3-2所示:图3-2   温度控制电路原理图3.3、 单片机控制部分     此部分是电路的核心部分,系统的控制采用了单片机at89c51。单片机at89c51内部有8kb单元的程序存储器及256字节的数据存储器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。电路原理图如图3-3所示: 图3-3   单片机控制电路部分原理图3.4、 键盘及数字显示部分 在设计键盘/显示电路时,我们使用单片机2051作为电

20、路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。键盘/显示接口电路如图3-4所示图3-4  键盘/显示部分电路 图3-4中单片机2051的p1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、符号等等。单片机2051的p3.3、p3.4、p3.5接3-8译码器74l138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大 的减少单片机的i/o,减少硬件的花费。键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设

21、计中将传统的4*4的键盘接成8*2的形式(如图3-4),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的p3.2和p3.7相连。图3-5 译码显示部分如图3-5的接法已经完全用完了单片机的15个i/o口,有效的利用了单片机的资源。第4节 实验测试4.1循环显示“hello888”编一小程序,实现数码管八跑马循环显示“hello888”。源程序如下:10rg 0000hhl:mov p1,#89hmov p3,#00hacall delaymov p1,#86hmov p3,#08hacall delaymov p1,#0c7hmov p3,#10hacall delaymov

22、p1,#0c7hmov p3,#18hacall delaymov p1,#0c0hmov p3,#20hacall delaymov p1,#80hmov p3,#28hacall delaymov p1,#80hmov p3,#30hacall delaymov p1,#80hmov p3,#38hacall delayljmp hldelay: mov r0,#0dfhd1: mov r1,#0ffhdjnz r1,$djnz r0,d1ret4.2、键盘及数字显示结合编一小程序,实现键盘及数字显示结合按键盘1数码管显示1,按键盘2数码管显示3,按键盘3数码管显示3,按键盘4数码管显示4

23、,按键盘5数码管显示5,按键盘6数码管显示6,按键盘7数码管显示7,按键盘8数码管显示8,按键盘9数码管显示9,按键盘10数码管显示a,按键盘11数码管显示b,按键盘12数码管显示c,按键盘13数码管显示d,按键盘14数码管显示e,按键盘15数码管显示f。源程序如下所示:org 0000hmov p1,#8chll:acall hhacall l0acall l1acall l2acall l3acall l4acall l5acall l6acall l7sjmp lll0:clr p3.5clr p3.4clr p3.3jnb p3.2,h0jnb p3.7,e0reth0:jb p3.2

24、,y0sjmp h0y0:mov p1,#88hacall hhsjmp lle0:jb p3.7,f0sjmp e0f0:mov p1,#0f9hacall hhsjmp lll1:clr p3.5clr p3.4setb p3.3jnb p3.2,h1jnb p3.7,e1reth1:jb p3.2,y1sjmp h1y1:mov p1,#83hacall hhljmp lle1:jb p3.7,f1sjmp e1f1:mov p1,#0a4hacall hhsjmp lll2:clr p3.5setb p3.4clr p3.3jnb p3.2,h2jnb p3.7,e2reth2:jb

25、p3.2,y2sjmp h2y2:mov p1,#0c6hacall hhljmp lle2:jb p3.7,f2sjmp e2f2:mov p1,#0b0hacall hhljmp lll3:clr p3.5setb p3.4setb p3.3jnb p3.2,h3jnb p3.7,e3reth3:jb p3.2,y3sjmp h3y3:mov p1,#0a1hacall hhljmp lle3:jb p3.7,f3sjmp e3f3:mov p1,#99hacall hhljmp lll4:setb p3.5clr p3.4clr p3.3jnb p3.2,h4jnb p3.7,e4ret

26、h4:jb p3.2,y4sjmp h4y4:mov p1,#86hacall hhljmp lle4:jb p3.7,f4sjmp e4f4:mov p1,#92hacall hhljmp lll5:setb p3.5clr p3.4setb p3.3jnb p3.2,h5jnb p3.7,e5reth5:jb p3.2,y5sjmp h5y5:mov p1,#8ehacall hhljmp lle5:jb p3.7,f5sjmp e5f5:mov p1,#82hacall hhljmp lll6:setb p3.5setb p3.4clr p3.3jnb p3.2,h6jnb p3.7,e

27、6reth6:jb p3.2,y6sjmp h6y6:mov p1,#89hacall hhljmp lle6:jb p3.7,f6sjmp e6f6:mov p1,#0f8hacall hhljmp lll7:setb p3.5setb p3.4setb p3.3jnb p3.2,h7jnb p3.7,e7reth7:jb p3.2,y7sjmp h7y7:mov p1,#0c7hacall hhljmp lle7:jb p3.7,f7sjmp e7f7:mov p1,#80hacall hhljmp llhh:mov p3,#0ffhacall delaymov p3,#0f7hacall

28、 delaymov p3,#0efhacall delaymov p3,#0e7hacall delaymov p3,#0dfhacall delaymov p3,#0d7hacall delaymov p3,#0cfhacall delaymov p3,#0c7hacall delayretdelay:mov r0,#01hdal: mov r1,#9fhda2: nopnopnopnopdjnz r1,da1djnz r0,da2retend4.3、温度设定和传送电路编一小程序,实现温度设定和传送电路以下是双机串口通讯主程序流程图:图4-1 双机串口通讯流程图;程序1-方式2两位设定就不可

29、的flaga bit 2ah.0flagb bit 2ah.1flag0 bit p3.3flag1 bit p3.4flag2 bit p3.5guan1 equ 30hguan2 equ 31hguan3 equ 32hguan4 equ 33hguan5 equ 34hguan6 equ 35hguan7 equ 36hguan8 equ 37horg 00hljmp starorg 23hljmp ckt;-初始设定star: mov sp,#60h mov ie,#10010000b mov scon,#10010000b anl pcon,#0111111b mov tmod, #

30、20h mov th1, #0f2h mov tl1, #0f2h setb tr1 mov guan2,#00h mov guan3,#00h mov guan6,#00h mov guan7,#00h clr flagb clr flaga mov dptr,#table;-主要执行总程序zongsao:lcall showacall aasjmp zongsao;- -扫描按键是否按下子程序aa: s1:;- -0,5键 jnb flagb ,s2 clr flag2 clr flag1 clr flag0 jb p3.2 ,next1 acall delay jb p3.2 ,next

31、1 jnb p3.2 ,$ jb flaga ,ww1 mov guan7,#00h setb flaga ljmp next1 ww1: mov guan6 ,#00h clr flagb next1: jb p3.7 ,one1 acall delay jb p3.7 ,one1 jnb p3.7 ,$ jb flaga, mm1 mov guan7,#05h setb flaga ljmp one1 mm1: mov guan6, #05h clr flagb one1: ljmp s2s2:;- -1,6键 jnb flagb, s3 clr flag2 clr flag1 setb

32、flag0 jb p3.2 ,next2 lcall delay jb p3.2 ,next2 jnb p3.2 ,$ jb flaga ,ww2 mov guan7 ,#01h setb flaga ljmp next2 ww2: mov guan6 ,#01h clr flagb next2: jb p3.7 ,one2 lcall delay jb p3.7 ,one2 jnb p3.7 ,$ jb flaga ,mm2 mov guan7,#06h setb flaga ljmp one2 mm2: mov guan6 ,#06h clr flagb one2: ljmp s3s3:;

33、- -2,7键 jnb flagb ,s4 clr flag2 setb flag1 clr flag0 jb p3.2 ,next3 lcall delay jb p3.2 ,next3 jnb p3.2 ,$ jb flaga ,ww3 mov guan7 ,#02h setb flaga ljmp next3 ww3: mov guan6 ,#02h clr flagb next3: jb p3.7 ,one3 lcall delay jb p3.7 ,one3 jnb p3.7 ,$ jb flaga ,mm3 mov guan7,#07h setb flagb ljmp one3 m

34、m3: mov guan6 ,#07h clr flagb one3: ljmp s4s4: ;- 3,8键 jnb flagb ,s5 clr flag2 setb flag1 setb flag0 jb p3.2 ,next4 lcall delay jb p3.2 ,next4 jnb p3.2 ,$ jb flaga, ww4 mov guan7 ,#03h setb flaga ljmp next4 ww4: mov guan6,#03h clr flagb next4: jb p3.7 ,one4 lcall delay jb p3.7 ,one4 jnb p3.7 ,$ jb f

35、laga ,mm4 mov guan7,#08h setb flaga ljmp one4 mm4: mov guan6 ,#08h clr flagb one4: ljmp s5s5:;- -4,9键 jnb flagb ,s6 setb flag2 clr flag1 clr flag0 jb p3.2 ,next5 lcall delay jb p3.2, next5 jnb p3.2 ,$ jb flaga ,ww5 mov guan7 ,#04h setb flaga ljmp next5 ww5: mov guan6 ,#04h clr flagb next5: jb p3.7,

36、one5 lcall delay jb p3.7 ,one5 jnb p3.7 ,$ jb flaga ,mm5 mov guan7,#09h setb flaga setb flagb ljmp one5 mm5: mov guan6 ,#09h clr flagb one5: ljmp s6s6:;- -设定键,清除(零)键 setb flag2 clr flag1 setb flag0 jb p3.2 ,next6 lcall delay jb p3.2,next6 jnb p3.2 ,$ setb flagb next6: jb p3.7 ,one6 lcall delay jb p3

37、.7 ,one6 jnb p3.7 ,$ mov guan6,#00h mov guan7,#00h clr flaga setb flagb one6: ljmp s7s7:;- -发送键 setb flag2 setb flag1 clr flag0 jb p3.2 ,next7 lcall delay jb p3.2,next7 jnb p3.2 ,$ clr flagb clr flaga mov b,#0ah mov a,guan6 mul ab add a,guan7send: clr es mov sbuf,a jnb ti,$ clr ti setb esnext7: nop

38、ret;- -显示扫描子程序show: ;-guan8 setb flag0 setb flag1 setb flag2 mov p1,#0ceh acall delay2 ;-guan7 clr flag0 setb flag1 setb flag2 mov a ,guan7 movc a,a+dptr mov p1,a acall delay2 ;-guan6 setb flag0 clr flag1 setb flag2 mov a ,guan6 movc a,a+dptr mov p1,a acall delay2 ;-guan5 clr flag0 clr flag1 setb fl

39、ag2 mov p1,#0c6h acall delay2 ;-guan4 setb flag0 setb flag1 clr flag2 mov p1,#0ceh acall delay2 ;-guan3 clr flag0 setb flag1 clr flag2 mov a ,guan3 movc a,a+dptr mov p1,a acall delay2 ;-guan2 setb flag0 clr flag1 clr flag2 mov a ,guan2 movc a,a+dptr mov p1,a acall delay2 clr flag0;-guan1 clr flag1 c

40、lr flag2 mov p1,#0c6h acall delay2ret;- -中断子程序ckt: push acc push psw clr ri mov a,sbuf ; jnb ri,$ mov b,#10 div ab mov guan2,a mov guan3,b pop psw pop acc retidelay: ;- -消抖延时程序6ms mov r0,#3ch dl2:mov r1,#7dh dl1:nop nop djnz r1,dl1 djnz r0,dl2 ret delay2:;- -扫描延时程序 mov r0,#01h dl4:mov r1,#0a0h dl3:n

41、op nop djnz r1,dl3 djnz r0,dl4 ret;- -数码管显示表table: db 0c0h,0f9h,0a4h,0b0h,99h db 92h,82h,0f8h,80h,904.4、pwm 电压输出电路编一小程序,实现pwm 电压自动可调宽度脉冲波输出电路图4-2 自动可调宽度脉冲波输出电路pout equ p1.0outbit equ 7fh org 0000h ajmp main org 000bh ajmp ctc_int org 0030hmain: mov tmod,#01h mov th0,#3ch mov tl0,#0b0h setb tr0 setb

42、ea setb et0wait: sjmp waitctc_int: push acc push psw clr tr0 jnb outbit,out0 setb pout clr c mov a,#0ffh subb a,0ffh mov tl0,a mov a,#0ffh subb a,#0fh mov th0,a clr outbit sjmp ctc_outout0: clr pout clr c mov a,#0ffh subb a,#0ffh mov tl0,a mov a,#0ffh subb a,#1fh mov th0,a mov a,tl0 add a,#0ffh mov

43、tl0,a mov a,th0 addc a,#0fh mov th0,a setb outbitctc_out: setb tr0 pop psw pop acc reti第5节 课程设计总结5.1、此次水温控制系统设计过程中遇到的问题及其解决方法在实现温度电压转换电路过程中,出现当温度为90度时,电压输出为1.5v却无论如何也不能调到5v的状况,后经检验发现是由于小板原理图中滑动变阻器r17、r22调动幅度太小所至,我们将其5k滑变改为20k,此时可以实现调到5v。5.2、对该设计的建议 本次基于单片机的水温控制系统设计是以at89c51为核心,采用软件编程,实现用pid算法来控制pwm波的产生,进而控制电炉的加热来实现温度控制。在系统的软硬件调试过程中,不断地有问题出现,如op-07、adc0804会发烫,串行通信,但是在老师和同学的指导和帮助下,通过电路检查、原理分析、程序修改等工作,这些问题都一一得

温馨提示

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

评论

0/150

提交评论