微机原理课程设计模拟交通灯Word文档格式.docx
《微机原理课程设计模拟交通灯Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计模拟交通灯Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
第三章:
模拟交通灯的软件设计6
3.1程序流程图6
3.2程序代码6
第四章:
模拟交通灯的调试10
4.1调试过程10
4.2调试中产生的问题以及解决办法11
第五章:
设计体会与小结11
参考文献
刖吕
此次课程设计为模拟交通灯,是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口,车站,码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯,交通灯的数字化给人们生产生活带来了极大的方便,而且大扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设讣。
现在的交通灯系统很多都增加了智能控制环fj,比如对闯红灯的车辆进行舶照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调盯交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
模拟交通灯的功能与设计方案
1.1功能规划
通过调研与资料搜寻,了解交通灯的工作过程。
经过分析,该课程设计采用左时加中断控制的方式进行,对两个方向车辆的通行时间分别计时。
在运行的过程中要显示红绿灯等待时间,使程序顺利运行,交通灯持续工作。
1.2设计思路
1.南北方向车辆放行9秒钟。
即东西方向红灯和南北方向的绿灯同时点亮9钟;
2.9秒钟后,南北方向的绿灯闪烁三次,以警示车辆将切换红绿灯。
此时东西方向仍维持红灯点亮。
3.南北方向的绿灯闪烁三次后,转为东西方向放行9秒钟。
即东西方向的绿灯和南北方向的红灯同时点亮9秒钟:
4.东四方向放行9秒钟后,转为东西方向的绿灯闪烁三次,以警示将切换红绿灯。
此时南北方向仍维持红灯点亮。
5.东四方向的绿灯闪烁三次后转为南北方向放行9秒钟。
如此循环重复。
第二章:
模拟交通灯的硬件电路
2.18255A与8259A芯片原理
2.1.18255A芯片介绍
(1)芯片概述
Intel8086/8088系列的可编程外设接「1电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
全部输入输出均与TTL电平兼容。
他有三个输岀端(端口A、端口B、端口C),每侧端口都可以通过编程设左为输入端口或输出端口,芯片还有为输入输出端口提供的控制联络信号,端口寻址信号等。
(2)8255A的部结构
(3)
8255A部由PA、PB、PC三个8位可编程双向I/O口,A组控制器和B组控制器,数据缓冲器及读写控制逻借四部分电路组成。
图2.1.1鄢玉民的8255A的内部结构
(4)8255A的引脚功能
数据总线(8条):
D0~D7,用于传送CPU和8255A间的数据、命令和状态字。
控制总线(6条):
RESET:
复位线,高电平有效。
/CS:
片选线,低电平有效。
/RD./WR:
/RD为读命令线,/WR为写命令线,皆为低电平有效。
AO、A1:
地址输入线:
用于选中PA、PB、PC口和控制寄存器中哪一个工作。
并行I/O总线(24条):
用于和外设相连,共分三组
(5)8255A控制字和状态字
8255A有两个控制字:
方式控制字和C口程位/复位控制字。
用户通过程序可以把这两个控制字送到8255A的控制寄存器,以设左8255A的工作方式和C口各位状态。
方式控制字用于设泄8255A三个端口工作于什么方式,是输入还是输出方式。
方式控制字:
方式控制字用于设左8255A三个端口工作于什么方式,是输入还是输出方式。
C口置位/复位控制字
本控制字可以使C口各位单独置位或复位,以实现某些控制功能。
见图
2.1.28259A芯片介绍
8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。
单个的8259A能管理8级向量优先级中断。
在不增加其他电路的情况下,最多可以级联成64级的向虽:
优级中断系统。
8259A有多种工作方式,能用于各种系统。
各种工作方式的设左是在初始化时通过软件进行的。
在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态©
(2)8259A的部结构结构如图2.1.2
®
2.1.2鄢玉民的8259A内部结构图
二三三
1)中断请求寄存器(IRR),中断请求寄存器(IRR)为8位,接受来自IRO〜IR7的中断请求信号,当IRO〜IR7上出现某一中断请求信号时,IRR对应位被置1;
2)中断屏蔽寄存器IMR,中断屏蔽寄存器IMR为8位(8个中断输入),若IRR(中断请求寄存器)中记录的8个中断请求中有任何一个需要屏蔽,只要将IMR的相应位宜1即可,未被屏蔽的中断请求可以进入优先权判别器:
它的容由CPU通过对8259初始化时设置设左。
3)中断服务寄存器ISR,8位,保存当前正在处理的中断请求,例如,如果ISR的D2二1,表示CPU正在为来自IR2的中断请求服务。
4)优先权判别器PR,若某中断谙求正在被处理,8259A外部又有新的中断请求,则由优先权判别器将新进入的中断请求和当前正在处理的中断进行比较,以决左哪一个优先级更髙。
若新的中断请求比正在处理的中断级別髙,由PR通过控制逻借向CPU发岀中断申请IVT,正在处理的中断自动被禁止,先处理级别高的中断。
5)数据总线缓冲器,用于8259A与数据总线的接口,传输命令控制字、状态字和中断类型码。
6)读/写控制逻辑,确立数据总线缓冲器中数据的传输方向,选择部的各命令字寄存器。
当CPU发读信号时将8259A的状态信息放到数据总线上:
当CPU发写信号时,将CPU发来的
命令字信息送入指立的命令字寄存器中。
7)级联缓冲/比较器,用来存放和比较在系统中用到的所有8259A的级联地址。
主控8259A通过CASO、CAS1和CAS2发送级联地址,选中从控8259A。
(3)8259A的功能
功能:
就是在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最髙的中断请求,再将此请求送到cpu的INTR端:
当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。
(4)8259A操作命令字
操作命令字如下:
这2位为特征位,必须为00
R
SL
EO
L2
LI
LO|
1•…循环优先级
0.…非循环优先级1-…E0I命令
0•…非EOI命令
■
图2.1.2
(2)邸玉民的8259A的操作字
2.2交通灯控制模块电路设计
交通灯控制模块采用8255控制四个双色灯来实现,用8255的PC口连接实验板上的双色灯模块,PA0'
PA7分别连接双色灯的DGO、DG1、DG2、DG3、DRO、DR1、DR2、DR3。
8255片选端cs接741S138译码电路模块的210H口°
电路如图:
E>
□-rx'
vcc
2.3倒计时显示模块电路设计
计时模块电路采用实验板上的串一并转换模块来实现,用8255的PAO口连接到串一并转换模块的数据端,用PBO产生elk脉冲,连接到串一并转换模块的脉冲端口。
DS1U3
D
PY:
1夕
KI
3—
QO
CLKIN<
SPBO厂ipro
f:
z
3
£
3
n
w
Qi
SERINA
J-lv.V
2
i_d
4
6
1A
Q2
Q3
o£
.K11>
CLR
09PCCRL
)d
卜;
>
kx
1U
:
1
Q4
c二
dp
12
「?
^=|
13
Q6
rxi
620
Q7
LED174LS164
2.4中断模块电路
采用IRO作为中断源。
CS片选接138译码器Y0「
2.5PCB图
9255A
模拟交通灯的软件设计
3.1设计流程图
3・2程序代码=
程序代码如下:
6.程序代码:
;
将8255PA口地址标识为PA
8255PB口地址
程序标识初始化
PAOEQU0210H
PBOEQU0211H
PC
EQU0212H
8255PC口地址
PCT
EQU0213H
8255控制口地址
DATA
SEGMENT
PB
DB?
ENDS
STACK
SEGMENTSTACK
STA
DW50DUP(?
)
左义堆栈大小50wordDW类型
TOP
EQULENGTHSTA
;
指向栈顶
开始
CODE
代码段开始声明
ASSUME
CS:
CODE,DS:
假泄伪指令,CODE为代码段
START:
MOV
AL,13H
初始化8259A
DX,200H
OUT
DX,AL
AL,8
DX,201H
AL,01H
AX,0
DS,AX
LEA
AX,INTO
DS:
[4*8],AX
AX,CS
[4*8+2],AX
IN
AL,DX
AND
AL,OFEH
PUSH
CS
压栈指令,将IP压栈,用于保存断点
POP
DS
岀栈指令
DX,PCT
设置8255口为输出口
AL,10000000B
全输岀模式
DX,PC
设宜戸。
口为输岀电平端口
AL,OOH
四个双色LED都置低电平