




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 摘 要 随着现代建筑技术的发展 住房和办公用楼都已经逐渐向高层发展 电 梯是高层宾馆 商店 住宅 多层仓库等建筑不可缺少的垂直方向的交通运 输工具 电梯是集机械原理应用 电气控制技术 微处理器技术 系统工程 学等多种技术于一体的机电设备 本文应用 AT89S51 为核心控制元件 设计 了一个七层电梯模拟系统 实现运送乘客到任意楼层 并且通过 LCD1602 显 示电梯的楼层 日期 时间 同时应用 PROTEL99 完成电路图的绘制 并利 用通用版完成实物的焊接及调试 利用单片机控制电梯运行具有成本低 通 用性强 灵活性大及易于实现复杂控制等优点 因此 本设计具有一定的实 际意义和应用价值 关键词关键词 单片机 电梯 控制技术 II Abstract Along with the development of building technology housing and office building has gradually turned to the high rise buildings The elevator is a tool that is indispensability in the perpendicular transportation of high building shop housing and multistoried storehouse Elevator is a mechanical and electrical equipment which principle is applied by electrical control technology the microprocessor technology and system engineering This paper is based on AT89S51 as the core control elements designing an seven elevator simulation system which can carry passengers to any floors and through LCD1602 display elevator floors date time At the same time the circuit application drawn is done by PROTEL99 it is using its general edition to complete the welding and complete physical testing of material objects Using single chip microcomputer control elevator can achieve a low cost strong commonality flexibility result and it is easy to realize the complicated control etc Therefore this design is of practical use and applied value Keywords Single Chip Elevator Control Technology III 目 录 摘 要 I Abstract II 第 1 章 绪论 1 1 1 研究目的与意义 1 1 2 设计内容及要求 2 1 3 设计方案 2 第 2 章 硬件系统实现 3 2 1 单片机 3 2 2 AT89S51 单片机 4 2 3 单片机最小系统 7 2 4 LCD 显示模块电路设计 8 2 5 电源电路设计 11 2 6 按键 报警及发光二极管 11 第 3 章 软件设计 13 3 1 汇编语言 13 3 2 流程图设计 13 3 3 程序设计 15 3 3 1 主程序调用 15 3 3 2 中断程序调用 16 3 3 3 延时子程序 16 3 3 4 LCD1602 显示程序 17 第 4 章 系统调试 19 4 1 硬件调试 19 4 1 1 静态调试 19 4 1 2 动态调试 19 4 1 3 调试结果 19 4 2 软件调试 20 4 2 1 实验平台 21 IV 4 2 2 实验步骤 21 4 2 3 软件调试过程遇到的问题 21 4 3 ISP 下载 24 结 论 26 致 谢 27 参考文献 28 附录 1 29 V CONTENTS ABSTRACT Chinese I ABSTRACT II CHAPTER 1 INTRODUCTION 1 1 1 Purpose and Significance of the Study 1 1 2 Design Contents and Requirements 2 1 3 Design Program 2 CHAPTER 2 HARDWARE IMPLEMENTATION 3 2 1 SCM 3 2 2 AT89S51 SCM 4 2 3 Minimum System MCU 7 2 4 Display Module Circuit Design 8 2 5 Design of Power Cricuit 11 2 6 Button Alarm and LED 11 CHAPTER 3 SOFTWARE DESIGN 13 3 1 Assembly Language 13 3 2 Flowchart Design 13 3 3 Programming 15 3 3 1 Main Program Calls 15 3 3 2 Interrupt the Program Calls 16 3 3 3 Time Lapse Subroutines 16 3 3 4 LCD1602 Display Program 17 CHAPTER 4 SYSTEM DEBUGGING 19 4 1 Hardware Debugging 19 4 1 1 Static Debugging 19 4 1 2 Dynamic Debugging 19 4 1 3 Debug Results 19 4 2 Software Debugging 20 4 2 1 Experimental Platform 21 VI 4 2 2 Experimental Procedure 21 4 2 3 Software Testing Problems 21 4 3 ISP Download 24 CONCLUSION 26 ACKNOWLEDGEMENT 27 REFERENCES 28 APPENDIX 1 29 1 第 1 章 绪论 1 1 研究目的与意义 随着现代高科技的发展 住房和办公用楼都已经逐渐向高层发展 1 电梯 是高层宾馆 商店 住宅 多层仓库等高层建筑不可缺少的垂直方向的交通运 输工具 1889 年美国奥梯斯升降机公司推出的世界上第一部以电动机为动力 的升降机 同年在纽约市马累特大厦安装成功 随着建筑物规模越来越大 楼 层也越来越高 对电梯的调速精度 调速范围等静态和动态特性都提出了更高 的要求 由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路 采 用这种控制线路 存在易出故障 维护不便 运行寿命较短 占用空间大等缺 点 目前 由可编程控制器 PLC 或微型计算机组成的电梯运行逻辑控制系 统 正以很快的速度发展着 可编程控制器 是微机技术与继电器常规控制技 术相结合的产物 是在顺序控制器和微机控制器 2 的基础上发展起来的新型控 制器 是一种以微处理器为核心用作数字控制的专用计算机 它有良好的抗干 扰性能 适应很多工业控制现场的恶劣环境 所以现在的电梯控制系统主要还 是由可编程控制器控制 3 但是由于 PLC 的针对性较强 每一台 PLC 都是根 据一个设备而设计的 所以价格较昂贵 而单片机价格相当便宜 且能够完成 电梯运行的基本功能 由此完全可以代替 PLC 实现对工控设备的控制 同时 单片机并不象 PLC 那么有针对性 所以由单片机设计的控制系统可以随着设 备的更新而不断修改完善 更完美的实现设备的升级 电梯控制系统是比较复杂的一个大型系统 在计算机诞生的几十年里 继 电器控制系统为电梯控制的发展做了巨大的贡献 但在性能上和 PLC 还是有 本质上的差距 在科技的不断发展下 单片机控制系统将很快得到广泛的应用 由于其价格便宜 性能优良 更能够成为方便有效的电梯控制系统 因此 研 究基于单片机的电梯模拟系统是非常有意义的 2 1 2 设计内容及要求 本课题要求以 AT89S51 为核心控制元件 设计一个七层电梯模拟系统 使用单片机汇编语言进行编程 实现运送乘客到任意楼层 并且显示电梯的楼 层 时间日期和上下行 同时应用 PROTEL99 完成电路图的绘制 并利用通 用版完成实物的焊接及调试 1 3 设计方案 本设计的硬件部分分别由 AT89S51 核心控制元件 LCD 液晶显示模块 复位开关模块 振荡器电路模块 程序下载模块搭建而成 框图如图 1 1 软 件部分使用汇编语言实现各硬件功能 图 1 1 功能模块 实验方法和步骤是将此单片机模拟电梯用绿色发光二极管组成的箭头来指 示电梯当前是处于上升状态还是下降状态 用 LCD1602 液晶模块显示当前日 期 时间以及是处于哪一层 用红色发光二极管指示电梯走到哪一层会停 电 源接通后 若没有人按下停止按键 它就以每层 2 秒的速度一直上下运行 若 有人按下某一层的停止按键 它就会在相应的那一层停止 4 秒钟 并伴有开门 和关门的声音提示 AT89S51单片机 复位键 输入 时钟电路 上行下行 LCD 显示 3 第 2 章 硬件系统实现 2 1 单片机 单片机是一种集成电路芯片 采用超大规模技术把具有数据处理能力 如 算术运算 逻辑运算 数据传送 中断处理 的微处理器 CPU 随机存取数据 存储器 RAM 只读程序存储器 ROM 输入输出电路 I O 口 可能还包括 定时计数器 串行通信口 SCI 显示驱动电路 LCD 或 LED 驱动电路 脉宽 调制电路 PWM 模拟多路转换器及 A D 转换器等电路集成到一块单块芯片 上 构成一个最小 然而完善的计算机系统 4 这些电路能在软件的控制下准 确 迅速 高效地完成程序设计者事先规定的任务 由此来看 单片机有着微处理器所不具备的功能 它可单独地完成现代工 业控制所要求的智能化控制功能 这是单片机最大的特征 然而单片机又不同于单板机 芯片在没有开发前 它只是具备功能极强的 超大规模集成电路 如果赋予它特定的程序 它便是一个最小的 完整的微型 计算机控制系统 它与单板机或个人电脑 PC 机 有着本质的区别 单片机的 应用属于芯片级应用 需要用户了解单片机芯片的结构和指令系统以及其它集 成电路应用技术和系统设计所需要的理论和技术 用这样特定的芯片设计应用 程序 从而使该芯片具备特定的功能 不同的单片机有着不同的硬件特征和软件特征 即它们的技术特征均不尽 相同 硬件特征取决于单片机芯片的内部结构 用户要使用某种单片机 必须 了解该型产品是否满足需要的功能和应用系统所要求的特性指标 这里的技术 特征包括功能特性 控制特性和电气特性等等 这些信息需要从生产厂商的技 术手册中得到 软件特征是指指令系统特性和开发支持环境 指令特性即我们 熟悉的单片机的寻址方式 5 数据处理和逻辑处理方式 输入输出特性及对电 源的要求等等 开发支持的环境包括指令的兼容及可移植性 支持软件 包含 可支持开发应用程序的软件资源 及硬件资源 要利用某型号单片机开发自己 的应用系统 掌握其结构特征和技术特征是必须的 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统 4 可以软件控制来实现 并能够实现智能化 现在单片机控制范畴无所不在 例 如通信产品 家用电器 智能仪器仪表 过程控制和专用控制装置等等 单片 机的应用领域越来越广泛 诚然 单片机的应用意义远不限于它的应用范畴或由此带来的经济效益 更重要的是它已从根本上改变了传统的控制方法和设计思想 是控制技术的一 次革命 是一座重要的里程碑 2 2 AT89S51 单片机 本设计主要采用 AT89S51 芯片 6 它是一个低功耗 高性能 CMOS 8 位 单片机 片内含 4k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术 制造 兼容标准 MCS 51 指令系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强大的微型计算机的 AT89S51 7 可 为许多嵌入式控制应用系统提供高性价比的解决方案 AT89S51 具有如下特点 40 个引脚 4k Bytes Flash 片内程序存储器 128 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串 行通信口 看门狗 WDT 电路 片内时钟振荡器 此外 AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电 模式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系 统可继续工作 掉电模式冻结振荡器而保存 RAM 的数据 停止芯片其它功能 直至外中断激活或硬件复位 同时该芯片还具有 PDIP TQFP 和 PLCC 等三 种封装形式 以适应不同产品的需求 主要功能如表 2 1 所示 表 2 1 AT89S51 芯片的主要功能 兼容 MCS 51 指令系统4k 可反复擦写 1000 次 ISP Flash ROM 32 个双向 I O 口4 5 5 5V 工作电压 2 个 16 位可编程定时 计数器时钟频率 0 33MHz 全双工 UART 串行中断口线128x8bit 内部 RAM 2 个外部中断源低功耗空闲和省电模式 中断唤醒省电模式3 级加密位 看门狗 WDT 电路软件设置空闲和省电功能 灵活的 ISP 字节和分页编程双数据寄存器指针 5 引脚功能说明 VCC 电源电压 GND 地 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用 口 作为输出口用时 每位能驱动 8 个 TTL 逻辑门电路 对端口写 1 可作为 高阻抗输入端用 在访问外部数据存储器或程序存储器时 这组口线同时转换 成地址 低 8 位 和数据总线复用 在访问期间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而在程序校验时 输出指令字节 校验时 要 求外接上拉电阻 P1 口 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可 驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上 拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在 上拉电阻 某个引脚被外部信号拉低时会输出一个电流 Flash 编程和程序校 验期间 P1 接收低 8 位地址 表 2 2 P1 端口引脚的第二功能 端口引脚第二功能 P1 5MOSI 用于 ISP 编程 P1 6MISO 用于 ISP 编程 P1 7SCK 用于 ISP 编程 P2 口 P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 8 对端口写 1 通过内部的上拉 电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上 拉电阻 某个引脚被外部信号拉低时会输出一个电流 在访问外部程序存储器或 16 位地址的外部数据存储器 例如执行 MOVX DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址的外部数据 存储器 如执行 MOVX Ri 指令 时 P2 口线上的内容 也即特殊功能寄存 器 SFR 区中 P2 寄存器的内容 在整个访问期间不改变 Flash 编程或校 验时 P2 亦接收高位地址和其它控制信号 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲 级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们 被内部上拉电阻拉高并可作为输入端口 作输入端时 被外部拉低的 P3 口将 用作上拉电阻输出电流 P3 口除了作为一般的 I O 口线外 更重要的用途是 它的第二功能 如表 2 3 所示 6 表 2 3 P3 端口引脚的第二功能 端口引脚第二功能 P3 0RXD 串行输入口 P3 1TXD 串行输出口 P3 2 INT0 外中断 0 P3 3 INT1 外中断 1 P3 4T0 定时 计数器 0 P3 5T1 定时 计数器 1 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电 平将使单片机复位 WDT 溢出将使该引脚输出高电平 设置 SFR AUXR 的 DISRTO 位 地址 8EH 可打开或关闭该功能 DISRTO 位缺省为 RESET 输 出高电平打开状态 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址 锁存允许 输出脉冲用于锁存地址的低 8 位字节 即使不访问外部存储器 ALE 仍以时钟振荡频率的 1 6 输出固定的正脉冲信号 因此它可对外输出时钟 或用于定时目的 要注意的是 每当访问外部数据存储器时将跳过一个 ALE 脉冲 对 Flash 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如 有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可 禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令 ALE 才会被激 活 此外 该引脚会被拉高 单片机执行外部程序时 应设置 ALE 无效 PSEN 程序存储允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89S51 由外部程序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 当访问外部数据存储器 没有两次有效的 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则执行内部程序存储器中的指令 Flash 存储器编程时 该引脚加上 12V 的编程电压 Vpp XTAL1 振荡器反相放大器及内部时钟发生器的输入端 XTAL2 振荡器反相放大器的输出端 7 2 3 单片机最小系统 单片机最小系统统包括 AT89S51 核心控制元件 复位电路 振荡电路 硬件电路如图 2 1 所示 图 2 1 单片机最小系统 1 复位电路 AT89S51 单片机的复位是靠外部电路实现的 AT89S51 单片机工作之后 只要在它的 RST 引脚上加载 10ms 以上的高电平 单片机就能有效地复位 AT89S51 单片机通常采用上电自动复位和按键复位两种方式 上电瞬间 RC 电路充电 RST 引线出现正脉冲 只要 RST 保持 10ms 以 上的高电平 就能使单片机有效的复位 9 在应用系统中 有些外围芯片也需 要复位 如果这些芯片复位端的复位电平与单片机的复位电平的要求一致 则 可以将复位信号与之相连 并接二极管的优点在于降低复位引脚的对地阻抗 可以显著增强单片机复位电路的抗干扰能力 二级管可以实现快速释放电容电 8 量的功能 满足短时间复位的要求 2 振荡电路 AT89S51 单片机内部的振荡电路是一个增益反相放大器 引线 XTAL1 和 XTAL2 分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反 向振荡器的输出 该反向放大器可以配置为片内振荡器 单片机内部虽然有 振荡电路 但要形成时钟 外部还需要附加电路 石英晶体振荡和陶瓷振荡 均可采用 输入至内部时钟信号要通过一个二分频触发器 因此对外部时钟 信号的脉宽无任何要求 10 但必须保证脉冲的高低电平要求的宽度 AT89S51 单片机的时钟产生方式有两种 分别为 内部时钟方式和外部时钟方式 利 用其内部的振荡电路 XTAL1 和 XTAL2 引线上外接定时元件 内部振荡电路 便产生自激振荡 用示波器可以观察到 XTAL2 输出的时钟信号 在 MCS 51 单片机一般常用内部时钟方式 也就是在 XTAL1 和 XTAL2 之间连接晶体振 荡器与电容构成稳定的自激振荡器 晶体和电容决定了单片机的工作时间精 度为 1 微秒 晶体可在 1 2 12MHz 之间选择 AT89S51 单片机在通常应用情 况下 使用振荡频率为 6MHZ 的石英晶体 而 12MHZ 频率的晶体主要是在高 速串行通信情况下才使用 在这里我用的是 12MHZ 石英晶体 对电容无严格 要求 但它的取值对振荡频率输出的稳定性 大小及振荡电路起振荡速度有 一点影响 C3 和 C4 可在 20 100PF 之间取值 一般情况取 30PF 外部时钟方 式是把外部振荡信号源直接接入 XTAL1 或 XTAL2 由于 XTAL2 逻辑电平不 是 TTL 的 所以还要接一个上拉电阻 2 4 LCD 显示模块电路设计 本次设计显示电路采用了 1 个 LCD1062 液晶显示器 用于显示楼梯层数 日期 时间 第一行显示日期和楼层 第二行显示时间 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度 恒 定发光而不像阴极射线管显示器 CRT 那样需要不断刷新亮点 因此 液晶 显示器画质高而且不会闪烁 即显示质量高 再有 液晶显示器都是数字式的 比单片机系统的接口更简单 操作也更方便 液晶显示字符较为复杂 一个字符由 6 8 或 8 8 这样的点阵组成 要正 确显示 必须要找到和屏上某几个位置对应显示 RAM 区的 8 个字节 并且要 使每个字节的不同的位为 1 其他的位为 0 为 1 的点亮 为 0 的点暗 9 通过明暗的变化显示某个字符 这就是点阵字符液晶显示器的工作原理 1602 液晶显示器采用标准的 16 脚接口 接口功能说明 11 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 VO 为液晶显示器对比调整端 接正电源时对比度最弱 接地电 源时对比度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的 电位器调整对比度 第 4 脚 RS 选择寄存器 高电平为数据寄存器及低电平指令寄存器 第 5 脚 RW 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址 当 RS 为低电平 RW 为高电平时可以读忙信号 当 RS 为高电平 RW 为低电平时可以写入数据 第 6 脚 E 端为使能端 E 端由高电平变成低电平时模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 16 脚 空脚 除此之外液晶显示模块是一个慢显示器件 12 所以在执行每条指令之一定 要确认模块的忙标志为低电平 表示不忙 否则当输入指令后失效 要显示字 符时要先输入显示字符地址 也就是告诉模块在哪里显示字符 在 1602 液晶模块内部的控制器共有 11 条控制指令 它的读写操作 屏幕 和光标的操作都是通过指令编程来实现的 1 为高电平 0 为低电平 指令 1 清显示 指令码 01H 光标复位到地址 00H 位置 指令 2 光标复位 光标返回到地址 00H 指令 3 光标和显示模式设置 I D 光标移动方向 高电平右移 低电平左 移 S 屏幕上所有文字是否左移或者右移 高电平表示有效 低电平则无效 指令 4 显示开关控制 D 控制整体显示的开与关 高电平表示开显示低 电平表示关显示 C 控制光标的开与关 高电平表示有光标 低电平表示无光 标 B 控制光标是否闪烁 高电平闪烁 低电平不闪烁 指令 5 光标或显示移位 S C 高电平时移动显示的文字 低电平时移动光 标 指令 6 功能设置命令 DL 高电平时为 4 位总线 低电平时为 8 位总线 N 低电平时为单行显示 高电平时双行显示 F 低电平时显示 5x7 的点阵字符 高电平时显示 5x10 的点阵字符 有些模块是 DL 高电平时为 8 位总线 低电 10 平时为 4 位总线 指令 7 字符发生器 RAM 地址设置 指令 8 DDRAM 地址设置 指令 9 读忙信号和光标地址 BF 为忙标志位高电平表示忙 此时模块 不能接收命令或者数据 如果为低电平表示不忙 指令 10 写数据 指令 11 读数据 本设计的时间显示分两个部分 屏幕的第一行显示的是年 月 日 楼层 屏幕的第二行显示的是时 分 秒 年月日的显示只是将单片机中相应的存储 字符代码送到累加器中 然后调用 LCD1602 的写数据命令及将年月日的信息 送到了 LCD 显示屏幕上 时分秒的显示原理与年月日显示原理相同 液晶显 示连接电路如图 2 2 所示 图2 2 LCD液晶显示 11 2 5 电源电路设计 本次设计所需电源的模块有单片机最小系统 液晶显示器 蜂鸣器 它们 所需电源都为 5V 因而电源设计只需设计到 5V 电源 采用 7805 三端稳压 片即可满足要求 本设计是采用桥式整流滤波电源 其输出电压不稳定 随输入电压波动 因此利用三端稳压器 7805 稳定直流输出电压 因此 7805 起到的是稳压作用 C1 C2 分别为输入端和输出端滤波电容 输出端电阻为负载电阻 直流稳压电源一般由变压器 整流器 滤波器和稳压器四部分组成 变压 器把 220V 交流电变为稳压所需的低压交流电 9V 整流器把低压交流电变为 直流电 整流后的直流电中仍会含有交流成分 可以通过滤波电路将交流成分 滤除 经滤波后 稳压器再把不稳定的直流电压变为稳定的直流电压输出 5V 电源电路设计 如图 2 3 所示 图 2 3 电源电路设计 2 6 按键 报警及发光二极管 1 按键部分在设计中较为重要 作为按键输入开门 关门信息 控制指令 进行电梯的模拟 由此可见它是设计中尤为重要的部分 常见的单片机按键设 计分为独立式和行列式 矩阵式 独立式按键设计简单 但占用 I O 口较多 本设计中共有 9 个按键 能够实现模拟电梯的楼层数 复位键和报警功 能 由于是简单模拟电梯系统 因此采用了独立式按键设计 对于初学单片机 者较为简单 并采用中断指令控制按键 7 个按键分别与 AT89S51 的 P1 0 P1 6 口相连 用于模拟楼层按键 且为 12 低电平时有效 当 S2 按键按下 单片机 P1 1 置 0 LED 发光二极管点亮 表 示有人等待电梯 当电梯到了对应 LCD 显示的楼数 例如按下 S4 按键 则 P1 3 置 0 三极管驱动蜂鸣器响 音乐芯片放出音乐 表示电梯开门 LCD 液晶显示时间日期和楼层数 等待 4S 蜂鸣器响 表示关门 若没有按键则 以每层两秒的速度循环 对于复位键 他的功能主要在恢复最初设置 使系统重新运行 也就是 从 1 层开始重新模拟 2 而告警键较为简单 设计了蜂鸣器表示报警 当电梯处于某一层时 按 下报警键 则蜂鸣器长鸣 实现了报警功能 按复位键指示灯回到 1 层楼 重 新开始 此时电梯系统没有按键按下则自动进行模拟 3 对于发光二极管的设计则是当有人按下按键 则每 8 个发光二极管持 续高电平闪亮并显示指示箭头 其代表电梯上行下行指示 电路设计连接如图 2 4 所示 图 2 4 电路连接图 13 第 3 章 软件设计 3 1 汇编语言 汇编语言是单片机程序设计语言的重要形式 也是当今单片机开发人员进 行程序开发最常用的语言形式 汇编语言是一种用来替代机器语言进行程序设 计的语言 汇编语言的特点是每一条指令都给出了助记符 由于助记符用英文 缩写来描述指令的特征 因此它不但便于记忆 也便于理解和分类 汇编语言源程序中的每条语句可以有多项构成 其格式如下 标号 操作码助记符 第一操作数 第二操作数 第三操作数 注释 其中 带方括号 的部分为可选项 在单片机系统设计中 程序设计是重要的一环 它的质量直接影响到整个 系统的功能 用汇编语言进行程序设计的过程大致可以分为以下几个步骤 1 明确课题对程序功能 运算精度 执行速度等方面的要求及硬件条件 2 把复杂问题分解为若干个模块 确定各模块的处理方法 画出程序流程 图 对复杂问题可分别画出分模块流程图和总的流程图 3 存储器资源分配为各程序段的存放地址 数据区地址 工作单元分配 4 编制程序 根据程序流程图选择合适的指令和寻址方式来编制源程序 5 对程序进行汇编 调试和修改 将编制好的源程序进行汇编 并进行目 标程序 检查修改程序中的错误 对程序运行结果进行分析 直到正确为止 3 2 流程图设计 根据模拟电梯系统具有的功能 软件流程图 3 1 如下 14 初始化 按键查询 LCD显示 1层按键按下 6层按键按下 5层按键按下 4层按键按下 3层按键按下 2层按键按下 7层按键按下 中断程序 日期 楼层 时间 Y Y Y Y Y Y Y Y N 15 图 3 1 主程序流程图 该图为电梯上升时的流程 任意按键按下后通过按键查询功能找到对应楼 层 并进入相应的中断程序 每层楼停留 4 秒钟同时伴随开门关门提示音 LCD 液晶显示电梯时间 日期和楼层 如不按键则以每层楼两秒的速度一直 进行 1 到 7 层按键的循环检测 同理 电梯下降时则进行 7 到 1 层按键的循环 检测 3 3 程序设计 此单片机模拟电梯系统用绿色发光二极管组成的箭头来指示电梯当前是 处于上升状态还是下降状态 用 LCD 液晶显示当前是处于哪一层 并显示日 期和时间 用红色发光二极管指示电梯走到哪一层会停 电源接通后 若没 有人按下停止按键 它就以每层 2 秒的速度一直上下运行 若有人按下某一层 的停止按键 它就会在相应的那一层停止 4 秒钟 并伴有开门和关门的声音 提示 且增加了到楼提示音的音乐芯片 3 3 1 主程序调用 程序初始化后系统开始工作 判断警报按键是否按下 若按下则蜂鸣器长 鸣 判断一层的停止按键是否按下 若按下则把对应的红色发光二极管点亮 判断二层的停止按键是否按下 若按下则把对应的红色发光二极管点亮 JINGBAO JBP3 6 XUN LCALLYS10MS JBP3 6 XUN 判断警报按键是否按下 CLR P1 7 若按下则蜂鸣器长鸣 CLR TR0 XUN JBP1 0 ONE LCALLYS10MS JBP1 0 ONE 判断一层的停止按键是否按下 CLR P2 0 若按下点亮对应的红色发光二极 ONE JBP1 1 TWO LCALLYS10MS JBP1 1 TWO 判断二层的停止按键是否按下 CLR P2 1 若按下点亮对应的红色发光二极管 16 3 3 2 中断程序调用 用LCD液晶显示当前是处于哪一层 用红色发光二极管指示电梯走到哪一 层会停 二极管组成的箭头显示上行下行 并用按键控制电路 低电平有效 ZHUAN LJMPXIAJIANG ZHUAN1 MOV P3 0F8H 上升的箭头 MOV A CENG CJNE A 00H SS2 MOV P0 06H 显示1 JBP2 0 SS1 1 INC 30H MOV A 30H CJNEA 1 SSX1 1 CLR P3 5 LCALLYS5S SETBP3 5 CLR P1 7 一层门开的声音开 SSX1 1 CJNEA 5 SSX1 2 SETBP3 4 一层门开的声音关 SSX1 2 CJNEA 19 SSX1 3 CLR P1 7 一层门关的声音开 SSX1 3 CJNE A 20 ZHUAN2 40 250MS 10S 总共17次 但实 际在这里停止的时间只有16次250MS MOV30H 0 SETBP1 7 一层门关的声音关 SETBP2 0 熄灭对应的红色发光二极管 SS1 1 INC 31H MOVA 31H CJNEA 9 ZHUAN2 8 250MS 2S 总共9次 但实 际上升一层只用8次250MS MOV31H 0 INC CENG SS2 MOV A CENG CJNEA 01H SS3 3 3 3 延时子程序 电源接通后 若没有人按下停止按键 它就以每层 2 秒的速度一直上下运行 17 若有人按下某一层的停止按键 它就会在相应的那一层停止 4 秒钟 10MS 的延时子程序 1 个机器周期为 1 微秒 YS10MS MOVR6 20 YS10MS 1 MOVR7 248 NOP DJNZ R7 DJNZ R6 YS10MS 1 RET 5S 的延时子程序 YS5S MOV R5 250 D1 MOV R6 40 D2 MOV R7 248 DJNZ R7 DJNZ R6 D2 DJNZ R5 D1 RET 3 3 4 LCD1602 显示程序 当按键按下后 LCD1602 判断从哪一行开始显示 第一行显示日期和楼层 DATE MOV P0 70H 显示位置 LCALL ENABLE MOV DPTR TABLE3 数据 DATE 空格 CALL WRITE1 MOV P0 76H 显示位置 LCALL ENABLE MOV A Y1 MOV B 10 DIV AB MOV R7 B MOV DPTR TABLE1 MOVC A A DPTR 18 CALL WRITE2 本设计的第二行显示时间 时 分 秒 TIME SETB TR0 MOV P0 80H 显示位置 LCALL ENABLE MOV A 20H LCALL WRITE2 MOV P0 81H 显示位置 LCALL ENABLE MOV DPTR TABLE2 数据 TIME LCALL WRITE1 MOV P0 86H 显示位置 LCALL ENABLE MOV A 20H LCALL WRITE2 19 第 4 章 系统调试 4 1 硬件调试 本设计的硬件调试是利用开发系统 基本测试仪器 万用表 示波器等 检查用户系统硬件中存在的故障 硬件调试可分为静态调试与动态调试两步进 行 4 1 1 静态调试 静态调试是在用户系统未工作时的一种硬件检测 第一步 目测 检查外部的各种元件或者是电路是否有断点 第二步 万用表测试 先用万用表复核目测中有疑问的连接点 再检测各 种电源线与地线之间是否有短路现象 第三步 加电检测 给板加电 检测所有的插座或是器件的电源端是否符 合要求的值 第四步 联机检查 只有用单片机开发系统才能完成对用户系统调试 4 1 2 动态调试 动态调试是在用户系统工作的情况下 发现和排除用户系统硬件中存在的 器件内部故障 器件连接逻辑错误等的一种硬件检查 动态调试的一般方法是 由近及远 由分到合 14 由分到合是指首先按逻辑功能将用户系统硬件电路分 为若干块 当调试电路时 与该元件无关的器件全部从用户系统中去掉 这样 可以将故障范围限定在某个局部的电路上 当各块电路无故障后 将各电路逐 块加入系统中 再对各块电路功能及各电路间可能存在的相互联系进行调试 由分到合的调试就可完成 由近及远是将信号流经的各器件按照距离单片机的 逻辑距离进行由近及远的分层 15 然后分层调试 4 1 3 调试结果 1 在调试过程中发现到楼的提示音也是蜂鸣器 较为单调 因此增加了音 20 乐芯片 能够提供一段优美的音乐 2 单片机 P1 0 置 0 LED 发光二极管亮 表示有人等待电梯 当电梯到 了对应 LCD 液晶显示的楼数 P2 0 置 0 三极管驱动蜂鸣器响 表示电梯开 门 等待 4S 蜂鸣器响 表示关门 在此过程中四层五层二极管没有点亮 经过调试二极管焊点脱落 重新进行焊制 问题得到解决 3 在调试过程中预计设计启动停止键 由于按键过多导致扩展此键失败 只能在程序模拟后按复位键重新进行模拟 这也是本设计的一个缺憾 4 在初次设计的 USB 供电电路完成后 与电脑连接后产生电压不稳的情 况致使系统产生了一些不良反应 再次测试与能够提供正 5V 的电源充电器连 接后再上电 硬件系统稳定运行 由此看出调试过程应掌握好电压 否则可能 产生不必要的损失 硬件电路如图 4 1 所示 图 4 1 电梯模拟系统 4 2 软件调试 软件调试是通过对用户程序的汇编 连接 执行来发现程序中存在的语法 错误与逻辑错误并加以排除纠正的过程 21 4 2 1 实验平台 软件调试在 KEIL 编译器下进行 运行在 Windows XP 操作系统下 源程 序编译及仿真调试应分段或以子程序为单位一个一个进行 最后可结合硬件实 时调试 16 4 2 2 实验步骤 1 按照系统硬件连线图连好 2 把编写好的程序进行汇编并输入单片机 AT89S51 仿真器和对其进初始 化 3 先按下开启键 观察 LED 能否正常显示 再观察发光二极管形成的上 升下降信号和 LED 显示的数字增大减小是否一致 当这些都符合指标后 再 按下任意按键 看其是否能达到预想目的 接着试验复位开关 检验能否完成 清零的功能 并作出相应调整 4 2 3 软件调试过程遇到的问题 在调试过程中产生了许多的错误 1 延时子程序标号重复 在复制 粘贴程序时忘记修改标号 造成出现 D1 两个相同的标号 标号是不允许重复的 应将其改为 D2 如图 4 2 所示 图 4 2 错误一 2 程序中判断 P2 1 置 0 后 按键按下 跳转至 SS2 1 其中 S 在复制粘贴 中丢失 造成程序执行错误 如图 4 3 所示 22 图 4 3 错误二 3 计数指令出错 THO 改为 TH0 如图 4 4 所示 图 4 4 错误三 4 标号后遗漏 如图 4 5 所示 23 如图 4 5 错误四 以上错误都是由于马虎大意造成的 因此要养成良好的程序书写习惯 比 如标号对齐 参数对齐 注释对齐 这样看起来赏心悦目 也不容易出错 且 注释尽量详细准确 便于以后读懂 而且有利于其它程序中作为子程序模块的 调用 还有要注意典型程序模块的积累 再复杂的程序也是由一个个小程序模 块组成的 这样学习印象深刻 便于以后引用 程序经过反复调试后 程序正确运行 如图 4 6 所示 图 4 6 程序调试正确 24 4 3 ISP 下载 本设计应用了 ISP 下载的功能 利用 ISP 拷贝器完成烧写 在单片机里 ISP 是 In System Programming 在系统编程 也就是说单片机可以直接安装在 目标系统上 编程的时候不需要拔出来 也不需要专门的编程器 就可以直接 在目标系统上编程 而以前的 89C51 编程的时候必须拔下来并用专门的编程 器烧写程序 很不方便 现在绝大多数单片机都有 ISP 功能了 ISP 下载程序过程具有稳定 可靠与操作上易用性等优点 因此本设计利 用 ISP 下载烧写程序 彻底地改变了传统的开发模式 它只要在设计时电路板 上预留一个标准的 ISP 接口 配合 ISP 下载电缆 就可以不用拔出芯片 在电 路板上就可以对芯片进行编程配置 简单实用 本设计利用 ISP 下载线烧写程 序 经过反复调试 系统正常运行 彻底使我告别传统的编程方式频繁拔插烧 写单片机芯片所带来的烦恼 ISP 下载如图 4 7 所示 图 4 7 ISP 下载 25 下载过程为 用串口电缆将编程器和 PC 机串口或 USB 口 需配套 USB 串 口线 连接好 将 ISP 下载电缆插入实验板或目标板的 ISP 接口 本设计应用 了 ISP 拷贝器完成下载 将 USB 电缆插入编程器的 USB 取电口 向编程器提 供工作电源 启动 ISP 编程器驱动软件 选择编译好的程序代码 按要求操作 即可 经过反复的烧写程序 进行实际的测试 终于运行成功 各部分功能基本 实现 26 结 论 本系统充分利用了 AT89S51 芯片的各个引脚 系统采用 MSC 51 系列单 片机 IntelAT89S51 为中心器件来设计实现模拟简单电梯控制系统 系统设计 简便 实用性强 操作简单 完成了模拟电梯的基本功能 单片机在接口性能 和计算速度等方面均有资源不足的问题 仍然不能适应较复杂的控制算法和故 障诊断等要求 但单片机控制电梯有成本低 通用性强 灵活性大及易于实现 复杂控制等优点 通过这次毕业设计 我在单片机的基本原理 单片机应用系统开发过程 以及在常用编程设计思路技巧 特别是汇编语言 的掌握方面都能向前迈了一 大步 熟悉和掌握了使用核心芯片的关键技术 在老师和同学的帮助下 提高 了个人解决问题和协同合作的能力 受益匪浅 27 致 谢 在即将结束本文 完成毕业设计的时刻 我要向所有在我毕业设计阶段乃 至我大学四年帮助过我的老师和同学致以深深的谢意 感谢他们在学习和生活 上给我的帮助 通过本次毕业设计 我在指导老师黄耀群的精心指导和严格要求下 获得 了丰富的理论知识 极大地提高了实践能力 并对当前电子领域的研究状况和 发展方向有了一定的了解 且单片机领域对我今后进一步学习计算机方面的知 识有极大的帮助 在设计中遇到了很多编程问题 最后在黄老师的辛勤指导下 在同学的热情帮助下 终于迎刃而解 同时 在黄老师的身上我学到很多实用 的知识 在此我表示感谢 最后 对给过我帮助的所有同学和各位指导老师再 次表示忠心的感谢 28 参考文献 1 万长建 用单片机实现高层电梯运行自动控制 实验技术与管理 2007 5 2 6 2 张友德 单片微型机原理应用与实验 复旦大学出版社 1996 12 18 3 张娅莉 单片机在电梯自动控制中的应用 工业控制计算机 2003 2 66 98 4 杨欣 电路设计与仿真 清华大学出版社 2006 56 77 5 楼然苗 51 系列单片机设计实例 航空航天大学出版社 2004 6 ATMEL AT89S51 Atmel Corporation 2001 7 AT89C51 AT89S51 性能简介 8 王田苗 嵌入式系统设计与实例开发 清华大学出版社 2005 9 10 Intel Microcontroller Handbook 1988 11 郭强等 液晶显示应用技术 电子工业出版社 2000 12 Yang Y Yi J Woo Y Y and Kim B Optimum design for linearityand efficiency of microwave Doherty amplifier using a new loadmatching technique Microw J 2001 44 12 pp 20 36 13 Vizimuller P RF design guide systems circuits and equations ArtechHouse Boston MA 1995 6 R Dye Visual Object Orientated Programming Dr Dobbs MacintoshJournal Sept 1st 1991 126 154 14 杨振江 等 流行单片机实用子程序及应用实例 西安电子科技大学出版社 2002 68 90 15 何立民 单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国万头养猪场项目创业计划书
- 中国建筑结构设计软件项目创业计划书
- 中国家禽饲养项目创业计划书
- 中国即时零售项目创业计划书
- 中国肉鸡加工项目创业计划书
- 中国可视会议系统项目创业计划书
- 中国计算机连接器项目创业计划书
- 中国5G专网专线项目创业计划书
- 2025买卖房产合同样本
- 沉井施工合同变更与调整协议
- 2025年全钒液流电池行业调研分析报告
- 2025年二级建造师考试《矿业工程管理与实物》真题及答案
- 2025年Python数据分析试题及答案
- 植物保护通论重点复习题
- 儿童抽动障碍共患焦虑抑郁障碍诊治2025
- 2024年山东省初中学业水平考试语文试题(文字版-含答案)
- 2024-2025教科版一年级下册科学期末考试卷附参考答案 (三套)
- 高血压药的类型
- 家规家训课件
- 《深圳音乐厅解析》课件
- 2025慢性阻塞性肺病(GOLD)指南更新要点解读课件
评论
0/150
提交评论