- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 校园突发事件应急处置机制、应急处置预案范本.docx VIP
- 沥青混凝土路面施工方案(1).doc VIP
- 施工场地治安保卫管理计划.doc VIP
- 跨境生态补偿模式研究-洞察及研究.docx VIP
- 希沃白板培训教程.pptx
- 《中华人民共和国科学技术普及法》培训解读课件.pptx VIP
- EPC项目物资采购、分包工作的总体安排与资源配置.docx VIP
- 《液化烃球罐注水设施安全技术规范》T/CPCIF 0432-2025团体标准.docx VIP
- 2024年江西省“振兴杯”金属材精整工竞赛考试题库(含答案).pdf VIP
- 职业道德高级技师题库,高级技师鉴定职业道德复习题.doc VIP
文档评论(0)