- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
此设计由系统、键盘、LED 显示、交通灯演示系统组成。包括基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、调整信号灯的点亮时间以及根据具体情况手动控制等功能8253是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。其CLK0~CLK2是计数器0~2的时钟脉冲输入端, GATE0~GATE2是门控脉冲输入端, OUT0~OUT2是输出端。
二、总体设计方案与分工
我们想通过这次设计,具体实现以下功能:
首先我们想用移位方式去控制LED登的转换,因此要先确定LED灯的控制编码(这后面介绍)。然后,建立起以8086CPU 为核心设计一个交通灯控制系统,通过8255 并口输出LED灯的编码来控制LED 发光二级管的亮灭,输出1为亮,输出0为灭;用8253 来实现一个定时器(隔一定时间发生一边沿跳变,引发8259 中断)控制各颜色LED灯的停留时间;最后用8259 来实现对中断的 处理。
为实现以上功能,在这个方案里,我们将此设计的程序分为8个模块,即:1:红绿灯的基本显示;2:计数,灯的剩余时间;3:读取剩余时间;4:关于灯的转换;5:紧急情况中断控制;6:紧急情况与夜间模式LED灯闪烁的实现;
7:流量测量;8:流量的控制;
分工:
仇永泉:总体的设计及模块4、6、7、8设计与程序的编写;
陈瑞 :硬件的设计及模块1,2,3的设计与程序的编写;
张前进:模块5的设计及程序的编写和相应模块的调试;
孟维克:流程图的绘画及文档的完善。
硬件方案
芯片选择及端口选择
1、用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。
2、用实验系统8253的计数器2定时向实验系统主片8259A的IR0和IR1请求中断,
3、用实验系统的发光二极管模拟红绿灯,实验箱的数码管模拟倒计时计。
注:
8259A的端口地址为:20H、21H
8255A的端口地址为:端口A-300H、端口B-301H、端口C-302H、控制端口-303H
8253A的端口地址为:计数器0-320H、计数器1-321H、计数器2-322H、控制寄存器323H。
关于灯的转换的编码(PS:红灯时间45秒,黄灯5秒,绿灯40秒)
黄(3) 绿(3) 红(3) 黄(1) 绿(1) 红(1) 路口1(初始) 0 0 0 0 1 0 0 1 第一次到达剩余的5秒 0 0 0 0 1 0 0 1 红灯已走40秒 第一次到达剩余的0秒 0 0 0 1 0 0 1 0 红灯已走45秒 第二次到达剩余的5秒 0 0 1 0 0 1 0 0 绿灯转黄灯 第二次到达剩余的0秒 0 0 0 0 1 0 0 1 黄灯转红灯 (8255的A端口,用AL存储)
红(4) 黄(4) 绿(4) 红(2) 黄(2) 绿(2) 路口2(初始) 0 0 0 0 1 0 0 1 第一次到达剩余的5秒 0 0 0 1 0 0 1 0 绿灯转黄灯 第一次到达剩余的0秒 0 0 1 0 0 1 0 0 黄灯转红灯 第二次到达剩余的5秒 0 0 1 0 0 1 0 0 红灯已走40秒 第二次到达剩余的0秒 0 0 0 0 1 0 0 1 红灯已走45秒 (8255的B端口,用AH存储)
路口状态图如下:
实验中,我们采用8255的A,B端口作输出,分别与6个LED灯相连,并采用端口的低6位控制6个LED灯。
关于正常工作模式,首先,初始化路口1的(1)(3)灯为红,路口2的(2)(4)灯为绿,开始计时,过40秒后,路口2的(2)(4)灯转为黄灯,路口2的编码左移一位;再过5秒后,路口1的(1)(3)灯转为绿灯,路口1的编码左移一位;路口2的(2)(4)灯转为转为红灯,路口2的编码又左移一位;过40秒后,路口1的(1)(3)灯转为黄灯,路口1的编码再左移一位;再过5秒后,路口1的(1)(3)灯为红灯,路口2的(2)(4)灯为绿灯,为路口1、路口2重新编码(即重新赋值);然后重复此循环。
关于夜间模式,假想交通灯循环了20次后,此时到达夜间,四盏交通灯的黄灯亮,并间隔1秒的闪烁。
关于紧急模式,手动中断,用开关产生一个中断脉冲,进入中断程序。当路口1进入紧急情况时,路口1的黄灯闪烁,路口 2的红灯闪烁;当路口2进入紧急情况时,路口2的黄灯闪烁,路口 1的红灯闪烁。
关于流量的测定,初始假想为用激光灯的屏蔽次数来实现。当为绿灯时,开启流量的测量,激光灯一直对地面的激光接受发射器发射激光,当汽车行驶过,接受器无法接受激光,记有1辆车行驶过。当绿灯循环5次后,对流量进行统计分析,改变红绿灯时间的设定。实
文档评论(0)