基于PC机与8255的交通灯电路系统设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“交通灯电路设计的程序”。
湖南科技大学 信息与电气工程学院
《课程设计报告》
题 目:基于PC机与8255的交通灯电路系统设计 专 业: 通信工程 班 级: 3班 姓 名: 黄夏妮 学 号: 1304040322 指导教师: 欧青立 陈君 宋芳 管智利 李目
2015 年 12 月 28 日 信息与电气工程学院 课程设计任务书
2015 —2016 学年第 一 学期
专业: 通信工程 班级: 3班 学号: 1304040322 姓名: 黄夏妮 课程设计名称: 微机原理与接口技术
设计题目: 基于PC机与8255的交通灯电路系统设计 完成期限:自 2015年 12 月 14 日至 2015 年 12 月 25 日共 2 周 设计依据、要求及主要内容: 设计依据:
交通灯在我们的日常生活中很常见,现代化城市交通中交通灯已成为城市不可或缺的一部分。基于微处理器的交通灯控制系统成为主要设计方法。采用微处理器结合外围芯片,通过软件编程方式即可实现对交通灯的控制。设计内容及要求:
采用80868088控制器和8位并行接口芯片8255设计实现交通灯控制系统,编写相关软件程序。基本要求:
(1)采用Protel软件或其它软件绘制电路原理图;
(2)初始状态为全红灯,等待5秒,LED显示倒计时,然后东、西方向亮红灯,南、北方向亮绿灯,时间为10秒,LED显示倒计时;转为南、北方向绿灯闪3秒,然后转为黄灯3秒,LED显示倒计时;再转为东、西方向亮绿灯,南、北方向亮红灯,时间为10秒,LED显示倒计时;然后再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。
提高要求:如果发生突发情况,能通过按键使东西或南北方向长时间红灯。
指导教师(签字): 批准日期: 年 月 日
摘要
随着微型计算机技术的飞速发展,计算机在工程领域中的应用日益普及。此次课程设计采用8088控制器及8位并行接口芯片8255设计实现交通灯控制系统。原理图的设计采用ptotel99设计构建,仿真采用AEDK8688ET实验板实现。此交通灯的控制分为东西方向和南北方向两种,其过程有倒计时、绿灯/红灯闪烁,红绿灯交替。8255芯片的PB口对4个交通灯进行控制,A口和C口控制74ALS164(数码管部分)。
关键词:8255;AEDK8688ET实验板;交通灯;
目录
1、前言
2、设计目的3、设计要求
4、交通灯控制系统介绍
5、设计使用的元器件
6、设计总体方案
7、芯片选择、端口选择及使用原理
8、主程序的流程
9、程序设计
10、实验原理图
11、运行结果
12、调试记录与分析
13、设计心得体会
一、前言
随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。
本次的交通灯控制系统主要由8088控制器、8位并行接口芯片8255、74LS138译码器、74ALS164(数码管显示电路)及74ALS240芯片组成。整个设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。
二、设计目的1、掌握计算机应用系统特别是微机接口系统的设计。
2、掌握接口电路设计技术,初步掌握电子设计软件Protel 99。
3、掌握微机接口程序的编制与调试技术。
4、通过这次课程设计,熟悉8255的功能,掌握初始化编程方法。
三、设计要求
1、设计一交通灯控制系统,控制东西方向的红、黄、绿灯和南北方向的红、黄、绿灯。
2、采用protel 99设计硬件电路。标示引脚编号、元器件参数。
3、完成硬件电路的搭建。
4、编制相应接口程序。与硬件一并调试成功。
四、交通灯控制系统介绍
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。假设为某个十字路口设计一个交通灯控制系统,分为东、西、南、北4个方向,初始态为4个路口的红灯全亮。在5s的倒计时后,东、西方向亮红灯,南、北方向亮绿灯,持续10s。之后转为南、北方向绿灯闪3秒,然后转为黄灯3秒,再转为东、西方向亮绿灯,南、北方向亮红灯,持续10秒。然后再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。
五、设计使用的元器件
实验室提供PC机与爱迪克AEDK8688ET实验系统
六、设计总体方案
1、基本框架
2、运行思路
编写程序实现通过8255控制四个方向的交通灯的状态,我们可以设计五个状态。
状态1:红灯全亮。
状态2:南北绿灯亮,东西红灯亮。
状态3:南北绿灯先闪然后黄灯闪,东西保持红灯。
状态4:南北变为红灯,东西变为绿灯。
状态5:东西绿灯先闪然后黄灯闪,南北保持红灯。
状态5跳转到状态2.七、芯片选择、端口选择及使用原理 1、8255(1)内部结构
a.面向CPU的接口电路
① 数据总线缓冲器
是一个三态双向的8位缓冲器,是8255与系统数据总线的接口。CPU向8255写入控制字或从8255中读状态信息以及所有数据的输入和输出,都需要通过数据缓冲器来进行传递。
②读写控制逻辑
是8255内部完成读/写控制功能的部件。
它接收来自CPU的地址和控制信号,并依据这些控制信号,向8255各功能部件发出读/写控制命令。依据地址信号,选择8255中的某个端口。b.面向外设的接口电路
端口A:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入锁存器。与之关联的接口线是PA0~PA7 端口B:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入缓冲器。与之关联的接口线是PB0~PB7 端口C:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入缓冲器。与之关联的接口线是PC0~PC7 可作数据、状态和控制端口,可分成两个4位,每4位可独立操作。A组的控制位是高4位PC4~PC7,B组的控制位是低4位PC0~PC3。
(2)引脚功能
a.与CPU相连的引脚
RESET:复位信号,输入,高电平有效。当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有的I/O口(A、B、C)均被置成输入方式。D7~D0:数据线,和系统总线相连。
A0和A1:口选线0和口选线1,用来选择3个数据口和控制字寄存器。
——
RD:读信号,输入,低电平有效。有效时,CPU从8255中读取数据或状态信息。WR:写信号,输入,低电平有效。有效时,允许 CPU将数据或控制字写入 8255A。——--——-CS:片选信号,输入,低电平有效。有效时,允许8255A与CPU进行通信。一般接端口地址译码器输出端。b.与I/O设备相连的引脚
PA0~PA7,PB0~PB7,PC0~PC7分别对应端口A,B,C。
(3)8255芯片有三种工作方式可供选择:
方式0:基本的输入/输出方式。
方式1:带选通的输入/输出方式。
方式2:双向传输方式。当RESET输入端处于高电平时,所有的I/O端口均被置成输入方式;RESET信号撤销后,8255A仍处于输入状态而不必再预置。要改变方式,只需用一条输出指令,向其控制字寄存器写入控制字就可以了。
2、译码器:74LS138
①当一个选通端(E1)为高电平,另两个选通端((/E2))和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。②利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。
③若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。④可用在8086的译码电路中,扩展内存。
3、数码管显示电路:74LS164
74LS164是8 位串入,并出移位寄存器,时钟(CP)每次由低变高时,数据右移一位,输入到 Q0,Q0 是两个数据输入端(DSA和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平。
在本次设计中,数据端AB连接8255的PA0,脉冲端连的是8255的PC5。
4、74LS240
74ls240是八单线驱动器。(反码,三态输出)这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器,时钟驱动器和总线定向接收器和发射器的性能可和集成度而特意设计的。
在本次设计中,用74LS240控制交通灯,8个引脚分别连接8255的B口8个引脚,再一高一低两个引脚控制一个交通灯,在有控制字输入时输出应有的交通灯信号。
八、主程序的流程
a.置8255控制字80H,使各端口均为输出口,且均工作于方式0 b.4个路口红灯全亮 c.持续5s d.东、西方向亮红灯,南、北方向亮绿灯 e.持续10s f.南、北方向绿灯闪3秒,然后转为黄灯3秒 g.东、西方向亮绿灯,南、北方向亮红灯 h.持续10s i.东、西方向绿灯闪3秒再转为黄灯3秒 j.东、西方向红灯,南、北方向绿灯 k.从d开始循环
九、程序设计
;-----------数码管-----------------------PA55 EQU 0210H;8255PA口地址 PC55 EQU 0212H;8255PC口地址 P55CTL EQU 0213H;8255控制口地址;-----------LED灯----------------------PB55 EQU 211H D1 EQU 10H D2 EQU 50H DATA SEGMENT PB DB ? DATA ENDS STACK SEGMENT STACK STA DW 50 DUP(?)TOP EQU LENGTH STA STACK ENDS
;-----------开始-----------------
CODE SEGMENT ASSUME CS:CODE,DS:CODE START: PUSH CS POP DS MOV DX,P55CTL;设置8255口为输出口 MOV AL,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 OUT DX,AL;MOV DX,PB55 MOV CX,03H JNZ XH1 XH1: MOV AL,9FH;OUT DX,AL MOV BX,D1 CALL DLY MOV AL,96H;OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1;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;MOV AL,80H OUT DX,AL MOV DX,204H MOV AL,00H OUT DX,AL;MOV DX,PB55
清LED 绿灭 绿亮 闪烁3次 南北黄 南北红,东西绿 设置8255口为输出口
清LED MOV CX,03 XH2: 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 DX PUSH CX PUSH AX PUSH BX BEGIN: MOV AL,0 MOV CH,0 WRITE2:
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 DELAY
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, 24 M2: MOV CX,2810H LOOP $ DEC BL JNZ M2 POP CX RET DELAY ENDP;--DLY PROC NEAR;延时 PUSH CX DDD: MOV CX,0FFFH CCC: LOOP CCC DEC BX CMP BX,0 JNE DDD POP 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
十、实验原理图
十一、运行结果
开始时为全红灯,倒计时显示倒数5s后变成东、西方向亮红灯,南、北方向亮绿灯。倒计时倒数10s后,转为南、北方向绿灯闪烁3秒,然后转为黄灯3秒。再转为东、西方向亮绿灯,南、北方向亮红灯。倒计时10s后,转为东、西方向绿灯闪3秒,再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯。之后开始循环。
十二、调试记录与分析
在调试中,刚开始由于对一些芯片不是很了解以及汇编语言用的不是很熟练,所以起初错误比较多,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理。总之是一头雾水,通过翻阅接口方面的书以及在网上查阅资料,有点了初步的进展。诸如像灯不显示或显示不全,一方面可能由于电路连接出错或者可能程序没写正确都会导致这些错误。而红黄绿时间分配不合理,比方说黄灯时间很久而绿灯时间很短,这都是时间设置问题,这些都要通过代码更改才能实现。其中8255A的A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯,由于能力有限以及代码存在的一些错误,没能正确的调试出预期实验结果,希望通过以后不断的学习,提高自身能力。
十三、设计心得体会
本次课程设计是要设计一个交通灯系统,主要通过8255A的A口、B口和C口模拟十字路口交通灯的闪烁情况。在本次对交通灯的设计过程中以此来加深对微机接口技术的理解,提高了自己的动手能力。
首先着手对硬件电路的设计,本次课程设计主要采用了8255A接口电路、74LS138译码器、74LS164(数码管显示电路)以及74LS240这四个芯片电路。由于对各个芯片不熟悉,通过课本了解到了它们的引脚及功能、工作方式、内部结构和控制字。了解之后才能着手开始设计课程设计。
然后就是对程序的设计,想要设计出一个实用的控制系统就需要了解程序流程,先写出了整个设计的流程,然后开始编辑程序。
最后对程序,硬件电路进行调试。在调试过程中遇到了很多问题,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理,对系统功能以及软件延时子程序的调用等等,这些问题在同学和老师的帮助下得以解决,总算能得出让人满意的结果。
经过为期两个星期的课程设计,我获益颇多。将微机接口技术中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解,在实验调试过程中发现问题,分析问题,如何解决问题的能力都有所提高。还有一点让我很感动,遇到问题时,同学不厌其烦的帮忙解决问题举动,意识了一个团体力量的伟大。
最后希望通过以后的学习,不断提升自身各方面的能力,如对专业知识的掌握程度,动手实践能力等。经过此次的课程设计,我们学会了合作。我们要形成自己的设计思想,以便在今后的专业课形成自己的风格。同时在多多锻炼自己的动手能力,以便在以后的工作能独立完成一些设计项目。
三菱PLC与PC机联接 通过三菱的FX-232AW与FX-232AWC使IBM-PC与FX系列及A系列PLC建立通信用以下通信电缆。 三菱的FX用RS-232C电缆型号: F2-232CAB-1(25针---9针) FX-232AWC侧---......
《专业综合实习报告》专业:电子信息工程年级:2013级指导教师:学生:目录一:实验项目名称 二:前言三:项目内容及要求 四:串口通信原理 五:设计思路5.1虚拟串口的设置 5.2下位机电路和......
刀豆文库小编为你整合推荐8篇工业pc机编程求职信,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
三菱PLC通讯三菱PLC与PC上位机VB通讯三菱PLC:FX1N + FX1N-232-BDFX2N + FX2N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版Windows 98中文版 + Visual B......
设计心得,一个简单的交通灯控制系统终于做完,,总的来说就只实现两个功能,1 红绿黄灯的交替点亮。2,显示每种灯的倒计时,其实,就是一个的状态机,四个状态的变换,刚开始,。我按照书上的......