微机基础原理与接口技术交通灯控制系统课程教学设计.docx
《微机基础原理与接口技术交通灯控制系统课程教学设计.docx》由会员分享,可在线阅读,更多相关《微机基础原理与接口技术交通灯控制系统课程教学设计.docx(10页珍藏版)》请在冰点文库上搜索。
微机基础原理与接口技术交通灯控制系统课程教学设计
郑州航空工业管理学院
微机原理课程设计说明书
2012级电气工程及其自动化专业1206972班级
题目交通灯控制系统设计
姓名学号120697202
指导教师王义琴职称讲师
二О一二年十二月十一日
摘要
本次专业课程设计作为前阶段学习知识的一个检验,培养了我们的动手能力以及独立思考设计的能力,也是大学培养的一个重要实践步骤。
设计初期,我们参照所做过的实验并通过网络,图书馆等资源查找到利用微机原理与接口技术设计制作交通灯的相关信息,对不同的方案进行细致的分析比较。
并且按照题意与实际情况进行改进,使之符合要求。
设计过程中发现的一些问题通过共同的分析研究得到的解决,此次课程设计巩固了前期的理论知识,增强了动手实践能力。
程序主要采用了8255A可编程并行I/O接口芯片控制发光二极管LED,并由8253软件定时等来实现电路。
关键词:
交通灯;8255A;8253;LED;软件定时;
一、交通灯控制系统的基本原理
在本次课程设计当中,本次设计采用的是软件定时(即通过汇编指令)实现的。
而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
二、交通灯控制系统的设计方案
设计中使用8255A可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时。
城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,按照设计要求设计如下:
(1)南北方向的绿灯,东西方向的红灯同时亮30秒。
(2)南北方向的绿灯灭,黄灯亮5秒,同时东西方向的红灯继续亮。
(3)南北方向的黄灯灭,红灯亮,同时东西方向的红灯灭,绿灯亮,持续30秒。
(4)南北方向的红灯继续亮,同时东西方向的绿灯灭,黄灯亮5秒。
(5)重复以上过程。
三、硬件设计
3.18255结构
8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示
图18255的内部结构及引脚
图28255工作方式控制字和C口按位置位/复位控制字格式
3.2电路接线图
图3红绿灯模拟设计总电路图
上电路图为红绿灯模拟设计总电路图,通过8086CPU系统总线来控制8255的A端口、B端口,而A、B端口分别接LED发光二极管来控制十字路口红绿灯。
红、黄、绿灯的表示情况如下:
由于仪器上面只有16个发光二级管,且从高到低依次为:
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0。
在设计的过程中做了如下的规定:
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十字路口红黄绿灯的表示
3.3使用说明
这是一个交通红绿灯的模拟显示实验,由8255控制16个LED发光二极管的亮与暗来表达十字路口的交通信号,A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯。
可以通过发光二极管来判断具体是哪个方向、哪个灯亮。
四、软件设计
4.1程序流程框图
4.2源程序清单
IOY0EQU0DA00H;片选IOY0对应的端口始地址
MY8255_AEQUIOY0+00H*4;8255的A口地址
MY8255_BEQUIOY0+01H*4;8255的B口地址
MY8255_CEQUIOY0+02H*4;8255的C口地址
MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
LADB?
;定义数据变量
LBDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,MY8255_MODE;定义8255工作方式
MOVAL,80H;工作方式0,A口和B口为输出
OUTDX,AL
LOOP1:
MOVDX,MY8255_A;写A口发出的数据,南方向绿灯亮,东方向红灯亮
MOVAL,0C3H
OUTDX,AL
MOVDX,MY8255_B;写B口发出的数据,北方绿向灯亮,西方向红灯亮
MOVAL,0C3H
OUTDX,AL
CALLDALLY1
MOVCX,08H
MOVDX,MY8255_A;写A口发出的数据,南方黄向灯亮,东方向红灯亮
MOVAL,0F3H
OUTDX,AL
MOVDX,MY8255_B;写A口发出的数据,北方黄向灯亮,西方向红灯亮
MOVAL,0F3H
OUTDX,AL
CALLDALLY2
MOVDX,MY8255_A;写A口发出的数据,南方向红灯亮,东方向绿灯亮
MOVAL,03CH
OUTDX,AL
MOVDX,MY8255_B;写B口发出的数据,北方向红灯亮,西方向绿灯亮
MOVAL,03CH
OUTDX,AL
CALLDALLY1
MOVCX,08H
MOVDX,MY8255_A;写A口发出的数据,南方向红灯亮,东方向黄灯亮
MOVAL,0FCH
OUTDX,AL
MOVDX,MY8255_B;写B口发出的数据,北方向红灯亮,西方向黄灯亮
MOVAL,0FCH
OUTDX,AL
CALLDALLY2
MOVAH,1;判断是否有按键按下,调用功能号1
INT16H;ROMBIOS功能调用
JZLOOP1;无按键则跳回继续循环,有则退出
QUIT:
MOVAX,4C00H;结束程序退出
INT21H;DOS系统功能调用
DALLYPROCNEAR;软件延时子程序
PUSHCX
PUSHAX
MOVCX,0FFFH
D1:
MOVAX,0FFFFH
D2:
DECAX
JNZD2
LOOPD1
POPAX
POPCX
RET
DALLYENDP
DALLY1PROCNEAR;软件延时子程序,东西方向红灯亮,南北方向绿灯亮
PUSHCX
PUSHAX
MOVCX,1EH
D3:
CALLDALLY
LOOPD3
POPAX
POPCX
RET
DALLY1ENDP
DALLY2PROCNEAR;软件延时子程序,黄灯闪烁(即亮与灭)的时间间隔,
PUSHCX
PUSHAX
MOVCX,05H
D4:
CALLDALLY
LOOPD4
POPAX
POPCX
RET
DALLY2ENDP
CODEENDS
ENDSTART
5、结论
本次课程设计模拟十字路口交通灯控制系统,运用8255A控制在红,黄,绿三个信号灯,并用软件定时实现了南北方向的绿灯,东西方向的红灯同时亮30秒。
30秒后南北方向的绿灯灭,黄灯亮5秒,同时东西方向的红灯继续亮。
5秒后南北方向的黄灯灭,红灯亮,同时东西方向的红灯灭,绿灯亮,持续30秒。
再过30秒南北方向的红灯继续亮,同时东西方向的绿灯灭,黄灯亮5秒,如此循环。
六、参考文献
[1]舒贞权,任伟利·微机计算机原理[M]·西安:
西安交通大学出版社,1997
[2]顾元刚,韩燕汇编语言与微机原理教程[M]·北京:
电子工业出版社,2000
[3]钱晓捷主编:
《微机原理与接口技术》,第4版,机械工业出版社,2008
[4]沈美明等编著:
《80X86汇编语言程序设计》,清华大学出版社,2001年9月出版。
[5]杨素行等编著:
《微型计算机系统原理及应用》,第2版,清华大学出版社,2004
设计总结:
通过这两周的微机原理与接口技术课程设计课,我对这学期学微机原理与接口技术原理的知识有了更进一步的认识。
课程设计中我受益匪浅,收获颇多,但从中也发现了自己许多的不足,和需要改进的地方。
首先,把握整个的设计的大概的流程,然后再对每一个分快进行设计,最后进行调试。
在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255A的初始化及其端口的使用。
通过课程设计,我的实际操作能力和设计能力都得到了一定的提高,但理论与实践之间永远是存在着一定差距的,要把理论知识充分灵活地运用于实践是需要一定的实践经验和牢固的理论基础,希望以后能有更多这样的实践的机会。
指导教师评语:
课程设计成绩:
指导教师签名:
年月日