目 录
第1节 前 言……………………………………………………………………………1
1.1 多路温度采集系统概述…………………………………………………………1 1.2 本设计任务和主要内容………………………………………………………1 第2节 系统总体设计…………………………………………………………………2
2.1 系统概述………………………………………………………………………2 2.2 系统工作原理…………………………………………………………………2 第3节 系统的硬件设计………………………………………………………………3 3.1 CPU的选用……………………………………………………………………3
3.2 ADC0809………………………………………………………………………4 3.2.1 ADC0809的内部逻辑结构………………………………………………4
3.2.2引脚结构…………………………………………………………………5
第4节 软件编辑思路及流程……………………………………………………………6
4.1 软件编辑思路…………………………………………………………………6 4.2 具体软件编程…………………………………………………………………6
第5节 结束语…………………………………………………………………………18
参考文献…………………………………………………………………………………19
基于单片机的多路温度采集系统
第1节 前 言
本课题要设计一种多路温度采集检测系统,采用目前低价位但技术十分成熟的
AT89C52单片机作为内核,选用电位器代替热敏电阻为输入元件,利用ADC0809转换信号,送到显示器(8个LED数码管)循环显示所测的四路温度数值,并根据现场工业需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时采集不中断。软件算法上采用了直接拟合的方法(通过电压-温度关系来计算温度值),符合课题要求。本课题构成的多路温度系统具有结构简单、价格低廉、测量精度高、量程宽的特点,在很多场合具有一定的适用性。 关键词: AT89单片机、温度采集、显示、报警
1.1 多路温度采集系统概述
温度采集在工业中的应用越来越广泛,而且要求也越来越高,我们结合本学期所学的《单片机原理与应用技术》课程,利用实验室已有的AT89系列单片机,作一个简易的可多路检测温度并能在超出范围时报警的系统。该系统用AT89S52单片机作为内核,利用ADC0809转换芯片辅助,以八个电位器作为模拟温度输入信号,一个5路8位数码管作为显示设备。可单独循环显示每一路的温度值,并且有键盘控制显示每路的温度值,这样可以满足在工业需要。
1.2 本设计任务和主要内容
设计应解决下列各主要问题:
1、8路温度值(可用0~5V电压值模拟0-100℃)的数据采集,经A/D转换后送入单片机;
2、8个键盘、8个LED数码管显示电路,用于循环显示每一路的温度值(显示精确到小数点后一位),通过按键还可以选择任意一路显示。
3、设温度值的正常范围,若当前温度值超过此范围,则LED闪烁报警; 4、通过按键解除报警。
1
第2节 系统总体设计
2.1 系统概述
根据设计要求的性能指标,本系统不仅要满足一定精度的温度采集的基本功能,
而且由于测量的路数为8路,还存在多路信号的循环显示问题,还要考虑温度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。
2.2 系统工作原理
根据本课题的设计目标以及硬件的特点,本系统的结构原理图如下图2-1所示:
图2-1 系统结构原理图
图2-2 系统原理图
第3节 系统的硬件设计
一个温度采集系统,包括被采集信息的采集、转换、显示等环节,在本多路温度采集系统中,包括A/D转换电路的设计,CPU的选型以及包括显示电路,存储器、报警电路、电源电路等设计。
3.1 CPU的选用
目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速发展,比较著名的有Intel、Philips、Microchip、Motorola、Zilog、Atmel等半导体企业。
在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为Intel公司的MCS-51系列,Microchip公司的PIC系列,如果作单路温度测量,恐怕要选
2
择该系列的CPU,但由于本系统涉及的是多路,各路报警的输出信号需要单独输出,而且考虑信号调理电路的切换等还需要不少的控制线,因此该系列的少引脚特点就不适合本设计的需要,因此,本设计还是选用了ATMEL最新的8位单片机AT89S52作为本系统的CPU。下面简单地介绍一下89S52。
功能特性描述:AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度易失性存储器技术制造,与工业 80S52 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图3-1 89C52的引脚
3.2 ADC0809
ADC0809是把采集的模拟量转换成数字量并传送到89C52中。它是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件并且还是逐次逼近式A/D转换器,可以和单片机直接接口。
3
3.2.1 ADC0809的内部逻辑结构
图3-2 ADC0809的内部逻辑结构
由图3-2可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
3.2.2 引脚结构
图3-4 ADC0809的引脚
4