微机原理交通信号灯控制系统设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“微机原理课程设计报告”。
HEFEI UNIVERSITY
微机原理设计报告
题
目 交通信号灯的控制 系
别 电子信息与电气工程系
班 级 11级电子信息工程(2)班 姓
名 钟文俊
学 号 1105012012 指导 老师 丁健
完成 时间 2013年5月28日
交通信号灯控制系统
摘要:本文介绍了以8086微处理器为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制,主要是模拟十字路口的红绿灯,介绍了交通灯控制器的原理以及电路接线。在设计中所用到的编程语言是汇编语言,延时采用的是软件延时(即通过汇编指令)。关键词:8086微处理器;交通灯;8255A
一、课程设计任务
1.1 设计目标
利用ZY15MicInt12BB微机原理及接口实验箱上的8086微处理器模块、并行接口8255A模块,地址译码单元以及0—1LED灯显示等模块,根据所学的微机原理知识,按照实际交通情况设定一种交通灯规则,设计一个简单的交通信号灯控制系统。
1.2 设计要求
在一个十字路口,东西方向和南北方向各有两组交通指示灯,每组有红、黄绿三个灯。东西方向同色灯连在一起,南北方向同色灯连在一起。对各组的交通灯进行控制,以保证车辆在各道上通畅运行。
两组组的交通灯工作过程为:
1.南北方向亮绿灯允许通行,东西方向亮红灯禁止通行 2.当延时25秒后,南北方向的黄灯同时变亮,且延时5秒。3.延时后,东西方向转为绿灯,南北方向转为红灯,且延时25秒。
4.25秒后,转为东西方向黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。5.当遇到道路障通,或紧急情况时,A、B道全为红灯。
二、原理说明与硬件设计
2.1原理说明 在本次课程设计当中,采用的是以8086微处理器为核心,以8255A芯片作为接口芯片,运用软件定时(即通过汇编指令)控制LDE灯(即交通灯)按照设定的交通规则显示。
2.2 8086简介
8086微处理器是Intel系列的第三代微处理器,拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器,其主频为5MHz/10MHz,地址总线宽度为20位,可寻址的内存空间打1MB。
8086微处理器的内部功能结构由两个独立的工作部件——执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)构成。其中,(1)BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。(2)EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。(3)在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入
队列中后,EU才继续执行指令。8086CPU的内部功能结构框图如图2-1所示。
图2-18086CPU的内部功能结构框图
8086微处理器采用40引脚的DIP封装,其引脚图如图2-2所示。8086 CPU到底可以工作在最大模式或最小模式两种工作模式下,这完全由硬件决定。处于不同工作模式时,其部分引脚的功能是不同的。
图2-2 8086的引脚
(1)两种工作方式下功能相同的引脚
MM/MX:最小/最大模式输入控制信号。引脚用来设置8086 CPU的工作模式。当为高电平(接+5V)时,CPU工作在最小模式;当为低电平(接地)时,CPU工作在最大模式。AD15 ~AD0:地址/数据总线,双向,三态。这是一组采用分时的方法传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。
A19/S6~A16/S3:地址/状态信号,输出,三态。这是采用分时的方法传送地址或状态的复用引脚。
BHE(低)/S7:允许总线高8位数据传送/状态信号,输出,三态。为总线高8位数据允许信号,当低电平有效时,表明在高8位数据总线D15 ~D8上传送1个字节的数据。S7为设备的状态信号。
RD,WR:读信号和写信号,输出,三态,低电平有效。
READY:准备就绪信号,输入,高电平有效。READY信号用来实现CPU与存储器或I/O端口之间的时序匹配。
TEST:等待测试控制信号,输入,低电平有效。信号用来支持构成多处理器系统,实现8086 CPU与协处理器之间同步协调的功能,只有当CPU执行WAIT指令时才使用。NMI:非屏蔽中断请求信号,输入,高电平有效。
当NMI引脚上有一个上升沿有效的触发信号时,表明CPU内部或I/O设备提出了非屏蔽的中断请求,CPU会在结束当前所执行的指令后,立即响应中断请求。
RESET:复位信号,输入,高电平有效。
CLK:时钟信号,输入。
VCC,GND:电源输入引脚和接地引脚。8086 CPU采用单一+5V电源供电。(2)CPU工作于最小模式时使用的引脚信号
当MM/MX引脚接高电平时,CPU工作于最小模式。此时,引脚信号24~31的含义及其功能如下。
M/IO:存储器、I/O端口选择控制信号。信号指明当前CPU是选择访问存储器还是访问I/O端口。为高电平时,访问存储器,表示当前要进行CPU与存储器之间的数据传送。为低电平时,访问I/O端口,表示当前要进行CPU与I/O端口之间的数据传送。
INTR:可屏蔽中断响应信号,输出,低电平有效。CPU通过信号对外设提出的可屏蔽中断请求做出响应。为低电平时,表示CPU已经响应外设的中断请求,即将执行中断服务程序。
ALE:地址锁存允许信号,输出,高电平有效。CPU利用ALE信号可以把AD15 ~AD0地址/数据、A19/S6~A16/S3地址/状态线上的地址信息锁存在地址锁存器中。DT/R:数据发送/接收信号,输出,三态。DT/信号用来控制数据传送的方向。DT/为高电平时,CPU发送数据到存储器或I/O端口;DT/为低电平时,CPU接收来自存储器或I/O端口的数据。
DEN:数据允许控制信号,输出,三态,低电平有效。信号用作总线收发器的选通控制信号。当为低电平时,表明CPU进行数据的读/写操作。
HOLD:总线保持请求信号,输入,高电平有效。
HLDA:总线保持响应信号,输出,高电平有效。
2.3 8255简介
本次设计灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图2-3所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-4所示。
图2-3 8255的内部结构及引脚
图2-4 8255工作方式控制字和C口按位置位/复位控制字格式
三、流程图及电路接线图
1、软件流程图如下:
图3-1软件流程图
2系统汇编源程序
系统采用汇编程序,利用延时子程序实现定时,具体程序如下:
PORT_A EQU
2A0H
;声明8255A口地址 PORT_B EQU
2A1H
;声明8255B口地址 PORT_C EQU
2A2H
;声明8255C口地址
CMD_PORT EQU
2A3H
;声明8255A控制字寄存器端口地址 PORT_CS EQU
2A3H CODE SEGMENT
ASSUME CS:CODE START:
MOV AL,10000001B
;方式控制字:B口为输出
MOV DX,2A3H
OUT DX,AL
;写方式控制字到8255A控制字寄存器端口 SHOW:
NLDH: MOV DX,PORT_B
MOV AL,00101000B
;状态1:南北方向亮绿灯东西方向亮红灯
OUT DX,AL
MOV BL,0
;BL清0 YS1:
CALL DELAY
INC BL
CMP BL,500
JNG YS1
NHDH : MOV DX,PORT_B
MOV AL,00011000B
OUT DX,AL;
MOV BL,0 YS2:
CALL DELAY
INC
BL
CMP BL,100
JNG YS2
NHDL:
MOV DX,PORT_B
MOV AL,01000100B
OUT DX,AL
MOV BL,0 YS3:
CALL DELAY
INC BL
CMP BL,500
JNG YS3
NHDH:
MOV DX,PORT_B
MOV AL,01000010B
OUT DX,AL
MOV BL,0 YS4:
CALL DELAY
INC BL
CMP BL,100
;延时25秒;(BL)++;比较
;(BL)
;状态4:南北方向亮红灯东西方向黄灯;延时5秒
JNG YS4
JMP SHOW DELAY PROC
;50ms延时子程序
PUSH BX
;保护现场
PUSH CX
MOV BL,5
NEXT: MOV CX,2801
;内循环次数(实现延时10 ms)W10MS: LOOP W10MS
;
DEC BL
;修改外循环计数值
JNZ NEXT
;BX不等于0则进行外循环
POP CX
;恢复现场
POP BX
RET
;退出子程序,返回主程序 DELAY ENDP
;结束过程 CODE ENDS END START
四、总结
通过此次课程设计,结合所学的《微机原理与接口技术》这门课程的知识,对其应用之一——交通灯控制器进行设计与实现。总体感觉收获比较多,因为可以将书本上的知识应用到实践当中。刚开始的时候,翻阅了一些资料,还是没有什么头绪,后来在几个同学的帮助下,经过多次的上机练习和调试终于找到了入口点,接下来的事情就相对的容易一些了。首先,把握整个的设计的大概的流程,然后再对每一个分快进行设计,最后进行调试。在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255A的初始化及其端口的使用。此次课程设计感觉收获很多,比如,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。希望老师能够引导学生应该如何去把握、分析课程设计的主题,找出突破点,让学生积极主动进行课程设计,以使学生更好地提高自学的能力。
参考文献:
[1] 洪永泉.微型计算机原理与接口技术[M].合肥:中科大出版社,2008 [2] 徐泽明.利用微机控制交通指示灯[J] .软件导刊,2007(5)[3] 项新建.微机交通灯控制系统[J].ASPT来源刊,1997(09)