1、 1 基于单片机的多点温度检测系统的设计 一 、 引言 随着社会的发展和技术的进步,人们越来越注重温度检测与显示的重要性。温度检测与状态显示技术与设备已经普遍应用于各行各业,市场上的产品层出不穷。温度检测及显示也逐渐采用自动化控制技术来实现监控。本课题就是一个温度检测及状态显示的监控系统。 二、 系统方案 本系统采用 AT89C51 作为该系统的单片机。系统整体硬件电路包括,电源电路,传感器电路,温度显示电路,上下限报警电路等。报警电路可以在被测温度不在上下限范围内时,发出报警鸣叫声音。温度控制的基本原理为 :当 DSl8B20 采集到温度信号后,将温度信号送至 AT89C51 中处理,同时将
2、温度送到 LCD 液晶屏显示,单片机根据初始化设置的温度上下限进行判断处理,即如果温度大于所设的最高温度就启动风扇降温 ;如果温度小于所设定的最低温度就启动报警装置。 温度控制器的原理 图 三、系统硬件设计 1.单片机 AT89C51 的介绍 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 COMS8 位单片机,片内含 4Kbytes的可反复擦写的只读程序存储器( PEROM)和 128bytes 的随机存取数据存储器( RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器( CPU)和 Flash 存
3、储单元,功能强大 AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 主要性能参数: 与 MCS-51 产品指令系统完全兼容 4K 字节可重擦写 Flash 闪速存储器 1000 次擦写周期 全静态操作: 0Hz 24MHz 三级加密程序存储器 2 128 8 字节内部 RAM 32 个可编程 I/O 口线 2 个 16 位定时 /计数器 6 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 功能特性概述: AT89C51 提供以下标准功能: 4K 字节 Flash 闪速存储器, 128 字节内部 RAM, 32 个I/O 口线,两个 16 位定时 /
4、计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时, AT89C51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时 /计数器。串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 引脚功能说明: VCC:电源电压 GND:地 P0 口: P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写“ 1”可作为高阻抗输入端用。
5、在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间即或内部上拉电阻。 在 Flash 编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口: P1 是一个带有内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流 ) 4 个 TTL 逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 Flash 编程和程序校验期间, P1 接收低 8 位地址。 P2 口:
6、 P2 是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸 3 收或输出电流) 4 个 TTL 逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 在 访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVXDPTR 指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVXRI 指令)时, P2 口线上的内容在整个访问期间不改变。 Flash 编程或检验时, P2 亦接收高位地址和其它控制信
7、号。 P3 口: P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对 P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 RET:复位输入。当振荡器工作时, RET 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG :当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。对 Flash 存储器编程期
8、间,该引脚还用于输入编程脉冲( PROG )。即使不访问外部存储器, ALE 仍以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出时钟 或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令 ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。 PSEN :程序储存允许( PSEN )输出是外部程序存储器的读选通信号,当 AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现。 EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存EA 端状态。如 EA 端为高电平(接 VCC 端), CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 VPP,当然这必须是该器件是