基于80868088的交通信号灯设计_第1页
基于80868088的交通信号灯设计_第2页
基于80868088的交通信号灯设计_第3页
基于80868088的交通信号灯设计_第4页
基于80868088的交通信号灯设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、課程設計報告書课题名称: 基于8086/8088的交通信号灯设计 院系名称: 开课名称: 微型计算机原理及应用 专业班级: 学生姓名: 学 号: 指导教师: 2010年x月x日目 录引 言1一、 设计内容2二、 设计目的2三、 设计任务和要求.2四、 设计方案.34.1设计内容分析34.2交通灯的组成3 4.3电路设计的思路.5 4.3.1计时功能实现逻辑.5 4.3.2译码电路设计.5 4.3.3总设计框图.6 4.4元器件的介绍.6 4.4.1 8086/8088cpu.74.4.2可编程并行通信接口8255a芯片84.4.3可编程中断控制器8259a芯片94.4.4可编程计数/定时控制器

2、器8253芯片114.4.5 adc0809a/d转换器芯片134.4.6湿度传感器144.5 程序设计流程图15五、 调试175.1 调试结果175.2 调试中出现的问题17参考文献18附录一 程序代码20附录二 电路图.23引 言数字电子技术基础是高等学校弱电类各专业的一门重要的技术基础课程。这门课程发展迅速、实用性和应用性强,侧重于逻辑行为的认知和验证。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。

3、1914年,电气启动的红绿灯出现在美国,这种红绿灯由红、绿、黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。但是在1869年1月2号的一天一位警察被煤气红绿灯所引起的爆炸所炸伤而被取消。1914年,红绿灯又重新被启用,这次的红绿灯是电气启动的,这种红绿灯由红、绿、黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。利用红外线红绿灯,当行人踏上对压力敏

4、感的路面时,它就能察觉到有人要过马路,红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。黄色信号灯的发明者是我国的胡汝鼎。他在美国通用电器公司任职的时候,想到在红、绿灯中间再加上一个黄色信号灯,作为红灯和绿灯之间的缓冲,提醒人们注意安全。于是红、黄、绿三色信号灯即成为了一个完整的指挥信号家族。城1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线

5、后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。本文讨论的交通灯控制系统就属于该种类型。微机原理课程设计报告一、 设计内容设计一个基于8086/8088微型计算机的一个交通信号灯控制系统,要求能完成基本的交通灯控制,如红、绿、黄三种灯的定时交替点亮与熄灭;能提供行人通过时的临时信号修改;能提供当时当地的温度、湿度信息;提供基本的键盘输入。二、 设计目的要求学生了解8086/8088微型计算机控制系统的基本设计方法与思路,能独立查阅资料并汇总,具备一定的控制系统设计能力,掌握绘制电路原理图的能力,能编写一定难度的汇编程序并调试。三、

6、设计任务和要求1. 设计一个基于8086/8088微型计算机的一个交通信号灯控制系,要求使用如下器件:8086、8259、8253、8255、adc0809、温度传感器(可自选)和湿度传感器(可自选)、健盘;2. 交通灯的亮、灭情况如下:东、西两个相对路口红灯亮12s,南、北两个路口绿灯亮6s,后转为黄灯亮6s;南、北两个相对路口红灯亮12s,东、西两个路口绿灯亮6s,后转为黄灯亮6s;3. 每个路口设一个紧急按键,可以中断当前的交通灯状态,使当前路口为绿灯,经12s后恢复原来的工作状态;4. 使用8253提供时间定时;5. 说明书正文不少于13页;6. 提供完整的电路原理图;7. 提供软件流

7、程图与完整的程序;8. 按要求时间提交课程设计。四、设计方案4.1、设计内容分析通过分析设计要求找出灯亮的规律:1. 东西南北两个方向起始状态全为红,延续3秒。2. 东西方向红灯亮,南北方向绿灯亮,延续3秒。3. 东西方向红灯亮,南北方向绿灯以频率1hz闪烁3秒。4. 东西方向红灯亮,南北方向黄灯亮,延续6秒。5. 东西方向绿灯亮,南北方向红灯亮,延续3秒。6. 东西方向绿灯亮以频率1hz闪烁3秒,南北方向红灯。7. 东西方向黄灯亮,南北方向红灯亮,延续6秒。8. 东西方向红灯亮,南北方向红灯亮循环以上步骤。9.每一个路口有一个紧急按键,可以中断当前的交通状态,是当前的路口为绿灯,经过12秒后

8、恢复4.2、交通灯的组成交通灯控制系统的原理框图如图1所示。它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。秒脉冲发生器是该 系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。图1 交通灯控制系统的原理框图车道的交通灯是两方向车道的交通灯的运行状态共有4种(因人行道的交通灯和同步的,所以不考虑),如图2所示状态0支干道绿灯亮状态1支干道黄灯亮状态2主干道绿灯亮状态3主干道黄灯亮图2一般十字路口的交通灯控制系统的工作过程如下:(1)图甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许

9、通行,乙车道禁止通行。绿灯亮足规定的时间隔tl时,控制器发出状态信号st,转到下一工作状态。(2)甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔ty时,控制器发出状态转换信号st,转到下一工作状态。(3)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上的车辆允许通行绿灯亮足规定的时间间隔tl时,控制器发出状态转换信号st,转到下一工作状态。(4)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上位过县停车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足规定的时间间隔ty

10、时,控制器发出状态转换信号st,系统又转换到第(1)种工作状态。4.3、电路设计的思路4.3.1、计时功能实现逻辑:通过8253计数器0和计数器1级联实现准确定时;用8255的a口低六位控制东西、南北路口交通灯的状态;灯的亮灭可直接由8086输出0,1控制。用8259a管理可屏蔽中断即开机初始化。采用两个计数器级联的方式, 并且计数器0工作于方式3用于产生方波信号,计数器1工作方式0,计数到时高电平信号。计数器1的输出端out1接入8255芯片的pc0口,通过查询8255的c口的值,以完成计时功能。将计数器0的输出out0接到计数器1的输入端clk1,而clk0的输入采用1.19mhz的时钟频

11、率, 计数器0计数初值为59499=0e86bh,则out0=20hz, 即计数器1的时钟频率为20hz。当计数器1的记数初值为9时,0.5s后out1输出一高电平。8086通过读取8255c口的值,来决定对a口写入的数据。因此每隔0.5秒8086变换灯的状态,持续6次即完成3秒的闪烁功能。4.3.2译码电路设计通过分析8259、8253、8255各端口地址,设计合理的地址译码电路。8259的地址为20h、21h,8253的地址为40h、41h、42h、43h,8255的端口地址为0f0h、0f1h、0f2h、0f3h。故芯片的地址只与8086的地址的低8位有联系,不妨设高十二为全为1将它们相

12、与后作为38译码器的始能信号e3。再分析发现8259、8253、8255各端口地址的低八位其中d2、d3均为0,将8086的地址总线的d2、d3作为38译码器的始能信号e1、e2。将8086的地址总线的d0、d1分别与8253和8255的a0、a1连接,利用d4、d5、d6、d7构成译码电路。将8086的地址总线的d0与8259的a0连接,利用d2、d4、d5、d6、d7通过38译码器构成译码电路。4.3.3、总体设计框图键盘可编程并行通信接口8255a8086adc0809a/d转换器可编程计数/定时控制器8253ptc湿度传感器可编程中断控制器8259发光二极管系统硬件连接框图4.4、元器

13、件的介绍4.4.1、8086/8088 cpu (1) 8086 cpu从功能上可分为为两部分,即总线接口部分和执行部件。 执行部件的组成: (1)四个通用寄存器,即ax,bx,cx,dx; (2)四个专用寄存器,即基数指针寄存器bx,堆栈指针寄存器sp,源变址寄存器si,目的变址寄存器di; (3)标准寄存器(fr); (4)算术逻辑部件(alu) 总线部件的组成: (1)四个段地址寄存器 cs16位代码段寄存器; ds16位数据段寄存器; es16位附加段寄存器; ss16位堆栈段寄存器; (2)16位指令指针寄存器ip (3)20位的地址加法器 (4)6字节的指令队列(2)8086的结构

14、框图 4.4.2可编程并通信接口芯片 8255a8255a是一种可编程的芯片,它采用双列直插封装,用5v电源供电。内部有3个8位的i/0端口:a口、b口和c口。这三个端口也可以分为各有12位的两组:a组和b组。a组包含a口8位和c口的高四位,b组包含b口8位和c口的低四位;a组控制和b组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内部寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255a数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。8255a的内部逻辑结构见图4.4.2。a组端口a组端口c高4位a组端口c低4位b组端口a组控制b组控制数据总

15、线缓冲器读写控制逻辑双向数据总线d0-d7i/0pa7-pa0i/0pc7-pc0i/0pc0-pc20i/0pb7-pb0-cscpu接口内部逻辑外设接口-rd-wra1 a0reset图4.4.2 8255a的内部结构8255a有三种工作方式:方式0、方式1和方式2。它通过对控制寄存器写入不同的方式选择控制字来决定其三种不同的工作方式。方式0是基本输入输出方式。该方式下的a口8位和b口8位可以由输入的控制字决定为输入或输出,c口分成高4位(pc4-pc7)和低4位(pc0-pc3)两组,也有控制字决定其输入或输出。需要注意的是,该方式下,只能将c口其中一组的四位全部置为输入或输出。方式1选

16、通输入输出方式,又叫单向输入输出方式。它分为a、b两组,a组由数据口a和控制口c的高4位组成,b组由数据口b和控制口c的低4位组成。数据口的输入输出都是锁存的,与方式0不同,由控制字来决定它是作为输入还是输出。c口的相应位用于寄存数据传送中所需的状态信号和控制信息。方式2为双向输入输出方式。本方式只有a组可以使用。此时a口为输入输出双向口,c口中的5位(pc3-pc7)作为a口的控制位。在本系统中,8255a的三个端口均工作于方式0,全部为输出口。4.4.3 可编程中断控制器8259a (1) 芯片介绍一个8259a芯片的可以接最多8个中断源,但由于可以将2个或多个8259a芯片级连(casc

17、ade),并且最多可以级连到9个,所以最多可以接64个中断源。早期,ibm pc/xt只有1个8259a,. 但设计师们马上意识到这是不够的,于是到了ibm pc/at,8259a被增加到2个以适应更多外部设备的需要,其中一个被称作master,另外一个被称作slave,slave以级连的方式连接在master上。如今绝大多数的pc都拥有两个8259a,这样 最多可以接收15个中断源。 (2)8259a的内部结构控制逻辑服务寄存器优先级分析器中断请求寄存器中断屏蔽寄存器imr内部总线ir0ir1ir2ir3ir4ir5ir6ir7数据总线控制器读写电路级联缓冲器/比较器cas0cas1cas2

18、d0-d7-rd-wra0-cssp/-enint-inta对8259a编程和初始化的时候,首先要写初始化命令字icw1-icw4。写icw1以确定中断请求信号类型,清除中断屏蔽寄存器,进行中断优先级排队和确定系统是用单片还是多片。写icw2用来定义中断向量的高五位类型码。icw3可以定义主片8259a中断请求线上ir0-ir7有无级联的8259a从片。写icw4用来定义8259a工作时用8085模式还是8088模式,以及中断服务寄存器复位方式等。初始化命令字写完以后,要写8259a的控制命令字,它包括ocw1-ocw3。写ocw1可以设置或清除对中断源的屏蔽。写ocw2设置优先级是否进行循环

19、、循环的方式和中断结束的方式。8259a复位时自动设置ir0优先权最高,ir7优先权最低。写ocw3用来设置查询方式和特殊屏蔽方式,并可以读取8259a中断寄存器的当前状态。在本系统中,使用8259a的循环等待中断工作方式。4.44 可编程计数/定时控制器 8253 (1)8253芯片的内部结构可编程计数/定时控制器器8253芯片具有定时、计数双功能。它由数据总线缓冲存储器、读/写控制器、控制字寄存器及3个计数通道组成,共有24条引脚,其内部结构流程图及引脚信号图如4.4.4.1。 8253内部结构框图 8253引脚图 图4.4.4.1数据总线缓冲存储器由8位双向三态缓冲存储器构成,是cup与

20、8253之间交换信息的必经之路。读/写控制器接受cpu送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。可接受的控制信号:(1) a1a0端口选择信号,由cpu输入。8253内部有3个独立的通道,和一个控制字寄存器,它们构成8253芯片的4个端口,cpu可对3个通道进行读/写操作,对控制字寄存器进行写操作。(2) cs片选信号,由cpu输入,低电平有效,通常由端口地址的高位地址译码形成。(3) rd、wr读/写控制命令,由cpu输入,低电平有效。rd有效时,cpu读取由a1a0所选定的通道内计数的内容。wr有效时,cpu将计数值写入各个通道的

21、计数器中,或者是将方式控制字写入控制字寄存器中。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(bcd码)计数。与此计数器相对应,每个通道内设有一个16位计数值锁存器,必要时用来锁存计数值。当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中,被计数的事件以脉冲方式从clki端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”,outi端将有输出,表示计数次数到。当某通道用作定时器时,由clki端输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值,并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数

22、值计到“0”,outi端将有输出,表示定时时间到。控制字寄存器用来存放由cpu写入8253的方式选择控制字,由它来定义8253中各通道的工作方式。 图4.4.4.2sc1、sc0位用来选择通道。rl1、rl0位用来定义对所选通道中的计数器的操作。bcd位用来定义是采用二进制计数还是十进制计数。m2m1m0位用来定义所选通道的6种工作方式。(2)8253的工作方式8253可以工作在方式0到方式5,常用的有方式2频率发生器方式和方式3方波发生器方式。在方式2时,当初值装入后,out变为高;计数结束,out变为低。该方式下如果计数未结束,但gate为低时,立即停止计数,将out变为高;当gate再变

23、高时,便启动一次新的计数周期。在方式3时,当装入初值后,在gate上升沿启动计数,out输出高电平;当计数完成一半时,out输出低电平。在本系统中,8253a工作于方式3方波发生器方式。4.4.5 adc0809转换器 (1)芯片介绍adc 0809是national半导体公司生产cmos材料的a/d转换器。它是具有8个通道的模拟量输出线,可在程序控制下对任意通道进行a/d转换,得到8位二进制数字量。(2)adc0809内部结构adc0809内部结构图adc0809引脚结构adc0809各脚功能如下:d7-d0:8位数字量输出引脚。in0-in7:8位模拟量输入引脚。vcc:+5v工作电压。g

24、nd:地。ref(+):参考电压正端。ref(-):参考电压负端。start:a/d转换启动信号输入端。ale:地址锁存允许信号输入端。(以上两种信号用于启动a/d转换).eoc:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。oe:输出允许控制端,用以打开三态数据输出锁存器。clk:时钟信号输入端(一般为500khz)。a、b、c:地址输入线。 adc0809引脚图4.4.6湿度传感器(1) 芯片介绍 湿度传感器是把相对湿度的变化转换成电信号的器件。 感湿特点:在基片涂覆材料形成感湿膜。空气中的水蒸气吸附于感湿材料后,原件的阻抗、介电常数发生很大的变化,从而制成湿敏原件。 湿

25、敏电阻器可分为:半导体陶瓷湿敏电阻器、元素材料湿敏电阻器、化合物湿敏电阻器、高分子湿敏电阻器。(2) 芯片内部结构工作原理:水分子具有很强的电子亲和力,易于在多孔性半导体陶瓷表面附着,并俘获电子,在半导体陶瓷表面形成空穴积累,导致半导体陶瓷的电阻率降低。晶胞间界水分子的电离。4.4.5 程序流程图设计初始化 8255、8253、8259开始2、3路口,2、4路口红灯亮等待8253延时6秒1、3路口绿灯亮2、4路口红灯亮等待8253延时6秒的时间是否?1、3路口绿灯灭2、4路口等不变1、3路口黄灯亮6秒1、3路口红灯亮,2.4路口绿灯亮,延时6秒2、4路口红灯亮,1、3路口灯不变,2、4路口黄灯

26、闪烁6秒紧急按键中断当前交通状态,是当前路口为路灯,延时12秒n y五、调试5、1调试结果(1)东南西北四个方向都是红灯。(2)3s后,南北方向车辆开始通行,此时南北路口的等切换成绿灯,东西方向的灯不变。(3)6s后,南北方向的绿灯转换成黄灯,由此来告诉司机即将变成红灯,东西方向的不变。(4)南北方向的黄灯闪烁6s后,东西方向的灯变成绿灯,东西方向的车辆开始通行,南北方向的路灯变成红色,车辆禁止通行。(5)东西方向的车辆通行6s之后,东西路口的绿灯熄灭黄灯开始闪烁,南北方向的灯不变。(6)东西方向的黄灯闪烁6s之后变成红灯,南北路口的等变成绿灯,车辆开始通行,通行时间为6s。如此循环。(7)如

27、果某一路口遇到紧急情况,可以按在安装在路口的紧急开关,此时中断当前交通,是当前的路口变成绿灯,持续时间为12s,12s之后恢复原来工作状态。5、2调试中出现的问题(1)在编写延时程序时尤其当延时常数太大时仿真时程序易死,所以使用定时器定时中断的方法,然后对定时计数以次延时。(2)因为路口设定的时间较短,容易发生堵车现象。参考文献【1】潘永雄,沙河,刘向阳.电子线路cad实用教程.陕西:西安电子科技大学出版社,2006;【2】郑学坚,周斌.微型计算机原理及应用(第三版).北京:清华大学出版社;【3】吴凌云:基于plc的十字路口交通灯模拟控制器的设计与实现,plcfa,2005年10月刊。【4】杨

28、汉祥:利用单片机改进交通灯控制系统,北京电子科技学院学报,第13 卷第4期【5】王让定:汇编语言与接口技术,清华大学出版社,2006年【6】周明德. 微机原理与接口技术实验指导与习题集. 北京:人民邮电出版社. 2002年【7】崔应留:微机原理与接口技术实验指导书,南京审计学院自编教材,2006年。附录一程序代码data segment; 设置数据段,以及端口地址分配 porta equ 218h portb equ 219h portc equ 21ah ptcon8255 equ 21bh port0 equ 238h port1 equ 239h port2 equ 240h ptcon

29、8253 equ 241h data endscode segment assume ds:data,cs:codeinit: mov ax,data mov ds,ax mov dx, ptcon8253 mov al,36h out dx,al mov dx,port0 mov ax,2710h out dx,al mov al,ah out dx,al;通道0工作方式3 周期0.01s mov dx, ptcon8253 mov al,71h out dx,al;通道1工作方式1 mov dx, ptcon8253 mov al,96h out dx,al mov dx,port2 mo

30、v al,64h out dx,al;通道2工作方式3 周期3s 8253初始化完成 mov dx, ptcon8255 mov al,80h out dx,al;8255初始化 a,b,c口均工作在方式0 mov dx,porta mov al,0 out dx,al mov dx,portb mov al,0fh out dx,al mov dx,portcmov al,0fhout dx,al;灯初始化完成sta: mov dx,portamov al,0a0hout dx,almov dx,portbmov al,0f0hout dx,almov dx,portcmov al,50hout dx,al;1,3绿灯亮,2,4红灯亮mov dx,port1mov ax,0bb8hout dx,almov al,ahout dx,al;8253通道1赋值 开始计时scan1: mov al,0mov dx

温馨提示

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

评论

0/150

提交评论