硬件技术综合课程设计及有关解析.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文档。上传文档
查看更多
硬件技术综合课程设计 题目:十字路口交通灯的设计 学 院 信息科学与工程学院 专业班级 05计算机科学与技术7班 学生姓名 李娟娟 学 号 成 绩 2007-2008第2学期 摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制 关键词: 计算机 可编程并行接日芯片 交通灯 8255A 引言:交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 一、实验目的 了解交通灯管理的基本工作原理。 熟悉8253计数器/定时器、8259A中断控制器和8255A并行接口的工作方式及应用编程。 掌握多位LED显示的方法。 二、 实验内容与要求 实验内容:设计一个用于十字路口的交通灯控制器。要求:在十字路口的东西和南北两个方向都各有红、黄、绿三个信号灯。红、黄、绿交通灯的变化规律为: 1)南北方向的绿灯、东西方向的红灯同时亮20秒。 2)南北方向的绿灯灭、黄灯亮5秒,同时东西方向的红灯继续亮。 3)南北方向的黄灯灭、红灯亮,同时东西方向的红灯灭、绿灯亮,持续20秒。 4)南北方向的红灯继续亮,同时东西方向的绿灯灭、黄灯亮5秒。 5)转1)重复。 Clk0接实验平台分频电路输出Q6,f=46875hz。GATE0接8255的PA0,由8255输出来控制计数器的起停。OUT0接8259的IRQ2,定时完成申请中断,进入中断服务程序。 五、软件设计 1. 软件设计思路 本程序由主程序、定时中断子程序和外部中断子程序组成。主程序主要负责系统初始化和等待中断。定时中断子程序主要负责数码管显示刷新和红绿黄灯各种状态切换。外部中断子程序负责紧急情况处理和处理完恢复。 8253计数的起停由8255的PA0控制,8255的PA0输出1时,8253开始计数,交通灯按正常状态切换工作,PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。8253开始计数后每100ms发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。当有紧急情况时进入外部中断服务子程序,先让8253停止计数,然后点亮所有的红灯,下一次外部中断处理时,恢复原来的交通灯状况,启动8253开始工作。 2. 主程序设计 主程序负责系统的初始化,然后数码管数据输出显示,同时检测PC键盘按键,有按键就退出程序。主程序的流程图如图3所示。 系统初始化包括8253的初始化,8255的初始化,中断向量初始化以及设置交通灯工作的初始状态。8253定时的时间是100ms,clk0的输入时钟f=46875hz,所以计数初值为124FH。 主程序的流程图 3. 定时中断子程序 定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。中断程序的流程图如图4所示。 数码管输出数据刷新子程序是实现倒计时25s,用LEDOUT表示输出的数据,cnt用来软件计时1s,就是计数10个100ms。LED输出是要将输出的数据转化为段选码。LED数码管倒计时显示子程序的流程图如图5所示。 根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的切换。状态1和3的流程是一样的,先点亮对应的交通灯,再判断定时到了就可以切换了。状态2和4要实现黄灯的闪烁,间隔点亮和熄灭就可以了。状态1和3处理程序的流程图(以状态1为例)如图6所示,其中NUM是状态1对应的PC口输出,见前面的表中介绍。状态2和4处理程序(以状态1为例)的流程图如图7所示,其中NUM1和NUM2是状态1对应的PC口输出。 4. 外部中断服务子程序 外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。下次中断来时恢复以前的状态。用一个标志位FLAG判断是第一次进入还是恢复状态。外部中断服务子程序的流程图见图8所示。 六、源代码: CODE SEGMENT ASSUME CS:CODE ORG 1000H START:MOV DX,73H MOV AL,80H OUT DX,AL MOV DX,71H MOV AL,1110B OUT DX,AL MOV DX,72H MOV AL OUT DX,AL CALL DELAYED1 MOV BX,5H L1: MOV DX,71H MOV AL,1110B

文档评论(0)

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

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

1亿VIP精品文档

相关文档