微机原理课程设计--电梯控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、课设目的 (1)
二、课设内容与要求 (1)
三、电梯设计的具体实现 (1)
(一)...................... 电梯的工作方式1(二)........................ 总体设计思路2(三)................... 系统硬件电路设计3
1、..................................... 设计结构3
2、..................................... 模块分析3
3、............................. 画出响应的电路图4(四)............................ 软件设计4
1 •主要设计模块要求 (5)
2. ..................................................................................... 程序流程图.. (5)
(1).......... 主程序框图 (5)
(2).......................... 中断服务程序框图6
(3 )电梯算法流程图 (7)
四、实现程序 (11)
五、设计体会 (19)
六、附录 (20)
七、参考资料 (21)
一、课设目的
1 •学会用微机原理;
2•掌握计算机对输入信号检测和输出控制的基本方法;
3 •掌握常用按钮、发光二极管的使用方法。
4 •提高学生的动手能力,达到理论和实践紧密结合
二、课设内容与要求
1. 课设内容
首先了解电梯运行规律,我们结合实际假设电梯的几种运行情
况:
(1)若当前电梯停在某层(七段码显示相应楼层,7个LED全灭)。键入1〜9数字键,如键入的数字与当前电梯停层同,贝U不产生动作;若不同则相应楼层的LED亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中七段码显示楼层变化)一直到达希望停的楼层(七段码显示该楼层,相应LED亮);
(2)若当前电梯正在上升或下降运行中(此时七段码显示楼层变化,LED指示希望抵达的楼层);若键入新的希望停的楼层数字(相应的LED亮),贝U对同方向(上升或下降)未到的楼层能停,对其它情况则先停原来按下的楼层,然后按运行键后继续运行)。有如下几种情况:
电梯当前在3层,向上运行,LED指示希望在5层停,此时
若键入3,则电梯将在5楼停(同方向),若再按运行键,则继续运行至7层停;
键入的不是5而是7,则电梯将先停在7层,再按运行键,运行至7层停;
键入的不是7 (或5),而是1,则电梯先停在7层(先达同方向楼层)。再按运行键,运行至1层停。
2. 连接线路
并行接口电路选择8255芯片,七段数码管、LED指示灯连接线路
由学生自己设计,可
参考实验指导书的相关内容。楼层数字键和运行按钮都可由PC机
键盘代替
3. 编写程序
4调试程序。汇编、连接后执行程序,观察电梯运行情况。
三、电梯设计的具体实现
(一)电梯的工作方式
电梯工作按以下方式运行:
1假设当前电梯停在某层(LED显示相应楼层,5个发光二极管全灭)。键入数字键,如键入的数字与当前电梯停靠层相同,则什么也不做,若不同则相应楼层的发光二极管亮;电梯自动判别上升或下降(在运行过程中用八段码来显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED灭)。
2•假设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停靠的楼层数字(相应的LED亮),贝U对同方向(上升或下降)未到的楼层能停靠,对其它情况则先停靠原先希望停的楼层,然后继续运行)。
如下几例:
1)设电梯当前在2层,向上运行,LED指示希望在4层停,此时若键入3,则电梯将在3楼停,然后继续运行至4层
停;
2)同上情况,若键入的不是3而是5,则电梯将先停在4 层,然后运行至5层停;
3)同上情况,若键入的不是3 (或5),而是1,则电梯先停在4层,然后运行至1层停。
(二)、总体设计思路
本设计主要是利用微机应用实验平台来模拟电梯的运行,用到了平台上的一个非编码键盘、LED显示器、八段数码管等模块。
有5个楼层,需要用5个按键模拟电梯中的请求按钮,用 5 个按键模拟5个楼层每层向上请求的按钮,再用5个模拟5个楼层每层向下请求的按钮。非编码键盘有16个键,可以用1-5号键模拟电梯内
的按钮,用6-0号键模拟每层向上请求的按纽,A-E 模拟每层向下请求的按纽。
当电梯静止状态时,无论外部哪一层有请求,电梯都由静止状态转入向上或向下运行的状态,直到到达请求的楼层;当电梯处于向上运行的状态时,此时高于该楼层向上的请求和内部请求级别最高,其次是所有楼层向下的请求,再次是低于该楼层向上的请求;当电梯处于向下运行的状态时则情况相反。
由于中断级别在随着电梯所处楼层的不同而变化,而且中断源比较多。所以用每一个中断源直接和中断控制器相连,需要用到多个8259A级联,很不方便。为解决这个问题,首先定义三个单字节变量REQ_U、REQ_D和REQ_IN分别存储电梯每一层向上、向下和内部的请求,每一个变量用低5位,每一位代表一层。例如,REQ_U为00000110B,这代表在2层和3层有向上的请求。8253定时器每隔20ms产生一次中断,中断程序便去执行扫描键盘,当扫描到有电梯内部或者外部按键时,将请求存储到变量中。每到一个状态时再检查请求变量REQ_U、REQ_D和REQ_IN的值,根据电梯的运行方向和变量中的请求,来决定电梯下一步的运行。
设电梯的当前楼层为floor (floor=1~7),运行方向为dir (dir=0,向上;dir=1,向下),在电梯运行的工程中,用数码管
输出floor值显示当前的楼层。LED输出REQ_IN的值显示电梯内已经请求的楼层。
(三八系统硬件电路设计
由于采用了PC机资源和微机实验平台,不需要其他的硬件电路。利用了微机平台上的8253定时/计数器、8255并行接口单元、LED单元、非编码键盘、数码管显示单元等等。
系统结构框图,如图1所示。
1、设计结构: