交通灯微机课程设计初稿_第1页
交通灯微机课程设计初稿_第2页
交通灯微机课程设计初稿_第3页
交通灯微机课程设计初稿_第4页
交通灯微机课程设计初稿_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 信息与电气工程学院课程设计报告题 目: 基于PC机与8255的交通灯设计 专 业: 电子信息工程 班 级: 姓 名: 学 号: 指导教师: 2016年1月7日信息与电气工程学院课程设计任务书20142015 学年第 1 学期课程设计名称: 微机原理与接口技术 设计题目: 基于PC机与8255的交通灯电路系统设计 完成期限:自 2015 年 12 月 25 日至 2015 年 1 月 7 日共 2 周设计依据、要求及主要内容:设计依据:交通灯在我们的日常生活中很常见,现代化城市交通中交通灯已成为城市不可或缺的一部分。基于微处理器的交通灯控制系统成为主要设计方法。采用微处理器结合外围芯片,通过软

2、件编程方式即可实现对交通灯的控制。设计内容及要求:采用80868088控制器和8位并行接口芯片8255设计实现交通灯控制系统,编写相关软件程序。基本要求:(1)采用Protel软件绘制电路原理图;(2)初始状态为全红灯,等待5秒,LED显示倒计时,然后东、西方向亮红灯,南、北方向亮绿灯,时间为10秒,LED显示倒计时;转为南、北方向绿灯闪3秒,然后转为黄灯3秒,LED显示倒计时;再转为东、西方向亮绿灯,南、北方向亮红灯,时间为10秒,LED显示倒计时;然后再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。指导教师(签字): 批准日期: 年 月 日摘

3、 要交通灯在我们的日常生活中很常见,现代化城市交通中交通灯已成为城市不可或缺的一部分。基于微处理器的交通灯控制系统成为主要设计方法。采用微处理器结合外围芯片,通过软件编程方式即可实现对交通灯的控制。 随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程, 理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为

4、准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实

5、际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。 本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完

6、成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结 ;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。由于时间仓促和水平所限,本次课程设计难免有欠妥之处,请不吝批评指正。摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制关键词: 计算机

7、 可编程并行接日芯片 交通灯 8255A关键词:交通灯;目 录1.设计目的 12.设计内容 13.电路工作原理 13.1 六十进制计数器工作原理 13.2 乒乓球游戏机工作原理 14.主要程序和仿真结果 14.1 六十进制计数器设计与仿真结果 14.2 乒乓球游戏机设计与仿真结果 15.心得体会 1参考文献 11、 设计目的 将自己在微机原理与技术接口课程上学到的知识用于实践设计,从而进一步掌握微机原理与技术接口的相关知识。掌握计算机应用系统特别是微机接口系统的设计,掌握接口电路设计技术,掌握微机接口程序的编制与调试技术,初步掌握电子设计软件Protel99使用。了解8086系统处理控制过程,

8、掌握8255的工作方式,掌握74xx系列一些芯片(74ls240,74ls164,74ls138等)的实际应用,进一步的掌握数码管,发光二极管的实验原理及其应用。2、 设计内容采用8086控制器和8位并行接口芯片8255等器件设计实现交通灯控制系统,采用Protel软件绘制电路原理图,根据原理图连接好实物图,再编写相关软件程序,控制交通灯的初始状态为全红灯,等待5秒,LED显示倒计时,然后东、西方向亮红灯,南、北方向亮绿灯,时间为10秒,LED显示倒计时;转为南、北方向绿灯闪3秒,然后转为黄灯3秒,LED显示倒计时;再转为东、西方向亮绿灯,南、北方向亮红灯,时间为10秒,LED显示倒计时;然后

9、再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。3、 电路工作原理1、交通灯的工作原理框图工作原理说明:此系统是通过并行接口芯片8255A和8086的硬件连接,数码管计时,以及通过设计汇编语言编程控制延时的方法,来实现十字路口交通灯的模拟控制。8086系统处理交通灯8255扩展CPU的并行接口 2、交通灯的原理图 通过8086系统处理,以8255 PB0-PB7为输出口,控制4个LED双色灯(可发红、绿、黄光)红绿交替闪烁;利用74ls240作为驱动器控制LED灯,8255 PA0接74ls164 DATEIN口,8255的PC5接74ls164

10、DCLK;74ls164作为串行并出的八位寄存器控制数码管倒计时;8255片选孔接至74ls138译码电路的210H插孔。3、元器件介绍(1)8086 Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:8086CPU数据总线为16位,地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间,有16位的端口地址,可以寻址64KB的I/O端口,有9种基本寻址方式,可处理内部和外部中断,外部中断源多达256个兼容性好,支持单处理器多处理器系统工作。8086CPU寄存器结构: 8086CPU中有16位的指令指针寄存器IP、20位的地址加法器、

11、6字节的指令队列缓冲器、14个16位的寄存器,其中有8个16位的通用寄存器(4个数据寄存器:通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存器;2个地址指针寄存器BP和SP;2个变址寄存器SI)、标志寄存器FR、算术逻辑单元ALU。EU负责全部指令的执行,同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下执行。BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中;EU执行指令时,从指令队列头部取指令,然后执行。 如需访问存储器,则E

12、U向BIU发出请求,由BIU访问存储器;在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入队列中后,EU才继续执行指令。2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器。指针和变址寄存器包括:堆栈指针SP、基址指针BP、源变址寄存器SI、和目的变址寄存器DI四个16位寄存器,可以来存放数据和地址;段寄存器包括:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS。(2)82558255的内部结构: 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、

13、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB:编号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信

14、号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。3)控制器部分8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:(1)A组控制器:控制A口与上C口的输入与输出。

15、(2)B组控制器:控制B口与下C口的输入与输出。RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写

16、入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在以下三种方式工作。方式0基本输入输出方式;方式1选通输入/出方式;方式2双向选通输入/输出方式;PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 工作于三种方式中的任何一种;PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 不能工作于方式二;PC0PC7:端口C输入输出线,一个

17、8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。不能工作于方式一或二。A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A1=0,A0=0时,PA口被选择;当A1=0,A0=1时,PB口被选择;当A1=1,A0=0时,PC口被选择;当A1=1.A0=1时,控制寄存器被选择.(3)74ls240 这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器INPUTSOUTPUT1G,2GDLLHLHLHX(Z)

18、(4)74ls138 74LS138译码器引脚图,逻辑图及功能表如下 (5)74ls164 8 位边沿触发式移位寄存器,串行输入数据,并行输出。数据通过两个输入端之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端连接在一起,或不用的输入端接高电平,一定不要悬空。时钟由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端AB的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。非同步地清除寄存器,强制所有的输出为低电平。(6)发光二极管 由红绿两色LED等封装而成,当红色这端加高电压且绿色那端加低电压则显示为红灯,反之则为绿灯,两端同时加高电压代表黄色。本

19、实验某方向灯熄灭表示黄色。(7)数码管所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。4、 主要程序及仿真结果1、主要程序;-数码管-PA55 EQU 0210H ;825

20、5PA口地址PC55 EQU 0212H ;8255PC口地址P55CTL EQU 0213H ;8255控制口地址;-LED灯-PB55 EQU 211H;P55CTL EQU 213HD1 EQU 10HD2 EQU 50HDATA SEGMENTPB DB ?DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDS;-开始-CODE SEGMENTASSUME CS:CODE,DS:CODESTART: PUSH CS POP DS MOV DX,P55CTL ;设置8255口为输出口 MOV AL,

21、80H OUT DX,AL;-LED- MOV DX,204H MOV AL,00H OUT DX,AL ;清LED MOV DX,PB55 ;全红 MOV AL,0FH OUT DX,AL MOV BX,7fH CALL DLY ; CALL BEGIN ;CALL WRITE2 ;调用数码管过程 BG: MOV AL,96H ;南北绿,东西红 OUT DX,AL MOV BX,D2 CALL DJS ;计数 ;JMP XH1 ; MOV CX,03H MOV DX,P55CTL ;设置8255口为输出口 MOV AL,80H OUT DX,AL MOV DX,204H MOV AL,00H

22、 OUT DX,AL ;清LED MOV DX,PB55 MOV CX,03H JNZ XH1XH1: MOV AL,9FH ;绿灭 OUT DX,AL MOV BX,D1 CALL DLY MOV AL,96H ;绿亮 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1 ;闪烁3次 MOV AL,06H ;南北黄 OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY MOV AL,69H ;南北红,东西绿 OUT DX,AL MOV BX,D2 CALL DLY CALL DJS MOV DX,P55CTL ;设置8255口为

23、输出口 MOV AL,80H OUT DX,AL MOV DX,204H MOV AL,00H OUT DX,AL ;清LED MOV DX,PB55 MOV CX,03XH2: MOV AL,6FH ;东西绿灭 OUT DX,AL MOV BX,D1 CALL DLY MOV AL,69H ;东西绿亮 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH2 ;闪烁3次 MOV AL,09H OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY JMP BG ;倒计时- DJS PROC NEAR PUSH DXPUSH CXPUS

24、H AXPUSH BX BEGIN: MOV AL,0 MOV CH,0WRITE2: MOV AH,AL LEA BX,LED XLAT MOV CL,8H ;分八位写一个LED ;-164驱动- WRITE1: MOV DX,PA55 OUT DX,AL PUSH AX MOV DX,P55CTL;利用8255PC5口控制DCLK,使DCLK产生一低电平到高电平的跳变 MOV AL,0AH ;PC5置“0” OUT DX,AL MOV AL,0BH ;PC5置“1” OUT DX,AL POP AX RCR AL,1 DEC CL CMP CL,0 JNZ WRITE1 CALL DELA

25、Y MOV AL,AH INC AL INC CH CMP CH,0AH ;循环10次 JBE WRITE2 ;调用数码管过程 POP DX POP CX POP BX POP AX RET DJS ENDP ; JMP BEGIN ;-延时1S-DELAY PROC NEAR PUSH CX MOV BL, 24M2: MOV CX,2810H LOOP $ DEC BL JNZ M2 POP CX RET DELAY ENDP;-DLY PROC NEAR ;延时 PUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCC DEC BX CMP BX,0 JNE DDD P

26、OP CX RET DLY ENDP ; CODE ENDS;-数码管编码-LED: DB 09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H ;9 8 7 6 5 4 3 2 1 0 CODE ENDS;- END START 2、 仿真结果 (全红) (南北红,东西绿) (南北绿,东西红) (南北红东西黄) (南北黄,东西红)(注:本实验灯闪烁时为黄色灯,所以拍出来灯的效果为熄灭)五、心得体会 整个设计过程,开始最大的问题是在不知道自己改如何下手,切入点是什么,在求于指导老师和同学之后,才知道自己要查某些相关的芯片资料。看过网上很多份关于交通灯的设计报告,给自己

27、查找交通灯相关资料也有很大的启发。在做关于交通灯系统设计中我查阅很多这方面的资料,了解一些芯片的功能,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,还有一些74xx系列的芯片相对应的用处等,我在已有的理论基础上,明白了制作实物的一般过程。准确的说,此次的课程设计不是我一个人完成的,我的同学给了我很多宝贵的意见。在这多设计交通灯系统的过程中,我深深体会到了理论和实际的差距。整个设计过程,开始最大的问题是不知道从哪里下手,从哪里开始切入,后来通过查资料明白了这个问题。再后来就是编程,尤其是芯片初始化,整了很多次,最后还是在同学的帮助下完成的。其实,准确的说不

28、是我一个人独自完成的,在许多地方,我的同学都提出了宝贵的意见,再次感谢他们。在调试中,刚开始由于对一些芯片不是很了解以及汇编语言用的不是很熟练,所以起初错误比较多,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理。总之是一头雾水,通过翻阅接口方面的书以及在网上查阅资料,有点了初步的进展。诸如像灯不显示或显示不全,一方面可能由于电路连接出错或者可能程序没写正确都会导致这些错误。而红黄绿时间分配不合理,比方说黄灯时间很久而绿灯时间很短,这都是时间设置问题,这些都要通过代码更改才能实现。其中8255A的A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯,由于能力有限以及代码存在的一些错误,没能正确的调试出预期实验结果,希望通过以后不断的学习,提高自身能力。本次课程设计是要设计一个交通灯系统,主要通过8255A的A口和B口模拟十

温馨提示

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

评论

0/150

提交评论