版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能仪器仪表综合实训题目基于单片机温度控制系统设计学院专业电子信息工程班级(仪器仪表)学生姓名学号指引教师完毕时间:目录一、系统设计---------------------------------------------------------第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设立温度上下限值温度上下限值存入寄存器温度比较启动电机温度与否不不大于高温限值或不大于低温限值YESNOYESkNO图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 RETREAD_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 RETWR_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,#25HRESET1: JNB DQ,FLAG1 DJNZ R5,RESET1 JMP NDQFLAG1: SETB FLAG MOV R5,#100 DJNZ R5,$ SETB DQ MOV R5,#100 DJNZ R5,$ JMP RETUNDQ: CLR FLAG ACALL ERRORRETU: 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,#8RE2: 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 ACALLWR_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,#00A0: ACALL DISP_THLKEY3H: JB K3,KEY2H ;按下K3,值减1 ACALL DELAY20 JNB K3,$ DEC TEMP_TH MOV A,TEMP_TH CJNE A,#0,A1 MOV TEMP_TH,#99A1: ACALL DISP_THL JMP SET_H;-------------调低温限值------------------------------SET_L: ACALL TL_SHANKEY2L: 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,#00A2: ACALL DISP_THLKEY3L: JB K3,KEY2L ;按下K3,值减1 ACALL DELAY20 JNB K3,$ DEC TEMP_TL MOV A,TEMP_TL CJNE A,#0,A3 MOV TEMP_TL,#99A3: ACALL DISP_THL JMP SET_L ;----------------------KEY4: JNB K4,EXIT ;K4用于退出设定 JMP SET_HL //JMP SET_HLEXIT: 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 RETMORE0: DB '>H',0H */ ;=============启动电机========================;电机接口是P1低4位,由于P1.7是温度传感器控制口;避免冲突,电机接口按位控制DIANJI: JC DIAN0 RET DIAN0: MOV R0,#4 //ACALL MOREDIAN1: 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 RETDELAY: MOV R5,#5DLY1: MOV R6,#10DLY2: MOV R7,#50 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1 RET;============清屏=============================CLR_LCD: MOV LCD,#80H ACALL WR_COMM MOV R0,#16CLR1: MOV LCD,#'' ACALL WR_DATA DJNZ R0,CLR1 MOV LCD,#0C0H ACALL WR_COMM MOV R0,#16CLR2: MOV LCD,#'' ACALL WR_DATA DJNZ R0,CLR2 RET;===============报错============================ERROR: MOV LCD,#80H ACALL WR_COMM MOV DPTR,#ERORTAB ACALL DISP0 RETERORTAB: DB 'INITERROR!',0H ;================温度标志===================DISP_C:MOV LCD,A ACALLWR_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 RETSHUTAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H ;===============显示实时温度======================DISP_TEMP: ACALL TURN MOVLCD,#80H ACALLWR_COMM MOVDPTR,#CURRENT ACALLDISP0 MOV LCD,#0CAH ACALLWR_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 RETCURRENT:DB 'TempretureNow:',0HXIAO: DB 00H,00H,01H,01H,02H,03H,03H,04H DB 05H,05H,06H,06H,07H,08H,08H,09H ;================字符显示=============================DISP0:MOV R1,#0NEXT: MOV A,R1 MOVC A,@A+DPTR JZ RETT MOV LCD,A INC R1 ACALL WR_DATA JMP NEXTRETT: 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 RETSETTHL: DB 'SetTH/TL:',0HTHL: DB 'TH:TL:',0H;==========液晶初始化================================INIT_LCD: MOVLCD,#00000001B ACALLWR_COMM MOVLCD,#00111000B ACALLWR_COMM MOVLCD,#00001100B ACALLWR_COMM MOVLCD,#00000110B ACALLWR_COMM RET;============TH光标闪==============================TH_SHAN: MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微专题4+等差数列、等比数列课件-2025届高考数学二轮复习
- 新华区事业编考试真题及答案
- 2026二年级数学 苏教版数学乐园综合实践一
- 物质酸碱性的试卷及答案
- 保安室岗位制度
- 柳州六年级模拟考试题及答案
- 黄冈地理生物试题及答案
- 2025 高中信息技术数据与计算在历史研究课件
- 考核标准合格奖惩制度
- 校园双控考核奖惩制度
- 《基于FCFF模型的三一重工企业价值评估的案例分析报告》16000字【论文】
- 客运公司安全生产培训和教育学习制度
- 攻读博士学位期间材料科学研究计划参考范文
- 2023陆上石油天然气停产井安全风险防控指南
- DB32∕T2621-2014 特大型桥梁机电工程质量检验评定规范
- 三氧化硫泄露现场预案(6篇)
- 西方社会学理论教案
- 考点24 人与环境-五年(2020-2024年)高考生物学真题专项分类汇编
- 概率论与数理统计章节练习题及答案
- 医疗设备的保养与维护
- 2024届中职对口(职教)高考语文冲刺复习题(应用文写作)(含解析)
评论
0/150
提交评论