微机原理十字路口交通灯课程设计示范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湘潭大学
《微型计算机原理与接口技术》
课程设计
系(部)院:能源工程学院
专业电子信息科学与技术
作者姓名:
指导教师:谢红宇
完成日期:2011 年12 月20 日
湘潭大学能源工程学院
《微机原理与接口技术》课程设计任务书
2009 届电子信息科学与技术专业
Ⅰ课程设计题目:
1、十字路口交通灯设计
2、开关控制指示灯设计
3、步进电机控制设计
Ⅱ设计时间:
2011年12月22日---2011年12月27日(第18周)
Ⅲ课程设计任务内容
一、课程设计的目的意义:
通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:错误!未找到引用源。
、调查研究、分析问题的能力;
错误!未找到引用源。
、使用设计手册、技术规范的能力;
错误!未找到引用源。
、查阅中外文献的能力;
错误!未找到引用源。
、制定设计方案的能力;
错误!未找到引用源。
、计算机应用的能力;
错误!未找到引用源。
、设计计算和绘图的能力;
错误!未找到引用源。
、技术经济指标的分析能力;
错误!未找到引用源。
、语言文字表达的能力。
二、课题研究的主要内容:
(1)、交通信号灯的控制:
1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.用软件控制时间或用8253定时来控制变换时间。
要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟60秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始
闪烁(1HZ)。
闪烁8次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟60秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁8次后,再切换到1、3路口方向。
之后,重复上述过程。
(2)、开关控制指示灯:
基本要求:
用8255A并行接口芯片的C口控制一组开关(S0、S1、S2、S3)和一组发光二极管(L1、L2、L3、L4),开关S0--S3闭合则对应发光二极管L1--L4亮,开关打开则对应发光二极管熄灭,但若开关全部断开则使所有发光二极管闪烁告警,闪烁10次(每次1秒)返回测试。
8255A端口地址为0FF28H—0FF2BH,(电路连接图参考教材P262页)。
(3)、开关控制指示灯:(在实验室完成设计任务)
1、用8255APB0~PB3输出脉冲信号,驱动步进电机转动。
2、步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,用微电脑控制步进电机最合适。
3、硬件接线:8255PB0~PB3依次连到BJDJ区步进电机插头J3右边的BA~BD 插孔。
将步进电机插头连到DVCC实验系统BJDJ步进电机驱动输出插座J3上。
4、调试程序,观察步进电机的转速,修改程序,使步进电机转速变慢。
5、附:参考程序
CODE SEGMENT
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOBPT EQU 0FF29H
IOAPT EQU 0FF28H
ORG 1630H
START: MOV AL,80H
MOV DX,IOCONPT
OUT DX,AL
NOP
NOP
NOP
IOLED1: MOV DX,IOBPT
MOV AL,03H
OUT DX,AL
CALL DELAY
MOV AL,06H
OUT DX,AL
CALL DELAY
MOV AL,0CH
OUT DX,AL
CALL DELAY
MOV AL,09H
OUT DX,AL
CALL DELAY
MOV AL,03H
OUT DX,AL
CALL DELAY
MOV AL,06H
OUT DX,AL
CALL DELAY
MOV AL,0CH
OUT DX,AL
CALL DELAY
MOV AL,09H
OUT DX,AL
CALL DELAY
JMP IOLED1
DELAY: MOV CX,03FFFH
DELA: LOOP DELA
RET
CODE ENDS
END START
三、设计要求:
1、按要求完成硬件的设计和软件的编写。
2、在实验室完成硬件的连接和软件的测试。
3、完成一份规范的课程设计说明书。
课程设计按统一顺序装订:
(1)封面
(2)前言
(3)目录
(4)课程设计任务书(须有指导教师签名及日期)
(5)正文(分章、层次等,每一章从新的一页开始)
(6)小结
(7)参考文献
(8)课程设计图纸
(9)成绩评定表
四、文献资料(不少于5篇)
1、《微机原理与接口技术》实验指导书
2、《微机原理与接口技术》教材
3、并行接口通信的工作原理(图书馆借、网上搜索、下载)
指导教师(签字)
完成日期2011年12月16日
前言
随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,成为人们利用计算机设计和开发各种应用系统的基础。
同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次微机原理课程设计目的。
交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
交通灯的时间控制显示,以固定时间值预先“固化”,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受人为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。
通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。
摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255的软硬件功能,实现对交通灯控制。
关键词:交通灯 8255
目录
1 课题简介 (5)
2 设计要求 (5)
3 具体设计 (6)
3.1 延时设计 (6)
3.2 8255引线及构 (6)
3.3 电路接线图 (10)
4 使用方法 (11)
5 流程图设计 (12)
6 程序设计 (12)
7 设计总结 (16)
8 参考文献 (16)
1 课题简介
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒。
交通灯的时间控制显示,以固定时间值预先“固化”,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
2 设计要求
1.东西方向车辆放行60秒钟。
即东西方向的绿灯和南北方向的红灯同时点亮1分钟。
2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。
即东西方向的
红灯和南北方向的绿灯同时点亮20秒钟。
4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。
如此循环重复。
3 具体设计
3.1延时设计
在模拟交通等设计中,如何使红灯、绿灯保持一定时间,黄灯闪烁的时间是一个非常关键的问题。
本任务要求交通信号灯能实现自行定时、延时、切换等功能,即能实现交通信号灯自动控制。
一般计算机控制系统实现定时或延时有两种基本方法:利用软件定时和硬件定时。
软件定时,即让机器执行一段程序,程序没有具体的执行目的,利用执行每条指令CPU所花费的时间,可实现延时功能。
这种方法容易实现,仅需选用恰当指令并安排循环即可实现,定时时间调整方便,但不能做到精确定时。
另外,时间调整是以一条指令执行时间为基准,占用CPU资源,降低CPU利用率。
硬件定时,即使用可编程定时/计数器硬件芯片定时。
这种芯片内部有一个可编程定时器,其定时值、定时范围可以很容易地由软件程序改变,定时时间到时可发出某种形式的信号通知外设或CPU。
定时器的输出频率和波形等均由程序设定,因而使用灵活,功能强。
本次课程设计根据我们所学知识、所查资料以及水平所限,我们利用了入栈、出栈所消耗的时间再加上确定次数的循环控制,达到我们所需要的延时时间。
3.2 8255的引线结构
8255的引线结构如图1所示。
共有40个引脚,其功能分别如下:
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
RD:读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每
个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
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时,控制寄存器被选择;
在本次课程设计当中,设计采用的是软件定时(即通过汇编指令)实现的。
而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B 口均为输出。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。
功能控制0:位操作1:方式选
图1 8255的内部结构及引脚
7 6 5 4 3 2 1 0
控制C口低4位
1:输入
0:输出
控制B口8位
1:输入
0:输出
方式选择
0:方式0
1:方式1
控制C口高4位
0:输出
1:输入
控制A口8位
0:输出
1:输入
方式选择
00:方式0
01:方式1
1X:方式2
按位操作控制字
端口C的位选择 PC0 0 0 0 PC1 0 0 0 PC2 0 0 0 PC3 0 0 0 PC4 0 0 0 PC5 0 0 0 PC6 0 0 0 PC7 0 0 0 置位/复位0:复位1:置置
标志位
无关
图2 8255工作方式控制字和C口按位置位/复位控制字格式0 X X X D3D2D1D0
3.3电路接线图
图3 红绿灯模拟设计总电路图
上电路图为红绿灯模拟设计总电路图,通过8086CPU系统总线来控制8255的A端口、B端口,而A、B端口分别接LED发光二极管来控制十字路口红绿灯。
红、黄、绿灯的表示情况如下:由于仪器上面只有16个发光二级管,且从高到低依次为:D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。
在设计的过程中做了如下的规定:R表示红灯,G表示绿灯,Y表示黄灯;E表示方向东,W表示方向西,S表示方向南,N表示方向北,例如:ER表示东方向为红灯,WG表示西方向为绿灯,SY表示南方向为黄灯,其余的类似。
所以在设计中采用如下的规定:D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0表示NY。
具体连线及表示如下图所示(圆圈表示发光二极管)。
图4 十字路口红黄绿灯的表示
4 使用说明
这是一个交通红绿灯的模拟显示实验,由8255控制16个LED发光二极管的亮与暗来表达十字路口的交通信号,A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯。
可以通过发光二极管来判断具体是哪个方向、哪个灯亮。
5 流程图设计
6 程序设计
IOY0 EQU 0DA00H ;片选IOY0对应的端口始地址 MY8255_A EQU IOY0+00H*4 ;8255的A 口地址 MY8255_B EQU IOY0+01H*4 ;8255的B 口地址 MY8255_C EQU IOY0+02H*4 ;8255的C 口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT
LA DB ? ;定义数据变量
芯片初始化
东西方向绿灯亮,南北方向红灯亮60秒
东西方向黄灯闪烁,南北方向红灯亮5秒
东西方向红灯亮,南北方向绿灯亮20秒
东西方向红灯亮,南北方向黄灯闪烁5秒
有键按下?
返回到DOS
结束
否
是
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,MY8255_MODE ;定义8255工作方式
MOV AL,80H ;工作方式0,A口和B口为输出
OUT DX,AL
LOOP1: MOV DX,MY8255_A ;写A口发出的数据,东方向绿灯亮,南方向红灯亮 MOV AL,3CH
OUT DX,AL
MOV DX,MY8255_B ;写B口发出的数据,西方向绿灯亮,北方向红灯亮 MOV AL,3CH
OUT DX,AL
CALL DALLY1
L1: MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯亮,南方向红灯亮 MOV AL,0FCH
OUT DX,AL
MOV DX,MY8255_B ;写A口发出的数据,西方向黄灯亮, 北方向红灯亮 MOV AL,0FCH
OUT DX,AL
CALL DALLY2
MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯灭,南北方向红灯亮 MOV AL,30H
OUT DX,AL
MOV DX,MY8255_B ;写B口发出的数据,西方向黄灯灭,南北方向红灯亮 MOV AL,30H
OUT DX,AL
CALL DALLY2
MOV DX,MY8255_A ;写A口发出的数据,东方向红灯亮,南方向绿灯亮 MOV AL,0C3H
OUT DX,AL
MOV DX,MY8255_B ;写B口发出的数据,西方向红灯亮,北方向绿灯亮 MOV AL,0C3H
OUT DX,AL
CALL DALLY3
L2: MOV DX,MY8255_A ;写A口发出的数据,南方向黄灯亮,东方向红灯亮 MOV AL,0F3H
OUT DX,AL
MOV DX,MY8255_B ;写B口发出的数据,北方向黄灯亮,西方向红灯亮 MOV AL,0F3H
OUT DX,AL
CALL DALLY2
MOV DX,MY8255_A ;写A口发出的数据,南北方向黄灯灭,东方向红灯亮 MOV AL,0C0H
OUT DX,AL
MOV DX,MY8255_B ;写B口发出的数据,南北方向黄灯灭,西方向红灯亮 MOV AL,0C0H
OUT DX,AL
CALL DALLY2
LOOP L2
MOV AH,1 ;判断是否有按键按下,调用功能号1
INT 16H ;ROM BIOS 功能调用
JZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出
INT 21H ;DOS 系统功能调用
DALLY PROC NEAR ;软件延时子程序
PUSH CX
MOV CX,0FFFH
D1: MOV AX,0FFFFH
D2: DEC AX
JNZ D2
LOOP D1
POP AX
POP CX
RET
DALLY ENDP
DALLY1 PROC NEAR ;软件延时子程序,东西方向红灯亮,南北方向绿灯亮 PUSH CX
PUSH AX
MOV CX,1EH
D3: CALL DALLY
LOOP D3
POP AX
POP CX
RET
DALLY1 ENDP
DALLY2 PROC NEAR ;软件延时子程序,黄灯闪烁(即亮与灭)的时间间隔, PUSH CX
PUSH AX
MOV CX,02H
D4: CALL DALLY
LOOP D4
POP AX
POP CX
RET
DALLY2 ENDP
DALLY3 PROC NEAR ;软件延时子程序,东西方向绿灯亮,南北方向红灯亮, PUSH CX
PUSH AX
MOV CX,0AH
D5: CALL DALLY
LOOP D5
POP AX
POP CX
RET
DALLY3 ENDP
CODE ENDS
END START
7 设计总结
通过这两周的微机原理与接口技术课程设计课,我对这学期微机原理与接口技术原理的知识有了更进一步的认识,经过这次课程设计的鞭策和逼迫,我们才不得不通过各方面途径去查取相关资料,去自学相关知识,去一个个逐步消解我们学习上的盲点,使我受益匪浅,收获颇多,但从中也发现了自己许多的不足和需要改进的地方。
首先,就要把握整个的设计的大概的流程,然后再对每一个分快进行设计,本次设计这一点没有做好,在设计当中做了不少无用功,其次在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255的初始化及其端口的使用,在设计当中关于延时的选择,由于水平所限未选8253、8259的芯片,使过程得到简化,但不利于交通信号灯的精确控时,是本次设计的最大缺陷,但通过南北东西方向不同时间的控制也是本次设计的一大亮点,可以值得在交通量不同方向街道加以推广,对缓解交通具有重要意义。
通过本次课程设计,我的实际操作能力和设计能力都得到了一定的提高,但理论与实践之间永远是存在着一定差距的,要把理论知识充分灵活地运用于实践是需要一定的实践经验和牢固的理论基础,希望以后能有更多这样的实践的机会,最后,对微机原理课程谢老师的一学期的幸苦教学,说声谢谢!
8 参考文献
[1] 冯博琴.吴宁.微型计算机原理与接口技术(第二版)北京. 清华大学出版社,2007
[2] 舒贞权.任伟利.微机计算机原理[M]·西安:西安交通大学出版社,2004
[3] 楼顺天.周社佳.微机原理与接口技术[M]·北京:科学出版社,2006
[4] 王玉良.吴晓非.微机原理与接口技术[M]·北京:北京邮电大学出版社,2006
[5] 舒贞权,任伟利·微机计算机原理[M]·西安:西安交通大学出版社,1997
微机原理与接口技术课程设计成绩评定表姓名学号
专业班级
课程设计题目:交通灯控制系统
成绩评定依据:
评定项目评分成绩
1.选题合理、目的明确(10分)
2.设计方案可行性、创新性(20分)
3.设计结果(系统原理图、源程序、调试运行结果)(40分)
4.平时成绩(态度认真、遵守纪律)(20分)
5.设计报告的规范性、参考文献充分(不少于5篇)(10分)
总分
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日。