问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

基于切换系统可以用于交通信号的控制吗

发布网友 发布时间:2022-04-30 01:51

我来回答

1个回答

热心网友 时间:2022-06-28 10:49

1 概述 1.1 设计目的(1) 掌握CPU与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力;(2) 通过对交通灯信号自动系统的模拟控制,进一部提高应用8255A并行接*术,8253定时功能,8259A中断管理控制器的综合应用能力;(3) 掌握基本汇编源程序编制方法,学会综合考虑各种设计方案的对比和论证。 1.2 设计要求 交通信号灯自动控制系统须满足下列要求和功能:(1) 首先车行道亮绿灯45s,同时人行道亮红45s;(2) 45s后,车行道黄灯闪烁3次,亮、灭各1s,此时人行道仍维持红灯;(3) 6s后,转为人行道亮绿灯20s,车行道亮红灯20s;(4) 20s后,再转到第(1)步,如此循环往复;(5) 当有车闯红灯时,能实现报警信号持续3 s的扩展功能。 1.3 设计方法及步骤 1、设计系统硬件部分(1) 先进行方案论证,确定最终采取硬件定时还是软件定时,是查询方式还是中断方式;(2) 在具体甄选设计过程中可能要设计的芯片,分析它们的功能特点,确定它们的工作模式;(3) 按照各芯片的使用特点以及本系统的设计要求逐步连接,画出系统硬件连接图。 2、设计系统的软件部分(1) 先进行程序编制方式的方案论证,讨论分析,确定是采用宏程序调用还是子程序调用模式;(2) 确定本系统设计可能涉及的源程序各个模块,明确各个模块的各自功能,分清它们相互之间的调用关系;(3) 画出各个模块的程序流程图;(4) 依据流程图,编制出交通信号灯自动控制系统的完整汇编源程序。 1.4 设计说明 (1) 本设计采用共阳极的发光二极管模拟对应的交通信号灯的型式,参见后面“系统硬件部分设计”中“总体设计”这一节; (2) 本设计关于有车闯红灯报警的扩展功能,是通过红外线接收装置实现的,具体分析见后面“可编程芯片说明及其地址范围确定”中“8254定时/计数器”这一节; (3) 在本设计的最初方案中,本来是有电子眼拍摄闯红灯车牌号的这一很实用、很现实化的扩展功能的,但由于实现这种功能的电路芯片资料难以搜集,芯片电路连接复杂以及芯片工作模式,工作环境,工作特点的难以确定,最终被舍弃,只留下报警功能; (4) 本设计在很多方面,比如译码器的选择,定时器选型,程序调用方式等等尽量做到不与本组其他成员雷同,程序编制力求简便清晰,硬件连接图在保证每根具体用到的管脚线都能被表示出来的同时,力求线路连接清晰明确,尽量不使线与线之间过于缠绕。 2 方案论证 2.1 软件定时与硬件定时本任务要求交通信号灯能实现自行定时、延时、切换等功能,即能实现交通信号灯自动控制。一般计算机控制系统实现定时或延时有两种基本方法:利用软件定时或使用可编程硬件芯片,即硬件定时。软件定时,即让机器执行一段程序,这个程序没有具体的执行目的,显然利用执行每条指令CPU所花费的时间,可实现延时功能。这种方法容易实现,仅需选用恰当指令并安排循环即可实现,定时时间调整方便,但不能做到精确定时。另外,时间调整是以一条指令执行时间为基准,占用CPU资源,降低CPU利用率。硬件定时,即使用可编程定时/计数器硬件芯片定时。这种芯片内部有一个可编程定时器,其定时值、定时范围可以很容易地由软件程序改变,定时时间到时可发出某种形式的信号通知外设或CPU。定时器的输出频率和波形等均由程序设定,因而使用灵活,功能强。综合软、硬件定时的各种优缺点,考虑到交通信号灯精确换灯的要求,以及交通信号等需要方便、灵活地调整换灯时间等特点,我选用硬件定时来完成任务。 2.2 查询方式与中断方式定时时间到,比如车道绿灯亮45s后需换成黄灯闪烁,完成这一转换工作,有两种工作方式:查询方式和中断方式。查询方式即CPU在与外设传输数据(本设计为8086传输数据给8255A从而控制交通信号灯换灯)前,一直不停检查外设状态,当外设准备好时方传输数据(本设计为8086不断测试8255A状态口PC1,当PC1变为低电平时,表明定时时间到),CPU可传输数据,控制信号灯切换。中断方式可以不让CPU主动去查询外设状态,而是让外设在数据准备好(定时时间到后)之后再通知CPU,CPU继而开始与外设交换数据控制外设工作。显然查询方式相比与中断方式,使CPU利用率大大降低,因为CPU要用大量时间去执行状态查询程序。但考虑到本课程设计的主要目的是控制信号灯切换,即CPU工作最终目的还是与外设传输数据,控制外设工作,即这种状态查询是有必要的,CPU的不间断的状态查询并非多余的,而且查询方式可使指令执行效率提高,指令执行目的更加明确,软件编程更加简便,避免了中断方式繁琐的中断矢量表的建立,中断程序的汇编等等,因而我选用查询方式来实现交通信号灯的自动控制。 2.3 8253定时/计数器与8254 定时/计数器8253和8254都是能实现定时,延时功能的可编程定时计数器,可以轻松地实现所需要的功能。两者的功能与工作方式,工作环境皆类似,区别仅在于8254的工作频率更高,可达到10MHZ。另外,8254比8253还多出回读功能。考虑到本组大多数人都选用8253,为避免重复雷同,我选用8254定时计数器,实际上两者并没多大区别。 2.4 方案确定综上所述,我选用的方案最终为利用可编程计数器8254实现硬件定时,用查询方式控制8086工作,用并行I/O接口8255A实现8086与外设(本设计采用发光二极管模拟交通信号灯)数据交换,用中断控制器8259A实现闯红灯报警的扩展功能。 3 硬件部分设计 3.1 总体设计正如A3图纸系统硬件连接图所示,CPU我选用INTEL公司的8086,它足以满足交通信号灯自动控制系统的功能要求;存储器选用两片型号为6116的静态RAM,一片作为奇片,一片作为偶片,总存储容量可达到4KB,既可以读也可以写,足以满足要求;由于8086CPU有16根地址与数据共用线,故有必要将地址码与数据码分开,8086采用了分时传送的方法,即先传送地址码,再传送数据码,故必须用锁存器将地址码锁存起来。我选用74系列的74LS373作为地址锁存器;由于外设、内存存取数据速度不匹配,故有必要使用缓冲器来暂时记忆存储数据,我选用74系列的74LS245作为数据缓冲器;存储器译码我采用全译码方式,用74LS688比较译码器可减少逻辑组合电路;可编程芯片8255A,8254,8259A的片选信号译码,我采用线译码方式,这样可以保证其端口地址只有8位,易于程序编写。因而74LS138译码器是最好的选择。至于8255A,8254,8259A的选用目的已在前面解释过,这里不再重复。在具体设计该系统时,我选用发光二极管LED来模拟红,黄,绿灯的亮和灭。由于实际生活中只需要10盏灯就可实现车行道,人行道的通行,如图所示,故这里我也选用10支二极管,其对应关系如表所示。LED1-LED5与8255A PA口相连,LED6-LED10与PB口相连。PC1口作为状态查询口,PC6口输出可实现车闯红灯的报警功能。 图1 信号灯和LED对应图 3.2 CPU选型 CPU我选用的是8086,其管脚分配图如图所示。部分管脚采用分时复用方式,构成了40条管脚的双列直插封装,它有两种工作模式,我采用的是最小模式,故33号管脚应接高电平。 8086内部结构由指令执行部件EU和总线接口部件BIU两部分构成。EU负责执行指令,BIU负责取指令,读出操作数和写入结果。两个单元相互独立工作,有效地加快系统的运算速度。 3.3 存储器选型存储器我选用两片6116型号的静态RAM,容量为4KB片选信号与A0相连的是偶片,主要用于低8位数据总线上进行字节传送。与BHE选中的是奇片,主要用于高8位数据总线上字节传送。当A0和BHE都选中的时候,可进行16位数据总线字传送。 图3 6116 RAM存储器管脚图 RAM的主要功能是存储程序、变量等。如果计算机关机,这些信息不再存在。本电路中,A12-A19作为片选信号,均为低电平。故存储范围为0H-0FFFH。    3.4 可编程芯片说明及其地址范围确定 3.4.1 8254定时/计数器及其地址范围8254与8253功能类似,但8254工作频率更高,可达10MHZ,且8254还可进行回读,但这一功能在本设计中用不上,因而对8254的说明也可看作是对8253的介绍,事实上两者管脚图接近完全相同。 8254芯片包含3个功能完全相同的计数通道,称为通道0,通道1,通道2,有6种工作方式。本设计要求实现的最大45s,故必须采用两个计数器级联方式,工作在方式2分频功能。另一个计数器1工作在方式5,OUT1门产生中断,实现闯红灯报警3s的功能。三个计数器具体连接图如A3图纸硬件连接图所示,CLK0,CLK1都通入1.2MHZ的脉冲。OUT0与CLK2端相连,均工作在方式2分频,由OUT2门产生低电平作为状态信号实现延时功能。计数器1工作在方式5,GATE1门上升沿触发。如图3所示,当车行道红灯时,则开中断。当有车闯红灯时,就会阻挡安装在人行道上的红外线发射和接受装置的光线,接收装置可将光信号变为电信号的一个脉冲,通入GATE1门,上升沿触发,在OUT1门输出低电平,将此电平通过非门后连在8259A的IR1端,则可以产生中断。经过中断处理便可以控制相关芯片发出3s的报警信号。当然,在车行道绿灯时,应关中断。  图5 车闯红灯报警信号图 8254的端口地址可由硬件连接图确定,由图可知,8254片选信号由Y2引出,并与A0组成逻辑电路,输出口送入8254的 端。其地址可由上表可看出,为40-46H中偶地址。 3.4.2 8255A并行I/O接口及其地址范围8255A是一个标准的40管脚芯片,它有3个数据端口,分别为PA口,PB口,PC口。每个端口有8位。8255A有3种工作方式。本设计选用最简单的方式0——基本输入/输出方式。      本设计用到了PA,PB口,它们分别作为发光二极管的并行输出接口。由于发光二极管,由于二极管为共阳极,故当PA,PB输出为0(低电平)时,相应二极管才会亮。另外,PC1口作为状态查询口,于8254 OUT2门相连,当PC1输入为0时,表示定时时间到,可交换数据。PC6口作为输出口,作为报警信号的端口。这些在软件编程时要格外注意,将决定各端口控制字的选择和确定。8255A端口地址可硬件连接图确定,由图可知,8255*选信号由Y3引出,并与A0组成逻辑组合电路,作为8255A 信号。其地址可由右表看出,为60H-66H中偶地址。  3.4.3 8259A中断控制及其地址范围 8259A可编程芯片中断控制器(PIC)称为优先权控制器,它可为CPU处理8级向量中断。本设计中,中断控制器用于扩展电路的报警功能。由硬件图可知,OUT1门低电平经过非门送入IR1端,故其为高电平有效的电平触发方式。  8259A的端口地址可由硬件图确定。由图可知,8259*选信号由Y4引出,并与A0,A2组成逻辑电路,作为8259A 信号。其地址可由右表看出为80H-82H中偶地址。 3.5 其它选用芯片说明 3.5.1 地址锁存器74LS373 在8086系统中,地址线和数据线时复用的,故有必要锁存地址。74LS373管脚及功能图如图所示。其数据送入是由时钟的约定电平来进行的。 E为低电平时,锁存器才能工作。 3.5.2 数据缓冲器74LS245 74LS245是带三态输出的8位双向数据缓冲器,专用于需要双向传输的 数据总线接口。它其实也是一个三态门, 为输出使能端, G为低电平时,缓冲器才能工作,M为传输方向控制端。事实上,在8086最小模式时,由于锁存器的作用,数据缓冲器并不是必要的。 3.5.3译码器 3.5.3.1比较译码器74LS688在存储器扩展时,我选用74LS688作为译码器,其一是为了在全译码时减少组合逻辑电路,二是为了与本组其他成员相区别。74LS688作译码器时, 必须为低电平,且当且仅当对应的8个输入端P与8个输入端Q相等时, 才会输出低电平。利用这一特性将 低电平作为存储器的片选信号,可实现其译码片选功能。 由硬件连接图可知,在设计中,我将8个输入端Q全部接地,即低电平,保证了存储器高8位全部为0。实现了存储器从最低地址0H-0FFFH,4KB的存储容量。3.5.3.2 74LS138译码器74LS138译码器是译码电路中最常用的,在本设计中我也选用74LS138译码器产生8255A,8254,8259A三个芯片的片选信号,如果选用比较译码器74LS688则需要三片,既增加了芯片数量,也增加了电路消耗,同时占用了过多的空间,使线路连接更加复杂,更不直观。由于74LS138的功能及工作模式熟知,这里不再赘述。 3.5.4时钟发生器8284A8284A是用于8086(或8088)系统的时钟发生器/驱动芯片,它为8086(或8088)以及其他芯片提供所需的信号。8284A由三部分电路组成:时钟信号发生器,复位生成电路和就绪控制电路。下图是8284A的管脚图。 3.5.5 D触发器 D触发器的工作原理是在CP端脉冲上升沿触发翻转技术,在本电路中,主要用于分频。其将CP端脉冲频率减半,那么为什么要减半频率呢? 原因是8253的最高工作频率只有2MHZ,因此必须将2.4MHZ脉冲频率减半8253才能工作。因此,在我选用的8254定时/计数器电路中D触发器并不是必要的了,甚至可以完全省去不用,因为8253最高工作频率可达到10MHZ,但为了避免频率过大导致45最长延时时,写入的数据过大,我还是加上了D触发器,无非是为了简化后面的软件编程。 3.5.6 7407驱动器 7407TTL集电极开路六正相高压驱动器,其管脚图如下。 3.5.7 功率放大器PWN-2401-EW该放大器是上海迈高网络技术有限公司生产的,主要工作2.4GHZ ISM频段的WLAN设置的覆盖范围。 4 软件总体设计说明 4.1 系统软件部分说明 4.1.1 宏调用与子程序调用设计延时程序可采用两种方法,一种是子程序调用形式,另一种是宏调用形式。宏调用形式是在汇编期间的,调用一次一次,因此它占用的存储空间与调用的次数有关,调用次数越多,占用存储空间越大。宏指令的使用简化源程序,但并不节省内存单元。子程序是在程序运行期间由主程序调用,在目标代码中只占用它自身内存空间,因而汇编后目标代码少,节省内存空间。但子程序调用每调用一次就要保护断点,保护现场;返回后又恢复现场,恢复断点,增加了额外时间,因此执行时间长,速度慢。宏指令则可免去这些开销,更重要的是,宏调用时用实元取代哑元,调整灵活,程序大大缩减,可读性和可移植性大大提高。综上所述,我采用宏调用形式,宏程序专门编制待定延时程序,主程序则顺序换灯、循环,而每个过程灯亮时间由宏程序保证。在整个程序的运行期间若发生中断(有车闯红灯),则由中断程序完成相应功能。当然,主程序中也必要包含中断矢量表的建立程序。因而,我所编制的程序由三部分组成:主程序、宏调用程序和中断服务子程序。下面将一一介绍,并且画出其流程图。4.1.2 各时间参数的计算本设计中涉及的时间参数有:车行道绿灯时间45s,车行道红灯时间20s,车行道黄灯亮、灭的时间各一秒,报警器报警持续时间3s。由于8254 CLK端时钟频率为1.2MHZ,计数器0和计数器2级联按6000×200方式分频,即计数器0写入6000时,在计数器2 CLK2中会有200HZ脉冲。对于1s,需对计数器2写入时间参数TIME1=200;对于3s,TIME2=600;对于20s,TIME3=4000;对于45s,TIME4=9000,都不超过10000,故均可按BCD码写入。 4.2 主程序说明及其流程图主程序主要实现两项功能:一是填写中断入口地址表,为中断服务提供必要准备;二是实现换灯,循环。其流程图见下图。 4.3 宏调用及其流程图宏程序的功能是实现准确的定时和延时,为主程序中红、黄、绿灯的亮、灭时间,中断服务程序的报警信号持续时间服务。当然,在宏程序中应当特别注意一些寄存器,变量,地址等保护工作,这就需要堆栈。其流程图见下图。 6 参考文献[1] 张玉清,王春玲.IBM PC 微型计算机原理与接*术.人民邮电出版社,1997[2] 彭虎,周佩玲,傅忠谦.微机原理与接*术(第二版).电子工业出版社,2008[3] 王永山.IBM PC汇编语言程序设计和接*术.西安电子科技大学出版社,1989
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 怎样腌制好吃的萝卜? 上海全市有多少交通信号灯(红绿灯)?市区范围的数量也可以 在交通的十字路口处,我们经常见到如下图所示的太阳能交通信号灯。据此完成下题。 下列哪一城市大量设置 谁知道六年级期中考试的数学全部答案 指示灯图片资源下载 路灯在地形图中什么符号 如图,这两款蓝牙耳机哪个好??第一个还能当运动手环,第二个单纯的蓝牙耳机 示短致长,扮弱胜敌是什么特点? 如何理解锋芒含而不露? 深藏不露 怎么能有出息呢? 如何做到‘至人无己,神人无功,圣人无名’? 手腕式蓝牙耳机哪种好 谁相信狐仙附体相信世上真的有鬼~我狐仙附体谁能帮我我该怎么办我是女生现在二十二岁已经附体五年了 如何才能不锋芒毕露呢? 有什么好用的手环加蓝牙耳机,可以推荐一下吗,类似于 有本事的人,都是如何进行韬光养晦的? 怎样狐仙破解狐仙的法术? 一个天生睿智锋芒太露的人,难以完全藏锋,而又想避免因此将导致的祸患,那么这个人从此该怎样做? 耳机手环推荐 孔伋说过一句话,意思是隐藏自己的锋芒? 都说冬天的萝卜最甜,买了好多萝卜该怎么做? 天气预警信号的图示(完整版) 在交通的十字路口处,我们经常见到如图所示的交通信号灯.据此完成3~4题.下列哪一城市大量设置这种交通 如何用万有特性图求百公里燃油消耗量曲线?长安大学考研汽车理论 EXCEL如何按整列自定义排序? 表格如何实现自定义排序。 影响股票的货币政策和财政政策有哪些? 请问国家扶持股市的政策有那些? 假如股市让你来管理,你会出台哪些*?又会采用什么方法去执行你的*? 股份分配政策是什么 企业买卖股票要缴哪些税 影响我国股票市场的政策因素? 迷你世界天堂门怎么做? 这个月(四月份)国家对股票实施的政策有哪些? 迷你世界天堂门用什么材料做? 在迷你世界怎么做天堂之门 如何增强接收wifi信号? 在迷你世界怎么做天堂之门时空门 迷你世界怎么做天堂门? 迷你世界有天堂之门吗 ?