水位水塔的单片机课程设计.doc_第1页
水位水塔的单片机课程设计.doc_第2页
水位水塔的单片机课程设计.doc_第3页
水位水塔的单片机课程设计.doc_第4页
水位水塔的单片机课程设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计单片机课程设计 题题 目 目 水塔水位控制设计水塔水位控制设计 班 级 自动化 072 班 姓 名 学 号 指导教师 缪仲翠 设计时间 2010 07 21 评语 成绩 目目 录录 1 1 问题分析及解决方案问题分析及解决方案 1 1 1 题目要求 1 1 2 题目分析 1 1 3 解决方案 2 2 2 单片机选型及硬件配置单片机选型及硬件配置 3 2 1 单片机及扩展模块选择 3 2 2 I O 地址分配 3 2 3 系统硬件原理图 3 3 3 软件实现软件实现 4 3 1 控制流程图 4 3 2 软件代码 6 3 3 程序调试 6 3 4 设计结果 7 3 5 结果分析 9 4 4 结论与体会结论与体会 9 参考书目 10 自动化与电气工程学院 单片机课程设计 1 1 1 问题分析及解决方案问题分析及解决方案 1 11 1 题目要求题目要求 1 设计内容 本设计为一个实际应用系统的水塔水位控制部分 在此水塔水位控制系统中 检测 信号来自插入水中的 3 个金属棒 以感知水位变化情况 工作正常情况下 应保持 水位在某一范围内 当水位变化发生故障的时候及时关断电机电源 发出声 光报 警信号 1 完成单片机硬件的设计 包括 CPU 存储器 外扩 ROM RAM 输入 输出接口 外扩并行 I O 口 以及总线连接部分 附控制电路原理图 2 完成控制软件的设计 附控制软件清单 2 设计要求 1 因本计算机控制系统还控制其他多个设备 所以要求水位检测采用中断方式 2 给出系统硬件电路原理图 用protel或其它电路图软件画出 3 给出系统程序流程图 程序清单 加注释 4 以论文格式给出设计报告 1 21 2 题目分析题目分析 单片机水位控制原理如图 1 1 所示 图中的虚线表示允许水位变化的上 下限 位置 在正常情况下 应保持水位在虚线范围之内 为此 在不同高度处安装固定 不变的三根金属棒 A B C 用以感知水位的变化情况 其中 A 棒处于下限水位处 C 棒处于上限水位处 而 B 棒在上 下限水位之 间 A 棒接 5V 电源 B C 棒均通过一个电阻与地相连 其控制原理 水池电机带动水泵供水 而单片机则用来控制电机的转动 以达 到控制水位的目的 供水时 单片机控制电机转动 水位不断上升 当水位达到上 限时 由于水的导电作用 使 B 棒 C 棒都与 5V 连通 因此 b c 两端的电压均 为 5V 即为 1 状态 此时应停止电机水泵工作 不再供水 自动化与电气工程学院 单片机课程设计 2 当水位处于上 下限之间时 B 棒和 A 棒导通 因 C 棒不能与 A 棒导通 b 端为 1 状态 端为 0 状态 此时 无论电机是在带动水泵供水令水位不断 上升 或是电机没有工作 使水位不断下降 都应继续维持原有的工作状态 当水位处于下限位置时 B C 棒均不能与 A 导通 b c 均为 0 状态 此时 应启动电机运转 带动水泵供水 图 1 1 水塔水位控制原理图 1 31 3 解决方案解决方案 1 本控制系统采用 8031 单片机进行控制 由于 8031 没有内部 ROM 因此需要 扩展外部 ROM 作为程序存储器 本系统采用 2764 构成 4KB 的外扩程序存储器 74L373 作为地址锁存器 2 两个水位检测信号 b 与 c 有 P1 0 和 P1 1 输入 这两个信号共有四种组合状态 如表 1 1 所示 其中 第三种组合 b 0 c 1 在正常的情况下是不可能发生的 但 是在设计中应该考虑到 并作为一种故障状态 3 控制信号有 P1 2 端输出控制电机 为提高控制的可靠性 使用了光电耦合 4 P1 3 输出报警信号 驱动一只发光二极管进行报警 表 1 1 水位信号及操作状态表 c P1 1 b P1 0 操作 00 电机运转 01 维持原状 10 故障报警 自动化与电气工程学院 单片机课程设计 3 11 电机停止 2 2 单片机选型及硬件配置单片机选型及硬件配置 2 12 1 单片机及扩展模块选择单片机及扩展模块选择 本设计中采用 8031 单片机 8031 单片机是 Intel 公司生产的 MCS 51 系列单片 机中的一种 除无片内 ROM 外 其余特性与 MCS 51 单片机基本一样 采用 74LS373 总线锁存器 就是用于单片机总线分时共享的一个器件 当总线 有多个外围设备共享时需要它来做开关 其中 74LS373 作 PO 的地址锁存器 由于 8031 单片机没有内部 ROM 所以本系统采用 EPROM 2764 作为 8031 的程 序存储器 EPROM 2764 作为片外扩展的程序存储器 用于存储控制程序 本系统还有水位检测电路 电机驱动电路及光报警电路等组成 水位的传感检 测信号由 P1 0 P1 1 引人 而 P1 2 用于输出控制信号控制电机转动和停止 为了提 高控制的可靠性 使用了光电藕合器 P1 3 外接一只发光二极管作为光报警器 2 22 2 I OI O 地址分配地址分配 由于系统只需控制一个电机 并且具有故障报警等功能所以只需两个输出口 P1 2 与 P1 3 只需检测 B 与 C 所处的液位状态所以只需两个输入口 P1 0 与 P1 3 水位的传感检测信号由 P1 0 P1 1 引人 而 P1 2 用于输出控制信号控制电机转 动和停止 为了提高控制的可靠性 使用了光电藕合器 P1 3 外接一只发光二极管 作为光报警器 2 32 3 系统硬件原理图系统硬件原理图 本系统采用 8031 单片机 由于没有自带的程序存储器 所以要进行外部扩展为 了便于系统扩展 存放大容量应用程序 系统设计扩展一片程序存储器 用于存放 源程序代码 74LS373 用于锁存地址 单片机的 P0 0 P0 7 通过复用方式分别接 锁存器 74LS373 的 DO D7 和存储器 2732 的 D0 D7 端 地址锁存信号线 ALE 接 锁存器的 OE 端 通过软件设置实现地址和数据信息的传输 锁存器的输出端 自动化与电气工程学院 单片机课程设计 4 Q0 Q7 与存储器地址线 A0 A7 相连 剩余的 4 根地址线 A8 A12 接 P2 0 P2 3 因只扩展一片存储器 片选端 CE 接地 硬件接线图如图 2 1 所示 自动化与电气工程学院 单片机课程设计 5 2764 A1 A0 A2 A3 A4 A5 A6 A7 Q1 Q0 Q2 Q3 Q4 Q5 Q6 Q7 A8 A9 A10 A11 OECS Q1 Q0 Q2 Q3 Q4 Q5 Q6 Q7 D1 D0 D2 D3 D4 D5 D6 D7 GCS 74LS373 8031 XTAL1 XTAL2 P1 0 P1 1 P1 2 P1 3 PSEN P0 1 P0 0 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 P2 0 P2 1 P2 2 P2 3 ALE J300 5V 12V 7407 LED 300 5V A B C 4 7k 4 7k 5V 5p 20p 2MHz 图 2 1 水塔水位控制原理接线图 3 3 软件实现软件实现 3 13 1 控制流程图控制流程图 根据本系统的控制要求与软件的设计思想 当水塔水位处于上 下限之间时 P1 0 l P1 1 0 此时无论电机是在带动水泵给水塔供水使水位不断上升 还是电机 没有工作使水位不断下降 都应继续维持原有工作状态 当水位低于下限时 P1 0 0 PB 1 0 此时启动电机转动 带动水泵给水塔供水 当水位高于上限时 P1 0 1 P1 1 1 此停止电机转动 停止供水 当 P1 0 0 P1 1 1 时 电机故障 可画出本系统程序流程图如图所示 图 3 1 为中断服务程序流程图 图 3 2 为 本系统的主函数流程图 自动化与电气工程学院 单片机课程设计 6 8031 初始化 等待中断 开始 结束 图 3 1 为中断服务程序流程图 图 3 2 为本系统的主函数流程图 报警 P1 2 0 延时 10s 开始 为检查水位作准备状态 P1 0 0 P1 1 1 P1 1 0 等待 启动电机 P1 2 0 Y Y N Y 停止电机 P1 2 1 停止电机 P1 2 1 N N 自动化与电气工程学院 单片机课程设计 7 3 23 2 软件代码软件代码 ORG 8000H AJMP LOOP LOOP ORL P1 03H 为检查水位状态做准备 MOV A P1 JNB ACC 0 ONE P1 0 0 JB ACC 1 TWO P1 1 1 则转 BACK ACALL D10S 延时 10S AJMP LOOP P1 0 1 则转 ONE JNB ACC 1 THREE CLR 93H SETB 92H FOUR SJMP FOUR THREE CLR 92H 启动电机工作 AJMP BACK TWO SETB 92H 停止电机工作 AJMP BACK D10S 延时子程序 ORG 8030H MOV R3 19H LOOP3 MOV R1 85H LOOP1 MOV R2 0FAH LOOP2 DJNZ R2 LOOP2 DJNZ R1 LOOP1 DJNZ R3 LOOP3 RET END 3 33 3 程序调试程序调试 在本次设计中我们采用了软件进行了仿真与调试 在程序的汇编过程中我们使 用 Proteus 自带汇编器 ASEM51 它将产生 SDI 文件 当单步调试时 源代码窗口 就出现 SDI 文件 SDI 文件是用 Proteus 里面 ASEMDDX exe 生成 用来显示汇编源码 ASEMDDX exe 是个命令行程序 使用方法是先用 ASEM51 编译汇编程序 生成 自动化与电气工程学院 单片机课程设计 8 hex 和 lst 文件 再在命令行方式下输入 3 43 4 设计结果设计结果 两个水位检测信号 b 与 c 有 P1 0 和 P1 1 输入共有四种组合状态 仿真结果如下 1 当 b 0 c 0 时电机启动 仿真结果如图 3 3 所示 图 3 3 电机正常启动仿真结果 2 当 b 1 c 0 时电机维持原状态运行 仿真结果如图 3 4 所示 自动化与电气工程学院 单片机课程设计 9 图 3 4 电机维持原状态运行仿真结果 3 当 b 0 c 1 时故障报警 仿真结果如图 3 5 所示 图 3 5 故障报警仿真结果 4 当 b 1 c 1 时电机停转 仿真结果如图 3 6 所示 自动化与电气工程学院 单片机课程设计 10 图 3 6 电机停转仿真结果 3 53 5 结果分析结果分析 本文采用 8031 单片机实现了对水塔水位的控制 根据所设计系统的软件流程图 编写相应的程序在 Pro teus 软件环境下实际仿真 实验结果表明 该系统能成功实 现了水位检测 电机故障检测 处理和报警等功能 具有良好的检测控制功能 可 移植性和扩展性强 缺点是 采用了 8031 单片机它本身不带程序存储器需要进行扩 展 4 4 结论与体会结论与体会 经过一周的紧张 忙碌的努力 终于完成了本次设计活动 通过这次开放性设 计锻炼 使我了解了 8031 单片机工作与设计原理 以及实现这些设计的具体方法 同时也认识到自己对单片机系统设计这门课理论与实践水平的差距实在是太大了 由于我是学习自动化专业的 这种开放性试验对我很重要也很有意义 学习一个单 片机控制系统对我以后设计一个控制系统有很重要的意义 自己以后还要继续学习 这方面的知识 不断丰富自己 为了发展自动化事业不断努力着 不断的创新 我 感觉通过这次设计活动 我的最大收获是了解了一种设计思想 认识了一个新的设 计世界 这种设计思想要求设计者对自己的设计目的要有一个清晰的认识 对怎样 实现自己的设计要有把握 有了这种思想 以后再次参加类似设计活动 它整体设 计和实现方法上不会一点眉目也没有了 在这次项目设计中遇到了很多问题 有硬件设计方面的问题 程序编写的问题 仿真的问题 每一个问题都反映了自己在某方面的不足 通过解决问题就可以弥补

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论