汇编语言模拟电梯实验报告书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
课程实训报告书
… … … … … … … … … … … 装 … … … … … … … … … … … … … … 订 … … … … … … … … … … … … … 线 … … … … … … … … … … …
8253 280h
288 | 28f
8255 Cs B0~B7
A0 | A7
2
课程实训报告书
三.实训设计思路
… … … … … … … … … … … 装 … … … … … … … … … … … … … … 订 … … … … … … … … … … … … … 线 … … … … … … … … … … …
1.总体思路
利用非编码键盘、LED显示器、八段数码管等模块。有8个楼层,用8个按键模 拟电梯中的请求按钮,用8个按键模拟8个楼层每层向上请求的按钮,再用8个模拟 8个楼层每层向下请求的按钮。非编码键盘有16个键,可以用1-8号键模拟电梯内 的按钮。当电梯静止状态时,无论外部哪一层有请求,电梯都由静止状态转入向 上或向下运行的状态,直到到达请求的楼层;当电梯处于向上运行的状态时,此 时高于该楼层向上的请求和内部请求级别最高,其次是所有楼层向下的请求,再 次是低于该楼层向上的请求;当电梯处于向下运行的状态时则情况相反。 由于中断级别在随着电梯所处楼层的不同而变化,定义三个单字节变量 REQ_U、REQ_D和REQ_IN分别存储电梯每一层向上、向下和内部的请求,每一个变 量用低8位,每一位代表一层。8253定时器每隔20ms产生一次中断,中断程序便去 执行扫描键盘,当扫描到有电梯内部或者外部按键时,将请求存储到变量中。每 到一个状态时再检查请求变量REQ_U、REQ_D和REQ_IN的值,根据电梯的运行方向 和变量中的请求,来决定电梯下一步的运行。 设电梯的当前楼层为floor floor=1~8) 运行方向为dir dir=0, ( , ( 向上; dir=1, 向下) ,在电梯运行的工程中,用数码管输出floor值显示当前的楼层。LED输出 REQ_IN的值显示电梯内已经请求的楼层。
3
课程实训报告书
… … … … … … … … … … … 装 … … … … … … … … … … … … … … 订 … … … … … … … … … … … … … 线 … … … … … … … … … … …
查询请求变量
楼 层 请 求
Fra Baidu bibliotek
运行请求 直达请求 急停请求
Floor 变化 Floor 变化 到 达 下一 楼 层停止
课程实训报告书
… … … … … … … … … … … 装 … … … … … … … … … … … … … … 订 … … … … … … … … … … … … … 线 … … … … … … … … … … …
模拟电梯
一.实训目的 ........................................................................................................................................ 1 二.实训内容与要求 ............................................................................................................................ 1 1.基本内容 .................................................................................................................................. 2 2.实训要求 .................................................................................................................................. 2 三.实训设计思路 ................................................................................................................................ 1 1.总体思路 .................................................................................................................................. 3 2.硬件设计 .................................................................................................................................. 4 3.软件设计 .................................................................................................................................. 6 四.模拟电梯源代码 ......................................................................................................................... 9 五.加载调试 ................................................................................................................................... 28 六.实训总结 ................................................................................................................................... 30 1.出现的问题及排除方法 ........................................................................................................ 30 2.实训注意事项 ........................................................................................................................ 30 3.心得体会 .................................................................................................................................. 1 七.参考文献 ................................................................................................................................... 31
显示编码。数字对应数码管显示控制转换字节(共阴编码) 显示--HGFE,DCBA--编码 0 --0011,1111--0x3F; 1 --0000,0110--0x06;
5
课程实训报告书
2 --0101,1011--0x5B;
… … … … … … … … … … … 装 … … … … … … … … … … … … … … 订 … … … … … … … … … … … … … 线 … … … … … … … … … … …
3 --0100,1111--0x4F; 4 --0110,0110--0x66; 5 --0110,1101--0x6D; 6 --0111,1101--0x7D; 7 --0000,0111--0x07; 8 --0111,1111--0x7F; 9 --0110,1111--0x6F; 非编码键盘 采用的是行反转法来扫描键盘的,调用键盘扫描的程序TESTFLOOR后,程序中 的变量FLOOR的值就是按下的键的值,如果FLOOR为0FFH则表示无键盘输入,为0~ 15 则按照上往下从左往右的顺序分别代表每一个按键按下的信息。 5.74ls273 带有清除端的8D触发器,在清除端保持高电平时,具有锁存功能,锁存控制 端为11脚CLK,采用上升沿锁存。1D~8D为数据输入端,1Q~8Q为数据输出端,正 脉冲触发,低电平清除。
改 变相 应变 量
Nowfloor= nextfloor ?
Nowfloor= nextfloor ?
显示模块 图1 系统结构框图
2.硬件设计
由于采用了PC机资源和微机实验平台,不需要其他的硬件电路。利用了微机 平台上的8253定时/计数器、8255并行接口单元、LED单元、非编码键盘、数码管 显示单元等等。
数码管 a……..g
Led0~~Led7
74ls273 2a8 2b0
图2 硬件结构图
主要的模块如下: 可编程定时/计数器8253 定时/计数器8253主要是用于定时20ms,触发中断进行键盘扫描。电路连线是 CLOCK0接Q6,分频后频率为46875Hz,OUT0接中断IRQ2,每20ms中断一次,GATE0 接5v。计数器的初值应该是3A9H。 8255并行接口单元 8255主要是用于键盘的扫描和发光二极管的数据输出。所以用8255A口的低5 位接5个发光二极管,B口低4位接非编码键盘的列线,高4位接键盘的行线。 LED显示系统 用1格LED显示器,选用动态显示方式。 ,显示程序在循环过程中一直被调用, 从而实时地被显示出来。已知用于LED数码管显示的编码表为: LEDtable DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h DB 80h,90h,88h,83h,0c6h,0c1h,86h,8eh 它依次表示0~9,A~F这16个数码的
1.基本内容
绘制流程图、根据流程图编写程序、选用硬件电路编制应用软件、自主选择硬 编制应用软件,并画出详细原理图。
2.实训要求
用键盘、按钮、八段码和 LED 模拟电梯工作过程。楼层设为 8 层,键盘数字键 1~8 用来键入希望停的楼层,8 个 LED 显示希望停的楼层,八段码指示电梯当前 所在楼层,按钮用来启、停电梯。电梯正常运行时以每 2 秒1层的速度上升或下 降。要求“电梯”能按以下方式运行: (1)设电梯停在某层。键入 1~8 数字键,如数字与当前电梯停层同,则什么亦 不动作,若不同则相应楼层的 LED 亮;如按运行键,则电梯自动判别上升或下降 一直到达希望停的楼层。 (2)设电梯正在上升或下降运行,若键入新的希望停的楼层数字,则对同方向 未到的楼层能停, 对其它情况则先停原希望停的楼层, 然后按运行键后继续运行) 。 如下几例: 电梯在 2 层,向上运行,LED 希望在 6 层停,若键入 4,则将在 4 楼停,若按运 行键,则运行至 6 层停;若键入的不是 4 而是 8,则电梯将先停在 6 层,再按运 行键,运行至 8 层停若键入的不是 4(或 8) ,而是 1,则电梯先停在 6 层,再按 运行键,运行至1层停。
一.实训目的
1.了解电梯调度算法,运用汇编语言编写程序。
2.利用微机实验系统来模拟电梯,实现电梯功能。 3.进一步掌握微机接口的设计方法,正确连各芯片引脚。 4. 加强学生实际应用能力及综合知识运用能力的培养。
1
课程实训报告书
二.实训内容与要求
… … … … … … … … … … … 装 … … … … … … … … … … … … … … 订 … … … … … … … … … … … … … 线 … … … … … … … … … … …