机械毕业设计1356四层楼电梯自动控制系统的设计说明书.doc_第1页
机械毕业设计1356四层楼电梯自动控制系统的设计说明书.doc_第2页
机械毕业设计1356四层楼电梯自动控制系统的设计说明书.doc_第3页
机械毕业设计1356四层楼电梯自动控制系统的设计说明书.doc_第4页
机械毕业设计1356四层楼电梯自动控制系统的设计说明书.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1 毕业设计说明书目录 第一章 引言 2 第二章 设计要求 2 第三章 设计方案 3 第四章 硬件设计 5 4.1 单片机 5 4.2 各楼层电梯间电路 9 4.3 电梯间电路 12 4.4 控制台电路 13 4.5 单片机电路 16 4.6 电路 PCB图 17 第五章 软件设计 19 5.1 简易控制方案 19 5.2 进一步控制 方 案 22 5.2.1 控制逻辑流程图 22 5.2.2 说明 25 5.2.3 参考程序 26 第六章 软硬件系统的调试 31 6.1 软件调试 31 6.2 硬件调试 32 第七章 结束语 33 毕业设计总结 34 参考文献 36 2 电梯控制系统模型 摘 要 :本论文主要介绍的是电梯自动控制模型, 硬件部分 我们使用的是单片机及外围电路组成高度为四层楼的电梯控制系统。单片机采用 AT89C51,晶体振荡器选 6MHz, C51、 C52 为 30uF瓷片电容与晶体振荡器形成时钟电路。电 容 C53、电阻 R51、 R52 和按键 RESET 构成上电复位和手动复位电路。 软件部分采用了两种控制方案 ,简易控制方案只是简单的电梯上升下降 ,在各楼层短暂停留。而进一步控制方案则考虑各楼层的信号请求 ,以完成各楼层的升降控制。该系统具有 工作稳定,操作简单等优点。 关键词 :电梯 , AT89C51单片机 , 共阴极数码管 , CD4511译码器,发光二极管 第一章 引言 据国外有关资料介绍 ,公元前 2800 年在古代埃及 ,为了建筑当时的金字塔 ,曾使用过由人力驱动的升降机械。公元 1765 年瓦特发明了蒸汽机之后 ,1858 年美国研制 出以蒸汽为动力 ,并通过皮带转动和蜗轮减速装置驱动的电梯。 1878 年英国的阿姆斯特郎发明了水压梯。并随着水压梯的发展 ,淘汰了蒸汽梯。后来又出现了采用液压泵和控制阀以及直接柱塞式和侧柱塞式结构的液压梯 ,这种掖压梯至今仍为人们所采用。但是, 电梯得以兴盛发展的原因在于采用了电力作为动力来源 .。 在 20 世纪初 ,美国奥梯斯电梯公司首先使用直流电动机作为动力 ,生产出以槽轮式驱动的直流电梯 ,从而为今天的高速度 ,高行程电梯的发展奠定了基础。 20 世纪30 年代美国纽约市的 102 层摩天大楼建成 ,美国奥梯斯电梯公司为这座大楼制造和安装 了 74台速度为 6.0MS的电梯。 从此以后 ,电梯这个产品 ,一直在日新月异的发展着 .目前电梯产品 ,不但规格品种多 ,自动化强 ,而且安全可靠 ,乘坐舒服 .近几年来 ,随着电子工业的发展 ,微处理机和电子计算机已成功的应用到电梯的电气控制系统中去 ,采用无触点元件的电梯电气控制系统已开始批量生产。 第二章 设计要求 采用 AT89C51 单片机及外围电路组成高度为四层楼的电梯控制系统 。 电梯内电路由 FS1、 FS2、 FS3 和 FS4 四个发光二极管作为指示灯,电梯模型上电后,电梯的起始位置为一楼,等待控制台 Start 按键按下,数码 管显示“ 1”。当 Start 按键按下后,电梯开始向上运动,控制台的上升指示灯 UP 亮。 2s 后到达二楼,数码管显示“ 2”并在二楼停留 5s,然后继续上升。每层楼停留 5s,直到四楼。在四楼停留 5s 后开始下降,控制台的指示灯 DOWN 亮。每层楼停 5s,直到一楼。然后重复上述过程。如果在一个上下循环中按下过 Stop 键 ,电梯下降到一楼后停止工作。直到再次按下 Start 键后重新恢复工作 3 第三章 设计方案 电梯控制系统由各层楼的电梯间电路、电梯内电路和控制台电路三部分组成。电梯在各楼层的定位本应采用行程开关,考虑到模型的操 作性,采用延时控制。相邻楼层间升降设定为 2S。 1)各楼层的电梯间电路 二、三层的电路间均有“上升”和“下降”选择按键,一楼只有“上升”按键,四楼只有“下降”按键,每个按键配一只发光二极管,作为指示灯。 2)电梯内部电路 目标楼层 1 4 选择按键配又相应的指示灯。 3)控制台电路 ( 1)两个按键用于手动控制。控制电路的“开始运行”和“停止运行” ( 2)两个指示灯,分别指示电梯的升降情况。 ( 3)一只数码管,用于显示电梯当前所在的楼层。 4)控制方案 ( 1)简单控制方案 (见图 1) 工作原理:控制台按下 START 键后,通过 AT89C51 单片机的控制使得电梯运行,该系统中电梯运行时不受各楼层的控制和影响 往复运动,只有在控制台按下 STOP 键后,电梯降到一楼停止,等待控制台再次启动。该系统使用数码管显示当前楼层。 图 1 简易方案系统工作原理框图电梯降到一楼停止控制台启动电梯单片机译码器数码管显示电梯动作控制台停止电梯 4 ( 2)进一步控制方案 (见图 2) 工作原理:工作台启动电梯,单片机检测各楼层信号请求控制电梯运动,电梯动作完成后数码管显示所在楼层,同时单片机再次检测各楼层请求信号,使的电梯再次动作,直到控制台停止电梯,电梯降到一楼后停止,等待控制台再次启动 电梯。 图 2 进一步控制系统工作原理框图电梯动作电梯降到一楼停止控制台停止电梯数码管显示译码器单片机各楼层请求信号控制台启动电梯 5 第四章 硬件设计 4.1 单片机 采用 AT89C51 单片机及外围电路组成高度为四层楼的电梯控制系统 。 AT89c51是一种低功耗高性能的 8位单片机,片内带有一个 4k字节的 flash可编擦除只读存储器 (perom),它采用了 cmos工艺和 atmel公司的高密度非易失性存储器 (nuram)技术,而且其输出引脚和指令系统和 mcu_51系列单片机兼容。片内的 flash存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程。同时已具有三级程序存储器保密的性能。 在众多的 51 系列单片机中,要算 atmei 公司的 at89c51 更实用,因为它不仅和 mcu_51系列单片机指令、管脚完全兼容,而且其片内的 4k程序存储器是 flash 工艺的,这种下艺的存储器用户可以用电的方式瞬间擦除、改写。所以说这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机的程序还可以加密,这又很好地保护了所有者的劳动成果。 6 管脚说明 VCC:供电电压。 GND:接地。 P0口: P0口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL门电流。当 P1口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH编程时, P0 口作为原码输入口,当 FIASH进行校验时, P0输出原码,此时 P0外部必须被拉高。 P1口: P1口是一个内部提供上拉电阻的 8位双向 I/O口, P1口缓冲器能接收输出 4TTL门电流。 P1口管脚写入 1后,被内部上拉为高,可用作输入, P1口被外部下拉为低 电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时, P1口作为第八位地址接收。 P2口: P2口为一个内部上拉电阻的 8位双向 I/O口, P2口缓冲器可接收,输出 4个 TTL门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时, P2口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输 出其特殊功能寄存器的内容。 P2口在 FLASH编程和校验时接收高八位地址信号和控制信号。 P3口: P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL门电流。当P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。 P3口也可作为 AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0外部输入) P3.5 T1(记时器 1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。 7 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲信号,此频率 为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输出可在SFR8EH地址上置 0。此时, ALE只有在执行 MOVX, MOVC指令是 ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。 /EA/VPP:当 /EA保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时, /EA将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 单片机的基本组成如图 3所示 8 图 3 下面简要说明各部分组成 1、 中央处理器 单片机的中央处理器是单片机的核心,完成运算和控制操作,中央处理器主要包括运算器和控制器两部分。 2、 存储器 单片机内部的存储器分为程序存储器和数据存储器。 3、外围接口电路 CPU 与外部设备的信息交换都是通过接口电路来进行。 AT89C51 单片机的外围接口电路主要包括: 4 个可编程并行 I/O 口, 1 个可编程串行口, 2 个 16 位的可编程定时器以及中断系统等。 4、时钟振荡电路 时钟振荡电路是 CPU 所需要的各种定时控制信号的必备单元。 CPU 只有在时序信号和控制信号的协调下工作,才能执行各种指令。 振荡器和时钟电路 程序储存器( 4KB) 数据储存器( 128 字节) 两个 16 位 定时器计数器 中断 控制 内部中断 总线扩展控制器 并行可编程 I/O 口 可编程串行口 外部中断 扩展控制 P0 P1 P2 P3 RXD TXD 外 时钟源 外部事件计数 AT89C51 单片机的基本组成 9 4.2 各楼层电 梯间电路 如图 4 所示, R52、 R55、 R56、 R59、 R60 和 R62 是上拉电阻,其作用是保证按键未按下时,端口 P1.0 P1.5 为高电平。当按键按下时,端口 P1.0 P1.5 通过按键接地,使得P1.0 P1.5 变为低电平。电容 C51 C56 的作用是消除抖动和抗干扰。各楼层电梯间的升降选择按键均于单片机 P1 口连接,上升按键的 P1.0 P1.2 连接。下降按键与 P1 口的P1.3 P1.5 连接,即由 P1 口可以读出电梯间升、降按键的状态。每个上升、下降按键均有一只发光二极管作为指示灯与之配合,发光二极管与 P0 口的 P0.0 P0.5 连接。每个发光二极管通过一只阻值为 470的限流电阻接电源( Vcc),这样流经发光二极管的电流均为7.5mA,有适当的亮度,同时单片机的端口在不加驱动的情况下可以承受 。 一层 10 二层 三层 11 四层 图 4 电梯间电路 12 4.3 电梯内电路 电梯内电路如图 5所示,四个目标楼层选择按键 F1、 F2、 F3、 F4 和四个与 之配合的发光二极管作为指示灯,即 FS1、 FS2、 FS3 和 FS4。按键与 P3 口的 P3.0 P3.3 连接,指示灯与 P2 口的 P2.0 P2.3 相连。上拉电阻 R11 R14 和电容 C11 C14 的作用同上。 图 5 电梯内电路 13 4.4 控制台电路 控制台电路如图 6所示。发光二极管 Power 是电源指示灯,用以显示供电是否正常。 DISP是 0.5in(英寸)共阴极数码管,用来显示当前楼层。采用 CD4511 作译码器,经 R31 R37(阻值为 470)对数码管限 流。 UP、 DOWN 两只发光管用来显示电梯运行的方向。 CD4511 是 BCD-锁存 /七段译码 /驱动器: 有灯测试功能;以反相器作输出级,用以驱动 LED 或数码管;具有消隐输入;显示数 6时, a=0,显示 9时, d=0。 1-B,2-C,3-LT(为灯测试输入端) ,4-BI(数据输入端) ,5-LE(锁存使能,锁存输入使能) ,6-D,7-A,8-VSS ( 电 源 负 极 )( A , B, C, D 为门电路的输入端)9-e,10-d,11-c,12-b,13-a,14-g,15-f, 16-vdd(电源正极 )( a,b,c,d,e,f,g 为译码输出;显示字符端输出,连接数码管的相应脚) 14 CD4511 功能表 十进制 或功能 输 入 BI 输 出 字 型 LE LT D C B A a b c d e f g 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 消 隐 锁 定 灯 测 试 1 1 1 0 0 1 0 0 0 0 0 0 0 锁定在上一个 LE=0时 1 1 1 1 1 1 1 15 图 6 控制台电路 16 4.5 单片机电路 单片机电路如图 7 所示,单片机采用 AT89C51,晶体振荡器选 6MHz, C51、 C52 为 30uF瓷片电容与晶体振荡器形成时钟电路。电容 C53、电阻 R51、 R52 和按键 RESET 构成上电复位和手动复位电路。 外部接线图见附图 1。 图 7 单片机电路 17 4.6、电路板 PCB图 图 8所示电路板 PCB 图的顶层和底层。 图 8 电梯模型 PCB 图(顶面) 18 图 8 电梯模型 PCB 图 (底面 ) 19 第五章 软件设计 5.1 简易控制 方案 ( 1)电梯模型上电后,电梯的起始位置为一楼,等待控制台 Start 按键按下,数码管显示“ 1”。 ( 2)当 Start 按键按下后,电梯开始向上运动,控制台的上升指示灯 UP 亮。 2s 后到达二楼,数码管显示“ 2”并在二楼停留 5s,然后继续上升。每层楼停留 5s,直到四楼。在四楼停留 5s 后开始下降,控制台的指示灯 DOWN 亮。每层楼停 5s,直到一楼。然后重复上述过程。 (3)如果在一个上下循环中按下过 Stop 键 ,电梯下降到一楼后停止工作。直到再次按下Start 键后重新恢复工作。 ( 4) 5s 定时由定时器 T0 和 R2 一起完成 。 T0 定时 100ms,每 100ms 中断一次。在中断服务程序中将 R2加 1。当 R2 加到 50 时,中断了 50 次, 50 100ms=5s,即完成 5s 定时。 ( 5)定时器 T1 定时 10ms。每 10s 中断一次,在中断服务程序中检查一次 Stop 键是否按下,如果按下停止 T1计时( TR1=0),并将 R3 置为非 0(程序中间 R3 写 #0FFH)。电梯下降到一楼是检查 R3中的内容,如果不是 0 就停止工作。 ( 6)参考程序 ORG 0000H AJMP START ORG 000BH AJMP TIME ORG 001BH AJMP TIME1 START: MOV TMOD, 11H MOV IE,#8AH MOV TH0,#3CH ;定时 MOV TL0, #0B0H MOV TH1, 0ECH ;定时 MOV TL1, #78H SETB TR0 SETB TR1 MOV SP, #6FH 20 Q1: SETB P0.6 ;下降指示灯灭 SETB P0.7 ;上升指示灯灭 MOV R3, MOV P3,#1FH ;数码管显示 JB P1.7, ;等待开始工作指令 SETB P0.6 Q2: CLR P0.7 ;上升指示灯亮 ACALL DLY ;上升 SETB P0.7 ;到达二层,上升指示灯灭 MOV P3, 2FH ;数码管显示 MOV R2, ;定时开始 CJNZ R2, 50, ;等待延时 CLR P0.7 ;到,继续上升 ACALL DLY ;上升 SETB P0.7 ;到达三层,上升指示灯灭 MOV P3, #3FH ;数 码管显示 MOV R2, #0 ;定时开始 DJNZ R2, #50, $ ;等待延时 CLR P0. ;到,继续上升 ACALL DLY ;上升 SETB P0.7 ;到达四层,上升指示灯灭 MOV P3, #4FH ;数码管显示 4 MOV R2, #0 ;定时开始 DJNZ R2, #50, $ ;等待延时 21 CLR P0.6 ;到,开始下降,下降指示灯亮 ACALL DLY ;下降 SETB P0.6 ;达到三层,下降指示灯灭 MOV P3, #3FH ;数码管显示 MOV R2, ;定时开始 CJNZ R2, 50, ;等待 5延时 CLR P0.6 ; 5到,继续下降,下降指示灯亮 ACALL DLY ;下降 2 SETB P0.6 ;达到二层,下降指示灯灭 MOV P3, #2FH ;数码管显示 MOV R2, ;定时开始 CJNZ R2, 50, ;等待延时 CLR P0.6 ;到,开始下降,下降指示灯亮 ACALL DLY ;下降 SETB P0.6 ;达到 一 层,下降指示灯灭 MOV P3, #1FH ;数码管显示 1 MOV R2, ;定时开始 CJNZ R2, 50, ;等待延时 CJNZ R3,#0,Q3 AJMP Q2 ; R3=0 转到 Q2 开始新的循环 AJMP Q2 ; R3 0 转 Q停止工作 ;定时器中断服务程序:定时,为计数器 TIME: MOV TH0, #3CH MOV TL0, #0B0H 22 INC R2 RET1 ;定时器中断服务程序;记录 Stop 键是否曾经按下过, R3 作为标志 TIME: JB P1.6, TIME11 MOV R3, #0FFH CLR TH1 TIME11: RET1 DLY: MOV R4, #200 DLY1: MOV R5, #250 DJNZ R5, $ DJNZ R4, DLY1 RET END 23 5.2 进一步控制方案 5.2.1 控制逻辑流程图如图 9 和图 10 所示。 24 三 、 四 楼有请求? 图 9 主程序流程 N Y Y N Y N Y N Y N Y N 初始化 在 一 楼 P 1 .7 =0 二、三、四 楼有请求? 上升到达二楼 本楼层是 请 求目 标? 停留 5s 上升到达三楼 本楼层请求目标? 停留 5s 四楼有请求? 开始到达四楼 R3=0? 停留 5S 下降到达一楼 一楼有请求? 停留 5S 本楼层是 请求目标? 下降到达二楼 一、二楼有请求? 停留 5S 本楼层是否请求目标? 下降到达三楼 一、二、三楼有请求 停留 5S 开始 25 图 10 定时器 T1 中断程序流程 开始 Stop 按下? 取得电梯间上升请求,并刷新指示灯 取得电梯间下降请求,并刷新指示灯 取得电梯内目标楼层请求,并刷新指示灯 返回 读取所有按键 标志 R3 置非 0 数 清除全部电梯间上升请求 清除全部电梯间下降请求 清除全部电梯内目标楼层请求 修改读入的按键状态使之只有电梯内目标为一楼 并关闭 T1,不再读取按键 26 5.2.2 说明 存储单元分配 20H 电梯间上升请求; 20H.0 1楼; 20H.1 2 楼; 20H.2 3楼; 20H.3 4 楼。 21H 电梯下降请求: 21H.0 1楼; 21H.1 2 楼; 21H.2 3楼; 21H.3 4 楼。 22H 电梯内目标楼层请求: 22H.0 1楼; 22H.1 2 楼; 22H.2 3楼; 22H.3 4 楼。 20H 22H: 0=无请求; 1=有请求。 堆线栈底: 70H 单元。 T1 中断服务程序中 6EH 单元包袱累加器 A的内容。 30H、 31H 单元分别临时存放 P1、 P3 按键状态。 32H 作为单元按键及指示灯处理的中间单元。 R3 作为 Stop 键曾经下过的记录。 上电之后,系统一直等待,当 Start 键按下后开始工作。 如果按下 Stop 键,强制电梯直接下降到一楼,然后电梯停止工作。直到再次按下 Start键后重新恢复工作。 中断服务程序每 10ms 一次检查所有按键状态,并记录在相应存储单元,同时控制相应指示灯。 定时器 T0定时 100ms, R2 作为 5s 定时的计数器。 T0 每中断一次 R2 加 1,当 R2=50 时,5s 计时完成。 27 5.2.3 参考程序 ORG 0000H AJMP START ORG 0000BH AJMP TIME1 START: MOV TMOD, #11H MOV IE, #8AH MOV TH0, 3CH ;定时 100ms MOV TL0, #0B0H MOV TH1, #0ECH ;定时 10ms MOV TL1, #78H SETB TR0 MOV SP, #6FH S1: CLR P0.6 CLR P0.7 MOV R3, #0 MOV P3, #1F ;数码管显示“ 1” JB P1.7, ;等待开始工作指令 SETB P0.6 SETB TR1 ;启动 T1 ; 10ms 一次读取按键 UP1: MOV A, 20H ;目前在一楼 ORL A, 21H ;取得 1 楼请求情况 ORL A, 22H ANL A, #0EH JZ UP1 ;无请求,则等待 CLR P0.7 ;上升指示灯亮 ACALL DLY ;上升 2s 28 UP2: MOV P3, #2FH ;到达 2 楼,数码管显示“ 2” JB 20H.1, UP21 ;是 2楼电梯间的上升请求,转 UP21 JB 22H.1, U ;是电梯内目标 2楼请求,转 UP21 SJMP UP22 UP21: CLR 20H.1 ;清 2楼电梯间上升请求标志位 CLR 22H.1 ;清电梯内目标 2楼请求标志位 SETB P0.7 ;上升指示灯灭 MOV R2, #0 ; 5s 定时开始 CNJE R2, #50, ;等待 5s 延时 UP22: MOV A, 20H ORL A, 21H ORL A, 22H ANL A, #0CH ;取得 2 楼请求情况 JNZ UP23 AJMP DOWN22 ; 2 楼无请求,转 2楼下降 UP23: CLR P0.7 ;上升指示灯亮 ACALL DLY ;上升 2s UP3: MOV P3, #3FH ;到达 3 楼,数码管显示“ 3” JB 20H.2, UP31 ;是 3 楼电梯间的上升请求,转 UP31 JB 22H.2, UP31 ;是电梯内目标楼请求,转 UP31 SJMP R2, #50, UP31: CLR 20H.1 ;清 3楼电梯间上升请求标志位 CLR 22H.1 ;清电梯内目标 3楼请求标志位 SETB P0.7 ;上升指示灯灭 MOV R2, #0 ; 5s 定时开始 CJNZ R2, #50, ;等待 5s 延时 UP32: MOV A, 20H 29 ORL A, 21H ORL A, 22H ANL A, #O8H ;取得 3 楼请求情况 JNZ UP33 AJMP DOWN32 ; 3 楼无请求,转 3楼下降 UP33: CLR P0.7 ;上升指示灯亮 ACALL DLY ;上升 2s UP4: CLR 20H.3 ;清 4楼电梯间下降请求标志位 CLR 22H.3 ;清电梯内目 标 4楼请求标志位 SETB P0.7 ;上升指示灯灭 MOV R2, #0 ; 5s 定时开始 CJNZ R2, #50, ;等待 5s 延时 UD4: MOV A, 20H ORG A, 21H ORG A, 22H ANL A, #07H ;取得 4的请求情况 JNZ DOWN4 AJMP UD4 DOWN4: CLR P0.6 ;下降指示灯亮 ACALL DLY ;下降 2s DOWN3: MOV P3, #3FH ;到达 3 楼,数码管显示“ 3” JB 21H.2, DOWN31 ;是 3楼电梯间的下降请求,转 DOWN31 JB 22H.2, DOWN31 ;是电梯内目标 3楼请求,转 DOWN31 SJMP DOWN32 DOWN31: CLR 21H.2 ;清 3楼电梯间下降请求标志位 CLR 22H.2 ;清电梯内目标 3楼请求标志位 SETB P0.6 ;下降指示灯灭 30 MOV R2, #0 ; 5s 定时开始 CJNZ R2, #50, ;等待 5s 延时 DOWN32: MOV A, 20H ORL A, 21H ORL A, 22H ANL A, #03H ;取得楼请求情况 JNZ DOWN33 AJMP UP32 ; 3 楼请求,转 3楼上升 DOWN33: CLR P0.6 ;下降指示灯亮 ACALL DLY DOWN2: MOV P3, #2FH ;到达 2 楼,数码管显示“ 2” JB 21H.1, DOWN21 ;是 2楼电梯间的下降请求,转 DOWN21 JB 22H.1, DOWN22 ;是电梯内目标 3楼请求,转 DOWN21 SJMP DOWN22 DOWN21: CLR 21H.1 ;清 2楼电梯间下降请求标志位 CLR 22H.1 ;清电梯内目标 2楼请求标志位 SETB P0.6 ;下降指示灯灭 MOV R2, #0 ; 5s 定时开始 CJNE R2, #50, ;等待 5s 延时 DOWN22: MOV A, 20H ORL A, 21H ORL A, 22H ANL A, #01H ;取得 2楼请求情况 JNZ DOWN23 AJMP UP22 ;无楼请求,转 2 楼上升 DOWN23: CLR P0.6 ;下降指示灯 亮 31 ACALL DLY DOWN1: CLR P3, #1FH ;到达 1 楼,数码管显示“ 1” DOWN11: CLR 21H.0 ;清电梯内目标 1 楼请求标志位 SETB P0.6 ;下降指示灯灭 MOV R2, #0 ; 5s 定时开始 CJNZ R2, #50, ;等待 5s 延时 CJNZ R3, #0, DOWN12 ; Stop 键是否按下过 AJMP UP1 DOWN12: CLR P0.6 ;若 Stop 键按下过,转 S1 停止工作 CLR P0.7 AJMP S1 ;定时器 T0中断服务程序; 5s计时 TIME: MOV TH0, #3CH MOV TL0, #0B0H INC R2 ; R2 计数器 RETI ;定时器 T1中断服务程序;按键状态检查 TIME1: MOV TH1, #0ECH ;每 10ms 检查一次按键 MOV TL1, #78H MOV 6EH, A MOV 30H, P1 ;读入所有按 键状态 MOV 31H, P3 JB P1.6, TIME11 ;若 Stop 键按下,则正常运行 MOV R3, #0FFH ; Stop 键按下,标志 R3 置非 0 数 32 MOV 20H, #0 ;清除全部电梯间上升请求 MOV 21H, #0 ;清除全部电梯间下降请求 MOV 22H, #0 ;清除全部电梯内目标楼层请求 MOV 30H, #0FFH ;修改读入的按键状态,使之为 MOV 31H, #0FEH ;电梯内目标为一楼 CLR TR1 ;开关闭 T1,不再读取按键 TIME11: MOV A, 30H CPL A ANL A, #07H ;取得电梯间上升请求 ORL 20H, A MOV A, 20H ;取得上升指示灯状态 CPL A ANL A, #07H MOV 32H, A MOV A, 30H CPL A ANL A, #38H ;取得电椅间下降请求 RR A RR A ORL 21H, A MOV A, 21H CPL A ANL A, #0EH RL A RL A ORL 32H, A MOV A, P0 ANL A, #0C0H ORL A, 32H ;刷新上升、下降请求指示灯 33 MOV A, 31H ANL A, #0FH ;取得电梯内目标楼层请求 ORL 22H, A MOV A, 22H CPL A MOV P2, A ;刷新电 梯内目标楼层指示灯 TIME12: MOV A, 6EH RET1 ; 2s 延时程序 DLY: MOV R5, #20 DLYI: MOV R6, #100 DLY2: MOV R7, #250 DJNZ R7, DJNZ R6, DLY2 DJNZ R5, DLY1 RET END 34 第六章 软硬件系统的调试 6.1 软件调试 软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。 程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下: (1) 用仿真器修改显示缓冲区内容,屏蔽拆字程 序,调试动态扫描显示功能。例如将DISP0DISP5 单元置为“ 012345”,应能在 LED 上从左到右显示“ 012345”。若显示不正确,可在 DISP 子程序相应位置设置断点调试检查。然后用仿真器修改计时缓冲区内容,调用拆字程序,调试显示模块 DISPLAY。例如,将 HOUR、 MIN、 SEC 单元置为“ 123456”,检查是否能正确显示“ 12: 34: 56”。若显示不正确,应在 SEPA 子程序相应位置设置断点,调试检查。 (2) 运行主程序调试计时模块,不按下任何键,检查是否能从由 00: 00: 00开始正确计时。 若 不能正确计时则应在定时器中断服务子程序中设置断点,检查 HOUR、 MIN、 SEC、 MSEC单元是否随断点运行而变化。然后屏蔽缓冲区初始化部分,用仿真器修改计时缓冲区内容为23: 58: 48,运行主程序(不按下任何键),检验能否正确进位。 (3) 调试键盘扫描模块 KEYSCAN,先用延时 10ms 子程序代替显示子程序延时消抖,在求取键号后设置断点,中断后观察 A 累加器中的键号是否正确;然后恢复用显示子程序延时消抖,检验与 DISPLAY 模块能否正确连接。 (4) 调试时间设置 /闹钟定时模块 MODIFY。首先屏蔽 COMB 子程序,单独调试键盘设置模块 KEYIN,观察显示缓冲区 DISP0DISP5 单元的内容是否随键入的键号改变,以及键号能否在 LED 上显示。然后屏蔽 KEYIN 子程序,单独调试合字模块 COMB,分别将 R1 设置为时间设置缓冲区和闹钟值寄存区的首地址,修改显示缓冲区内容,程序运行后查看时间设置缓冲区HOUR、 MIN、 SEC 单元和闹钟值寄存区 AHOUR、 AMIN、 ASEC 单元内容是否正确。最后联调 MODIFY模块。 (5) 运行主程序联调,检查能否用键盘修改当前时间以及设置闹钟,能否正确计时、启闹、停闹。 35 6.2 硬件调试 6.2.1 状态灯显示测试 当电路连接完毕后,将写好的测试程序刷写到芯片内,分别给端口送高电平和低电平,通电即可检测。 6.2.2 数码管的测试 将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。 6.2.3 整体电路测试 系统上电,刷写好程序即可开始测试,观测一个周期灯的显示状态是否正常,同时观察倒计的计数是否正常。 36 第七章 结束语 本设计基本上达到了设计目的 。 利用通用 译码器 和 单片机 实现了对电梯的控制,通过合理的设备选型、 参数设置和软件设计,提高了电梯运行的可靠胜,改善了电梯运行的舒适感,并节约了电能。 通过本次设计,我的知识领域得到进一步扩展,专业技能得到进一步提高,同时增强了分析和解决工程实际的综合能力。另外,也培养了自己严肃认真的科学态度和严谨求实的工作作风。 本次设计还存在一些不足之处,例如 :本设计是按楼层定高设计的,而实际每一楼层高度是不一定相等的,因此,设计时应考虑楼层间距自学习功能。但由于时间有限,本人没有考虑。另外,由于实际条件的限制,本设计 只 能进行 简单 调试,这也是不足之处。当然,设计中肯定还有其他不足和纸漏 之处,请各位专家和老师指正。 37 第八章 毕业 设计 总结 时间飞逝,转眼间就到了毕业答辩的时间,此时的心情很是奇怪 ,既紧张又兴奋 ,兴奋的是几个月的辛苦成果终于到了验收的时候了 ,紧张的是不知道毕业答辩会是什么样子 。到目前为止,我依旧没有太多的把握,只能全力以赴;回想几个月的设计过程还真是怀念啊!虽说是苦了一点,但苦中有甜

温馨提示

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

评论

0/150

提交评论