




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2013 机电工程系专业毕业设计(论文) I 莱芜职业技术学院 学生毕业设计(论文)报告 系别:机电工程系 专业:机电一体化 班号:高职机电三班 学 生 姓 名:张鹏 学 生 学 号:201300000018 设 计 ( 论 文 ) 题 目 : 四层楼电梯控制系统的设计 指 导 教 师:亓晓鹏 设 计 地 点:莱芜职业技术学院 起起 迄迄 日日 期:期:2016.22016.4 张鹏电梯自动控制系统 II 目录 摘要.1 关键词.1 1 引言.1 1.1 电梯的历史及发展.1 1.2 电梯自动控制系统的开发环境.2 1.2.1 电路图制作软件 Altium Designer 7.0.2 1.2.2 单片机 AT89S52.4 1.2.3 C 语言编程软件 Keil C51.8 2 电梯自动控制系统的原理和设计.9 2.1 系统功能.9 2.2 系统硬件设计.9 2.2.1 电路总体框图设计.9 2.2.2 系统原理图.10 2.2.3 各部分电路的设计.10 2.3 系统软件设计.13 2.3.1 系统软件运作主流程图.13 2.3.2 键盘扫描流程图.14 3 系统调试.15 4 结论.15 致谢语.16 参考文献.16 英文翻译.17 附录.17 附录一 程序清单.17 附录二 实物图.23 2013 机电工程系专业毕业设计(论文) 1 电梯自动控制系统 张鹏 摘要 电梯自动控制系统是现代所有电梯的大脑和神经中枢。 除了那些为了保护历史而留下来的旧式 电梯以外,无论在什么场合安装的电梯都是自动化的,它们基本都是由单片机控制,高级的电梯还 运用了嵌入式系统。电梯自动控制系统的核心就是单片机和设定的程序,外加输入和输出部分就组 成了一个完整的自动控制系统。输入部分将信号接受并处理,然后传递给单片机。经过程序分析后 将指令输出, 从而控制电梯的运行并将结果显示出来。 现代的电梯自动控制系统形式变得更加简单, 但却能控制更加复杂的情况,这都依赖于单片机的不断升级和控制电路设计的更加合理化。 关键词 电梯自动控制系统Altium Designer 7.0单片机 AT89S52Keil C51 1 引言 电梯自动控制系统和许多独立运行的自动化作业器械一样,他是电梯不断发展和需求的产物。 电梯自动控制系统不断地发展与壮大与单片机的不断强化和广泛的运用有着密不可分的联系。 电路 更合理的设计、程序语言的更加精确和强大也影响着电梯自动控制系统功能的不断强大。现在人们 所关心的性能、安全、节能等更是促使电梯在各方面要求的增加,这也让电梯自动控制系统的研发 速度加快。 1.1 电梯的历史及发展 1854 年,在纽约水晶宫举行的世界博览会上,美国人伊莱沙格雷夫斯奥的斯第一次向世 人展示了他的发明历史上第一部安全升降梯。 从那以后, 升降梯在世界范围内得到了广泛应用。 以奥的斯的名字而命名的电梯公司也开始了她辉煌的旅程。160 年以来,她已经发展成为世界领先 的电梯公司。 生活在继续,科技在发展,电梯也在进步。电梯的材质由黑白到彩色,样式由直式到斜式,在 操纵控制方面更是步步出新手柄开关操纵,按钮控制,信号控制,集成控制、人机对话等,多台 电梯还出现了并联控制,智能群控;双层轿箱电梯展示出节省井道空间,提升运输能力的优势,变 张鹏电梯自动控制系统 2 速式自动人行道扶梯大大节省了行人的时间;不同外形的扇形、三角形、半棱形、圆形观光电梯则 使身处其中的乘客的视线不再封闭。 一个半多世纪的风风雨雨,翻天覆地的是历史的变迁,永恒不变的是电梯提升现代人生活质量 的承诺。 中国最早的一部电梯出现在上海,是由美国奥的斯公司于 1901 年安装的。1932 年由美国奥的 斯公司安装在天津利顺德酒店的电梯至今还在安全运转着。1951 年,党中央提出要在天安门安装 一台由我国自行制造的电梯,天津从庆生电机厂光荣接此任,四个月后不辱使命,顺利地完成了任 务。十一届三中全会后,沐浴着改革开放的春风,我国电梯业进入了高速发展的时期。在我国任何 一个城市,电梯都在被广泛应用着。电梯给人们的生活带来了便利,也为我国现代化建设的加速发 展提供了强大的保障。电梯是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减 轻劳动强度起到很大的作用。电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场 所、仓库以及居民住宅大楼等。在现代社会中,电梯已成为人类必不可少的垂直运输交通工具。 电梯服务中国已有 100 多年历史,而我国在用电梯数量的快速增长却发生在改革开放以后, 目前我国电梯技术水平已与世界同步。 100 多年来,中国电梯行业的发展经历了以下几个阶段 :对进口电梯的销售、安装、维护 阶段(19001949 年),这一阶段我国电梯拥有量仅约 1 100 多台;独立自主,艰苦研制、生产 阶段(19501979 年),这一阶段我国共生产、安装电梯约 1 万台;建立三资企业,行业快速 发展阶段(自 1980 年至今),这一阶段我国共生产、安装电梯约 40 万台。 2002 年,中国电梯行业电梯年产量首次突破 6 万台。中国电梯行业自改革开放以来第 3 次发 展浪潮正在掀起。第 1 次出现在 19861988 年,第 2 次出现在 19951997 年。2010 年中国电梯 年产量达 36 万台,超过全球总量 50%;电梯使用保有量已经达到 156 万台以上,已经成为全球电 梯制造和使用的第一大国。 截止到 2012 年,中国国际电梯展于 1996 年、1997 年、1998 年、2000 年、2002 年、2004 年、 2006 年、2008 年、2010 年、2012 年共举办了 10 届。展览会交流了世界各国的电梯技术和市场信 息,促进着电梯行业发展。 如今,以美国奥的斯公司为代表的世界各大著名电梯公司各展风姿,仍在继续进行电梯新品的 研发,并不断完善维修和保养服务系统。调频门控、智能远程监控、主机节能、控制柜低噪音且耐 用,一款一款的集纳了人类在机械、电子、光学等领域最新科研成果的新型电梯竞相问世,冰冷的 建筑因此散射出人性的光辉,人们的生活因此而更加美好。 1.2 电梯自动控制系统的开发环境 1.2.1 电路图制作软件 Altium Designer 7.0 Altium Designer 7.0 即 Altium Designer Summer,Altium Designer 7.0 通过为高速设 计提供各种功能来提高用户生产力,这些功能包括交互式长度调整和 PCB 层片增强等功能。 新增了工具和新功能,这将 Altium Designer 提升成为统一的电子产品开发解决方案。这款 最新的更新程序将进一步增强设计能力,能够在更短的“设计到制造”周期内生产更为尖端、 2013 机电工程系专业毕业设计(论文) 3 更具创新性的电子产品。现在 Altium Designer 已经完全取代了 Protel。Altium Designer Summer 还新增了汇入 Allegro PCB(*.brd)的转文件功能。 Altium Designer 提供了统一的应用方案,其综合电子产品一体化开发所需的所有必须 技术和功能。Altium Designer 在单一设计环境中集成板级和 FPGA 系统设计、基于 FPGA 和 分立处理器的嵌入式软件开发以及 PCB 版图设计、编辑和制造,并集成了现代设计数据管理 功能,使得 Altium Designer 成为电子产品开发的完整解决方案的一个既满足当前,也满足未 来开发需求的解决方案。 Altium Designer 7.0 极大地增强了 FPGA-PCB 协同设计的能力, 工程师可以充分利用 FPGA 作为系统平台,而且简化大型 FPGA 与物理 PCB 平台的集成。 虽然人们早就认识到了 FPGA 给逻辑开发带来的好处,但把这些器件集成到 PCB 设计流程 所带来的挑战,会使得 PCB 线路板设计变得十分复杂并导致整体设计时间超长。通常无需考 虑 PCB 版图即进行 FPGA 管脚分配,而在大规模可编程器件中使用的密集封装技术将使得 PCB 板布线成为极大的挑战。 Altium Designer 打破了 FPGA 的使用障碍,把硬连接的 PCB 平台和软件及软连接的逻辑开发 集成在一起,后者构成的嵌入式智能通过在 PCB 线路板上编程以创建完整的应用。Altium Designer 改进了 FPGA 级设计和 PCB 级设计间的集成,开发了很多新功能,与现在的大型可编 程器件相结合,它们精简了产品开发。 大型 FPGA 器件的可用性正改变着工程师的系统设计方法产品中可以添加更多智能并 同时缩短设计时间,减少制造成本。Altium Designer 7.0 可帮助工程师在嵌入式智能级和物 理设计级充分利用 FPGA 提供的好处,系统的统一特性打破了在主流设计中广泛采用可编程器 件的障碍,这样可以充分利用这些器件的扩展资源,简化逻辑和物理设计。 Altium Designer 7.0 引入了动态网络重分配概念,PCB 布线期间可在线交换 FPGA 管脚。 这包括重新分配预先布线的子网和交换链接的差分信号对,差分信号对可利用 FPGA 器件上充 分的 LVDS 资源。动态网络重分配在板级具有增强了的 FPGA 管脚优化引擎,允许工程师充分 利用 FPGA 器件管脚的可重新编程特性,在 PCB 板极获得最优的布线方案。Altium Designer 系统的统一特性允许在板级完成的管脚交换和 FPGA 项目的自动同步,减少手动调整处理 I/O 的耗时。 通常带有大量管脚的 FPGA 器件是密集 BGA 型封装。这给原型阶段的调试带来很大困难, 因为这些器件上的管脚不能直接探测。Altium Designer 的 LiveDesign 开发方法允许工程师 在开发中可与基于 FPGA 的设计直接交互。 Altium Designer 7.0 具有改进的 JTAG 器件浏览 器,可提供系统中所有 JTAG 器件的管脚状态显示,在调试期间工程师可以实时检测管脚信号 状态。管脚状态也可以在源原理图和 PCB 版图动态显示,定位查看设计文档内的信号状态。 另外还有 Altium Designer 的 FPGA 虚拟仪器,可用来设定并监控 FPGA 内的信号,给设计师 提供电路运行完整的状态图,以进行系统的逻辑和物理调试。 FPGA 系统的在线测试在 Altium Designer 7.0 中得到改进,提供增强的逻辑分析仪(LAX) 虚拟仪器。可配置的 LAX 可监控 FPGA 内从 8 位到 64 位带宽的总线,支持多重信号集的连接。 任意信号都可用来触发输入或选定为数据源。当可配置的 LAX 连接到处理器指令总线时,总 线数据可显示为反汇编的代码指令,代码相关的问题可方便地在虚拟仪器输出中进行跟踪。 张鹏电梯自动控制系统 4 Altium Designer 7.0 中 32 位的基于 FPGA 的处理器系统也有更多通用性,支持大量第三 方软核和分立处理器,包括 Xilinx MicroBlaze 软处理器、Sharp BlueStreak LH79520(基于 ARM720T)和 AMCC PowerPC 405CR 分立处理器。这些新器件的支持,使设计者在使用 FPGA 进 行嵌入式系统开发时更加灵活。Altium Designer 7.0 提供的包裹连接器内核可帮助设计者定 位支持的第三方处理器,同时保留 Altium Designer 环境的所有设计功能,包括使用 Altium Designer 虚拟仪器方便地连接基于 FPGA 外设和用 LiveDesign 进行调试。Altium 基于 Viper 的编译器工具链保证所有处理器间的软件兼容性,包裹连接器内核提供硬件兼容性。这意味 着嵌入式设计无需花费高昂的重新设计工程的代价即可在处理器间进行设计移植。 Altium Designer 7.0 在 FPGA 开发方面有以下主要特点: (1)支持不依赖于 FPGA 厂商即各个厂商通用的数字系统开发。 (2)丰富的原理图库,有大量的综合元件,包括处理器。 (3)在工程的设计和调试阶段都支持原理图导向设计方法。 (4)丰富的虚拟仪器。虚拟逻辑分析仪、虚拟频率发生器、频率计数器、I/O 模块、ROM 仿真器,为嵌入式系统开发提供很大的便利。 (5)为了方便在 FPGA 上设计嵌入式系统,Altium Designer 7.0 完全综合了 Altium 独特 的基于 FPGA 的现场设计开发板NanaBoard。 (6)支持软硬件并行开发,克服以往嵌入式系统软硬件开发的串行开发形式中的缺点。这 种方法必将成为以后 FPGA 开发的主流方法。 传统的嵌入式开发流程是: 系统级设计PCB 板硬件制作硬件调试嵌入式软件开发 软件调试整个系统的软硬件综合调试,发现问题后再从流程开始检查调试。这是一个串行 的开发流程,造成的问题是一个系统开发时间过长和调试不方便,发现问题再修改会很麻烦。 现在很多嵌入式开发存在的问题是非得等硬件 PCB 板子做出来后才可以基本进行软件开发, 从而浪费了人力和时间。而 Altium Designer 7.0 提供了一个软硬件并行的开发方法。当系 统级设计完成以后, PCB 板硬件进行制作时, 嵌入式软件也可以进行芯片级的嵌入式软件开发, 而到最后调试时出现问题可以很方便地进行软硬件各自的修改。这种软硬件并行的开发方法 已经在国外慢慢流行起来,在不久的将来将成为嵌入式系统开发的主流方法! 1.2.2 单片机 AT89S52 AT89S52 是一种低功耗、 高性能 CMOS8 位微控制器, 具有 8K 在系统可编程 Flash 存储器。 使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、有效的 解决方案。AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门 狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行 口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择 节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。 2013 机电工程系专业毕业设计(论文) 5 掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或 硬件复位为止。 AT89S52 主要性能: 与 MCS-51 单片机产品兼容; 8K 字节在系统可编程 Flash 存储器; 1000 次擦写周期;全静态操作:0Hz-33MHz;三级加密程序存储器;32 个可编程 I/O 口线;三个 16 位定时器/计数器;六个中断源;全双工 UART 串行通道;低功耗空闲和掉电模式;掉电后 中断可唤醒;看门狗定时器;双数据指针;掉电标识符。 片上资源介绍: P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑 电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口 也被作为低 8 位地址/数据复用。在这种模式下,P0 不具有内部上拉电阻。在 flash 编程时, P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P1 端口写“1”时, 内部上拉电阻把端口拉高, 此时可以作为输入 口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.1 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和定时器/计数器 2 的触发输入 (P1.1/T2EX)。 在 flash 编程和校验时,P1 口接收低 8 位地址字节。 引脚第二功能:P1.0 T2(定时器/计数器 T2 的外部计数输入),时钟输出;P1.1 T2EX (定时器/计数器 T2 的捕捉/重载触发信号和方向控制);P1.5 MOSI(在系统编程用);P1.6 MISO(在系统编程用);P1.7 SCK(在系统编程用)。 P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P2 端口写“1”时, 内部上拉电阻把端口拉高, 此时可以作为输入 口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外 部程序存储器或用 16 位地址读取外部数据存储器时,P2 口送出高八位地址。在这种应用中, P2 口使用很强的内部上拉发送 1。在使用 8 位地址访问外部数据存储器时,P2 口输出 P2 锁 存器的内容。 在 flash 编程和校验时,P2 口也接高 8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p3 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P3 端口写“1”时, 内部上拉电阻把端口拉高, 此时可以作为输入 口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 AT89S52 特殊功能使用。在 flash 编程和校验时,P3 口也接收一些控制信号。 引脚第二功能:P3.0 RXD(串行输入口) ;P3.1 TXD(串行输出口);P3.2 INTO(外中断 0); P3.3 INT1(外中断 1) ;P3.4 TO(定时/计数器 0);P3.5 T1(定时/计数器 1);P3.6 WR(外部 数据存储器写选通);P3.7 RD(外部数据存储器读选通)。此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复 位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于 锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因 此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 张鹏电梯自动控制系统 6 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通 过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后, 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部 程序时,应设置 ALE 禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 AT89S52 由外部 程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间, 当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/VPP:外部访问允许,欲使 CPU 只访问外部程序存储器(地址为 0000H-FFFFH),EA 必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状 态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器的指令。FLASH 存储器编程 时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 定时器 2 寄存器:寄存器 T2CON 和 T2MOD 包含定时器 2 的控制位和状态位,寄存器对 RCAP2H 和 RCAP2L 是定时器 2 的捕捉/自动重载寄存器。 中断寄存器:各中断允许置于 IE 寄存器中,六个中断源的两个优先级也可在 IE 中设置。 双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路 16 位数 据指针寄存器:位于 SFR 中 82H83H 的 DP0 和位于 84H85。特殊寄存器 AUXR1 中 DPS=0 选 择 DP0;DPS=1 选择 DP1。用户应该在访问数据指针寄存器前先初始化 DPS 至合理的值。 看门狗定时器:WDT 是一种需要软件控制的复位方式。WDT 由 13 位计数器和特殊功能寄 存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认情况下无法工作;为了激活 WDT,用户必须往 WDTRST 寄存器(地址:0A6H)中依次写入 01EH 和 0E1H。当 WDT 激活后, 晶振工作,WDT 在每个机器周期都会增加。WDT 计时周期依赖于外部时钟频率。除了复位(硬 件复位或 WDT 溢出复位),没有办法停止 WDT 工作。当 WDT 溢出,它将驱动 RSR 引脚一个高 电平输出。 WDT 的使用为了激活 WDT, 用户必须向 WDTRST 寄存器 (地址为 0A6H 的 SFR) 依次写入 01EH 和 0E1H。当 WDT 激活后,用户必须向 WDTRST 写入 01EH 和 0E1H 喂狗来避免 WDT 溢出。当计数 达到 8191(1FFFH)时,13 位计数器将会溢出,这将会复位器件。晶振工作、WDT 激活后, 每一个机器周期 WDT 都会增加。 为了复位 WDT, 用户必须向 WDTRST 写入 01EH 和 0E1H (WDTRST 是只读寄存器)。WDT 计数器不能读或写。 当 WDT 计数器溢出时,将给 RST 引脚产生一个复位脉冲输出,这个复位脉冲持续 96 个 晶振周期(TOSC),其中 TOSC=1/FOSC。为了很好地使用 WDT,应该在一定时间内周期性写入 那部分代码,以避免 WDT 复位。WDT 在掉电和空闲模式下,晶振器不工作,这意味这 WDT 也停 止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过 一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给 WDT 喂狗,就如同通常 AT89S52 复位一样。 通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振 稳定。当中断拉高后,执行中断服务程序。为了防止 WDT 在中断保持低电平的时候复位器件, 2013 机电工程系专业毕业设计(论文) 7 WDT 直到中断拉低后才开始工作。这就意味着 WDT 应该在中断服务程序中复位。为了确保在 离开掉电模式最初的几个状态 WDT 不被溢出,最好在进入掉电模式前就复位 WDT。在进入待机 模式前,特殊寄存器 AUXR 的 WDIDLE 位用来决定 WDT 是否继续计数。默认状态下,在待机模 式下,WDIDLE=0,WDT 继续计数。为了防止 WDT 在待机模式下复位 AT89S52,用户应该建立一 个定时器,定时离开待机模式,喂狗,再重新进入待机模式。 UART:在 AT89S52 中,UART 的操作与 AT89C51 和 AT89C52 一样。为了获得更深入的关 于 UART 的信息,选择“Products”,然后选择“8051-Architech Flash Microcontroller”, 再选择“Product Overview”即可。 定时器 0 和定时器 1: 在 AT89S52 中, 定时器 0 和定时器 1 的操作与 AT89C51 和 AT89C52 一样。为了获得更深入的关于 UART 的信息,选择“Products”,然后选择“8051-Architech Flash Microcontroller”,再选择“Product Overview”即可。 定时器 2:定时器 2 是一个 16 位定时/计数器,它既可以做定时器,又可以做事件计数 器。其工作方式由特殊寄存器 T2CON 中的 C/T2 位选择。定时器 2 有三种工作模式:捕捉方式、 自动重载(向下或向上计数)和波特率发生器。工作模式由 T2CON 中的相关位选择。定时器 2 有 2 个 8 位寄存器:TH2 和 TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加 1。 由于一个机器周期由 12 个晶振周期构成,因此,计数频率就是晶振频率的 1/12。捕捉方式在 捕捉模式下,通过 T2CON 中的 EXEN2 来选择两种方式。如果 EXEN2=0,定时器 2 时一个 16 位 定时/计数器,溢出时,对 T2CON 的 TF2 标志置位,TF2 引起中断。如果 EXEN2=1,定时器 2 做相同的操作。除上述功能外,外部输入 T2EX 引脚(P1.1)1 至 0 的下跳变也会使得 TH2 和 TL2 中的值分别捕捉到 RCAP2H 和 RCAP2L 中。除此之外,T2EX 的跳变会引起 T2CON 中的 EXF2 置位。 像 TF2 一样, T2EX 也会引起中断。 在计数工作方式下, 寄存器在相关外部输入角 T2 发 生 1 至 0 的下降沿时增加 1。在这种方式下,每个机器周期的 S5P2 期间采样外部输入。一个 机器周期采样到高电平,而下一个周期采样到低电平,计数器将加 1。在检测到跳变的这个周 期的 S3P1 期间,新的计数值出现在寄存器中。因为识别 10 的跳变需要 2 个机器周期(24 个晶振周期),所以,最大的计数频率不高于晶振频率的 1/24。为了确保给定的电平在改变 前采样到一次,电平应该至少在一个完整的机器周期内保持不变。 自动重载: 当定时器 2 工作于 16 位自动重载模式, 可对其编程实现向上计数或向下计数。 这一功能可以通过特殊寄存器 T2MOD 中的 DCEN (向下计数允许位) 来实现。 通过复位, DCEN 被 置为 0,因此,定时器 2 默认为向上计数。DCEN 设置后,定时器 2 就可以取决于 T2EX 向上、 向下计数。DCEN=0 时,定时器 2 自动计数。通过 T2CON 中的 EXEN2 位可以选择两种方式。 如果 EXEN2=0,定时器 2 计数,计到 0FFFFH 后置位 TF2 溢出标志。计数溢出也使得定时器寄 存器重新从 RCAP2H 和 RCAP2L 中加载 16 位值。定时器工作于捕捉模式,RCAP2H 和 RCAP2L 的值可以由软件预设。如果 EXEN2=1,计数溢出或在外部 T2EX(P1.1)引脚上的 1 到 0 的下 跳变都会触发 16 位重载。这个跳变也置位 EXF2 中断标志位。T2EX 上的一个逻辑 0 使得定时 器 2 向下计数。当 TH2 和 TL2 分别等于 RCAP2H 和 RCAP2L 中的值的时候,计数器下溢。计 数器下溢,置位 TF2,并将 0FFFFH 加载到定时器存储器中。置位 DCEN,允许定时器 2 向上或 向下计数。在这种模式下,T2EX 引脚控制着计数的方向。T2EX 上的一个逻辑 1 使得定时器 2 向上计数。定时器计到 0FFFFH 溢出,并置位 TF2。定时器的溢出也使得 RCAP2H 和 RCAP2L 中 张鹏电梯自动控制系统 8 的 16 位值分别加载到定时器存储器 TH2 和 TL2 中。 定时器 2 上溢或下溢, 外部中断标志位 EXF2 被锁死。在这种工作模式下,EXF2 不能触发中断。 中断源:AT89S52 有 6 个中断源:两个外部中断(INT0 和 INT1),三个定时中断(定时 器 0、1、2)和一个串行中断。这些中断如图 10 所示每个中断源都可以通过置位或清除特殊 寄存器 IE 中的相关中断允许控制位分别使得中断源有效或无效。IE 还包括一个中断允许总 控制位 EA,它能一次禁止所有中断。 定时器 2 可以被寄存器 T2CON 中的 TF2 和 EXF2 的或逻辑触发。程序进入中断服务后,这 些标志位都可以由硬件清 0。实际上,中断服务程序必须判定是否是 TF2 或 EXF2 激活中断, 标志位也必须由软件清 0。 定时器 0 和定时器 1 标志位 TF0 和 TF1 在计数溢出的那个周期的 S5P2 被置位。 它们的值 一直到下一个周期被电路捕捉下来。然而,定时器 2 的标志位 TF2 在计数溢出的那个周期的 S2P2 被置位,在同一个周期被电路捕捉下来。 存储器结构:MCS-51 器件有单独的程序存储器和数据存储器。外部程序存储器和数据存 储器都可以 64K 寻址。 对于 89S52, 如果 EA 接 VCC, 程序读写先从内部存储器 (地址为 0000H 1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:AT89S52 有 256 字 节片内数据存储器。高 128 字节与特殊功能寄存器重叠。也就是说高 128 字节与特殊功能寄 存器有相同的地址,而物理上是分开的。当一条指令访问高于 7FH 的地址时,寻址方式决定 CPU 访问高 128 字节 RAM 还是特殊功能寄存器空间。 直接寻址方式访问特殊功能寄存器 (SFR) 。 1.2.3 C 语言编程软件 Keil C51 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编 相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了 包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通 过一个集成开发环境将这些部分组合在一起。运行 Keil 软件需要 WIN98、NT、WIN2000、WINXP 等 操作系统。如果你使用 C 语言编程,那么 Keil 几乎就是最好的选则,即使不使用 C 语言而仅用汇 编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会更好。 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另 外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效 率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级 语言的优势。下面详细介绍 Keil C51 开发系统各部分功能和使用。C51 工具包的整体结构, uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、 编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇 编源文件。然后分别由 C51 及 C51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创 建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也 可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 使用独立的 Keil 仿真器时,需注意:仿真器的标准配置是 11.0592MHz 的晶振,但用户 2013 机电工程系专业毕业设计(论文) 9 可以在仿真器上的晶振插孔中换其他频率的晶振;仿真器上的复位按钮只复位仿真芯片,不 要复位目标系统;仿真芯片的 31 脚(/EA)已接至高电平,所以仿真时只能使用片内 ROM,不 能使用片外 ROM。但仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚相连,故该仿真器仍可 插入到扩展有外部 ROM(其 CPU 的/EA 引脚接至低电平)的目标系统中使用。 用 Keil C51 编程的优点:Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编 代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势;与汇编相比,C 语言在 功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51 软件提供丰 富的库函数和功能强大的集成开发调试工具以及全 Windows 界面。 2 电梯自动控制系统的原理和设计 以上主要介绍了电梯自动控制系统开发的背景以及开发的硬件和软件的环境。电路制图 软件 Altium Designer Summer 提供系统电路的设计和模拟,它的设计和仿真是系统框架的原 理依靠。硬件主要是单片机 AT89S52 的原理和基本功能,它将构成系统的核心框架部分;软 件设计和调试就依赖于 Keil C51。下面介绍系统的具体设计情况。 2.1 系统功能 (1)能通过矩阵键盘输入的楼层数,让点阵显示电梯当前运行状态即当前所在楼层,直至所 要到达的目的楼层。 (2)电梯到达目的楼层时,通过蜂鸣器提示乘客。 (3)电源能通过计算机的 USB 口供电,以节约制作成本。 2.2 系统硬件设计 2.2.1 电路总体框图设计 电梯控制电路设计总体框图如下图所示,控制器采用单片机 AT89S52,楼层选择按键采用 4*2 矩阵键盘,用 74HC573 芯片驱动 8*8 点阵来显示电梯运行状态。 张鹏电梯自动控制系统 10 总体设计框图 2.2.2 系统原理图 用 Altium Designer Summer 设计的系统原理图。 系统原理图 2.2.3 各部分电路的设计 74HC573 输入端口 D0-D7 与单片机的 P0 口相连,输出端口 O0-O7 与点阵的正极相接。它在电 路中的具体连接方式如下图右所示。74HC573 是高性能的硅 CMOS 器件,器件的输入是和标准 CMOS AT89S52 单片机复位 矩阵键盘 时钟振荡 点阵 蜂鸣器 2013 机电工程系专业毕业设计(论文) 11 输出兼容的;加拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端 LE 为高时,这些器件的锁 存对于数据是透明的(也就是说输出同步) 。当锁存使能变低时,符合建立时间和保持时间的数据 会被锁存。 u36755X 能直接接到 CMOS,NMOS 和 TTL 接口上;u25805X 电压范围:2.0V6.0V;u20302X 输 入电流:1.0uA 。 功能表: 输入输出 输出使能所存使能DQ LHHH LHLL LLX不变 HXXZ X=不用担心 Z=高阻抗 在电路中 74HC573 主要用于驱动点阵显示。因此 OE 脚置低,LE 脚置高。 74HC573 在电路中的连接 显示电路采用 8*8 点阵,点阵正极通过 74HC573 和 P0 口相连,点阵负极直接与 P2 口相连。 张鹏电梯自动控制系统 12 点阵显示电路 楼层按键采用 4*2 矩阵键盘,矩阵键盘与 P1 口相连接,共 8 个按键分别模拟 18 层。用键盘 输入要去的楼层,本模拟程序一次只接受一个按键信息。在电梯的运行中不再接收按键信息,等电 梯到达指定楼层后才能通过键盘输入再次运行到下一指定楼层。 4*2 矩阵键盘 如下图所示晶振电路,X101 是系统的时钟晶振,频率是 12MHz。 晶振电路 复位电路如下图所示,复位电路采用上电加按钮复位。 复位电路 三极管作为蜂鸣器的驱动,增加了蜂鸣器的驱动电流。蜂鸣器的控制接到单片机的 P3.4 口。 2013 机电工程系专业毕业设计(论文) 13 蜂鸣器电路 2.3 系统软件设计 软件设计依赖于 Keil C51,用 C 语言编程简单而且灵活,方便改错和调试。当然也可以选择 汇编语言,但与 C 语言相比起来就要复杂得多。 2.3.1 系统软件运作主流程图 初始化 开始 张鹏电梯自动控制系统 14 程序运作主流程图 2.3.2 键盘扫描流程图 到达指定 输入楼层 Nextfloor? 上升一层 floor+ 数码显示 BEEP ON 停 止 运 行 flag=0 floornextf loor? 开始 键盘扫描 取值 Y N Y 下降一层 floor- 显示当前层 及升降状态 N 到达指定 显示当前层 及升降状态 N Y BEEP ON 初始化 2013 机电工程系专业毕业设计(论文) 15 键盘扫描流程图 3 系统调试 焊接过程中每个部件的焊接要按照一定的顺序,首先焊电源,然后是单片机及下载口,其次是 点阵、按键、蜂鸣器等。焊接一部分,就调试一部分,这样就可以保证电路最后的顺利完成,如果 一口气焊接完所有部件,一旦出现错误就很难去发现和改正,因此应该一步一步的进行。这些都是 硬件,其调试主要是用到万能表、示波器等模拟电路调试工具。 软件部分的调试是很重要的调试阶段,各主要程序段需要调试并运行到正确。所有程序最后需 要一起运行,在给定的各种命令下,程序运行结果都必须正确才行。这一方面是要控制电梯正确运 行,另一方面也是为了保护单片机芯片。因为如果程序调试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 做路基合同标准文本
- 共享库房装修合同标准文本
- 专升本合同标准文本
- 企业合作社股制合同样本
- 产品订货返利合同标准文本
- 两个乙方合同标准文本
- 关于合同样本通知
- 书店搬运合同样本
- ktv股权转让合同标准文本
- 低层房产转让合同样本
- 人工智能与医学影像技术
- 品管圈PDCA改善案例-降低术中低体温发生率
- 2024版儿科教学查房教案模板()
- 2024-2024年上海市高考英语试题及答案
- 2024扩张性心肌病研究报告
- 卫生监督协管员培训课件
- 2024年社区卫生服务中心工作计划(五篇)
- GB/T 14233.3-2024医用输液、输血、注射器具检验方法第3部分:微生物学试验方法
- IEC 62368-1标准解读-中文
- QC课题提高金刚砂地面施工一次合格率
- 《数学课程标准》义务教育2022年修订版(原版)
评论
0/150
提交评论