微机原理课程设计--电梯控制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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数字键,如键入的数字与当前电梯停层同,则不产生动作;若不同则相应楼层的LED亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中七段码显示楼层变化)一直到达希望停的楼层(七段码显示该楼层,相应LED亮);

(2)若当前电梯正在上升或下降运行中(此时七段码显示楼层变化,LED指示希望抵达的楼层);若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原来按下的楼层,然后按运行键后继续运行)。有如下几种情况:

电梯当前在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 亮),则对同方向(上升或下降)未到的楼层能停靠,对其它情况则先停靠原先希望停的楼层,然后继续运行)。

如下几例:

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、设计结构:

2、

图1 系统结构框图

2、模块分析:

(1)可编程定时/计数器8253

定时/计数器8253主要是用于定时20ms ,触发中断进行键盘扫描。电路连线是CLOCK0接Q6,分频后频率为46875Hz ,OUT0接中断IRQ2,每20ms 中断一次,GATE0接5v 。计数器的初值应该是3A9H 。

(2)8255并行接口单元

8255主要是用于键盘的扫描和发光二极管的数据输出。所以用8255A 口的低7位接7个发光二极管,B 口低4位接非编码键盘的列线,高4位接键盘的行线。

(3) LED 显示系统

虽然只用了1格LED 显示器,但为了数字更新更方便,主程序更加简单,故此系统选用动态显示方式。由于系统的软件部分Q6 IRQ2 5V clk0 8253 GA TE0 OUT0 A 口 8255 B 口 C 口 LED 显示 模块 CS0 CS1 CS2 CS3

7个发光二极管 非编码键盘 片选

相关文档
最新文档