基于89c52单片机的恒温控制系统设计内容摘要:

表 单片机 管脚含义 ALE/PROG 地址锁存控制信号: 在访问片外程序存储器的时候,每机器周期这个信号出现两次,它的下降沿用来控制锁存 P0口输出的低 8位地址。 就算不在访问片外程序存储器的时候,这个信号也以振荡频率的 1/6 出现,因此可以用来作为对外输出的时钟脉冲。 但是在访问片外数据存储器的时候, ALE 脉冲会跳空一个,那此时作为时钟输出就不合适了。 /PSEN 外部程序存储器读选通信号: 在向片外程序存储器读取指令或常数期间,每个机器周期这个信号(低电平)两次有效,以通过数 据总线 P0 口读回指令或常数。 但是在访问片外数据存储器的时候, /PSEN 信号将不会出现。 /EA/VDD 访问 程 序存储器控制信号 : 这个引脚有效(低电平)的时候只能选用片外程序存储器,不然计算机上电或者复位后先选用片内程序存储器。 但是对于内部含 有 可擦除可编程只读寄存器 的 机型,我们在编程的时候,这个引脚用作 21V 编程电源 VDD 的输入端。 RST 复位信号: 在单片机的振荡器工作的时候,这个引脚上出现持续两个机器周期的高电平就能够实现复位的操作,从而使得单片机回复到初始的状态。 上电时,我们考虑到振荡器有一定的起振时 间,这个引脚上高电平必须持续 10ms以上的时间才能够保证有效复位。 XTAL1: 反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2: 来自反向振荡器的输出。 VCC: 接 +5V 电源正端。 VSS: 接 +5V 电源地端。 硬件电路设计概述 基于单片机的 恒温控制系统 其硬件电路方框图 如图 所示: 由 图可知,硬件电路由 8部分组成,即 按键输入电路、 时钟电路、复位电路 、温度采集电路、引脚 第 2 功能 RXD(串行口输入端) TXD(串行口输出端) INT0( 外部 中断 0 请求输入端,低电平有效) INT1( 外部 中断 1 请求输入端,低电平有效) T0( 定 时器 /计数器 0 计数脉冲端) T1( 定 时器 /计数器 1 计 数脉冲端) WR( 外 部数据存储器写选通信号输出端,低电平有效) RD( 外 部数据存储器读选通信号输出端,低电平有效) 9 数码管显示 电路 、 蜂鸣器报警电路、继电器控制加热和制冷电路等。 图 硬件电路方框图 下面具体介绍各个电路模块的基本原理及电路图 原理 、主要实现的功能和 在应用过程中应当注意的问题。 单片机最小系统是保证单片机能够正常工作的最基本的硬件电路,时钟电路、复位电路都属于单片机最小系统。 单片机工作的时间基准是由 时钟电路提供的。 在单片机的 XTAL1 和 XTAL2 管脚,按图 所示接上晶振和电容就构成了单片机的时钟电路: 图 时钟电路 图中电容 C C3 对晶振频率有微调的作用,通常的取值范围为 2040pf,C C3 的典型值为 30pF。 石英晶体选择 12MHz,选择不同的石英晶体,其结果只是机器周期不 相 同 [5]。 此电路大约延迟 10ms 后振荡器起振,在 XTAL2 引脚产生幅度为 3V 左右的正弦波时钟信号,其振荡频率主要由石英晶体的频率确定。 电路中两个电容 CC3的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。 按键输入电路 时钟电路 复位电路 温度采集电路 单 片 机 数码管显示电路 蜂鸣器报警电路 继电器控制加热电路 继电器控制制冷电路 10 单片机工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期,其大小是时钟信号频率的倒数,时钟信号频率常用 fosc 表示。 图中时钟频率为 12MHz,即 fosc=12MHz,则时钟周期为 1/12μs。 复位电路设计 单片机的第 9 脚 RST 为硬件复位电路,只要在该 引脚 加上持续 4 个机器周期的高电平即可实现复位,复位后单片机的各个状态都恢复到初始化状态。 单片机的复位方式有上电复位和手动复位两种。 本设计系统采用上电自动复位和手动复位组合电路,如图 : 图 复位电路 图 中由按键 S 电阻 R1 以及 电容 C1 构成上电复位及手动 复位 电路。 由于单片机是高电平复位,所以 当 上电复位 的时候 ,接通电源 就可以了 , 在 上电以后 ,电容 C1 开始 缓慢 充电, 由图我们可以看到 电路由电源到电容和地之间形成一个通 路,由于在 电阻 R1 上产生 了 电压降, 那么 单片机的 RST 脚 为高电平,经过一段时间后电容的电充满,此时 电容 C1 处可视为断路,单片机 RST 脚处电压逐渐降为 0V,即处于稳定的低电平状态, 这时 单片机 就 完成 了 上电复位,程序从 0000H 开始执行。 手动复位时,按一下图中的 按键 S1 就可以了 ,当按键按下的时候,单片机的 RST 脚处于高电平,此时单片机处于复位状态。 按键 输入 电路设计 基于单片机的 恒温 控制系统工作时应具备以下功能:一、 可以调节温度上下限 ; 二、 可以切换显示实时温度和温度上下限的值。 要 具备 这些功能,可以通过按键 输入电路 来实现。 键盘结构可分为 矩阵式 键盘 和 独立式键盘 两类,由于本系统只采用 5 个按键,因此 选用独立式按键。 按键输入 电路 由 四个按键组成,按键采用轻触开关 ,如图 所示 : 11 图 按键 输入 电路 各个按键的功能为: S2 用来切换数码管显示界面,当数码管界面显示的是温度上下限时通过按键 S3 可以调节要调整的温度上下限的整数位和小数位 ; 当数码管界面显示为某一位闪动时通过按键 S S5 调节闪动位的数值。 整数位 的数值变化范围为 099之间 , 小数位的数值变化范围 为 09之间。 按键 S4加数值 ,按键 S5 减数值 [6]。 蜂鸣器报警电路设计 根据 设计 的 要求,当温度 高于上限 或 低于下限时,应 当 具有报警功能。 这样我们 就可以用一只蜂鸣器作为三极管的集电极负载,当 三极管 导通时,蜂鸣器发出 蜂鸣 声;当 三极管 截止时,蜂鸣器不发声。 图 : 12 图 蜂鸣器驱动电路 由图可以看出 : 单片机的 管脚 通过 三极管的基极连接到 蜂鸣器。 当 单片机控制端 =1时, 给三极管 Q1 基极一个高电平, 三极管 Q1 导通, 蜂鸣器的两个管脚间获得 接近 5V 的直流电压,蜂鸣器中有电流通 过,从而 产生蜂鸣声;当 单片机控制端 =0 时, 给三极管 Q1 基极一个低电平, 三极管Q1截止,蜂鸣器的两个管脚间的直流电压接近于 0,蜂鸣器不产生蜂鸣声 , 其中R2=1kΩ 为限流电阻 [7]。 继电器控制加热电路设计 按照本次设计的设计要求,当环境温度低于所设定的 下限温度时,需要通过继电器驱动加热装置来进行升温。 常用的室内升温装置有空调、电热毯、电炉等。 对于一些简易的电热装置,其主要部件是 电阻加热器。 继电器控制加热电路 如 下图 : 由图可知 单片机的 CTL0, 端口 接 CTL1, 端口 控制一个 双 刀双掷继电器 RL2, 端口控制一个双刀双掷继电器 RL1。 当测量 的温度低于设定的温度下限时, 单片机控制端 给三极管 Q7基级一个高电平, 单片机控制端 给三极管 Q6基极一个 高 电平 ,三极管 Q6 和 Q7均 导通, 发光二级管 D2和 D4 发红光, 两个 线圈 都 有电流流过,继电器 RL1和 RL2 均 闭合 ,此时 OVEN 装置两端加上正向电压,装置开始加热。 加热一段时间后,当温度重新回到温度下限 以 上时,单片机控制端 给三极管 Q7 基极一个 低 电平,三极管 Q7 截止, 发光二级管 D4 不发光, 继电器 RL2的 线圈无电流流过,继电器 RL2 断开, 而单片机控制端 依然给三极管 Q6基级一个高电平,但是三极管 Q6 集电极未接电源,三极管 Q6 也截止,发光二极 13 管 D2 和 D5均不发光,继电器 RL1 的线圈也没有电流流过,继电器 RL1 断开, 加热装置停止工作 [8]。 图 继电器控制加热电路 注意:在继电器 RL1 和 RL2 线圈两端 都 必须反接一个二极管。 这个二极管 很重要,当使用电磁继 电器 的时候 必须连接。 其原因为: 当线圈通电正常工作的时候 ,二极管对电路不起作用,当继电器 在断电的一瞬间会产生一个很强的反向电动势,在继电 器线圈两端反向并联 一个二极管用来消耗这个反向电动势 ,通常这个二极管叫做消耗二极管, 假如 不加这个消耗二极管,反向电动势会直接作用在驱动三极管上,很容易将三极管损坏 [8]。 继电器控制制冷电路设计 按照本次设计的设计要求,当环境温度 高 于所设定的 上限温度时,需要通过继电器驱动制冷装置来进行降温。 实际中常用的制冷装置主要有空调、冷藏柜、冷库等 [9]。 继电器控制 制冷 电路 如 下图 : 由图可知 单片机的 CTL0, 端口 接 CTL1, 端口 控制一个 双 刀双掷继电器 RL2, 端口 控制一个 14 双刀双掷继电器 RL1。 当测量 的温度 高于 设定的温度 上 限时,单片机控制端 给三极管 Q7基级一个高电平,单片机控制端 给三极管 Q6基极一个 低 电平 ,三极管 Q7 导通, 三极管 Q6 截止, 发光二级管 D4发红光, 发光二极管 D5发绿光,继电器 RL1 的 线圈有电流流过 , 继电器 RL1 闭合, 而继电器 RL2 继续保持断开,此时 OVEN 装置两端加上 反向 电压,装置开始 制冷。 制冷 一段时间后,当温度重新回到温度 上限 以 下 时,单片机控制端 给三极管 Q7 基极一个 低 电平, 单片机控制端 依然 给三极管 Q6 基级一个低电平, 三极 管 Q6 和 Q7均 截止, 发光二级管 D D4和 D5都 不发光, 两个线圈都没有 电流流过,继电器 RL1 和 RL2 均 断开, 制冷 装置停止工作。 图 继电器控制制冷电路 温度采集电路设计 本设计采用 ADC0808 模数转换器 作为温度采集电路核心部件。 在介绍温度采集电路之前先详细介绍一下 ADC0808 模数转换器。 ADC0808 模数转换器 是采样分辨率为 8位的、以逐次逼近原理进行模数转换的器件。 它的 内部有一个 8通道多路开关,它可以根据地址码锁存译码后的信号, 15 只选通 8 路模拟输入信号中的一个进行 A/D 转换。 它的转换原理就是把输入电压 Vi 和一组从参考电压分层得到的量化电压进行比较,比较从最大的量化电压开始,由粗到细逐次进行,通过每次比较的结果来确定相应的位是 0还是 1。 经过不断地比较,不断地逼近,直到二者的差别小于某一误差范围时就完成了一次转换 [10]。 本设计的温度采集电路如图 所示: 图 温度采集 电路 示意图 工作过程:把电热炉的输出通过电阻分压转换成 0~ 5V 的模拟信号输入到IN0 引脚,然后经过模数转换后,数字信号从 D0~ D7 引脚输出送给单片机,单片机再对信号进行相应处理。 各引脚的功能如下: ( 1) IN0~ IN7: 8 通道模拟量输入端 ; ( 2) D0~ D7:结果数据输出端 ; ( 3) START:启动转换命令输入端。 在该引脚上加高电平,就开始转换 ; ( 4) EOC:转换介绍指示脚。 在平时它为高电平,在转换开始后和转换过程中为低电平,转换一结束,它又变回了高电平 ; ( 5) ALE:地址锁存允许信号 ; 16 ( 6) OE:数据输出允许信号,这个引脚加高电平,即打开输出缓冲器三态门,读出数据 ; ( 7) CLK:时钟脉冲输入端。 ADC0808 典型的时钟频率为 640kHz,转换时间是 100us; ( 8) A, B和 C:三位地址输 入线,用于选通 8 路模拟输入中的一路 ; ( 9) REF(+), REF():参考电压输入端 [11]。 LED 数码管显示电路设计 在 单片机应用系统中,通常都需要进行人机对话,这包括人对应用系统的状态干预与数据输入以及应用系统向人们显示运行状态与运行结果等 [12]。 LED 数码管显示器由 8 个发光二极管中的 7个长条发光二极管按 a、 b、 c、 d、e、 f、 g 顺序组成 “8” 字形,另一个点形的发光二极管放在右下方,用来显示小数点。 数码管按内部连接方式又分为共阳极数码管和共阴极数码管两种。 若内部 8 个发光二极管的阳极 连在一起接电源正极,就称为共阳极数码管;若 8个发光二极管的阴极连在一起接地,则称为共阴极数码管。 LED 显示电路由 位驱动电路 和 段驱动电路 组成。 因为 单片机的并行口不能驱动 LED 显示器, 所以 必须采用。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。