
单片机温度采集显示系统设计说明.doc
18页. . . 课 程 设 计 课程名称:微机原理与接口技术课程设计题目名称:温度采集显示系统学生学院 专业班级学 号 学生 指导教师 一、设计题目温度采集系统二、 设计任务和要求 功能要求:(1) 温度测量围 0 - 99℃2) 温度分辨率1℃3) 选择合适的温度传感器4) 使用键盘输入温度的最高点和最低点,温度超出围时候报警报警温度不 需要保存)要求完成的容:(1)系统硬件设计,并用电子CAD软件绘制出原理图,(2)给出流程图,编写并调试程序3)撰写设计报告三、原理电路图和设计程序1、方案比较(1)、 系统总体方案设计总体框架图如图1示,软件流程图如图示 ① 该温度控制系统的设计包括硬件设计和软件设计两大部分,结合实际情况,该系统应具备如下功能: A、实时采集温度; B、显示温度; C、串行传送数据; D、控制外设; E、温度超限报警; ② 系统硬件设计 系统的硬件设计部分主要由以下几部分组成: A、单片机最小系统; B、温度采集模块; C、温度显示模块; D、串行通信模块; E、报警电路;图2 软件流程图(2)、方案比较方案一 采用8031作为控制核心,以使用最为普遍的器件ADC0809作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。
此方案简易可行,器件的价格便宜,但8031部没有程序存储器,需要扩展,增加了电路的复杂性,且ADC0809是8位的模数转换,不能满足本题目的精度要求方案二 采用比较流行的AT89S51作为电路的控制核心, AT89S52不但与8051,8052 指令,管脚完全兼容,而且其片的程序存储器采用FLASH 工艺,用户可以用电的方式瞬间擦除、改写AT89S52 单片机还支持编程,用户通过简单的电路连接就可以将电脑里的程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏此外AT89S52 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度此方案电路简单并且可以满足题目中的各项要求的精度综上分析,我们采用方案二仿真总体电路图如图3示 图3 图3(3)、单元电路设计①、单片机最小系统设计单片机是整个系统的核心处理器,其负责驱动温度传感器DS18B20 工作、温度显示、控制外围设备的工作以及与上位机进行通信等工作单片机最小系统主要由两块组成,其一为晶振起振电路,其二为复位电路,在此,采用按键手动复位,相对来讲,这种复位方式更加方便,更加人性化,不必要切断电源即可对系统进行复位。
AT89S51简介:AT89S52 是89 系列单片机的一种,它不但与8051,8052 指令,管脚完全兼容,而且其片的程序存储器采用FLASH 工艺,用户可以用电的方式瞬间擦除、改写AT89S52 单片机还支持编程,用户通过简单的电路连接就可以将电脑里的程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏此外AT89S52 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度②、 温度采集模块设计温度传感器是该系统的关键器件,本系统选用的是美国Dallas 半导体公司生产的数字化温度传感器 DS18B20本系统中DS18B20 的DQ 口与单片机的 P1.0 口连接,GND 接地,VDD 接电源,信号和5V 电源之间的接上一个上拉电阻RDS18B20简介:DS18B20 有三个主要数字部件组成:64 位激光ROM、温度传感器、非易失性的温度报警触发器TH 和TL DS18B20 支持“一线总线”接口,测量温度围为-55C~+125C,被测温度用符号扩展的16 位数字量方式串行输出,在-10~+85C 围,精度为0.5CDS18B20 采集到的现场温度直接以先进的单总线数据通信方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
DS18B20 可程序设定9~12 位的分辨率,精度可达0.5CDS18B20具有置的EEPROM,用户设定的分辨率和报警温度都可存储在其中,且掉电后依然存在CPU 只需一根端口线就能与DS18B20 进行通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路与前一代产品(DS1820 温度传感器)不同,DS18B20 支持3.0V ~5.5V的电压围,使系统设计更灵活、方便,而且DS18B20 价格更便宜,体积更小 如图J1所示, DS18B20 有三个管脚:3脚 GND 为电源地,2脚DQ 为数字信号输入/输出端,1脚VDD 为外接供电电源接入端(用寄生电源方式时接地)在外部电源供电方式下,DS18B20 工作电源由VDD 引脚接入,此时I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时理论上总线可以挂接任意多个DS18B20 传感器,组成多点测温系统在外部供电的方式下,DS18B20 的GND 引脚不能悬空,否则不能转换温度,读取的温度总是85℃ ③ 温度显示模块设计根据实际应用情况,该温度显示模块采用七段数码管显示电路,数码管选用共阳极数码管,如图U3示,以动态方式显示,显示数据由P1口送出,位控信号由P2口送出,经74LS244进行信号放大,以产生足够大的电流驱动数码管显示。
流程图如图示:④ 串行通信模块设计 AT89S52 单片机部含有一个可编程全双工串行通信接口,由TXD 引脚来传送串行数据,而由RXD 引脚来接收数据该接口具有UART(通用异步接收和发送器)的全部功能,它不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用,可构成双机或者多机通信系统 ⑤ 报警电路设计 本设计采用蜂鸣器报警电路,它由晶体管和蜂鸣器组成当温度的测量值超出给定的上下限时,由单片机的P3.7 口输出信号控制晶体管导通,则蜂鸣器报警⑥ 系统软件设计本系统采用 AT89S52 作为核心处理器件,把经过DS18B20 现场实时采集到的温度数据,存入AT89S52 的部数据存储器,并送LED 数码管显示,并与温度的设定值进行比较,然后由单片机输出控制信号去控制外部设备进行温度控制程序的设计还应考虑越限报警,当采集到的温度值与温度的设置值进行比较后,若发现当前温度值越限,则产生报警信号与硬件电路相关联,本温度控制系统的软件设计主要分为以下几个部分:主程序,温度上下限值设定子程序、温度读取子程序、温度显示子程序、串口通信子程序、输出控制子程序和报警子程序等其中温度上下限值设定子程序完成对温度围值的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过温度显示子程序显示温度值;串口通信子程序将采集到的温度数据传送到PC 机,以实现远程监控;输出控制子程序根据采集到的温度数据完成对外部设备的控制;报警子程序则当采集到的温度数据超过设定的温度上下限值时报警。
整个运行程序,见电子版下面是测温程序段:sbit DQ = P3^3; // 定义DQ引脚为P3.3/******************************* 延时函数 ********************************* 功能:在11.059MHz的晶振条件下调用本函数需要24μs ,然后每次计数需16μs **************************************************************************/void DS18_delay(int useconds) {int s;for (s=0; s
