完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx

上传人:b****8 文档编号:22753086 上传时间:2023-02-05 格式:DOCX 页数:21 大小:98.68KB
下载 相关 举报
完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx_第1页
第1页 / 共21页
完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx_第2页
第2页 / 共21页
完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx_第3页
第3页 / 共21页
完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx_第4页
第4页 / 共21页
完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx

《完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

完整版基于单片机的温度控制系统设计毕业论文设计Word格式.docx

aDconvertertemperature;

目录

1绪论2

1.1课题的背景及其意义2

1.2课题研究的内容及要求3

1.2.1课题的主要研究的内容3

2AT89C51系列单片机介绍及硬件设计5

2.1AT89C51系列单片机介绍5

2.1.1AT89C51系列基本组成及特性5

2.1.2AT89C51系列引脚功能6

2.1.3AT89C51系列单片机的功能单元8

2.2硬件设计11

2.2.1温度采样部分11

2.2.2控制温度13

2.2.3模数转换部分14

2.2.4模数转换技术14

2.2.5积分型模数转换器14

2.2.6显示部分15

3软件设计17

3.1主程序流程图17

3.2读温度子程序17

3.3计算温度子程序18

3.4按键流程图19

3.5显示流程图20

结论22

参考文献23

谢辞24

1绪论

1.1课题的背景及其意义

现代工业设计,工程建设及日常生活中温度控制都起着重要的作用,早期的温度控制主要用于工厂时间生产中,能起到实时采集温度数据,提高生产效率,产品质量之用。

随着人们生活质量的提高,现代社会中的温度控制不仅应用在工厂生产方面也应用于酒店,厂房以及家庭生活中,在有些应用中,如高精度的生产厂房,对温度的要求极其严格,温度的变化极有可能对生产的产品造成极大的影响。

因此,这就需要一种能够及时检测温度变化以及温度变化的设备,提供温度数据值,使人们对温度的变化做及时的调整,多点温度控制可根据人们不同的应用环境自行设置该环境的温度值,及时反映生产,生活中温度变化使人们能及时看到温度变化的第一手资料,提示人们温度变化情况,协助人们能及时的调整,起到温度报警作用,使温度控制更好的服务于社会生产,生活。

电子技术的飞速发展,给人类的生活带来了根本的的变革,特别是随着大规模集成电路的产生而出现了微型计算机,更是将人类社会带入了一个新的时代。

利用微机的强大功能。

人们可以完成各种各样的控制。

然而,微机造价高,对于大多数的工业控制来说,也并不需要微机那样强大的功能,于是单片机就运用而生了。

单片机其实就是一个简化的微机,将微机的CPU,存储器,IO接口。

定时器计数器等集成在一片芯片上就是单片机了,它主要用来完成各种控制功能。

相对微机来说,单片机价格低,非常适合于应用在简单的控制场合以降低成本。

另外,单片机是按照工业控制要求设计的,其可靠性很高,可在工业现场复杂的环境下运行。

单片机依靠其高的可靠性和极高的性价比,在工业控制,数据采集,智能化仪表,家用电器等方面得到极为广泛的应用。

温度是表征物体冷热程度的物理量,温度测量则是工农业生产过程中一个很重要而普遍的参数。

温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。

由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。

而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富来满足生产生活中的需要。

在单片机温度测量系统中的关键是测量温度、控制温度和保持温度,温度测量是工业对象中主要的被控参数之一。

因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业等重要工业领域中,担负着重要的测量任务。

在日常生活中,也可广泛实用于地热、空调器、电加热器等各种家庭室温测量及工业设备温度测量场合。

但温度是一个模拟量,如果采用适当的技术和元件,将模拟的温度量转化为数字量虽不困难,但电路较复杂,成本较高。

1.2课题研究的内容及要求

1.2.1课题的主要研究的内容

本文所要研究的课题是基于单片机控制的水温控制系统的设计,主要是介绍了对水箱温度的显示、控制及报警,实现了温度的实时显示及控制。

水箱水温控制部分,提出了用DS18S20、AT89C51单片机及LED的硬件电路完成对水温的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上下限温度的报警系统。

而炉内温度控制部分,采用一套PID闭环负反馈控制系统,由DS18S20检测炉内温度,用中值滤波的方法取一个值存入程序存取器内部一个单元作为最后检测信号,并在LED中显示。

控制器是用89C51单片机,用PID算法对检测信号和设定值的差值进行调节后输出控制信号给执行机构,去调节电阻炉的加热功率,从而控制炉内温度。

它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点的温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18S20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。

从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18S20供电,而且不需要额外电源。

同时DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。

而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动启动加热装置等功能。

而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话部分来共同实现温度的监测与控制。

1.2.2用单片机实现其具体控制功能如下:

(1)能够连续测量水的温度值,用十进制数码管来显示水的实际温度。

(2)能够设定水的温度值,设定范围是30℃~90℃。

(3)能够实现水温的自动控制,如果设定水温为85℃,则能使水温保持恒定在85℃的温度下运行。

(4)用单片机AT89C51控制,通过按键来控制水温的设定值,数值采用数码管显示。

2AT89C51系列单片机介绍及硬件设计

2.1AT89C51系列单片机介绍

2.1.1AT89C51系列基本组成及特性

AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

而在众多的51系列单片机中,要算ATMEL公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。

而这种单片机对开发设备的要求很低,开发时间也大大缩短。

AT89C51基本功能描述如下:

AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入擦除1000次,数据保存时间为十年。

它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。

只要程序长度小于4k,四个IO口全部提供给用户。

可用5V电压编程,而且写入时间仅10毫秒,仅为875187C51的擦除时间的百分之一,与875187C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。

AT89C51芯片提供三级程序存储器锁定加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

另外,AT89C51还具有MCS-51系列单片机的所有优点。

128×

8位内部RAM,32位双向输入输出线,两个十六位定时器计时器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。

AT89C51有间歇、掉电两种工作模式。

间歇模式是由软件来设置的,当外围器件仍然处于工作状态时,CPU可根据工作情况适时地进入睡眠状态,内部RAM和所有特殊的寄存器值将保持不变。

这种状态可被任何一个中断所终止或通过硬件复位。

掉电模式是VCC电压低于电源下限,当振荡器停止振动时,CPU停止执行指令。

该芯片内RAM和特殊功能寄存器值保持不变,一直到掉电模式被终止。

只有VCC电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位、掉电模式可被终止。

2.1.2AT89C51系列引脚功能

AT89C51有40引脚双列直插(DIP)形式。

其与80C51引脚结构基本相同,其逻辑引脚图如图2-1。

图2-1AT89C51逻辑引脚图

各引脚功能叙述如下:

1.电源和晶振

VCC——运行和程序校验时加+5V

GND——接地

XTAL1——输入到振荡器的反向放大器

XTAL2——反向放大器的输出,输入到内部时钟发生器

(当使用外部振荡器时,XTAL1接地,XTAL2接收振荡器信号)

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALEPROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的16。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

2.IO(4个口,32根)

P0口——8位、漏极开路的双向IO口。

当使用片外存储器(ROM、RAM)时,作地址和数据分时复用。

在程序校验期间,输出指令字节(需加外部上拉电路)。

P0口(作为总线时)能驱动8个LSTTL负载。

P1口——8位、准双向IO口。

在编程校验期间,用于输入低位字节地址。

P1口可驱动4个LSTTL负载。

对于80C51,P1.0——T2,是定时器的计数端且位输入;

P1.1——T2EX,是定时器的外部输入端。

这时,读两个特殊输入引脚的输出锁存器应由程序置1。

P2口——8位、准双向IO口。

当使用片外存储器(ROM及RAM)时,输出高8位地址。

在编程校验期间,接收高位字节地址。

P2口可以驱动4个LSTTL负载。

P3口——8位、准双向IO口,具有内部上拉电路。

P3口提供各种替代功能。

在提供这些功能时,其输出锁存器应由程序置1。

P3口可以输入输出4个LSTTL负载。

3.串行口

P3.0——RXD(串行输入口),输入。

P3.1——TXD(串行输出口),输出。

4.中断

P3.2——INT0外部中断0,输入。

P3.3——INT1外部中断1,输入。

5.定时器计数器

P3.4——T0定时器计数器0的外部输入,输入。

P3.5——T1定时器计数器1的外部输入,输入。

6.数据存储器选通

P3.6——WR低电平有效,输出,片外存储器写选通。

P3.7——RD低电平有效,输出,片外存储器读选通。

7.控制线(共4根)

输入:

RST——复位输入。

EAVpp——片外程序存储器访问允许信号,低电平有效。

在编程时,其上施加21V的编程电压。

注意:

在加密方式1时,EA将内部锁定为RESET;

当EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

输入、输出:

ALEPROG——地址锁存允许信号,输出。

ALE以16的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。

在EPROM编程期间,作输入,输入编程脉冲(PROG)。

ALE可以驱动8个LSTTL负载。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

如果微处理器在外部执行状态ALE禁止,置位无效。

输出:

PSEN——片外程序存储器选通信号,低电平有效。

在从片外程序存储器取址期间,在每个机器周期中,当PSEN有效时,程序存储器的内容被送上P0口(数据总线)。

PSEN可以驱动8个LSTTL负载。

2.1.3AT89C51系列单片机的功能单元

1.并行IO接口:

单片机芯片内有一项主要功能就是并行IO口。

51系列共有4个8位的并行IO口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。

实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。

在访问片外扩展存储器时,低八位地址和数据由P0口分时传送,高八位地址由P2口传送。

2.定时器计数器

定时器计数器(timercounter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。

C51系列包含有两个16位的可编程定时器计数器分别称为定时器计数器T0和定时器计数器T1;

在C51部分产品中,还包含有一个用做看门狗的8位定时器。

定时器计数器的核心是一个加1计数引脚上施加器,其基本功能是加1功能。

在单片机的定时器T0或T1中,有一个定时器发生由0到1的跳变时,计数器增1,即为计数功能;

在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。

在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。

定时器计数器内部结构及其原理:

由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。

当定时器计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。

定时器的定时时间与系统的振荡频率紧密相关,因为C51系列单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率fc=fosc12。

如果单片机系统采用12MHz晶振,则计数周期为:

(2-1)这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。

当定时器计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。

在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。

新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以最高检测频率为振荡频率的124。

计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。

3.振荡器

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM、定时器、计数器、串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

5.中断系统

中断系统是单片机的重要组成部分。

实时控制、故障自动处理、单片机与外围设备间的数据传送往往采用中断系统。

中断系统大大提高了系统的效率。

C51系统有关中断的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;

中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求R1或T1。

5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地址。

中断的特点是分时操作,实时处理和故障处理。

简单介绍一下本次设计所需的单片机芯片AT89C51的中断系统中要用到的中断类型。

(1)外部中断源

AT89C51有INT0和INT1两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或负边沿两种中断触发方式来输入中断请求信号。

AT89C51究竟工作于哪种中断触发方式,可由用户对定时器控制寄存器TCON中IT0和IT1位状态的设定来选取。

AT89C51在每个机器周期的S5P2时对INT0、线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。

若AT89C51设定为电平触发方式(IT0=0或IT1=0),则CPU检测到INT0、INT1上低电平时就可认定其上中断请求有效;

若设定为边沿触发方式(IT0=1或IT1=1),则CPU需要两次检测INT0、INT1线上电平方能确定其上中断请求是否有效,即前一次检测为高电平和后一次检测为低电平时中断请求才有效。

(2)定时器溢出中断源

定时器溢出中断由AT89C51内部定时器分的中断源产生,故它们属于内部中断。

AT89C51内部有两个16位定时器计数器,受内部定时脉冲(主脉冲经12分频后)或T0T1引脚上输入的外部定时脉冲计数。

定时器T0T1在定时脉冲作用下从全“1”变成全“0”时可以自动向CPU提出溢出中断请求,以表明定时器T0或T1的定时时间已到。

(3)串行口中断源

串行口中断由AT89C51内部串行口的中断源产生,也是一种内部中断。

串行口中断分为串行口发送中断和串行口接收中断两种。

在串行口进行发送接收数据时,每当串行口发送接收完一组串行数据时串行口电路自动使串行口控制寄存器SCON中的RI或TI中断标志位置位,并自动向CPU发出串行口中断请求,CPU响应串行口中断后便立即转入串行口中断服务程序执行。

因此,只要在串行口中断服务程序中安排一段对SCON中RI和TI中断标志位状态的判断程序,便可区分串行口发生了接收中断请求还是发送中断请求。

(4)中断标志

AT89C51在S5P2时检测(或接收)外部(内部)中断源发来的中断请求信号后先使相应中断标志位置位,然后便在下个机器周期检测这些中断标志位状态,以决定是否响应该中断。

2.2硬件设计

本设计采用按键作为输入控制,通过温度多采样单元采集温度信息,经过LM324放大器放大及ADC0809数模转换器将其转换,由主机AT89C51进行处理并将实际温度值和设定温度值分别显示在共阳极数码显示管LED上。

2.2.1温度采样部分

温度采样单元用于采集被控制对象的温度采集参数,它由温度电压转换,小信号放大及AD转换三部分组成,其中将温度转化为电量的温度电压转换由温度传感器——热敏电阻实现,AD转换选择模数转换器ADC0809将采集的温度模拟信号转换为8255能处理的二进制数字信号。

ADC0809是位AD转换芯片,它是采用逐次逼近的方法完成AD转换的。

ADC0809由单+5V电源供电;

片内带有锁存功能的8路模拟多路开关,可对8路0~5V的输入模拟电压分时进行转换,完成一次转换约需100µ

S;

片内具有多路开关的地址译码器和锁存器、高阻抗斩波器、稳定的比较器,256电阻T型网络和树状电子开关以及逐次逼近寄存器。

ADC0809是引脚双列直插式封装,引脚及其功能(图2.1):

1.D7~D0:

8位数字量输出引脚。

2.IN0~IN7:

8路模拟量输入引脚。

3.VCC:

+5V工作电压。

4.GND:

接地。

5.REF(+):

参考电压正端。

6.REF(-):

参考电压负端。

7.START:

AD转换启动信号输入端。

8.A、B、C:

地址输入端。

9.ALE:

地址锁存允许信号输入端。

10.EOC:

转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

11.OE:

输出允许控制端,用以打开三态数据输出锁存器。

12.CLK:

时钟信号输入端,译码后可选通IN0~IN7八个通道中的一个进行转换。

图2-1.1ADC0809的管脚图

温度采样单元,如2.2所示,用于采集被控对象的温度参数,它由温度电压转换、小信号放大及AD转换三部分组成。

其中,将温度转化为电量的温度电压转换由温度传感器-热敏电阻实现,小信号放大由桥式放大电路实现,AD转换选择模数转换器ADC0809,将采集到的温度模拟信号转换为AT89C51能够处理的二进制数字信号。

图2-2温度采样单元

该系统的下位机8255单片机作为控制核心,负责采集现场温度值。

温度传感器将温度转换为电压信号,经模数转换器ADC0809转换成8位数字量,并经8255的P1口进入单片机保存。

上位PC机通过串行口与下位机联络,向下位机发送控制命令和接收下位机上传的数据以及进行人机交互。

上位机

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

当前位置:首页 > 高等教育 > 文学

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

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