已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的水箱控制器设计 I 基于单片机的水箱控制器设计 摘 要 大型水箱是很多工业生产过程中必不可少的部件 它的性能和工作质量的优良 不仅仅对生产有着巨大的影响 而且也关系着生产的安全 在过去 大量的水箱是 由相应的人员进行操作的 这样的人工方式带来了很多的问题 比如水位控制的精 度 时刻监控水箱的环境要求 夜间的实时监控等等 操作员稍有疏忽 或者简易 监控器件的损坏 将带来无法弥补的损失 更严重的会危及到生产人员的人身安全 等 所以 对水箱控制 如果能够使用精密的而且完全按照生产规定运行的自动化 系统 可以最大限度的避免事故的几率 同时也能节省资源并能有效提高生产的效 率 本水位控制系统设计的目的是应用单片机控制技术 以 STC89C52 单片机为核 心 控制水箱的水位 并实现了报警和自动上水功能 该系统操作方便 性能良好 比较符合工业及生活用水系统控制的需要 关键词 单片机 水位 控制 自动 基于单片机的水箱控制器设计 II THE DESIGN OF WATER TANK CONTROLLER BASED ON MICROCONTROLLER ABSTRACT Large water tanks are the essential components to a lot of industrial production process its performance and the quality of work not only has enormous influence on production but also the safety of production In the past many of the tanks is composed of the corresponding operator such artificial means to bring great disadvantages such as water level control time monitoring water environment the night of monitoring and so on the operator slightly negligence or damage to the Summary of the monitoring device will bring irreparable damage more serious will the crisis to the personal safety of operating personnel Therefore for the control of water tanks if use sophisticated automated production system that can totally be run in strict accordance with the provisions of the not only can maximize the chances of avoiding accidents but also save resources and can effectively improve the efficiency of production The purpose of water control system design is the application of MCU control technology to STC89C52 as the core to control the water level in water tanks and implementation of the alarm and automatic water supply function The system is easy to operate good performance more in line with the power to control the production of the necessary water system KEYWORDS MCU level Control Automatic 基于单片机的水箱控制器设计 III 目 录 中文摘要 I 英文摘要 II 1 绪论 1 1 1 课题背景 1 1 2 发展现状 1 2 方案论证 2 2 1 总体方案 2 2 2 系统框图 3 3 单元电路设计 3 3 1 传感器系统设计 4 3 1 1 电容传感器原理 4 3 1 2 传感器的组成 4 3 1 3 测量原理 5 3 1 4 将电容转化成电信号部分 5 3 2 放大电路设计 6 3 3 A D 转换器设计 7 3 3 1 A D 转换器工作原理 7 3 3 2 A D 转换器主要技术指标 8 3 3 3 ADC0809 转换芯片 8 3 4 单片机模块设计 12 3 4 1 单片机简介 12 3 4 2 STC89C52 单片机内部结构 13 3 4 3 STC89C52 各引脚简介 16 3 5 显示电路设计 18 3 6 自动报警模块设计 20 基于单片机的水箱控制器设计 IV 3 7 水泵模块设计 21 3 8 电源电路设计 22 4 软件模块设计 23 4 1 程序流程图 23 4 2 水位控制系统主程序 25 5 总结 27 致 谢 28 参考文献 29 附 录 30 基于单片机的水箱控制器设计 1 1 绪论 1 1 课题背景 液位控制系统是以液位为被控参数的控制系统 它在工业生产的各个领域都有 广泛的应用 在工业生产过程中 有很多地方需要对容器内的介质进行液位控制 使之高精度地保持在给定的数值 如在建材行业中 玻璃窑炉液位的稳定对窑炉的 使用寿命和产品的质量起着至关重要的作用 液位控制一般指对某一液位进行控制 调节 使其达到所要求的控制精度 液体液位的自动控制 是近年来新开发的一项 新技术 它是微型计算机软件 硬件 自动控制等几项技术紧密结合的产物 工程 作业采用的是微机控制和原有的仪表控制 微机控制有以下明显优势 1 直观而集中的显示各运行参数 能显示液位状态 2 在运行中可以随时方便的修改各种各样的运行参数的控制值 并修改系统 的控制参数 可以方便的改变液位的上限 下限 3 具有水体控制过程的自动化处理以及监控软件良好的人机界面 操作人员 在监控计算机上能根据控制效果及时修正运行参数 这样能有效地减少工人的疲劳 和失误 提高生产过程的实时性 安全性 综合以上的种种优点可以预见采用计算机控制系统是行业的大势所趋 单片机 是在一块芯片上集成了一片微型计算机所需的 CPU 存储器 输入 输出等部件 单片机自问世以来性能不断提高和完善 体积小 速度快 功耗低的特点使它的应 用领域日益广泛 一般 工业控制系统的工作环境差 干扰强 利用单片机控制就 能克服这些缺点 因此单片机在控制领域得到广泛的应用 使用单片机控制液体液 位是很好的选择 1 1 2 发展现状 目前我国在单片机测控装置的研究 生产 应用中取得了很大的成绩 总结了 很多经验 但是各行业仍处于发展期 经调查 更多科研究所在这方面开展的工作 更看重的是理论和算法 数年来这方面的研究的论文较多 着重生产实际的很少 基于单片机的水箱控制器设计 2 在上海 新型的单片机测控装置与系统研究的生产基础较雄厚 因此在不断的努力 研究与开发中上海的工程技术研究人员更着重的是生产实际研究 对理论 算法和 成果的论文较少 深圳在研制新型的测控装置与系统领域也比较有成就 尽管与其他 国家比较尚有差距 但是 深圳的高校 研究院所的最大的特点就是实际 与生产 实际应用项目无关的问题基本不去考虑 主要考虑选取什么材料 测控什么物理量 优点是什么 与机器设备的通讯接口等等 一些发达国家在单片机新型系统研究 制造和应用上 已积累了很多经验 奠 定了基础 进入了国际市场 我国在新型测控装置与系统研究 制造 应用和经验 上 与其他发达国家相比还存在差距 但是我国的研究人员已经克服很多困难 并 在不断的摸索中前进 有望在相关领域赶上甚至超过发达国家的技术水平 2 方案论证 本设计是以STC89C52单片机为核心芯片 加上其它相关软硬件来实现对液位的 自动控制 在用液位传感器测液位的同时 CPU检测传感器的输出状态 并用2位八 段LED显示液位高度 检测液位数据 实施报警安全提示 当水体液位低于用户设 定的值时 系统自动打开泵上水 当水位到达设定值时 系统自动关闭水泵或打开 排水泵 2 1 总体方案 本设计采用筒式电容传感器采集液位的高度 主要利用其两电极的覆盖面积随 被测液体液位的变化而变化 从而引起对应电容量变化这一关系进行液位测量 然 后通过专用的电路把电容值转换为电压值 由于所得的电压一般在 0 30mv 之间 太小不易测量 所以要通过放大电路进行放大 从放大电路出来的是模拟量 因此 送入 ADC0809 转换成数字量 ADC0809 与单片机相连接 把转换后的数据送入单 片机 单片机经过处理控制水泵的运转以及安全报警 同时通过 2 位八段 LED 显示 器显示出液位值 用 LED 显示是因为它具有显示清晰 亮度高 使用电压低 光电 转换效能高 寿命长等特点 2 基于单片机的水箱控制器设计 3 2 2 系统框图 水箱 内部储水 为传感器提供采集量 同时受水泵控制 电容传感器 将输入的物理量转换成相应的电信号输出 实现非电量到电量 的变换 传感器的精度直接影响到整个系统的性能 所以是系统中一个重要的部 件 放大电路 传感器的输出信号一般 较小不适合直接去转换数字量 通常要进 行放大预处理来完成 A D 转换 实现将模拟量转换成数字量 常用的是并行比较型 逐次逼近式 积分式等 在此用到逐次逼近式 单片机 将从 AD 输入的数据进行比较处理 并输出相应的控制信号 显示报警设备 分别用 8 段数码管和蜂鸣器 水泵 水泵的打开与闭合 实现对水箱水位的控制的 电容传感器放大电路A D 转换单片机 显示 报警设备 水泵水箱 图 2 1 系统框图 3 单元电路设计 在本章中 将分别对传感器模块 放大电路模块 A D 转换模块 单片机模块 显示模块 报警模块 水泵模块 电源模块进行详细介绍 基于单片机的水箱控制器设计 4 3 1 传感器系统设计 在水箱液位控制系统中 传感器的选择是非常重要的 传感器是能够感受到规 定的被测量 并按照一定的规律转换成可用输出信号的器件或装置 它通常由敏感 元件和转换元件组成 它的性能直接影响到整个检测系统 对检测精确度起着重要 的作用 传感器的种类很多 有温度传感器 加速度传感器 光学传感器 压力传感器 等 本设计采用的是由外壳和感应电极所组成的电容传感器来对液位进行检测 再 把检测水位所得电容值通过专用电路转换为电压值 而后输入到下一模块 3 3 1 1 电容传感器原理 在电容式液位传感器系统中 根据电容量 3 d S C 1 可以把电容传感器分为变极距型 变面积型 变介电常数型 分别通过改变d S 来实现电容值的变化 进而通过测量电路就可以转换为电量输出 再由单片机进行 处理并转换成相应的液位高度进行显示 该系统对液位深度具有测量 显示与设定 功能 并具有结构简单 成本低廉 性能稳定等优点 3 1 2 传感器的组成 图3 1为传感器的部分结构原理图 它主要是由细长的不锈钢壳体 半径为R1 同轴感应电极 半径为R0 以及其被测液体共同构成 该传感器主要利用其两 电极间液体液位的变化 从而引起介电常数 的变化 进而引起电容值的变化 以此 来实现通过电容量变化的关系进行液位测量 基于单片机的水箱控制器设计 5 图3 1 传感器原理图 3 1 3 测量原理 由图3 1可知 当可测量液位H 0 时 不锈钢壳体与同轴感应电极构成的金属 圆柱形电容器之间存在电容C0 根据文献得到电容量为 3 0 1 ln 2 0 0 R R L C 2 式中 C0 为电容量 单位为F 0 为容器内气体的等效介电常数 单位为F m L 为液位最大高度 单位为m R1 为不锈钢壳体半径 单位为m R0 为感应电极半 径 单位为m 当被测量液位为H 时 不锈钢壳体与同轴感应电极之间存在电容 CH 3 0 1 ln 2 0 1 ln 2 0 1 ln 2 0 1 ln 2 000 R R H R R L R R H R R HL CH 3 式中 为容器内被测液体的等效介电常数 单位为F m 因此 当传感器内液位由 零增加到H 时 其电容的变化量 C 可由式 3 2 和式 3 3 得 3 0 1 ln 2 0 0 R R H CCC H 4 由式可知 参数 0 R1 R0 都是定值 所以电容的变化量 C 与液位变化量 基于单片机的水箱控制器设计 6 H 呈近似线性关系 因为参数 0 R1 R0 L 都是定值 由式 3 3 变形 可得 a0 和b0 为常数 3 HbaCH 00 5 可见 传感器的电容量值CH 的大小与电容器浸入液体的深度H成线性关系 由 此 只要测出电容值便能计算出水位 4 3 1 4 将电容转化成电信号部分 在前一部分的设计中我们通过检测水位的变化而得到了相应的电容值的变化 但为使下一级模块运行 还要将电容值转换为相对应的电压值 如图 3 2 所示 将 电容传感器接入运算放大电路 该电路由传感器电容 Cx 固定的标准电容 Co 运 算放大器 LM741 交流电压源 Ui 输出电压 Uo 组成 C0 CX GND 2 3 OUT 6 U1 LM741 Ui Uo 图 3 2 运算放大器测量电路原理图 在开环放大倍数为 A 和输入阻抗 Zi 较大的情况下 有 3 O ix O C UC U 6 代入公式 3 1 得 3 O i O dC US U 7 基于单片机的水箱控制器设计 7 根据式 3 7 可知 Uo 与 呈线性关系 因此 的变化可得到成比例的 Uo 的变 化 为保证仪器的精度 还要求 Ui 的幅值及固定电容 Co 的稳定 5 在上式中 所得电压为交流电压 因下级电路所需 还要将交流转换为直流 可以将交流信号整流滤波变为直流信号 然后再输入到下一级放大电路 3 2 放大电路设计 由于从传感器得出的电压一般在 0 30mv 之间 太小不易测量 即便输入 A D 转换器 所得数字输出精度也不高 所以要通过放大电路进行放大 如图 3 3 所示 采用最基本的比例运算大电路 3K R Rp 500K Rf GND 2 3 OUT 6 U2 LM741 Ui Uo 图 3 3 比例放大电路 在此电路中 集成运放的反相输入端和同相输入端实际上是运放内部输入级的 两个差分对管的基极 为使差动放大电路的参数保持对称 应使两个差分对管基极 对地的电阻尽量一致 以免静态基极电流流过这两个电阻时 在运放输入端产生附 加的偏差电压 要将 30mV 电压放大成 5V 根据公式 Uo Rf R Ui 所以选择 Rf 500K R 3K Rp R Rf 3 3 A D 转换器设计 A D 是把由传感器传来的检测水位所得的模拟信号转换成数字信号 然后再通 过单片机的分析处理进行相应的操作 3 3 1 A D 转换器工作原理 常用的A D类型有积分型 逐次逼近型 并行比较型 串并行型 基于单片机的水箱控制器设计 8 1 积分型AD工作原理是将输入电压转换成时间 脉冲宽度信号 或频率 脉冲频率 然后由定时器 计数器获得数字值 其优点是用简单电路就能获得高 分辨率 但缺点是由于转换精度依赖于积分时间 因此转换速率极低 2 逐次比较型AD由一个比较器和 AD转换器通过逐次比较逻辑构成 从 MSB开始 顺序地对每一位将输入电压与内置 AD转换器输出进行比较 经 n次 比较而输出 数字值 其电路规模属于中等 其优点是速度较高 功耗低 在低 分辨率 12位 时价格很高 3 并行比较型AD采用多个比较器 仅作一次比较而实行转换 又称 FLash 快速 型 由于转换速率极高 n位的转换需要 2n 1个比较器 因此电路规 模也极大 价格也高 只适用于视频 AD转换器等速度特别高的领域 串并行比较型 AD结构上介于并行型和逐次比较型之间 最典型的是由2个 n 2位的并行型AD转换器配合DA转换器组成 用两次比较实行转换 所以称为 半快速型AD 还有分成三步或多步实现 AD转换的叫做分级型 AD 而从转换时 序角度又可称为流水线型 AD 现代的分级型 AD中还加入了对多次转换结果作 数字运算而修正特性等功能 这类 AD速度比逐次比较型高 电路规模比并行型 小 6 3 3 2 A D 转换器主要技术指标 1 分辨率 Resolution 指数字量变化一个最小量时模拟信号的变化量 定义为 满刻度与 2 n 的比值 分辨率又称精度 通常以数字信号的位数来表示 2 转换速率 Conversion Rate 是指完成一次从模拟转换到数字的 AD 转换所 需的时间的倒数 积分型 AD 的转换时间是毫秒级属低速 AD 逐次比较型 AD 是微 秒级属中速 AD 全并行 串并行型 AD 可达到纳秒级 采样时间则是另外一个概念 是指两次转换的间隔 为了保证转换的正确完成 采样速率 Sample Rate 必须小 于或等于转换速率 因此有人习惯上将转换速率在数值上等同于采样速率也是可以 接受的 常用单位是 ksps 和 Msps 表示每秒采样千 百万次 kilo Million Samples per Second 3 量化误差 Quantizing Error 由于 AD 的有限分辨率而引起的误差 即有限分 辨率 AD 的阶梯状转移特性曲线与无限分辨率 AD 理想 AD 的转移特性曲线 直 线 之间的最大偏差 通常是 1 个或半个最小数字量的模拟变化量 表示为 基于单片机的水箱控制器设计 9 1LSB 1 2LSB 4 偏移误差 Offset Error 输入信号为零时输出信号不为零的值 可外接电位器 调至最小 5 满刻度误差 Full Scale Error 满度输出时对应的输入信号与理想输入信号值之 差 6 线性度 Linearity 实际转换器的转移函数与理想直线的最大偏移 不包括以 上三种误差 3 3 3 ADC0809 转换芯片 ADC0809是CMOS单片型逐次逼近式A D转换器 由于输出级有8位三态输出锁 存器 因而0809的数据输出端可以直接与单片机的数据总线连接 ADC0809由一个8路模拟开关 一个地址锁存与译码器 一个A D转换器和一个 三态输出锁存器组成 多路开关可选通8个模拟通道 允许8路模拟量分时输入 共 用A D转换器进行转换 三态输出锁器用于锁存A D转换完的数字量 当OE端为高 电平时 才可以从三态输出锁存器取走转换完的数据 如图3 4所示 图3 4 ADC0809内部逻辑结构 ADC0809共有28个引脚 其引脚功能如下所示 IN0 IN7 模拟量输入通道 ALE 地址锁存允许信号 对应 ALE 上跳沿 A B C 地址状态送入地址锁 存器中 基于单片机的水箱控制器设计 10 START 转换启动信号 START 上升沿时 复位 ADC0809 START 下降沿 时启动芯片 开始进行 A D 转换 在 A D 转换期间 START 应保持 低电平 本信 号有时简写为 ST A B C 地址线 通道端口选择线 A 为低地址 C 为高地址 其地址状 态与通道对应关系见表 3 1 CLK 时钟信号 ADC0809 的内部没有时钟电路 所需时钟信号由外界提供 因此有时钟信号引脚 通常使用频率为 500KHz 的时钟信号 EOC 转换结束信号 EOC 0 正在进行转换 EOC 1 转换结束 使用中 该状态信号即可作为查询的状态标志 又可作为中断请求信号使用 D0 D7 数据输出线 为三态缓冲输出形式 可以和单片机的数据线直接相 连 D0 为最低位 D7 为最高位 OE 输出允许信号 用于控制三态输出锁存器向单片机输出转换得到的数据 OE 0 输出数据线呈高阻 OE 1 输出转换得到的数据 Vcc 5V 电源 Vref 参考电源参考电压用来与输入的模拟信号进行比较 作为逐次逼近的基 准 表 3 1 通道选择表 CBA选择的通道 000IN0 001IN1 010IN2 011IN3 100IN4 101IN5 110IN6 111IN7 ADC0809的工作过程是 首先输入3位地址 并使ALE 1 将地址存入地址锁 存器中 此地址经译码选通8路模拟输入之一到比较器 START上升沿将逐次逼近 基于单片机的水箱控制器设计 11 寄存器复位 下降沿启动 A D转换 之后EOC输出信号变低 指示转换正在进行 直到A D转换完成 EOC变为高电平 指示A D转换结束 结果数据已存入锁存器 这个信号可用作中断申请 当OE输入高电平时 输出三态门打开 转换结果的数字 量输出到数据总线上 ADC0809转换是采用逐次比较的方法完成A D转换的 由单一的 5V供电 片 内带有锁存功能的8路选一的模拟开关 由A B C引脚的编码来确定所选通道 0809完成一次转换需要100us左右 输出具有TTL三态锁存缓冲器 可直接连到 MCS 51的数据总线上 通过适当的外接电路 0809可对0 5V的模拟信号进行转换 7 在本设计中 单片机的P2 7口与写信号的或非产生ADC0809端口START的启WR 动信号 ALE与START相连 这样就可使在脉冲的上升沿使ALE有效 下降沿使 START有效 允许信号OE由读信号与P2 7或非产生 EOC通过反相器与单片机RD INT0相连 单片机的ALE通过一个分频器与ADC0809的CLK相连 以产生0809所需 的时钟 如图3 5所示 5v d0 d1 d2 d3 d4 d5 d6 d7 IN2 28 IN1 27 IN0 26 ADDA 25 ADDB 24 ADDC 23 ALE 22 D7 21 D6 20 D5 19 D4 18 D0 17 Vref 16 D2 15 D1 14 GND 13 Vref 12 VCC 11 CLOCK 10 OE 9 D3 8 EOC 7 START 6 IN7 5 IN6 4 IN5 3 IN4 2 IN3 1 ADC0809 SD 4 1D 2 1CP 3 1Q 5 1Q 6 1RD 1 GND 7 VCC 14 U1 74LS74 5v 5v d7 d6 d5 d4 d0 d2 d1 d3 GND GND GND 1Y 1 1A 2 1B 3 2Y 4 2A 5 2B 6 GND 7 3A 8 3B 9 3Y 10 4A 11 4B 12 4Y 13 VCC 14 U3 74LS02 1A 1 1Y 2 714 VCC GND U2 74ls04 GND 5v GND 5v 12 Y1 12MHZ 10K R1 10uF C3 33pf C1 33pf C2 GND SW PB 1K R2 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RESET 9 RXD 10 TXD 11 INT0 12 INT1 13 T0 14 T1 15 WR 16 RD 17 XTAL2 18 XTAL1 19 VSS 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE 30 EA 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 80C52 5v GND 图3 5 ADC0809与单片机的接口电路 A D 转换后得到的数据应及时传送给单片机进行处理 数据传送的关键问题是 如何确认 A D 转换的完成 因为只有确认完成后 才能进行传送 为此可采用下述 三种方式 基于单片机的水箱控制器设计 12 1 定时传送方式 对于一种 A D 转换其来说 转换时间作为一项技术指标是已知的和固定的 例 如 ADC0809 转换时间为 128 s 相当于 6MHz 的 MCS 51 单片机共 64 个机器周期 可据此设计一个延时子程序 A D 转换启动后即调用此子程序 延迟时间一到 转 换肯定已经完成了 接着就可进行数据传送 2 查询方式 A D 转换芯片由表明转换完成的状态信号 例如 ADC0809 的 EOC 端 因此可 以用查询方式 测试 EOC 的状态 即可确定转换是否完成 并接着进行数据传送 3 中断方式 把表明转换完成的状态信号 EOC 作为中断请求信号 以中断方式进行数据 传送 不管使用上述那种方式 只要一旦确定转换完成 即可通过指令进行数据传送 首先送出口地址并以信号有效时 OE 信号即有效 把转换数据送上数据总线 供单片机接受 不管使用上述那种方式 只要一旦确认转换结束 便可通过指令进行数据传送 综上所述 在使用 ADC0809 时 应注意 1 ADC0809 内部带有输出锁存器 可以与 STC89C52 单片机直接相连 2 初始化时 使 ST 和 OE 信号全为低电平 3 送要转换的哪一通道的地址到 A B C 端口上 4 在 ST 端给出一个至少有 100ns 宽的正脉冲信号 5 是否转换完毕 我们根据 EOC 信号来判断 6 当 EOC 变为高电平时 这时给 OE 为高电平 转换的数据就输出给单片 机了 3 4 单片机模块设计 单片机系统的原理是把从AD输入的数据进行处理分析 根据当前的液位值与用 户设定的水位的关系来决定是否进行开关水泵以及高低危险水位报警 同时把液位 值通过LED显示 基于单片机的水箱控制器设计 13 3 4 1 单片机简介 单片机是指一个集成在一块芯片上的完整计算机系统 尽管他的大部分功能集 成在一块小芯片上 但是它具有一个完整计算机所需要的大部分部件 CPU 内存 内部和外部总线系统 目前大部分还会具有外存 同时集成诸如通讯接口 定时器 实时时钟等外围设备 而现在最强大的单片机系统甚至可以将声音 图像 网络 复杂的输入输出系统集成在一块芯片上 单片机也被称为微控制器 Microcontroler 是因为它最早被用在工业控制领域 单片机由芯片内仅有 CPU 的专用处理器发展而来 最早的设计理念是通过将大量外 围设备和 CPU 集成在一个芯片中 使计算机系统更小 更容易集成进复杂的而对提 及要求严格的控制设备当中 INTEL 的 Z80 是最早按照这种思想设计出的处理器 从此以后 单片机和专用处理器的发展便分道扬镳 单片机又称单片微控制器 它不是完成某一个逻辑功能的芯片 而是把一个计 算机系统集成到一个芯片上 概括的讲 一块芯片就成了一台计算机 它的体积小 质量轻 价格便宜 为学习 应用和开发提供了便利条件 同时 学习使用单片机 是了解计算机原理与结构的最佳选择 8 3 4 2 STC89C52 单片机内部结构 STC89C52 是一种低功耗 高性能 CMOS8 位微控制器 其内部包括 一个 8 位的微型处理器 CPU 一个 512B 的片内数据存储器 RAM 一个 8K 片内程序存 储器 ROM 32 位 I O 口线 看门狗定时器 内置 4KB EEPROM MAX810 复 位电路 三个 16 位定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 另外 STC89C52 可降至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工 作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位为止 最高运作频率35MHz 6T 12T 可选 9 中央处理器 CPU 是单片微型计算机的指挥 执行中心 由它读入用户程序 并逐条执行指令 它是由 8 位算术 逻辑运算部件 简称 ALU 定时 控制部件 若干寄存器 A B B5W 5P 以及 16 位程序计数器 PC 和数据指针寄存器 DM 等主要部件组成 算术逻辑单元的硬件结构与典型微型机相似 它具有对 8 基于单片机的水箱控制器设计 14 位信息进行 四则运算和逻辑与 或 异或 取反 清 0 等运算 并 具有判跳 转移 数据传送等功能 此外还提供存放中间结果及常用数据寄存器 控制器部件是由指令寄存器 程序计数器 PC 定时与控制电路等组成的 指令寄存 器中存放指令代码 执行指令时 从程序存储器中取来经译码器译码后 根据不同 指令由定时与控制电路发出相应的控制信号 送到存储器 运算器或 I O 接口电路 完成指令功能 程序计数器 PC 用来存放下一条将要执行的指令 共 16 位 可对以 K 字节的程序存储器直接寻址的指令执行结束后 PC 计数器自动增加 指向下一条 要执行的指令地址 数据存储器 RAM 片内为 512B 数据存储器来存储单片机运行期间的工作 变量 运算的中间结果 数据暂存和缓冲 标志位等 片内的 512B 的 RAM 以高 速 RAM 的形式集成在单片机内 可以加快单片机运行的速度 而且这种结构的 RAM 还可以降低功耗 程序存储器 ROM 用来存储程序 STC89C52 为 8KB ROM 如果片内只读 存储器的容量不够 可进行片外扩展 中断系统 具有 5 个中断源 2 级中断优先权 定时器 计数器 片内有 3 个 16 位的定时器 计数器 具有 4 种工作方式 在单 片机的应用中 往往需要精确的定时 或对外部事件进行计数 因而需在单片机内 部设置定时器 计数器部件 串行口 1 个全双工的串行口 具有 4 中工作方式 可用来进行串行通信 扩展 并行 I O 口 甚至与多个单片机相连构成多机系统 从而使单片机的功能更强且应 用更广 特殊功能寄存器 SFR 共有 21 个 用于 CPU 对片内各功能部件进行管理 控制 监视 时钟电路 STC89C52 内部有一个用于构成振荡器的高增益反相放大器 引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端 时钟可以由内部方式产生或 外部方式产生 内部方式的时钟电路如图 3 6 所示 在 XTAL1 和 XTAL2 引脚上外 接定时元件 内部振荡器就产生自激振荡 定时元件通常采用石英晶体和电容组成 的并联谐振回路 晶体振荡频率可以在 1 2 12MHz 之间选择 电容值在 5 30pF 之间选择 电容值的大小可对频率起微调的作用 基于单片机的水箱控制器设计 15 12 Y1 12MHZ 33pf C1 33pf C2 GND XTAL1 XTAL2 图 3 6 时钟电路 复位电路 复位是单片机的初始化操作 其主要功能是把 PC 初始化为 0000H 使单片机从 0000H 单元开始执行程序 除了进入系统的正常初始化之外 当由于程 序运行出错或操作错误使系统处于死锁状态时 为摆脱困境 也需按复位键重新启 动 RST 引脚是复位信号的输入端 复位信号是高电平有效 其有效时间应持续 24 个振荡周期 即二个机器周期 以上 若使用颇率为 6MHz 的晶振 则复位信号持 续时间应超过 4us 才能完成复位操作 10 除 PC 之外 复位操作还对其他一些寄存器有影响 它们的复位状态如表 3 2 所 示 表 3 2 寄存器状态 寄存器复位状态寄存器复位状态 PC0000HTCON00H ACC00HTL000H PSW00HTH000H SP07HTL100H DPTR0000HTH100H P0 P3FFHSCON00H IPXX000000BSBUF不定 IE0X000000BPCON0XXX0000B TMOD00H 基于单片机的水箱控制器设计 16 复位操作有上电自动复位和按键手动复位两种方式 上电自动复位是通过外部复位电路的电容充电来实现的 这样 只要电源 Vcc 的上升时间不超过 1ms 就可以实现自动上电复位 即接通电源就成了系统的复位 初始化 按键电平复位是通过使复位端经电阻与 Vcc 电源接通而实现的 其电路如图 3 7 所示 11 10K R1 10uF C3 SW PB1K R2 5vRESET GND 图 3 7 按键复位电路 3 4 3 STC89C52 各引脚简介 STC89C52 单片机的 40 个引脚中有 2 个专用于主电源引脚 2 个外接晶振的引 脚 4 个控制或与其它电源复用的引脚 以及 32 条输入输出 I O 引脚 如图 3 8 所 示 基于单片机的水箱控制器设计 17 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RESET 9 RXD 10 TXD 11 INT0 12 INT1 13 T0 14 T1 15 WR 16 RD 17 XTAL2 18 XTAL1 19 VSS 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE 30 EA 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 图 3 8 STC89C52 引脚图 下面按引脚功能分为 4 个部分叙述个引脚的功能 电源引脚 Vcc 和 Vss Vcc 40 脚 接 5V 电源正端 Vss 20 脚 接地端 外接晶振引脚 XTAL1 和 XTAL2 XTAL1 19 脚 接外部石英晶体的一端 在单片机内部 它是一个反相放大 器的输入端 这个放大器构成采用外部时钟时 对于 HMOS 单片机 该引脚接地 对于 CHOMS 单片机 该引脚作为外部振荡信号的输入端 XTAL2 18 脚 接外部晶体的另一端 在单片机内部 接至片内振荡器的反 相放大器的输出端 当采用外部时钟时 对于 HMOS 单片机 该引脚作为外部振荡 信号的输入端 对于 CHMOS 芯片 该引脚悬空不接 控制信号或与其它电源复用引脚有 RST VPD ALE P PSEN 和 EA VPP等 4 种形式 1 RST VPD 9 脚 RST 即为 RESET VPD为备用电源 所以该引脚为单 片机的上电复位或掉电保护端 当单片机振荡器工作时 该引脚上出现持续两个机 器周期的高电平 就可实现复位操作 使单片机复位到初始状态 当 VCC发生故障 降低到低电平规定值或掉电时 该引脚可接上备用电源 基于单片机的水箱控制器设计 18 VPD 5V 为内部 RAM 供电 以保证 RAM 中的数据不丢失 2 ALE PROG 30 脚 当访问外部存储器时 ALE 允许地址锁存信号 以每机器周期两次的信号输出 用于锁存出现在 P0口的低 8 位地址 3 PSEN 29 脚 片外程序存储器读选通输出端 低电平有效 当从外部程序 存储器读取指令或常数期间 每个机器周期 PSEN 两次有效 以通过数据总线口读 回指令或常数 当访问外部数据存储器期间 PSEN 信号将不出现 4 EA Vpp 31 脚 EA 为访问外部程序储器控制信号 低电平有效 当 EA 端保持高电平时 单片机访问片内程序存储器 8KB 若超出该范围时 自动转去执行外部程序存储器的程序 当 EA 端保持低电平时 无论片内有无程序存储器 均只访问外部程序存储器 对于片内含有 EPROM 的单片机 在 EPROM 编程期间 该引脚用于接 21V 的编程 电源 Vpp 输入 输出 I O 引脚 P0口 P1口 P2口及 P3口 1 P0口 39 脚 22 脚 P0 0 P0 7统称为 P0口 当不接外部存储器与不扩 展 I O 接口时 它可作为准双向 8 位输入 输出接口 当接有外部程序存储器或扩展 I O 口时 P0口为地址 数据分时复用口 它分时提供 8 位双向数据总线 对于片内含有 EPROM 的单片机 当 EPROM 编程时 从 P0口输入指令字节 而当检验程序时 则输出指令字节 2 P1口 1 脚 8 脚 P1 0 P1 7统称为 P1口 可作为准双向 I O 接口使用 对于 MCS 52 子系列单片机 P1 0和 P1 1还有第 2 功能 P1 0口用作定时器 计数器 2 的计数脉冲输入端 T2 P1 1 用作定时器 计数器 2 的外部控制端 T2EX 对于 EPROM 编程和进行程序校验时 P0口接收输入的低 8 位地址 3 P2口 21 脚 28 脚 P2 0 P2 7统称为 P2口 一般可作为准双向 I O 接 口 当接有外部程序存储器或扩展 I O 接口且寻址范围超过 256 个字节时 P2口用 于高 8 位地址总线送出高 8 位地址 对于 EPROM 编程和进行程序校验时 P2口接 收输入的 8 位地址 4 P3口 10 脚 17 脚 P3 0 P3 7统称为 P3口 它为双功能口 可以作为 一般的准双向 I O 接口 也可以将每 1 位用于第 2 功能 而且 P3口的每一条引脚均 可独立定义为第 1 功能的输入输出或第 2 功能 12 P3口的第 2 功能见下表 3 3 基于单片机的水箱控制器设计 19 表 3 3 单片机 P3 0 管脚定义 3 5 显示电路设计 在单片机系统中 常用的显示器有 发光二极管显示器 简称 LED Light Emitting Diode 液晶显示器 简称 LCD Liquid Crystal Display 荧光管显示器 近年来也开始使用简易的 CRT 接口 显示一些汉字及图形 前三种显示器都有两种 显示结构 段显示 日 字段 米 字型等 和点阵显示 5X5 5X8 8X8 点 阵等 而发光二极管显示又分为固定段显示和可以拼装的大型字段显示 此外还有 共阳极和共阴极之分等 三种显示器中 以荧光管显示器亮度最高 发光二极管次之 而液晶显示器最 弱 为被动显示器 必须有外光源 显示部分我采用 2 位八段 LED 显示器 LED 显示器是单片机应用中最常用的输 出部件 它是由若干发光二极管组成 当发光二极管导通时 相应的一个点或一个 笔画发光 不同组合的二极管导通 就能显示出各种字符 用 LED 是因为它具有显 示清晰 亮度高 使用电压低 光电转换效能高 寿命长的特点 LED 发光二极 管 最早出现在 19 世纪 60 年代 现在我们可以经常在电气和电子设备上看到这些 二极管作为指示灯来用 LED 就是一种半导体元件 其电气性能与普通二极管相同 不同之处在于当给 LED 通电流时 它会发光 由于 LED 是固态的 所以它能延长 传感器的使用寿命 因而使用 LED 的光电传感器能被做得更小 且比白炽灯传感器 引脚第 2 功能 P3 0RXD 串行口输入端 P3 1TXD 串行口输出端 P3 2INT0 外部中断 0 请求输入端 低电平有效 P3 3INT1 外部中断 1 请求输入端 低电平有效 P3 4T0 定时器 计数器 0 计数脉冲输入端 P3 5T1 定时器 计数器 1 计数脉冲输入端 P3 6WR 外部数据存储器写选通信号输出端 低电平有效 P3 7RD 外部数据存储器读选通信号输出端 低电平有效 基于单片机的水箱控制器设计 20 更可靠 不像白炽灯那样 LED 抗震动抗冲击 并且没有灯丝 另外 LED 所发出 的光能只相当于同尺寸白炽灯所产生光能的一部分 LED 显示块是由发光二极管显示字段组成的显示器 有 日 字段和 米 字 段之分 显示块都有 dp 显示段 用于显示小数点 7 段 LED 的字型码 由于只有 7 个段发光二极管 所以字型码为一个字节 米 字段 LED 的字型码由于有 15 个 段发光二极管 所以字型码为两个字节 这种显示块有共阳极和共阴极两种 共阴 极 LED 显示块的发光二极管的阴极连接在一起 通常此公共阴极接地 当某个发光 二极管的阳极为高电平时 发光二极管点亮 相应的段被显示 同样 共阳极 LED 显示块的发光二极管的阳极连接在一起 通常此公共阳极接正电压 在微型机系统中 LED 常用的显示方法有两种 一种是静态显示 一种是动态 显示 所谓的静态显示是由单片机一次输出后显示就能保持 直到下次送新的显示 模式为止 这种显示占用机时少 显示可靠 缺点是使用元件多 且线路比较复杂 因而成本比较高 这种显示器显示方式的每一个七位显示器需要一个八位输出控制 我的设计就是采用的就是静态显示 所谓动态显示就是单片机定时的对显示器进行 扫描 这种方法中 显示器件分时工作 每次只能有一个器件显示 但由于人的视 觉暂留现象 所以 仍感觉到所有的器件都 同时 显示 这种显示方法的优点是 使用硬件少 因而价格低 但占用机时多 只要单片机不执行显示程序 就立刻停 止显示 动态显示的亮度与导电电流有关 也与点亮时间和间隔时间比例有关 由 N 片 LED 显示块可拼接成 N 位 LED 显示器 本设计是 2 位共阴极 LED 显 示器的结构 N 位 LED 显示器有 N 根位选线和 8 N 或 16 N 根段选线 根据显示方式的 不同 位选线和段选线的连接方法也各不相同 段选线控制显示字符的字型 而位 选线则控制显示位的亮 暗 13 本设计显示电路如图 3 9 所示 P2 0与 P2 1分别接位选线 当两个 I O 口都输出 低电平时 三极管导通 相当于共阳极 LED 所以当 P2 0与 P2 1都输出低电平时 则对应于两位 LED 都选 如果 P2 0与 P2 1输出 0 1 或者 1 0 时 则对应于只选中其中 的一位 LED P1 0到 P1 7接段选线 共同控制八段字符的显示 基于单片机的水箱控制器设计 21 Q1Q2 1K R10 1K R11 1K R12 1K R13 1K R6 1K R7 1K R8 1K R9 1K R4 1K R5 1 2 3 4 56 7 8 9 10 D2 VCC P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RESET 9 RXD 10 TXD 11 INT0 12 INT1 13 T0 14 T1 15 WR 16 RD 17 XTAL2 18 XTAL1 19 VSS 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE 30 EA 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 80C52 图 3 9 静态显示电路 3 6 自动报警模块设计 当水位到达低或者高危险水位时 单片机输出相应信号 蜂鸣器启动 在本设 计中 蜂鸣器由高电平控制 所以一但所测水位低于设定水位或者高于设定水位 单片机输出高电平 蜂鸣器启动 如图3 10所示 L1 5v GND Q4 4K7 R14 P2 6 图3 10 自动报警电路 基于单片机的水箱控制器设计 22 3 7 水泵模块设计 本设计水泵由高电平控制开启 如图3 11所示 当水位低于所设标准值时 单 片机P2 5口输出高电平 三极管导通 进而使继电器吸合 水
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国远程医疗平台用户行为分析与服务质量提升策略报告
- 2026中国脑机接口技术行业市场商业化路径与伦理规范建设研究报告
- 2026中国老年痴呆居家监测设备适老化设计标准与推广难点报告
- 沪教版四年级下学期(新版)数学第4单元单元试卷(附答案)-01
- 2026年印刷公司安全环保绩效考评管理制度
- 2025年动静脉置管护理题目及答案
- 2026年蔬菜种植公司种植岗位绩效考核指标设定办法
- 推广营销培训方案
- 油烫伤应急预案
- 沃尔玛店铺销售管理制度
- 当代中国经济教学大纲
- 《纺织行业基础知识》课件
- 自制胸针出售合同协议
- 体育设备采购项目方案投标文件(技术方案)
- 社区志愿者服务积分兑换体系的激励机制
- 部队防失泄密教育课件
- 信息通信行业试题
- 汉日翻译之理解当代中国(山东联盟)知到智慧树章节测试课后答案2024年秋青岛滨海学院
- 2025网格员考试题库及参考答案
- 医院消防系统定期维保方案
- 美丽敦煌文化传承中国风敦煌文化介绍69
评论
0/150
提交评论