- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
摘要
在实际生活中,交通信号灯控制着交通的秩序平安。本微机原理课程设计就是模拟实际十字路口交通灯的运行规那么,用汇编语言来设计交通信号灯。
本次设计主要是实现对十字路口交通信号灯的控制而进行的编程,用8255A的A口控制东西方向的交通灯,用8255A的B口控制南北方向的交通灯。当程序正常运行时,依次为东西方向的绿灯和南北方向的红灯亮,通过延时程序进行一段延时后,东西方向的绿灯灭后东西方向的黄灯闪3次,随后东西方向的红灯和南北方向的绿灯亮并进行延时,延时后,南北方向的黄灯闪3次,之后同理往复循环。用8255A的C口控制紧急情况时东西、南北方向的红、黄、绿灯的亮灭,通过读C口输入的数据并进行测试查询,从而对紧急情况进行及时处理。
十字路口交通信号灯设计充分利用了可编程的并行接口芯片8255A各引脚的功能,选定工作方式0,通过改变控制字来实现交通信号灯的状态转换。另外,通过调用延时子程序来实现交通信号灯某一状态的持续,调用循环子程序来实现对交通信号灯状态循环的控制,通过控制开关来实现紧急情况下各路口红灯全亮的功能。综合各局部功能来实现较为完善的程序,运行程序来模拟十字路口交通信号灯。
关键词:可编程的并行接口8255A,延时,循环,测试,
1设计任务描述
1.1设计目的
(1)查阅可编程并行芯片8255或其他相关资料;
(2)用简单的输入输出端口等硬件,配合延时和控制程序控制灯的亮灭。
1.2设计要求
(1)利用微机原理试用箱,采用两组红,黄,绿发光二极管来模拟A,B两路交差路口的信号控制;
(2)按实际交通灯控制规程控制。
1.3增加功能
(1)延时程序。
(2)中断程序。
(3)当路口发生事故时,强行A,B路口红灯全亮。
2设计思路
本次微机原理设计的题目是交通信号灯,它是通过对8255芯片和LED发光二极管的连接设置来模拟交通信号灯的控制,使红黄绿三色灯按照正常交通规那么亮灭;并应用中断控制器8259对交通灯在发生事故情况下进行强制控制。
十字路口交通信号灯的工作原理是在正常情况下以8086/8088的CPU与8255芯片相连接来实现的。8255芯片包括四个口,即A口、B口、C口和控制口。通过对其控制端口写入控制字,来设定8255的工作方式,在本设计中,使8255工作于方式0,将A口和B口都设置为输出,C口设置成输入。其中A口控制南北方向的交通灯,B口控制东西方向的交通灯。当程序正常运行时,依次为东西方向的绿灯和南北方向的红灯亮,通过延时程序进行一段延时后,东西方向的绿灯灭后东西方向的黄灯闪3次,随后东西方向的红灯和南北方向的绿灯亮,延时后,南北方向的黄灯闪3次,之后同理进行循环。
当CPU在执行正常程序时,按动KK1通过8259向CPU发出中断请求,CPU先要关中断,把其正在执行的程序压到已定义好的堆栈段当中,将中断程序MIR7的偏移地址和段地址取出放在源变址当中,然后在开中断,执行中断程序,强制东西方向和南北方向的红灯全亮。利用8255的C口接收KK2的单次脉冲来进行复原。中断程序执行完后关中断,让压在堆栈段中的程序出栈,CPU继续执行出栈的程序。
3设计原理流程图
交通灯工作流程图中断效劳程序流程图
4主要器件及其简介
4.1可编程的并行接口8255
8255的引线图
图4.1
其中主要引脚介绍如下:
1〕与外部设备端相连的引脚
〔1〕PA0~PA7:为A端口的8条输入/输出引脚。
〔2〕PB0~PB7:为B端口的8条输入/输出引脚。
〔3〕PC0~PC7:为C端口的8条输入/输出引脚。
2〕与CPU相连的引脚
〔1〕RESET:复位信号,低电平有效。当RESET信号来到时,所有内部存放器都被清零,同时3个数据端口被自动设为输入端口。
〔2〕D7~D0:双向数据信号线,用来传送数据和控制字和系统数据总线相连。
〔3〕:为片选信号线,只有当CS有效时,信号RD与信号WR才对8255有效。
〔4〕:为写信号线,CPU通过OUT指令使其有效,与其他信号线一起实现对8255接口的写操作,将数据或状态信息从CPU中写入8255。
〔5〕:为读出信号线,CPU通过IN指令使其有效,与其他信号线一起实现对8255
接口的读操作,将数据或状态信息从8255中读到CPU。
〔6〕A0、A1:端口选择信号线,8255内部有3个数据端口和1个控制端口,共4个。
4.1.28255内部结构
8255A的内部结构
1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2〕三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据
原创力文档


文档评论(0)