微机原理实训报告--红绿灯控制.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理实训报告--红绿灯控制

目 录 一、实训的目的及意义 1 二、实训题目及需要完成的内容 1 三、实训的设计步骤及完成工作 2 四、实训的软件设计 2 五、程序流程图及代码 3 六、硬件原理连接图 15 七、实训心得 15 八、参考文献 16 一、实训的目的及意义 目的: 1. 了解电梯调度算法。 2. 利用微机实验系统来模拟电梯。 3. 进一步掌握微机接口的设计方法。 意义: 通过接触客观实际,更进一步了解和掌握有关微机原理的相关知识,掌握所学知识在客观实际中的应用,亲自动手完成相关题目设计,提高动手能力。 二、实训题目及需要完成的内容 题目: 模拟电梯 需要完成的内容: 用键盘、按钮、八段码和LED模拟电梯工作过程。楼层设为8层,键盘数字键1~8用来键入希望停的楼层,8个LED显示希望停的楼层,八段码指示电梯当前所在楼层,按钮用来启、停电梯。电梯正常运行时以每2秒1层的速度上升或下降。 “电梯”能按以下方式运行: (1)设当前电梯停在某层(八段码显示相应楼层,8个LED全灭)。键入1~8数字键,如键入的数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED灭)。 (2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。如下几例: ① 设电梯当前在2层,向上运行,LED指示希望在6层停,此时若键入4,则电梯将在4楼停,若再按运行键,则继续运行至6层停; ② 同上情况,若键入的不是4而是8,则电梯将先停在6层,再按运行键,运行至8层停; ③ 同上情况,若键入的不是4(或8),而是1,则电梯先停在6层,再按运行键,运行至1层停。 模拟更多的电梯运行功能,如: (1)直达按钮。若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到楼层)亦不停,直达终点楼层; (2)急停按钮。电梯运行中,若按此按钮,则电梯立即停在下一到达的楼层; (3)断电待修按钮。按下该钮电梯不能工作,再按一下才能重新工作; (4)其它功能按钮(由设计者自由发挥)。 三、实训的设计步骤及完成工作 (1)根据设计要求编程实现其功能。 (2)根据硬件连接图连接电路。 (3)运行程序,验证试验结果 四、实训的软件设计 本项目设计的软件方面,运用了8253和8255两个芯片,通过软件编程使8253输出定时信号申请中断,在中断服务程序中扫描键盘,如果有按键,修改相应的变量位,并输出内部请求变量REQ_IN到发光二极管显示当前的内部请求楼层。在主程序中,查询变量的值,根据电梯调度算法运行电梯,电梯的各种情况下的调度则是用子程序来进行编写的,各个子程序之间非常容易区别,增强了程序的可读性。 五、程序流程图及代码 程序流程图: 图1 模拟电梯项目设计总流程图 代码: data SEGMENT ioport EQU 0c400h-0280h ls273 EQU ioport+2a8h;74ls273芯片地址 io8255a EQU ioport+288h;8255控制端以及a,c端口地址 io8255b EQU ioport+28bh io8255c EQU ioport+28ah io8253a EQU ioport+280h;8253控制端以及0,1计数端口地址 io8253b EQU ioport+281h io8253c EQU ioport+283h led DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;七段码 data ENDS code SEGMENT ASSUME CS:code,DS:data start: MOV AX,data MOV DS,AX MOV DX,io8255b;8255初始化,a口输出,c口输入 MOV AL,8bh OUT DX,AL MOV CL,31h;cl代表当前电梯所在楼层,初始值设为1 main: MOV AL,0 CALL disp;显示当前楼层 MOV BL,0;bl为第一次输入的要去的楼层 MOV CH,0;ch为在中途中再次输入的要去的楼层 CALL disp8led MOV AH,01;键盘输入bl INT 21h CMP AL,1bh;是esc则退出 JE exit exit: MOV AH,4ch INT 21h CMP AL,31h;在1-8之间?如不是重新输入 JL main CMP AL,38h JG main MO

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档