毕业设计(论文)--基于单片机的温度控制系统的设计与实现 下载本文

1.绪论

随着科学技术日益迅速的发展,数字监控系统已经深入到生活的各个方面。数字温度计作为数字监控系统的重要组成部分发挥着极其重要的作用。它克服了接触式温度计对传感器的耐热性能要求比较苛刻的缺点,使温度计无论在使用范围还是测量精度上都有了长足的进步。

本设计就是在这种广阔的应用背景下应运而生的。下面就本设计的设计目标和思路进行简单介绍。 1.1方案一:热敏电阻

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。如下图:

图1 热敏电阻

1.2 方案二:控制内核不用单片机,用DSP

选定了温度传感器之后,再来考虑它的控制内核,因为数字温度计的设计并不复杂,单片机完全可以处理的了,DSP是比较高端的控制内核应用成本相对较高,所以选用单片机是即经济又实惠的选择。 1.3 方案三:温度传感器DS18B20

进而考虑到用温度传感器,在设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上三种方案,很容易看出,采用方案三,电路比较简单,软件设计也比较简单,故采用了方案三。

2.系统设计

2.1系统功能

本系统利用单片机采集温度,温度值精确到小数点一位,用4位数码管显示温度值,设置三个按键调整报警温度值,当温度超出所设定的上下限范围时,蜂鸣器开始报警。 2.2系统框图

1

复位电路 报警电路 时钟振荡 单 片 机 温度传感器 LED显示 蜂鸣器报警

图2 总体设计方框图

2.3单片机的介绍

40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电

路,片内时钟振荡器。 AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。其结构框图如图3.1所示。

2

图3 AT89S52结构框图

3

图4 AT89S52

此外,AT89S52设计和配置了震荡频率可为12MHZ并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。 主要功能特性:

· 兼容mcs-51指令系统

· 4k可反复擦写(>1000次)isp flash rom · 32个双向i/o口 · 4.5-5.5v工作电压

· 2个16位可编程定时/计数器 · 时钟频率0-33mhz

· 全双工uart串行中断口线 · 128x8bit内部ram

· 2个外部中断源 · 低功耗空闲和省电模式

· 中断唤醒省电模式 · 3级加密位

· 看门狗(wdt)电路 · 软件设置空闲和省电功能

· 灵活的isp字节和分页编程 · 双数据寄存器指针

按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能

4

I/O口、控制和复位等。

1.多功能I/O口

AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,共32根I/O线。每根线可以单独用作输入或输出。

①P0端口,该口是一个8位漏极开路的双向I/O口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。

②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash编程和程序校验时,P1口接收低8位地址。

另外,P1.0与P1.1可以配置成定时/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端(P1.0/T2EX),如表3.1所示。

表1 P1口管脚复用功能

端口引脚 P1.0 P1.1 P1.5 P1.6 P1.7

复用功能 T2(定时器/计算器2的外部输入端) T2EX(定时器/计算器2的外部触发端和双向控制) MOSI(用于在线编程) MISO(用于在线编程) SCK(用于在线编程) ③ P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器或16位的外部数据存储器时,P2口送出高8位地址,在访问8位地址的外部数据存储器时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。

④ P3端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,

5