基于单片机的多路温度采集系统

上传人:飞*** 文档编号:3794192 上传时间:2017-08-11 格式:DOC 页数:21 大小:775KB
返回 下载 相关 举报
基于单片机的多路温度采集系统_第1页
第1页 / 共21页
基于单片机的多路温度采集系统_第2页
第2页 / 共21页
基于单片机的多路温度采集系统_第3页
第3页 / 共21页
基于单片机的多路温度采集系统_第4页
第4页 / 共21页
基于单片机的多路温度采集系统_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《基于单片机的多路温度采集系统》由会员分享,可在线阅读,更多相关《基于单片机的多路温度采集系统(21页珍藏版)》请在金锄头文库上搜索。

1、 数理与信息工程学院单片机原理及应用期末课程设计题 目: 基于单片机的多路温度采集系统 专 业: 计算机科学与技术(专升本) 班 级: 计算机 081 班 姓 名: 阮 宜 学 号: 08191110 指导老师: 余 水 宝 成 绩: 目 录第 1 节 前 言11.1 多路温度采集系统概述11.2 本设计任务和主要内容1第 2 节 系统总体设计2数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统22.1 系统概述22.2 系统工作原理2第 3 节 系统的硬件设计33.1 CPU 的选用33.2 ADC080943.2.1 ADC0809 的内部逻辑结构43.2.2 引

2、脚结构5第 4 节 软件编辑思路及流程64.1 软件编辑思路64.2 具体软件编程6第 5 节 结束语18参考文献19基于单片机的多路温度采集系统数理与信息工程学院 08 计算机专升本 阮宜指导教师:余水宝 第 1 节 前 言 本课题要设计一种多路温度采集检测系统,采用目前低价位但技术十分成熟的AT89C52 单片机作为内核,选用电位器代替热敏电阻为输入元件,利用 ADC0809 转换信号,送到显示器(8 个 LED 数码管)循环显示所测的四路温度数值,并根据现数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统2场工业需要,设置了一定范围的报警值,报警优先显示,利用按

3、键消除报警。可用按键查看某一路的温度值,查看时采集不中断。软件算法上采用了直接拟合的方法(通过电压-温度关系来计算温度值),符合课题要求。本课题构成的多路温度系统具有结构简单、价格低廉、测量精度高、量程宽的特点,在很多场合具有一定的适用性。关键词: AT89 单片机、温度采集、显示、报警1.1 多路温度采集系统概述 温度采集在工业中的应用越来越广泛,而且要求也越来越高,我们结合本学期所学的单片机原理与应用技术课程,利用实验室已有的 AT89 系列单片机,作一个简易的可多路检测温度并能在超出范围时报警的系统。该系统用 AT89S52 单片机作为内核,利用 ADC0809 转换芯片辅助,以八个电位

4、器作为模拟温度输入信号,一个 5 路 8 位数码管作为显示设备。可单独循环显示每一路的温度值,并且有键盘控制显示每路的温度值,这样可以满足在工业需要。1.2 本设计任务和主要内容设计应解决下列各主要问题:1、8 路温度值(可用 05V 电压值模拟 0-100)的数据采集,经 A/D 转换后送入单片机;2、8 个键盘、8 个 LED 数码管显示电路,用于循环显示每一路的温度值(显示精确到小数点后一位),通过按键还可以选择任意一路显示。3、设温度值的正常范围,若当前温度值超过此范围,则 LED 闪烁报警;4、通过按键解除报警。第 2 节 系统总体设计2.1 系统概述根据设计要求的性能指标,本系统不

5、仅要满足一定精度的温度采集的基本功能,而且由于测量的路数为 8 路,还存在多路信号的循环显示问题,还要考虑温度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。22 系统工作原理根据本课题的设计目标以及硬件的特点,本系统的结构原理图如下图 2-1 所示:数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统3图 2-1 系统结构原理图图 2-2 系统原理图第 3 节 系统的硬件设计一个温度采集系统,包括被采集信息的采集、转换、显示等环节,在本多路温度采集系统中,包括 A/D 转换电路的设计,CPU 的选型以及包括显示电路,存储器、报

6、警电路、电源电路等设计。31 CPU 的选用目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速发展,比较著名的有 Intel、Philips、Microchip、Motorola、Zilog、Atmel 等半导体企业。在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为 Intel公司的 MCS-51 系列,Microchip 公司的 PIC 系列,如果作单路温度测量,恐怕要选择该系列的 CPU,但由于本系统涉及的是多路,各路报警的输出信号需要单独输出,而且考虑信号调理电路的切换等还需要不少的控制线,因此该系列的少引脚特点就不适合本设计的需要,因此,本设计还是选用

7、了 ATMEL 最新的 8 位单片机 AT89S52作为本系统的 CPU。下面简单地介绍一下 89S52。功能特性描述:AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度易失性存储器技术制造,与工业 80S52 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。89S52 具有以下标准功能:8k 字节 Flash,256 字节 R

8、AM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统4结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图 3-1 89C52 的引脚 32 ADC0809ADC0809 是把采集的模拟量转换成数字量并传送

9、到 89C52 中。它是带有 8 位 A/D转换器、8 路多路开关以及微处理机兼容的控制逻辑的 CMOS 组件并且还是逐次逼近式 A/D 转换器,可以和单片机直接接口。 3.2.1 ADC0809 的内部逻辑结构数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统5图 3-2 ADC0809 的内部逻辑结构由图 3-2 可知,ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 O

10、E 端为高电平时,才可以从三态输出锁存器取走转换完的数据。3.2.2 引脚结构图 3-4 ADC0809 的引脚数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统6第 4 节 软件编辑思路及流程41 软件编辑思路 软件编辑思路:数字显示-算法-一路采集-一路采集转换及显示-八路采集转换及显示-键盘小子程序-八路循环采集且键盘控制-八路循环采集且键盘控制和报警。4.2 具体软件编程ORG 0000HAJMP MAIN;BUF EQU 40H ;显示缓冲区MOTATA EQU 50H ;AD0809 数据存放于此WH EQU 48H ;温度上限数据存放区WL EQU 58

11、H ;温度下限数据存放区BUFF1S EQU 38H;BUFF1MS EQU 39H;BUFF5S EQU 3AH;INNAL EQU 3CH;ALARMBUF EQU 33HBUFFH EQU 31H ;八路 LED 报警信号 红灯BUFFL EQU 32H ;八路 LED 报警信号 绿灯BACK EQU 34H ;利用与 BUF 地址的重复修改路数CHANNEL EQU 35HTEMPBUF EQU 36HREAD_AD BIT 30H ;是否要读写 AD0809 的标志位DISPIN BIT 31H;数理与信息工程学院单片机原理及应用 期末课程设计基于单片机的多路温度采集系统7SETWA

12、RN BIT 32HSOLIDISP BIT 33HENTER BIT P1.2SETH BIT 35HSETL BIT 36HSETIN BIT P1.3ABYTEIN BIT p1.1ORG 0003HAJMP INT_0;ORG 000BHLJMP INT_T0ORG 0100HMAIN: MOV SP, #70H ;设置堆栈位置SETB READ_AD ;初始化标志位SETB EA ;开总中断CLR SETWARN ;清除温度设置标志位SETB SETIN ;当其为 0 时表示要进行通道数采集LCALL INITWARN ;初始化温度上下限LCALL INIT_2 ;初始化 2#工作寄

13、存器区;主循环,启动 ADC0809,从第一个通道开始读取LOOP: JNB READ_AD,DIS ;若不读 AD0809,则调显示,次标志位也表示 1s延时结束;延时已完毕,则计算要显示的温度路数及温度值送缓冲区LCALL WARN ;报警CLR READ_AD ;清楚标志位LCALL READ ;读取一次 AD0809LCALL DLY1MS ;此处加 1ms 的延时,否则数码管会因中断的存在而产生闪动LCALL ADJUST ;调整显示;在此完成键盘检测及显示任务DIS: LCALL DISPLAY;LCALL KEYCHK ;调键盘检测子程序CJNE A,#0FFH, AKEY ;若有键按下,则跳转LJMP LOOP ;若没有则循环AKEY: LCALL KEYFUNC;CJNE A,#0FFH,CALLRPD ;验证按下的键是否为数字键,若是则处理输入LJMP LOOP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号