微机8086红绿灯系统设计详细设计_第1页
微机8086红绿灯系统设计详细设计_第2页
微机8086红绿灯系统设计详细设计_第3页
微机8086红绿灯系统设计详细设计_第4页
微机8086红绿灯系统设计详细设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!生物医学工程学院(医学信息专业)信息技术设计2报告课程设计名称十字路口交通灯控制系统设计摘要1市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自本系统采用8253并口控制,的交通灯演示系统。设计一个用于十字路口的交通灯管理系统,分东、西、南、北四个通行方向,东西和南北方向各有一组红、绿灯用于指挥交通;红、绿的持续时间分别为20s,周而复交通灯来进行控制。关键词:8086CPU红绿灯控制系统82558253目录21.1.11.21.31.3.1..............................................41.3.2...................................................52.系统硬件设计...........................................................................6.........................62.21芯片的内部结构及引脚..............................73.....................................................................10..................................................................................................124.调试与分析.............................................................................125.收获与体会.............................................................................136参考资料12..............................................................1531.设计并制作一个十字路口红绿灯控制系统。交通信号灯的控制:(1)通过8255并口来控制LED发光二极管的亮灭。(2)输出为0则亮,输出为1则灭。(3)利用8253定时来控制变换时间。该系统是某十字路口交通灯控制系统,分东、西、南、北四个通行方向,东西和南北方向各有一组红、绿灯用于指挥交通,红、绿的持续时间分别为20s,周而复始。利用8255,8253,等接口电路。红、绿灯可使用试验箱上的发光二极管进行模拟。系统设计时,利用8253芯片的一个计数器分别作为东西和南北计时器,当计时20s时引起绿、红灯的变化。1.3.11、方案选择根据题目要求可知,东西方向的绿灯与南北方向的红灯工作状态相同,而东隔为20秒。因此,正确设置两种工作状态之间的延时是解决问题的关键。而红绿灯的控制,可以简单的按照题目要求,由8255芯片的输出驱动LED灯即可实现。至于延时方法,存在两种实现方案可以选择。一种是使用软件延时,另一种是接入8253芯片,由8253芯片的计数器提供延时。第一种方案,使用硬件延时,利用的是8253芯片的计数功能。通过8253芯移植到其他芯片,只需要保证接入8253芯片的时钟周期不变,程序几乎无需改动就可以改动。如果要更改延时时间,也可以很轻易地计算出新的计数值。4第二种方案,使用软件延时,用汇编语言写一个不断循环的子程序。然后通的硬件,再连线上比较简单。但是,如果使用软件延时,前提是必须知道系统的时钟周期,然后通过计算得出空指令执行的次数。因此软件延时需要依赖CPU次数,不便于实际使用,而且延时不够准确。其次,使用8253芯片也可以有几种不同的具体实现方案。方案1,使用方式3输出周期为20秒的方波,然后利用8253芯片的锁存功能将计数值锁存,然后通过不断查询的方法读取计数值,判断8253是否计数完数器无法实现,需要用两个计数器进行级联。在硬件上的连线比较复杂。方案2,使用方式3输出周期为40秒的方波,将计数器的输出连接到8255时20秒时间到达。这个方案与方案1类似,需要用两个计数器进行级联。但是它比方案1简单之处在于判定方式比较简单。而且也比方案1准确。方案82558253芯片的计数器工作在方式00.1秒的负脉冲,则每次检测到高电平,即计数结束后,重新对8253的计数器赋予初值,使其重新计数,循环200次的话,就可以得到200次*0.1秒/次=20秒的延时。方案4,方式3和方式0级联使用。首先令8253的计数器0工作在方式3,输出一个0.10的输出方波连接到计数器1的CLK计数器1的时钟脉冲信号。然后令计数器1工作在方式0下,计数值为200,即可在计数器1的输出端得到一个20秒的负脉冲。将计数器1的输出端与8255芯片的端口相连,只要检测到计数器1输出高电平,则表示20秒延时到达。通过上述的分析,结合题目的要求和硬件的实际情况,决定使用8253芯片,而且选择方案3来实现20S的延时。1.3.2通过并行接口芯片8255和80868254延时的方法,来实现十字路口交通灯的模拟控制。南北向和东西向红绿灯接在8255的A判断是否已经延时20s工作在最小模式,8253用计数器00个通道的门接实验箱上的通过检测PC7是否有高52.设计思路框图:L6方式1—选通输入/输出方式方式2—双向选通输入/输出方式CS(低电平有效)——片选输入信号;A0、A1——片内寄存器选择输入信号;PA7~PA0——A口外设双向数据线;PB7~PB0——B口外设双向数据线;PC7~PC0——C口外设双向数据线;RESET——复位输入信号7图(1)、方式0——计数结束中断方式4321001——可编程的单稳态触发器8GATEOUT3213213(4)、方式3——方波发生器图54321432143a.方式3计数值为偶数时的波形图232105——硬件触发.方式4图38253的控制字9中还是出现不少问题。(1)刚开始的时候弄错了开关的状态,导致程序执行后一直都在检测开关的状态,无法正常运行。后来看清楚了实验箱开关的状态,才让程序能够继续执行下去。(2)程序刚开始的时候能够实现对灯的亮灭的控制,但是灭灯要等20S后才能实现,达不到题目的要求。因此把检测开关状态改写成为了一个子程序,分别在程序一开始的时候,还有延时的时候都分别调用检测子程序,这样子就能够实现了对LED灯亮灭的实时控制,从而达到了题目的要求。(3)在编程的时候一定要注意相关管脚对应的地址,不然即使你的程序是对的,在实验箱上调试的时候也有可能会出现错误。同时在调试程序之前一定要确保硬件设备的正确。5.力也有了相应的进步。在编程的中途也遇到了非常多自己当时无法解决的问题。但是经过了几个同学的帮助,就把自己找不到的错误找出来了,可能这就是所谓的旁观者清吧。在进行软件设计的时候,一开始就已经能够很好的实现出来了。但是为了追求更好的效果,就在不停的对程序进行修改。总的来说,本次设计有苦也有甜。设计思路是最重要的,只要你的设计思备。同时在实践的过程中,一定不能半途而废,或者是中途改设计思路。因为这样不仅会浪费大量的时间与精力,还会让你自己没有了一往直前的勇气。因此,熟练地掌握课本上的知识,这对试验中出现的问题进行分析解决也是相当重要的。这次设计留给我印象最深的是要成功地完成一个设计,必须要有耐心,更要有坚持的毅力。13附录2(主要程序):assumecs:codecodesegmentpublicorg100hstart:movdx,04a6h;8255的状态控制字moval,10001011boutdx,al;8255的初始化movdx,04a0hmoval,11111111boutdx,al;8255的A口初始化,将所有灯都灭了movbl,10100101b;东西绿灯亮,南北红灯亮calljianceagain:movdx,04a0h;8255的A口moval,bloutdx,alcallyanshi;调用延时子程序calljiance;检测开关是否打开;movdx,04a0hnotbl;moval,bl;东西红灯亮,南北绿灯亮;outdx,al;calljiance;callyanshijmpagain;检测开关是否打开;调用延时子程;重复yanshi:movdx,04b6h;延时子程序moval,00110000boutdx,almovcx,200;重复200次,共延时20s15chong:movax,37500movdx,04b0houtdx,al;计数初值moval,ahoutdx,almovdx,04a4hnext:inal,dxtestal,80hjznext;判断0.1s的延时时间是否到了calljiance;检测开关是否打开了loopchong;循环2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论