




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南科技大学信息与电气工程学院课程设计报告题 目:基于pc机与8255的交通灯电路系统设计专 业: 通信工程 班 级: 3班 姓 名: 学 号: 指导教师: 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位数据输入锁存器。与之关联的接口线是pa0pa7端口b:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入缓冲器。与之关联的接口线是pb0pb7端口c:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入缓冲器。与之关联的接口线是pc0pc7可作数据、状态和控制端口,可分成两个4位,每4位可独立操作。a组的控制位是高4位pc4pc7, b组的控制位是低4位pc0pc3。(2)引脚功能a.与cpu相连的引脚reset:复位信号,输入,高电平有效。当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有的i/o口(a、b、c)均被置成输入方式。d7d0:数据线,和系统总线相连。a0和a1:口选线0和口选线1,用来选择3个数据口和控制字寄存器。:读信号,输入,低电平有效。有效时,cpu从8255中读取数据或状态信息。:写信号,输入,低电平有效。有效时,允许 cpu将数据或控制字写入 8255a。:片选信号,输入,低电平有效。有效时,允许8255a与cpu进行通信。一般接端口地址译码器输出端。b.与i/o设备相连的引脚pa0pa7,pb0pb7,pc0pc7分别对应端口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、数码管显示电路:74ls16474ls164是8 位串入,并出移位寄存器,时钟(cp)每次由低变高时,数据右移一位,输入到 q0,q0 是两个数据输入端(dsa和 dsb)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。主复位 (mr) 输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平。在本次设计中,数据端ab连接8255的pa0,脉冲端连的是8255的pc5。4、74ls24074ls240是八单线驱动器。(反码,三态输出)这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器,时钟驱动器和总线定向接收器和发射器的性能可和集成度而特意设计的。在本次设计中,用74ls240控制交通灯,8个引脚分别连接8255的b口8个引脚,再一高一低两个引脚控制一个交通灯,在有控制字输入时输出应有的交通灯信号。八、主程序的流程a. 置8255控制字80h,使各端口均为输出口,且均工作于方式0b. 4个路口红灯全亮c. 持续5sd. 东、西方向亮红灯,南、北方向亮绿灯e. 持续10sf. 南、北方向绿灯闪3秒,然后转为黄灯3秒g. 东、西方向亮绿灯,南、北方向亮红灯h. 持续10si. 东、西方向绿灯闪3秒再转为黄灯3秒j. 东、西方向红灯,南、北方向绿灯k. 从d开始循环九、程序设计;-数码管-pa55 equ 0210h ;8255pa口地址pc55 equ 0212h ;8255pc口地址p55ctl equ 0213h ;8255控制口地址;-led灯-pb55 equ 211hd1 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,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 ;清led 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 ;闪烁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口为输出口 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 cxpush 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 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, 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 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口表示西、北方向,绿灯和红灯共同表示黄灯,由于能力有限以及代码存在的一些错误,没能正确的调试出预期实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论