课程设计交通灯指挥系统.doc
《课程设计交通灯指挥系统.doc》由会员分享,可在线阅读,更多相关《课程设计交通灯指挥系统.doc(40页珍藏版)》请在沃文网上搜索。
1、 摘要:红绿交通灯是我们日常生活经常见到也是必不可少的,随着城市社会经济的发展,城市道路交通供给和需求的矛盾日益突出,并引发很多交通问题。当今,红绿灯安装在各个交通路口上,已经成为疏导交通车辆最常见和最有效的手段。绿灯是通行信号,面对绿灯的车辆可以直行、左转弯和右转弯。面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。我们设计的交通灯就是依据上述思路控制十字路口南北东西四个方向车辆通行的。经过上学期的基础以及前一阶段的学习,利用彩灯我们做出了一个简单的交通灯指挥系统,通过控制彩灯的亮灭来达到红绿灯的效果,从而控制交通。之前我们学习了微机原理与接口技术这门课程
2、,课上我们学到了一些计算机硬件工作的基本原理,以及一些简单的汇编语言程序设计方法并了解了一些芯片的功能。根据题目以及老师上课的要求,我用微机原理与接口实验仪来进行交通灯指挥系统的设计。实验中用到芯片8253、芯片8255、芯片8279、LED灯、数码管等,利用这些器件的工作原理以及通过组合可以模仿各种彩灯的正常工作亮灭,特殊情况下的手动键盘开关以及恢复等一系列过程。在实现运行的过程中,通过汇编语言,利用上述几种芯片,进行编程设计,最终顺利完成了实验,并进行了书本上的理论与实践完美结合,获益匪浅。交通灯指挥系统1、需求分析与总体设计方案51.1需求分析51.2总体设计方案52、硬件说明52.1硬
3、件使用说明62.2芯片简介.62.2.1 8253芯片简介62.2.1.1 8253功能介绍62.2.1.2 8253工作原理82.2.1.3 8253内部结构82.2.1.4 8253的通道的工作方式122.2.1.5 读取计数器的当前值132.2.1.6 8253的级联和地址分配132.2.2 8255芯片简介142.2.2.1 8255基本工作原理142.2.2.2 8255基本结构162.2.2.3 8255 引脚功能说明162.2.2.4 8255的读写控制172.2.3 8279芯片简介172.2.3.1 8279功能介绍192.2.3.2 8279内部结构192.2.3.3 82
4、79管脚简介192.2.3.4 8279工作方式202.2.3.5 8279命令功能表213、硬件连接说明与程序流程233.1硬件连接说明233.2硬件连接图234、程序代码244.1程序流程图244.2程序代码及说明255、问题分析与解决方案376、程序测试与分析376.1实验连线图386.2程序测试结果386.3结果分析387、心得体会398、参考文献411、需求分析与总体设计方案1.1需求分析交通灯是我们日常生活经常见到也是必不可少的。随着城市社会经济的发展,城市道路交通供给和需求的矛盾日益突出,并引发很多交通问题。现今,交通指挥灯已成为疏导交通车辆最常见和最有效的手段。交通灯使得人们出
5、行更加的方便、安全、有序。因此,对交通指挥灯的研究已变成一个十分重要的课题。1.2总体设计方案十字路口的交通灯包括东西南北四个方向,而通常情况下东西路口的交通灯的亮灭情况是相同的,南北方向交通灯的亮灭情况是相同的,所以将十字路口的交通灯简化为:东西方向的交通灯为同一组,南北方向的交通灯为同一组。交通指挥灯的设计不仅需要满足平常情况下指挥交通的作用,还需满足紧急情况的手动闸。正常情况下:状态一:南北红灯,东西绿灯状态二:南北红灯,东西黄灯状态三:南北绿灯,东西红灯状态四:南北黄灯,东西红灯状态五:重复以上四种状态紧急情况下(键盘控制):数字0:恢复数字1:南北红灯,东西绿灯数字2:南北绿灯,东西
6、红灯数字4:东西南北全红数字5:东西南北全绿数字6:东西南北全黄2、硬件说明2.1.硬件使用说明 用实验箱中提供的二极管作为南北路口和东西路口的模拟交通灯; 用可编程并行接口芯片8255控制模拟交通灯的亮与灭; 用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟的控制; 用可编程逻辑器件8279实现交通灯倒计时的显示。2.2. 芯片简介2.2.1 8253芯片简介2.2.1.1 8253 功能介绍intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz
7、)。图2-1 8253引脚图8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。 执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内
8、容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。 2.2.1.2 8253工作原理8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 2.2.1.3 8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。图2-2 8253内部结构框图(1)数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交
9、换信息的必经之路。 (2)读/写控制 表2.1 8253 端口选择读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1和A0来选择。如表所示。 (3)通道选择 CS片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。 RD
10、、WR读/写控制命令,由CPU输入, 低电平有效。RD效时,CPU读取由A1、A0所选定的通道内计数器的内容。WR有效时,CPU将计数值写入各个通道的计数器中, 或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。 (4)计数通道02 每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000H0FFFFH,最大计数值是0000H,代表65536。 采用BCD码计数时,写入的初值范围为00009999,
11、最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。(特别说明:8253计数器的值先减1再判断是否为0,为0就中断了,所以最大初始值为0,这样减1以后,不为0,所以为最大的,取决于CF标志位) 当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入, 每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计
12、数器内容减“1”, 待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK输入的时钟频在12MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。 而后者是内时钟脉冲进行减“1”计数。作计数器时, 要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时, 计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到: 定时系数=需要定时的时间/时钟脉冲周期设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式; 计数/定时:向通道写入计数值,启动计数操作; 读取当前的计数值:向
13、指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。 计数到:当计数器减1为0时,通过引脚OUT向外输出“到”的脉冲信号。 计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。 锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。 (5)方式选择控制字 图2-3 8253方式控制字8253的初始化编程就是对其工作方式的确定。具体实现就是在8253上电后,由CPU向8253的控制寄存器写入一个控制字,就可以规定8253的工作方式、计数值的长度以及计数所用的数制等
14、,另外根据要求将计数值写入8253的相应通道。 8253的一个方式控制字只决定一个技术通道的工作模式。 2.2.1.4 8253的通道工作方式 8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。在这次设计中我们只用到了方式2和方式3,8253的这两种工作方式如下: (1)方式2:速率波发生器 工作方式2被称作速率波发生器。进入这种工作方式, OUT输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUT保持为高电平不变; 待计数值减到“1”和“0”之间, OUT将输出宽度为一个CLK周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环
15、计数,OUT将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLK周期, 重复周期为CLK周期的n倍。 如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。(2)方式3:方波发生器 工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUT
16、输出低电平, 装入计数值后,OUT立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUT端输出的周期为nCLK周期,占空比为1:1的方波序列; 若n为奇数, 则OUT端输出周期为nCLK周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。 如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。 如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计
17、数初值n,并从下一个计数操作周期开始改变输出方波的速率。 2. 2.1.5 读取计数器的当前值 直接读计数器:输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定。 先锁存再读取:通过方式选择控制字对指定通道(SC1、SC0)的计数值锁入锁存器(RL1RL0=00), 锁存器一旦锁存了当前计数值,就不再随计数器变化直到被读取。读计数器通道(有锁存器)。2. 2.1.6 8253的级联和地址分配8353采用级联方式。此实验中使用8253的0通道和1通道以实现级联。通道0的工作在实验中起到的作用是在OUT0端输出
18、一个比较合适的时钟频率,然后用通道1进行时间的控制。通道1在控制灯闪烁的时候采用的工作方式是方式3,这样可以让8255的A端口检测到输出端的方波信号。2.2.2. 8255芯片简介2.2.2.1 8255的基本工作原理8255 是Intel公司生产的可编程输入输出接口芯片,它是具有3个8位的并行I/O端口,具有三种工作方式,被广泛地使用于单片机的并行I/O端口。工作方式0:基本输入输出方式工作方式1:选通输入输出方式 工作方式2:双向传送方式图2-4 8255引脚图图2-5 8255工作方式控制字图2-6 8255 C口按位置位控制字2.2.2.2 8255的内部结构图2-7 8255内部结构
19、2.2.2.3 8255引脚功能说明RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线
20、,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 2.2.2.4 8255的读写控制8255的读/写控制逻辑电路接受CPU 发来的控制口号RD、WR、RESET和地址信号A1A0。然后根据命令端口,控制信号的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 交通灯 指挥系统