基于单片机的温度控制器的设计说明.docx

上传人:b****4 文档编号:5496581 上传时间:2022-12-17 格式:DOCX 页数:23 大小:902.01KB
下载 相关 举报
基于单片机的温度控制器的设计说明.docx_第1页
第1页 / 共23页
基于单片机的温度控制器的设计说明.docx_第2页
第2页 / 共23页
基于单片机的温度控制器的设计说明.docx_第3页
第3页 / 共23页
基于单片机的温度控制器的设计说明.docx_第4页
第4页 / 共23页
基于单片机的温度控制器的设计说明.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于单片机的温度控制器的设计说明.docx

《基于单片机的温度控制器的设计说明.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制器的设计说明.docx(23页珍藏版)》请在冰豆网上搜索。

基于单片机的温度控制器的设计说明.docx

基于单片机的温度控制器的设计说明

 

《温度控制器》

课程设计

 

学生姓名:

胡云飞

学号:

6100310011

专业班级:

自动化101

指导老师:

万晓凤

 

2014年01月08日

第1章概述

1.1课题背景································2

1.2温度控制器的发展························3

第2章系统的硬件电路设计

2.1单片机的选择····························4

2.2温度传感器的选择·······················4

2.3显示模块的选择·························4

第3章系统软件设计

3.1主程序设计······························5

3.2LED显示程序设计························6

3.3键盘控制模块程序设计····················7

第四章仿真与结果

4.1仿真原理图·····························8

4.2结语···································8

第5章附录

5.1硬件原理图····························9

5.2程序加载项····························9

5.3系统仿真图···························10

5.4系统程序·····························10

 

基于单片机的温度控制器

摘要:

本设计介绍一种温度控制器,它是以AT89C52单片机为核心,用按键输入来设置控制温度上、下限,通过DS18B20数字温度传感器采集现场温度,并将其与设定的温度进行比较,来控制加热装置的通断,利用液晶显示器来显示温度,并设置温度越限报警。

利用单片机的开发环境,进行程序的编译、调试。

最后在PROTEUS中对温度控制器的温度设置、温度控制、温度报警、温度显示灯功能进行仿真。

系统的仿真结果验证了温度控制器的设计可行性。

关键词:

AT89C52,温度传感器DS18B20,液晶显示器,Proteus

Abstract:

ThedesigntakeAT89C52microcontrollerasthecore,anditusebuttonstosettheupperandlowerlimits,controltheheatingdevicebycomparingsettingtemperaturewithreal-timetemperature,whichiscollectedbyDS18B20,useLEDtodisplaytemperature,andsetthealarmoftemperaturewhichisoutofsettinglimits.Usethedevelopmentenvironmentofmicrocontrollertomakeprogramcompilesanddebugging.Attheend,usePROTEUStosimulatethefunctionsoftemperaturesetting,temperaturecontrolling,temperaturealarm,andtemperaturedisplayingoftemperaturecontroller.Theresultofsimulationhasverifiedthefeasibilityofthedesign.

Keywords:

AT89C52,DS18C20,LED,Proteus

 

第1章绪论

1.1课题背景

温度控制是一个非常常见的过程,无论是在我们的日常生活中,还是在农业生产中,甚至在现代化的工业生产中,对温度的控制都是非常必要的。

在寒冷的冬天,或者炎热的夏天,我们利用空调来创造一个舒适的环境。

种子的发芽、农作物的生长、果实的成熟等都需要适宜的温度。

在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

由此可见,温度控制是一个非常重要的过程。

AT89C52单片机设计的温度控制器,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而将温度准确地控制在设定温度值或设定的温度范围之内,这对我们的工业、工业生产都是很大帮助的。

以单片机为核心的应用技术已成为一项新的工程应用技术。

单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等优势,在过程控制系统、数据采集、机电一体化、智能化仪表、家用电器以及网络技术等方面得到了广泛的应用。

由此可见,对温度控制器的研究是非常必要的,在科技日新月异的今天,温度控制将对各行各业产生很大的影响,如何才能研究出更高精度的温度控制器?

这是我们必须去思考并解决的问题。

1.2温度控制器的发展

温度控制器广泛应用于家用电器,主要为冰柜、冷柜、空调、饮水机、微波炉等制冷、制热产品配置。

目前国内温度控制器生产企业减少,仅广东、江苏、辽宁、江西等地有一些规模稍大一点的生产厂家,他们的生产能力远远不能满足电子温度控制器市场的需求。

温度控制器不仅在国内市场销售顺畅,而且在国际市场也十分看好。

由于日本、意大利、美国等国家对温度控制器产品的需求量很大,温度控制器出口前景十分乐观。

第2章系统的硬件电路设计

该硬件系统框图如图2-1所示。

控制器由AT89C52单片机、温度检测电路、控制电路等组成。

 

 

图2硬件系统框图

 

2.1单片机的选择

采用AT89C52单片机,属于C51单片机系列,其主要工作特性是:

(1)片内程序存储器内含4k字节的Flash程序存储器;

(2)片内数据存储器内含128字节的RAM;

(3)具有32根可编程I/O口线;

(4)2个16位定时/计数器;

(5)一个5向量两级中断结构;

(6)一个全双工串行通信口,片内振荡器及时钟电路;

(7)具有可编程串行URAR通道;

(8)低功耗工作模式有空闲模式和掉线模式;

(9)具有三级加密程序存储器;

(10)AT89C52工作电源电压为5v;

(11)AT89C52最高工作频率为33MHz;

图2-1AT89C52引脚图

2.2温度传感器的选择

采用数字温度传感器DS18B20,DS18B20数字温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此,由它组成的测温系统,具有线路简单,一根通信线可以挂很多这样的数字温度传感器,使用方便等特点。

2.3显示模块的选择

采用LED数码管显示,LED亮度高、可视角度高和刷新速率快,能提供宽达160°的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、VCD、DVD等彩色视频信号,多幅显示屏还可以进行联网播出。

第三章系统软件设计

3.1主程序设计

AT89C52的具体软件程序流程图如图3.1所示。

 

Y

N

 

图3-1主程序流程图

3.2LED显示程序设计

LED显示的流程图如图3-2所示。

移位

显示字符

输出段选信号

输出位选信号

设字符表

 

N

Y

 

图3-2LED显示模块流程图

 

3.3键盘控制模块程序设计

键盘控制模块流程图如图3-3所示。

N

Y

N

Y

 

图3-3键盘模块流程图

 

第四章仿真与结果

采用绘制电路图软件PROTEUS和用于编写程序的KeilCI.LVision2实现系统设计的仿真。

图4为PROTEUS仿真环境下温度值为5°C时的硬件电路图。

在KeilCpVision2中创建一个新项目。

然后在PROTEUS中为该项目加入KeilC源程序。

调试后,结果和设计目标完全吻合。

图4proteusisis环境下温度值为5°C时的硬件仿真图

结语

该温度控制器以AT89C52单片机作为内核,采用DS18B20单线数字温度传感器采集温度,将采集到的温度直接以数字形式输出到单片机,无须经过变换电路,具有精度高、稳定性好和抗干扰性强等特点。

 

第五章附录

附录1硬件原理图

附录2程序加载项

附录3系统仿真图

附录4系统程序

DS18B20EQUP1.0

ALARMEQUP1.6

MOTOREQUP1.7

RLEDEQUP3.5

GLEDEQUP3.6

BLEDEQUP3.7

KEY1EQUP3.0

KEY2EQUP3.1

KEY3EQUP3.2

WENDU_LEQU50H

WENDU_HEQU51H

XIAOSHUEQU52H

ZHENGSHUEQU53H

DIS_RAM_HEQU54H

DIS_RAM_LEQU55H

SHEDING_HEQU56H

SHEDING_LEQU57H

SIGNEQU58H

ORG0000H

LJMPMAIN

ORG000BH

LJMPINT_T0

ORG0100H

MAIN:

MOVSP,#30H

CLRALARM

CLRMOTOR

CLRRLED

CLRBLED

MOVWENDU_L,#0

MOVWENDU_H,#0

MOVZHENGSHU,#0

MOVDIS_RAM_H,#0

MOVDIS_RAM_L,#0

MOVSHEDING_H,#0

MOVSHEDING_L,#0

MOVSIGN,#0

LCALLINI_CPU

LOOP:

LCALLKEY_TEST

LCALLCOMPARE

LCALLGET_TEMP

LCALLZHENGHE

LCALLDIS_DEAL

SJMPLOOP

COMPARE:

MOVA,ZHENGSHU

CLRC

CJNEA,SHEDING_H,COMPARE1

COMPARE1:

JCCLOSE_WIND

SETBMOTOR

AJMPCOMPARE_EXIT

CLOSE_WIND:

CLRMOTOR

CLRC

CJNEA,SHEDING_L,COMPARE2

COMPARE2:

JNCCLOSE_ALARM

SETBALARM

JMPCOMPARE_EXIT

CLOSE_ALARM:

CLRALARM

COMPARE_EXIT:

RET

KEY_TEST:

JBKEY1,KEY2_TEST

LCALLDELAY10MS

JBKEY1,KEY2_TEST

INCSIGN

MOVA,SIGN

CJNEA,#3,KEY1_EXIT

MOVSIGN,#0

KEY1__EXIT:

JNBKEY1,$

AJMPKEY_TEST_EXIT

KEY2_TEST:

JBKEY2,KEY_3TEST

LCALLDELAY10MS

JBKEY2,KEY3_TEST

MOVA,SIGN

CJNEA,#0,KEY2_DEAL1

AJMPKEY2_EXIT

KEY2_DEAL1:

CJNEA,#1,KEY2_DEAL2

INCSHEDING_H

JMPKEY2_EXIT

KEY2_DEAL2:

INCSHEDING_L

KEY2_EXIT

JNBKEY2,$

AJMPKEY_TEST_EXIT

KEY3_TEST:

JBKEY2,KEY_TEST_EXIT

LCALLDELAY10MS

JBKEY2,KEY_TEST_EXIT

MOVA,SIGN

CJNEA,#0,KEY3_DEAL1

AJMPKEY3_EXIT

KEY3_DEAL1:

CJNEA,#1,KEY3_DEAL3

DECSHEDING_H

JMPKEY3_EXIT

KEY3_DEAL3:

DECSHEDING_L

KEY3_EXIT:

JNBKEY3,$

KEY3_TEST_EXIT:

RET

INI_CPU:

MOVTMOD,#01H

MOVTH0,#0DCH

MOVTL0,#0B0H

SETBEA

SETBET0

SETBTR0

RET

Readtemperature

GET_TEMP:

SETBDS18B20

LCALLRESET_DS18B20

JCGET_TEMP_EXIT

MOVA,#0CCH

LCALLWR_DS18B20

MOVA,#44H

LCALLWR_DS18B20

LCALLDELAY1S

SETBDS18B20

LCALLRESET_DS18B20

JCGET_TEMP_EXIT

MOVA,#0CCH

LCALLWR_DS18B20

LCALLREAD_TEMP

CLRDS18B20

GET_TEMP_EXIT:

RET

READ_TEMP:

MOVR4,#2

MOVR1,#WENDU_L

RE:

MOVR2,#8

RE1:

CLRC

SETBDS18B20

NOP

NOP

CLRDS18B20

NOP

NOP

NOP

SETBDS18B20

MOVR3,#9

DJNZR3,$

MOVC,DS18B20

MOVR3,#23

NN:

DJNZR3,NN

RRCA

DJNZR2,RE1

MOV@R1,A

INCR1

DJNZR4,RE

RET

DODEALWITHTHEDATA

ZHENGHE:

MOVA,#0FH

ANLA,WENDU_L

MOVXIAOSHU,A

MOVA,WENDU_H

ANLA,#0FH

SWAPA

MOVB,A

MOVA,WENDU_L

ANLA,#0F0H

SWAPA

ADDA,B

MOVZHENGSHU,A

RET

DIS_DEAL:

MOVA,SIGN

CJNEA,#0,DIS_DEAL1

SETBGLED

CLRRLED

CLRBLED

MOVA,ZHENGSHU

MOVB,#10

DIVAB

MOVDIS_RAM_H,A

MOVDIS_RAM_L,B

AJMPDIS_DEAL_EXIT

DIS_DEAL1:

CJNEA,#1,DIS_DEAL2

CLRGLED

SETBRLED

CLRBLED

MOVA,SHEDING_H

MOVB,#10

DIVAB

MOVDIS_RAM_H,A

MOVDIS_RAM_L,B

AJMPDIS_DEAL_EXIT

DIS_DEAL2:

CLRGLED

CLRRLED

SETBBLED

MOVA,SHEDING_L

MOVB,#10

DIVAB

MOVDIS_RAM_H,A

MOVDIS_RAM_L,B

DIS_DEAL_EXIT:

RET

INT_T0:

PUSHPSW

PUSHACC

CLRTR0

MOVTH0,#0DCH

MOVTL0,#0B0H

DISPLAY:

MOVDPTR,#TABLE

MOVA,DIS_RAM_H

MOVCA,@A+DPTR

MOVP0,A

SETBP2.0

LCALLDELAY602US

CLRP2.0

MOVA,DIS_RAM_L

MOVCA,@A+DPTR

MOVP0,A

SETBP2.1

LCALLDELAY602US

CLRP2.1

SETBTR0

POPACC

POPPSW

RETI

ResettheDS18B20

RESET_DS18B20:

CLRDS18B20

LCALLDELAY602US

SETBDS18B20

LCALLDELAY92US

MOVC,DS18B20

LCALLDELAY300US

RET

WR_DS18B20:

MOVR7,#8

WR_18B20:

CLRDS18B20

NOP

NOP;5US

NOP

NOP

NOP

RRCA

MOVDS18B20,C

LCALLDELAY62US

SETBDS18B20

DJNZR7,WR_18B20

RET

RD_DS18B20:

MOVR7,#8

RD_18B20:

CLRDS18B20

NOP

NOP

SETBDS18B20

NOP

NOP

MOVC,DS18B20

NOP

NOP

RRCA

SETBDS18B20

NOP

NOP

DJNZR7,RD_18B20

RET

DELAY1S

DELAY1S:

PUSH00

PUSH01

PUSH02

MOVR0,#09

DLY1S1:

MOVR1,#0E0H

DLY1S2:

MOVR2,#0FFH

DJNZR1,$

DJNZR1,DLY1S2

DJNZR0,DLY1S1

POP02

POP01

POP00

RET

DELAY50MS

DELAY10MS:

PUSH00

PUSH01

MOVR0,#20

DLY10MS1:

MOVR1,#0FFH

DJNZR1,$

DJNZR0,DLY10MS1

POP01

POP00

RET

DELAY480US

DELAY602US:

PUSH00

PUSH01

MOVR0,#0FFH

DJNZR0,$

MOVR1,#40

DJNZR1,$

POP01

POP00

RET

DELAY300US

DELAY300US:

PUSH00

MOVR0,#8FH

DJNZR0,$

POP00

RET

DELAY60US

DELAY92US:

PUSH00

MOVR0,#2AH

DJNZR0,$

POP00

RET

DELAY62US

DELAY62US:

PUSH00

MOVR0,#27

DJNZR0,$

POP00

RET

TABLE:

DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H

END

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1