基于单片机的温度控制系统设计报告 联系客服

发布时间 : 星期二 文章基于单片机的温度控制系统设计报告更新完毕开始阅读e9c9f10ffc4733687e21af45b307e87100f6f847

初始化液晶显示 启动DS18B20并初始化 读取温度数据 数据转换 显示温度 温度比较 启动电机 YES 温度是否大于高温限值或小于低温限值 NO NO KeyScan?YESk 显示温度上下限设置温度上下限值 温度上下限值存入寄存器

图3 主程序流程图

二、单元电路设计

(一) 温度信号采集电路

图4 温度信号采集电路

(二) 步进电机电路

图5 步进电机电路

(三) 液晶显示模块

图6液晶显示模块

(四) 晶振复位电路

图7 晶振复位电路

三、总结体会

本次课程设计给我们提供了一个将自己所学的知识应用于实践的良机,通过了两个周的设计我学到了很多非常有价值的东西,懂得了如何将理论知识转化成实际程序的设计;掌握的单片机开发与设计的思路与方案确定;学会了更有效的查找自己所需的资料;同时也意识到了团队协作的重要性;掌握了硬件与程序设计的一般步骤和方法。这对我们以后的学习和工作的是非常有帮助的。

设计是我们将来必需的技能,这次课程设计刚好给我们提供了一个应用自己所学知识的机会,从到图书馆和网上查找资料到对硬件与程序模块的设计对各模块的调试再到最后整体设计调试,都对我所学的知识进行了检验,增强了自信心。

通过本次课程设计,我进一步温习和巩固了课本的理论知识,对单片机各接口与外部电路之间的连接关系有了更加深刻的理解。同时掌握了Proteus和keil软件的基本应用。同时,在课程设计过程中,将理论知识应用于实际应用,增强了理论联系实际的能力。虽然设计时有时一个问题需要我们花费很长的时间,很烦很累但当我们通过查找资料解决了之后心里很开心很有成就感。同时也使我明白了要将理论运用于实践还是一种非常重要的能力,要想牢固的掌握所学的知识我们必须将理论与实践结合起来,用理论来指导实践,用实践来验证理论,增强对理论的理解。不断地充实自己的理论,提高自己的动手能力。最终完成了整个设计之后,使我更加坚信只要我们努力和采用正确的方法,没有什么事是我们解决不了的。

最后,我在这里衷心地感谢所有教给我知识和在课程设计中给予我帮助的老师们和同学们,是他们给我们的知识才使我们得以顺利完成此次课程设计。

四、参考文献

《单片微型计算机原理与应用》 , 张毅坤、陈善久、裘雪红 西安电子科技大学出版社 《51单片机应用从零开始》 杨欣、王玉凤、李湘黔 清华大学出版社 《51单片机应用开发范例大全》 宋戈、黄鹤松、员玉良 人民邮电出版社 郭天祥 电子工业出版社

附录:程序清单

;------------------------------------------------- ; 简单功能说明:一个显示实时温度的小系统,可以自行设 ; 定高温报警和低温报警值,实现温度控制电机带动外围器 ; 件功能。 ;

;-------------------------------------------------

DQ EQU RS

RW E LCD

;DS18B20控制口

P0

EQU EQU EQU EQU

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 K3 EQU K4 EQU

K2 EQU

;=============================================== MAIN: MOV TEMP_TH,#25

;=============启动1820读取温度====================

READ_T: SETB

DQ

ACALL RESET JB FLAG,READ_T1 RET MOV A,#0CCH ACALL WR_1820 MOV A,#44H MOV TEMP_TL,#01 ACALL INIT_LCD ACALL WR_THL ACALL WR_PROM ACALL RE_PROM JB FLAG,LOOP ACALL ERROR

;1820读取温度 ;报错

;从EEPROM中返回高温限值和低温限值

ACALL RESET ;初始化1820

;初始化液晶

;写入高温限值和低温限值寄存器

LOOP: ACALL READ_T

ACALL KEYSCAN ACALL TEMP_COMP JMP LOOP

ACALL DISP_TEMP ;液晶显示实时温度

;键盘设定高温限值和低温限值

READ_T1: