收藏 分销(赏)

基于单片机的温度控制系统设计报告.doc

上传人:天**** 文档编号:4430956 上传时间:2024-09-22 格式:DOC 页数:42 大小:391.50KB
下载 相关 举报
基于单片机的温度控制系统设计报告.doc_第1页
第1页 / 共42页
基于单片机的温度控制系统设计报告.doc_第2页
第2页 / 共42页
基于单片机的温度控制系统设计报告.doc_第3页
第3页 / 共42页
基于单片机的温度控制系统设计报告.doc_第4页
第4页 / 共42页
基于单片机的温度控制系统设计报告.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、基于单片机的温度控制系统设计报告372020年4月19日文档仅供参考 智能仪器仪表综合实训题 目 基于单片机的温度控制系统设计 学 院 专 业 电子信息工程 班 级 (仪器仪表) 学生姓名 学 号 指导教师 完成时间:目录一、系统设计-第 1 页(一) 系统总体设计方案-第 1 页 (二) 温度信号采集电路选择和数据处理-第 3 页(三) 软件设计-第 3 页 二、单元电路设计-第 5 页(一) 温度信号采集电路-第 5 页 (二) 步进电机电路- 第 5 页(三) 液晶显示模块- 第 6 页(四) 晶振复位电路-第 7 页 三、总结体会-第 7 页 四、参考文献-第 8 页附录:程序清单-第

2、 8 页 一、系统设计 (一) 系统总体设计方案设计框图如下所示:液晶显示及按键设置温度信号采集温度控制接口步进电机控制图1 系统总体设计框图总电路图如下:图2 系统总电路图简单功能说明:一个显示实时温度的小系统,能够自行设定高温报警和低温报警值,实现温度控制电机带动外围器件功能。本系统经过温度传感器DS18B20实现对温度数据的采集,数据处理后显示到液晶屏上,经过数据处理,温度值精确度为0.1。简单操作方法:系统上电后液晶显示实时温度,经过按键能够设定高低温限定值:A.按下K1,显示系统的高低温限定值;B.再按K1,进入设定状态,液晶屏光标闪动提示设定,此时设定高温限值还是低温限值能够在 K

3、1键转换;C.进入设定状态后,K2键用于值加1,K3键用于值减1;D设定完后,按键K4确认后退出,返回显示实时温度! (二) 温度信号采集电路选择和数据处理方案:采用温度传感器DS18B20美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与MCU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上能够挂接多个DS18820,便于多点测量且易于扩展.DS18B20的测温范围较大,集成度较高,

4、故选用此方案。DS18B20内部1,2位寄存器存放实时温度值,本系统对以上两寄存器数据处理后精度为0.1;DS18B20第3,4位寄存器分别存放高温限值和低温限值,而且DS18B20内部还有EEPROM,因此经过第3,4寄存器与EEPROM的数据交换就能实现对设定后的值进行贮存。 (三) 软件设计本实验中我选用Keil编程平台.主程序流程图:初始化液晶显示启动DS18B20并初始化读取温度数据数据转换显示温度显示温度上下限值KeyScan?kkk1k设置温度上下限值温度上下限值存入寄存器温度比较启动电机温度是否大于高温限值或小于低温限值YESNOYESkNO图3 主程序流程图二、单元电路设计

5、(一) 温度信号采集电路图4 温度信号采集电路(二) 步进电机电路图5 步进电机电路 (三) 液晶显示模块图6液晶显示模块(四) 晶振复位电路图7 晶振复位电路三、总结体会本次课程设计给我们提供了一个将自己所学的知识应用于实践的良机,经过了两个周的设计我学到了很多非常有价值的东西,懂得了如何将理论知识转化成实际程序的设计;掌握的单片机开发与设计的思路与方案确定;学会了更有效的查找自己所需的资料;同时也意识到了团队协作的重要性;掌握了硬件与程序设计的一般步骤和方法。这对我们以后的学习和工作的是非常有帮助的。设计是我们将来必须的技能,这次课程设计刚好给我们提供了一个应用自己所学知识的机会,从到图书

6、馆和网上查找资料到对硬件与程序模块的设计对各模块的调试再到最后整体设计调试,都对我所学的知识进行了检验,增强了自信心。 经过本次课程设计,我进一步温习和巩固了课本的理论知识,对单片机各接口与外部电路之间的连接关系有了更加深刻的理解。同时掌握了Proteus和keil软件的基本应用。同时,在课程设计过程中,将理论知识应用于实际应用,增强了理论联系实际的能力。虽然设计时有时一个问题需要我们花费很长的时间,很烦很累但当我们经过查找资料解决了之后心里很开心很有成就感。同时也使我明白了要将理论运用于实践还是一种非常重要的能力,要想牢固的掌握所学的知识我们必须将理论与实践结合起来,用理论来指导实践,用实践

7、来验证理论,增强对理论的理解。不断地充实自己的理论,提高自己的动手能力。最终完成了整个设计之后,使我更加坚信只要我们努力和采用正确的方法,没有什么事是我们解决不了的。 最后,我在这里衷心地感谢所有教给我知识和在课程设计中给予我帮助的老师们和同学们,是她们给我们的知识才使我们得以顺利完成此次课程设计。四、参考文献 单片微型计算机原理与应用 , 张毅坤、陈善久、裘雪红 西安电子科技大学出版社 51单片机应用从零开始 杨欣、王玉凤、李湘黔 清华大学出版社 51单片机应用开发范例大全 宋戈、黄鹤松、员玉良 人民邮电出版社 郭天祥 电子工业出版社附录:程序清单;-; 简单功能说明:一个显示实时温度的小系

8、统,能够自行设; 定高温报警和低温报警值,实现温度控制电机带动外围器; 件功能。; ;-DQEQUP1.7;DS18B20控制口RS EQU P2.4 RW EQU P2.5 E EQU P2.6 LCD EQU P0 FLAGEQU30H GEWEIEQU29HSHIEQU28HXIAOSHUEQU27HTEMP_TLEQU20H ;低温限值TEMP_THEQU21H ;高温限值TEMPHEQU22H ;温度高字节TEMPLEQU23H ;温度低字节TEMPEQU24HK1EQUP3.0 K2EQUP3.1K3EQUP3.2K4EQUP3.3;=MAIN:MOVTEMP_TH,#25MOVT

9、EMP_TL,#01ACALL INIT_LCD;初始化液晶ACALLWR_THL;写入高温限值和低温限值寄存器ACALLWR_PROMACALLRE_PROM ;从EEPROM中返回高温限值和低温限值ACALLRESET ;初始化1820JBFLAG,LOOPACALLERROR;报错LOOP:ACALLREAD_T;1820读取温度ACALLDISP_TEMP;液晶显示实时温度ACALLKEYSCAN;键盘设定高温限值和低温限值ACALLTEMP_COMPJMPLOOP;=启动1820读取温度=READ_T:SETBDQACALLRESETJBFLAG,READ_T1RETREAD_T1:

10、MOVA,#0CCHACALLWR_1820MOVA,#44HACALLWR_1820ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#0BEHACALLWR_1820ACALLREAD_1820RET;=把高温和低温限值写入寄存器=WR_THL:JBFLAG,WR_HLRETWR_HL:ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#4EHACALLWR_1820MOVA,TEMP_THACALLWR_1820MOVA,TEMP_TLACALLWR_1820RET;=把高温和低温限值写入EEPROM=WR_PROM:ACALLRESETM

11、OVA,#0CCHACALLWR_1820MOVA,#48HACALLWR_1820RET;=把EEPROM的值返回到高温和低温限值寄存器=RE_PROM:ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#0B8HACALLWR_1820RET;=初始化1820=RESET:SETB DQNOPCLRDQMOVR5,#250 DJNZR5,$SETBDQ NOPMOVR5,#25HRESET1:JNBDQ,FLAG1DJNZR5,RESET1JMPNDQFLAG1:SETBFLAGMOVR5,#100DJNZR5,$SETBDQMOVR5,#100DJNZR5,$JM

12、PRETUNDQ:CLRFLAGACALLERRORRETU:SETBDQRET;=1820写字节=WR_1820:MOVR6,#8CLRCWR1:CLRDQMOVR5,#7DJNZR5,$RRCAMOVDQ,CMOVR5,#25DJNZR5,$SETBDQNOPNOPDJNZR6,WR1SETBDQRET;=读取1820数据=READ_1820:MOVR2,#4MOVR1,#TEMPLRE1:MOVR6,#8RE2:SETBDQNOPCLRDQCLRCNOPNOPSETBDQMOVR5,#9DJNZR5,$MOVC,DQMOVR5,#24DJNZR5,$RRCADJNZR6,RE2MOVR1

13、,ADECR1DJNZR2,RE1RET;=转换数据=TURN:MOVXIAOSHU,TEMPL ;保存TEMPL值,后面用于取低4位转换小数部分MOVA,TEMPLMOVC,16 ;22H的位寻址RRCAMOVC,17RRCAMOVC,18RRCAMOVC,19RRCAMOVTEMP,A MOVA,XIAOSHUANLA,#00001111BMOVXIAOSHU,A RET;=键盘扫描=KEYSCAN:JBK1,RETUN;按下K1,进入键盘扫描ACALLDELAY20JNBK1,$ACALLCLR_LCD;清屏ACALLDISP_THL;显示高温限值和低温限值ACALLSET_HL;设定限

14、值ACALLWR_THL;把高温限值和低温限值写入RAM/./ACALLLEDACALL WR_PROM;限值复制到EEPROM中RETUN:RET;-设定高低限值-SET_HL:/JNBK4,EXITJBK1,KEY4 ACALLDELAY20JNBK1,$CPL20H.1;标志位,标志设定高温限值或低温限值JB20H.1,SET_HJMPSET_L;-调高温限值-SET_H:ACALLTH_SHAN;光标闪,进入设定KEY2H:JNBK1,SET_L ;高温限值与低温限值间设定转换JNBK4,EXITJBK2,KEY3H;按下K2,值加1ACALLDELAY20JNBK2,$ INCTEM

15、P_THMOVA,TEMP_THCJNEA,#99,A0MOVTEMP_TH,#00A0:ACALLDISP_THL KEY3H: JBK3,KEY2H ;按下K3,值减1ACALLDELAY20JNBK3,$DEC TEMP_THMOV A,TEMP_THCJNEA,#0,A1MOVTEMP_TH,#99A1:ACALLDISP_THLJMPSET_H ;-调低温限值-SET_L:ACALLTL_SHANKEY2L:JNBK1,SET_H;高温限值与低温限值间设定转换JNBK4,EXITJBK2,KEY3L;按下K2,值加1ACALLDELAY20JNBK2,$INCTEMP_TLMOVA,

16、TEMP_TLCJNEA,#99,A2MOVTEMP_TL,#00A2:ACALLDISP_THL KEY3L:JBK3,KEY2L ;按下K3,值减1ACALLDELAY20JNBK3,$DECTEMP_TLMOVA,TEMP_TLCJNEA,#0,A3MOVTEMP_TL,#99A3:ACALLDISP_THLJMPSET_L ;-KEY4:JNBK4,EXIT ;K4用于退出设定JMPSET_HL/JMPSET_HLEXIT:ACALLDELAY20JNBK4,$ MOV LCD,#00001100B ;设置液晶光标不显示、不闪烁 ACALL WR_COMM ACALLCLR_LCDAC

17、ALLDISP_TEMPRET;=温度比较=TEMP_COMP:MOVA,TEMP_THSUBBA,TEMPACALLDIANJIMOVA,TEMPSUBBA,TEMP_TLACALLDIANJIRET;=/*MORE:MOVDPTR,#MORE0MOVLCD,#0CEHACALLWR_COMMACALLDISP0RETMORE0:DBH,0H*/;=启动电机=;电机接口是P1低4位,因为P1.7是温度传感器的控制口;避免冲突,电机接口按位控制DIANJI:JCDIAN0RETDIAN0:MOVR0,#4/ACALLMOREDIAN1:SETBP1.0CLRP1.1CLRP1.2CLRP1.3

18、 ACALLDELAYCLRP1.0SETBP1.1ACALLDELAYCLRP1.1SETBP1.2ACALLDELAYCLRP1.2SETBP1.3ACALLDELAY/RLADJNZR0,DIAN1CLRP1.0CLRP1.1CLRP1.2CLRP1.3RETDELAY:MOVR5,#5DLY1:MOVR6,#10DLY2:MOVR7,#50DJNZR7,$DJNZR6,DLY2DJNZR5,DLY1RET;=清屏=CLR_LCD:MOVLCD,#80HACALLWR_COMMMOVR0,#16CLR1:MOVLCD,# ACALLWR_DATADJNZR0,CLR1MOVLCD,#0C

19、0HACALLWR_COMMMOVR0,#16CLR2:MOVLCD,# ACALLWR_DATADJNZR0,CLR2RET;=报错=ERROR:MOVLCD,#80HACALLWR_COMMMOVDPTR,#ERORTABACALLDISP0RETERORTAB:DBINIT ERROR!,0H;=温度标志=DISP_C: MOVLCD,A ACALL WR_COMM MOVLCD,#0DFH ACALLWR_DATA MOVLCD,#C ACALLWR_DATA RET;=数码显示=SHUMA:MOVDPTR,#SHUTABMOVCA,A+DPTRMOVLCD,AACALLWR_DATA

20、RETSHUTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39H ;=显示实时温度= DISP_TEMP:ACALLTURNMOV LCD,#80H ACALL WR_COMM MOV DPTR,#CURRENT ACALL DISP0 MOVLCD,#0CAH ACALL WR_COMM MOVLCD,#2EH;小数点 ACALL WR_DATA MOVA,#0CCHACALLDISP_C;温度标志 ;- MOVA,XIAOSHU MOVDPTR,#XIAOMOVC A,A+DPTRMOVXIAOSHU,AMOVA,TEMPMOVB,#10DIVABM

21、OVSHI,AMOVGEWEI,BMOVA,XIAOSHUMOVLCD,#0CBHACALLWR_COMMACALLSHUMAMOVA,SHIMOVLCD,#0C8HACALLWR_COMMACALLSHUMAMOVA,GEWEIACALLSHUMA/MOVLCD,#0D0H ;把光标移到别处 /ACALLWR_COMM RETCURRENT:DBTempreture Now: ,0HXIAO:DB00H,00H,01H,01H,02H,03H,03H,04HDB05H,05H,06H,06H,07H,08H,08H,09H ;=字符显示=DISP0: MOV R1,#0 NEXT: MOV

22、A,R1 MOVC A,A+DPTR JZRETTMOV LCD,A INC R1 ACALL WR_DATA JMPNEXT RETT: RET ;=显示高温限值和低温限值=DISP_THL:MOVDPTR,#SETTHLMOVLCD,#80HACALLWR_COMMACALLDISP0MOVDPTR,#THLMOVLCD,#0C1HACALLWR_COMMACALLDISP0 ;-F5_THL:/ACALLRE_PROMMOVA,TEMP_THMOVB,#10DIVABMOVSHI,A /SHIMOVGEWEI,B/GEMOVA,SHIMOVLCD,#0C4HACALLWR_COMMACA

23、LLSHUMAMOVA,GEWEIACALLSHUMAMOVA,#0C6HACALLDISP_C;-MOVA,TEMP_TLMOVB,#10DIVABMOVSHI,A /SHIMOVGEWEI,B/GEMOVA,SHIMOVLCD,#0CCHACALLWR_COMMACALLSHUMAMOVA,GEWEIACALLSHUMAMOVA,#0CEHACALLDISP_CRETSETTHL:DBSet TH/TL:,0HTHL:DBTH: TL:,0H;=液晶初始化=INIT_LCD: MOV LCD,#00000001B ACALL WR_COMM MOV LCD,#00111000B ACALL

24、 WR_COMM MOV LCD,#00001100B ACALL WR_COMM MOV LCD,#00000110B ACALL WR_COMM RET;=TH光标闪=TH_SHAN:MOV LCD,#00001111B ACALL WR_COMM MOVLCD,#0C5HACALLWR_COMMRET;=TL光标闪=TL_SHAN:MOV LCD,#00001111B ACALL WR_COMM MOVLCD,#0CDHACALLWR_COMMRET ;=液晶写命令=WR_COMM: CLR RS CLR RW CLR E ACALL CHECK_BF SETB E RET ;=液晶写数据= WR_DATA: SETB RS CLR RW CLR E ACALL CHECK_BF SETB E RET ;=液晶是否忙碌= CHECK_BF: MOV LCD, #0FFH CLR RS SETB RW CLR E NOP SETB E JB LCD.7,CHECK_BF RET ;= DELAY20: MOVR5,#50 DLY:MOVR6,#100 DJNZR6,$DJNZR5,DLYRET END ;=

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服