基于单片机的温度控制系统设计报告.doc
《基于单片机的温度控制系统设计报告.doc》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统设计报告.doc(42页珍藏版)》请在咨信网上搜索。
基于单片机的温度控制系统设计报告 37 2020年4月19日 文档仅供参考 智能仪器仪表综合实训 题 目 基于单片机的温度控制系统设计 学 院 专 业 电子信息工程 班 级 (仪器仪表) 学生姓名 学 号 指导教师 完成时间: 目录 一、系统设计---------------------------------------------------------第 1 页 (一) 系统总体设计方案----------------------------------------------第 1 页 (二) 温度信号采集电路选择和数据处理--------------------------------第 3 页 (三) 软件设计------------------------------------------------------第 3 页 二、单元电路设计-----------------------------------------------------第 5 页 (一) 温度信号采集电路----------------------------------------------第 5 页 (二) 步进电机电路------------------------------------------------- 第 5 页 (三) 液晶显示模块---------------------------------------------------------- 第 6 页 (四) 晶振复位电路--------------------------------------------------第 7 页 三、总结体会--------------------------------------------------------------------------------------第 7 页 四、参考文献-------------------------------------------第 8 页 附录:程序清单------------------------------------------第 8 页 一、系统设计 (一) 系统总体设计方案 设计框图如下所示: 液晶显示及按键设置 温 度 信 号 采 集 温度控制接口 步进电机控制 图1 系统总体设计框图 总电路图如下: 图2 系统总电路图 简单功能说明: 一个显示实时温度的小系统,能够自行设定高温报警和低温报警值,实现温度控制电机带动外围器件功能。本系统经过温度传感器DS18B20实现对温度数据的采集,数据处理后显示到液晶屏上,经过数据处理,温度值精确度为0.1。 简单操作方法: 系统上电后液晶显示实时温度,经过按键能够设定高低温限定值: A.按下K1,显示系统的高低温限定值; B.再按K1,进入设定状态,液晶屏光标闪动提示设定,此时设定高温限值还是低温限值能够在 K1键转换; C.进入设定状态后,K2键用于值加1,K3键用于值减1; D.设定完后,按键K4确认后退出,返回显示实时温度! (二) 温度信号采集电路选择和数据处理 方案:采用温度传感器DS18B20 美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与MCU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上能够挂接多个DS18820,便于多点测量且易于扩展. DS18B20的测温范围较大,集成度较高,故选用此方案。 DS18B20内部1,2位寄存器存放实时温度值,本系统对以上两寄存器数据处理后精度为0.1;DS18B20第3,4位寄存器分别存放高温限值和低温限值,而且DS18B20内部还有EEPROM,因此经过第3,4寄存器与EEPROM的数据交换就能实现对设定后的值进行贮存。 (三) 软件设计 本实验中我选用Keil编程平台. 主程序流程图: 初始化液晶显示 启动DS18B20并初始化 读取温度数据 数据转换 显示温度 显示温度上下限值 KeyScan?kkk1k 设置温度上下限值 温度上下限值存入寄存器 温度比较 启动电机 温度是否大于高温限值或小于低温限值 YES NO YESk NO 图3 主程序流程图 二、单元电路设计 (一) 温度信号采集电路 图4 温度信号采集电路 (二) 步进电机电路 图5 步进电机电路 (三) 液晶显示模块 图6液晶显示模块 (四) 晶振复位电路 图7 晶振复位电路 三、总结体会 本次课程设计给我们提供了一个将自己所学的知识应用于实践的良机,经过了两个周的设计我学到了很多非常有价值的东西,懂得了如何将理论知识转化成实际程序的设计;掌握的单片机开发与设计的思路与方案确定;学会了更有效的查找自己所需的资料;同时也意识到了团队协作的重要性;掌握了硬件与程序设计的一般步骤和方法。这对我们以后的学习和工作的是非常有帮助的。 设计是我们将来必须的技能,这次课程设计刚好给我们提供了一个应用自己所学知识的机会,从到图书馆和网上查找资料到对硬件与程序模块的设计对各模块的调试再到最后整体设计调试,都对我所学的知识进行了检验,增强了自信心。 经过本次课程设计,我进一步温习和巩固了课本的理论知识,对单片机各接口与外部电路之间的连接关系有了更加深刻的理解。同时掌握了Proteus和keil软件的基本应用。同时,在课程设计过程中,将理论知识应用于实际应用,增强了理论联系实际的能力。虽然设计时有时一个问题需要我们花费很长的时间,很烦很累但当我们经过查找资料解决了之后心里很开心很有成就感。同时也使我明白了要将理论运用于实践还是一种非常重要的能力,要想牢固的掌握所学的知识我们必须将理论与实践结合起来,用理论来指导实践,用实践来验证理论,增强对理论的理解。不断地充实自己的理论,提高自己的动手能力。最终完成了整个设计之后,使我更加坚信只要我们努力和采用正确的方法,没有什么事是我们解决不了的。 最后,我在这里衷心地感谢所有教给我知识和在课程设计中给予我帮助的老师们和同学们,是她们给我们的知识才使我们得以顺利完成此次课程设计。 四、参考文献 《单片微型计算机原理与应用》 , 张毅坤、陈善久、裘雪红 西安电子科技大学出版社 《51单片机应用从零开始》 杨欣、王玉凤、李湘黔 清华大学出版社 《51单片机应用开发范例大全》 宋戈、黄鹤松、员玉良 人民邮电出版社 郭天祥 电子工业出版社 附录:程序清单 ;------------------------------------------------- ; 简单功能说明:一个显示实时温度的小系统,能够自行设 ; 定高温报警和低温报警值,实现温度控制电机带动外围器 ; 件功能。 ; ;------------------------------------------------- DQ EQU P1.7 ;DS18B20控制口 RS EQU P2.4 RW EQU P2.5 E EQU P2.6 LCD EQU P0 FLAG EQU 30H GEWEI EQU 29H SHI EQU 28H XIAOSHU EQU 27H TEMP_TL EQU 20H ;低温限值 TEMP_TH EQU 21H ;高温限值 TEMPH EQU 22H ;温度高字节 TEMPL EQU 23H ;温度低字节 TEMP EQU 24H K1 EQU P3.0 K2 EQU P3.1 K3 EQU P3.2 K4 EQU P3.3 ;=============================================== MAIN: MOV TEMP_TH,#25 MOV TEMP_TL,#01 ACALL INIT_LCD ;初始化液晶 ACALL WR_THL ;写入高温限值和低温限值寄存器 ACALL WR_PROM ACALL RE_PROM ;从EEPROM中返回高温限值和低温限值 ACALL RESET ;初始化1820 JB FLAG,LOOP ACALL ERROR ;报错 LOOP: ACALL READ_T ;1820读取温度 ACALL DISP_TEMP ;液晶显示实时温度 ACALL KEYSCAN ;键盘设定高温限值和低温限值 ACALL TEMP_COMP JMP LOOP ;=============启动1820读取温度==================== READ_T: SETB DQ ACALL RESET JB FLAG,READ_T1 RET READ_T1: MOV A,#0CCH ACALL WR_1820 MOV A,#44H ACALL WR_1820 ACALL RESET MOV A,#0CCH ACALL WR_1820 MOV A,#0BEH ACALL WR_1820 ACALL READ_1820 RET ;=========把高温和低温限值写入寄存器================= WR_THL: JB FLAG,WR_HL RET WR_HL: ACALL RESET MOV A,#0CCH ACALL WR_1820 MOV A,#4EH ACALL WR_1820 MOV A,TEMP_TH ACALL WR_1820 MOV A,TEMP_TL ACALL WR_1820 RET ;==========把高温和低温限值写入EEPROM================= WR_PROM:ACALL RESET MOV A,#0CCH ACALL WR_1820 MOV A,#48H ACALL WR_1820 RET ;========把EEPROM的值返回到高温和低温限值寄存器======== RE_PROM: ACALL RESET MOV A,#0CCH ACALL WR_1820 MOV A,#0B8H ACALL WR_1820 RET ;===========初始化1820================================== RESET: SETB DQ NOP CLR DQ MOV R5,#250 DJNZ R5,$ SETB DQ NOP MOV R5,#25H RESET1: JNB DQ,FLAG1 DJNZ R5,RESET1 JMP NDQ FLAG1: SETB FLAG MOV R5,#100 DJNZ R5,$ SETB DQ MOV R5,#100 DJNZ R5,$ JMP RETU NDQ: CLR FLAG ACALL ERROR RETU: SETB DQ RET ;=============1820写字节======================== WR_1820: MOV R6,#8 CLR C WR1: CLR DQ MOV R5,#7 DJNZ R5,$ RRC A MOV DQ,C MOV R5,#25 DJNZ R5,$ SETB DQ NOP NOP DJNZ R6,WR1 SETB DQ RET ;==============读取1820数据====================== READ_1820: MOV R2,#4 MOV R1,#TEMPL RE1: MOV R6,#8 RE2: SETB DQ NOP CLR DQ CLR C NOP NOP SETB DQ MOV R5,#9 DJNZ R5,$ MOV C,DQ MOV R5,#24 DJNZ R5,$ RRC A DJNZ R6,RE2 MOV @R1,A DEC R1 DJNZ R2,RE1 RET ;===========转换数据============================= TURN: MOV XIAOSHU,TEMPL ;保存TEMPL值,后面用于取低4位转换小数部分 MOV A,TEMPL MOV C,16 ;22H的位寻址 RRC A MOV C,17 RRC A MOV C,18 RRC A MOV C,19 RRC A MOV TEMP,A MOV A,XIAOSHU ANL A,#00001111B MOV XIAOSHU,A RET ;========键盘扫描============================= KEYSCAN: JB K1,RETUN ;按下K1,进入键盘扫描 ACALL DELAY20 JNB K1,$ ACALL CLR_LCD ;清屏 ACALL DISP_THL ;显示高温限值和低温限值 ACALL SET_HL ;设定限值 ACALL WR_THL ;把高温限值和低温限值写入RAM //.../ACALL LED ACALL WR_PROM ;限值复制到EEPROM中 RETUN: RET ;------------设定高低限值---------------------- SET_HL: //JNB K4,EXIT JB K1,KEY4 ACALL DELAY20 JNB K1,$ CPL 20H.1 ;标志位,标志设定高温限值或低温限值 JB 20H.1,SET_H JMP SET_L ;-------------调高温限值------------------------- SET_H: ACALL TH_SHAN ;光标闪,进入设定 KEY2H: JNB K1,SET_L ;高温限值与低温限值间设定转换 JNB K4,EXIT JB K2,KEY3H ;按下K2,值加1 ACALL DELAY20 JNB K2,$ INC TEMP_TH MOV A,TEMP_TH CJNE A,#99,A0 MOV TEMP_TH,#00 A0: ACALL DISP_THL KEY3H: JB K3,KEY2H ;按下K3,值减1 ACALL DELAY20 JNB K3,$ DEC TEMP_TH MOV A,TEMP_TH CJNE A,#0,A1 MOV TEMP_TH,#99 A1: ACALL DISP_THL JMP SET_H ;-------------调低温限值------------------------------ SET_L: ACALL TL_SHAN KEY2L: JNB K1,SET_H ;高温限值与低温限值间设定转换 JNB K4,EXIT JB K2,KEY3L ;按下K2,值加1 ACALL DELAY20 JNB K2,$ INC TEMP_TL MOV A,TEMP_TL CJNE A,#99,A2 MOV TEMP_TL,#00 A2: ACALL DISP_THL KEY3L: JB K3,KEY2L ;按下K3,值减1 ACALL DELAY20 JNB K3,$ DEC TEMP_TL MOV A,TEMP_TL CJNE A,#0,A3 MOV TEMP_TL,#99 A3: ACALL DISP_THL JMP SET_L ;---------------------- KEY4: JNB K4,EXIT ;K4用于退出设定 JMP SET_HL //JMP SET_HL EXIT: ACALL DELAY20 JNB K4,$ MOV LCD,#00001100B ;设置液晶光标不显示、不闪烁 ACALL WR_COMM ACALL CLR_LCD ACALL DISP_TEMP RET ;==============温度比较====================================== TEMP_COMP: MOV A,TEMP_TH SUBB A,TEMP ACALL DIANJI MOV A,TEMP SUBB A,TEMP_TL ACALL DIANJI RET ;============================================ /*MORE: MOV DPTR,#MORE0 MOV LCD,#0CEH ACALL WR_COMM ACALL DISP0 RET MORE0: DB '>H',0H */ ;=============启动电机======================== ;电机接口是P1低4位,因为P1.7是温度传感器的控制口 ;避免冲突,电机接口按位控制 DIANJI: JC DIAN0 RET DIAN0: MOV R0,#4 //ACALL MORE DIAN1: SETB P1.0 CLR P1.1 CLR P1.2 CLR P1.3 ACALL DELAY CLR P1.0 SETB P1.1 ACALL DELAY CLR P1.1 SETB P1.2 ACALL DELAY CLR P1.2 SETB P1.3 ACALL DELAY //RL A DJNZ R0,DIAN1 CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 RET DELAY: MOV R5,#5 DLY1: MOV R6,#10 DLY2: MOV R7,#50 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1 RET ;============清屏============================= CLR_LCD: MOV LCD,#80H ACALL WR_COMM MOV R0,#16 CLR1: MOV LCD,#' ' ACALL WR_DATA DJNZ R0,CLR1 MOV LCD,#0C0H ACALL WR_COMM MOV R0,#16 CLR2: MOV LCD,#' ' ACALL WR_DATA DJNZ R0,CLR2 RET ;===============报错============================ ERROR: MOV LCD,#80H ACALL WR_COMM MOV DPTR,#ERORTAB ACALL DISP0 RET ERORTAB: DB 'INIT ERROR!',0H ;================温度标志=================== DISP_C: MOV LCD,A ACALL WR_COMM MOV LCD,#0DFH ACALL WR_DATA MOV LCD,#'C' ACALL WR_DATA RET ;=================数码显示====================== SHUMA: MOV DPTR,#SHUTAB MOVC A,@A+DPTR MOV LCD,A ACALL WR_DATA RET SHUTAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H ;===============显示实时温度====================== DISP_TEMP: ACALL TURN MOV LCD,#80H ACALL WR_COMM MOV DPTR,#CURRENT ACALL DISP0 MOV LCD,#0CAH ACALL WR_COMM MOV LCD,#2EH ;小数点 ACALL WR_DATA MOV A,#0CCH ACALL DISP_C ;温度标志 ;------------------------------ MOV A,XIAOSHU MOV DPTR,#XIAO MOVC A,@A+DPTR MOV XIAOSHU,A MOV A,TEMP MOV B,#10 DIV AB MOV SHI,A MOV GEWEI,B MOV A,XIAOSHU MOV LCD,#0CBH ACALL WR_COMM ACALL SHUMA MOV A,SHI MOV LCD,#0C8H ACALL WR_COMM ACALL SHUMA MOV A,GEWEI ACALL SHUMA //MOV LCD,#0D0H ;把光标移到别处 //ACALL WR_COMM RET CURRENT:DB 'Tempreture Now: ',0H XIAO: DB 00H,00H,01H,01H,02H,03H,03H,04H DB 05H,05H,06H,06H,07H,08H,08H,09H ;================字符显示============================= DISP0: MOV R1,#0 NEXT: MOV A,R1 MOVC A,@A+DPTR JZ RETT MOV LCD,A INC R1 ACALL WR_DATA JMP NEXT RETT: RET ;==========显示高温限值和低温限值====================== DISP_THL: MOV DPTR,#SETTHL MOV LCD,#80H ACALL WR_COMM ACALL DISP0 MOV DPTR,#THL MOV LCD,#0C1H ACALL WR_COMM ACALL DISP0 ;--------------------------- F5_THL: //ACALL RE_PROM MOV A,TEMP_TH MOV B,#10 DIV AB MOV SHI,A //SHI MOV GEWEI,B //GE MOV A,SHI MOV LCD,#0C4H ACALL WR_COMM ACALL SHUMA MOV A,GEWEI ACALL SHUMA MOV A,#0C6H ACALL DISP_C ;---------------- MOV A,TEMP_TL MOV B,#10 DIV AB MOV SHI,A //SHI MOV GEWEI,B //GE MOV A,SHI MOV LCD,#0CCH ACALL WR_COMM ACALL SHUMA MOV A,GEWEI ACALL SHUMA MOV A,#0CEH ACALL DISP_C RET SETTHL: DB 'Set TH/TL:',0H THL: DB 'TH: TL:',0H ;==========液晶初始化================================ INIT_LCD: MOV LCD,#00000001B ACALL WR_COMM MOV LCD,#00111000B ACALL WR_COMM MOV LCD,#00001100B ACALL WR_COMM MOV LCD,#00000110B ACALL WR_COMM RET ;============TH光标闪============================== TH_SHAN: MOV LCD,#00001111B ACALL WR_COMM MOV LCD,#0C5H ACALL WR_COMM RET ;=============TL光标闪============================= TL_SHAN: MOV LCD,#00001111B ACALL WR_COMM MOV LCD,#0CDH ACALL WR_COMM RET ;============液晶写命令============================ 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: MOV R5,#50 DLY: MOV R6,#100 DJNZ R6,$ DJNZ R5,DLY RET END ;==========================================- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 控制系统 设计 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文