课程设计实验报告Word格式文档下载.docx
《课程设计实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《课程设计实验报告Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
交通路灯的亮灭规律,设有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延时3秒后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁3次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车。
延时3秒后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。
(2)课程设计思路:
通过8255A控制发光二极管。
PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯。
程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。
各发光二极管共阳极。
(3)课程设计步骤:
a、方案设计:
考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。
由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。
开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。
b、电路插接:
本实验利用装置提供的8255A芯片和逻辑电平显示器进行。
c、编程与运行
三、课程设计:
十字路口的交通灯亮灭共分为五种状态:
状态0:
初始状态,1、2、3、4路口的红灯全亮
状态1:
1、3路口绿灯亮,2、4路口红灯亮,持续时间3秒
状态2:
1、3路口黄灯闪烁,闪烁3次,2、4路口红灯亮
状态3:
1、3路口红灯亮,2、4路口绿灯亮,持续时间3秒
状态4:
1、3路口红灯亮,2、4路口黄灯闪烁,闪烁3次
根据这五种状态,确定各状态下8255A的PB、PA端口输出值,如下表:
端口
PB3
PB2
PB1
PB0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
PB
PA
状态0
1
0DH
B6H
状态1
0BH
AEH
状态2
黄灯亮
07H
9EH
黄灯灭
0FH
BEH
状态3
75H
状态4
0CH
F3H
F7H
五种状态关系图:
四、课程设计线路连接电路图
五、系统组成框图及工作原理说明
工作原理:
通过8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
硬件连接如图5所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B口的端口上,PB3、PB0、PA5、PA2分别对应1、2、3、4路口的黄灯,PB1、PA6、PA3、PA0分别对应1、2、3、4路口的红灯,PB2、PA7、PA4、PA1分别对应1、2、3、4路口的绿灯。
CPU的D0~D7接到8255和8253的D0~D7,A2~A14接到74LS138译码器,译码后分别连到8255和8253的CS片选端。
8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的A15.8086通过检测此端口是否有高电平来判断是否3S定时到。
OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。
8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。
六、程序功能描述及程序流程
(1)程序功能描述:
程序应分为以下两部分:
8255A初始化程序段:
此部分主要实现8255A的初始化,包括对8255A各端口的工作方式、输入输出状态的初始化;
对各状态的编程:
此部分主要实现各个状态下各路口交通灯的亮灭变化。
(2)程序流程如下:
七、汇编源程序
DATASEGMENT;
设置数据段,以及端口地址分配
PORTAEQU07FE0H
PORTBEQU07FE1H
PORTCEQU07FE2H
PTCON8255EQU07FE3H
PORT0EQU07FE4H
PORT1EQU07FE5H
PORT2EQU07FE6H
PTCON8253EQU07FE7H
DATAENDS
CODESEGMENTASSUMEDS:
DATA,CS:
CODE
INIT:
MOVAX,DATA
MOVDS,AX
MOVDX,PTCON8253
MOVAL,36H
OUTDX,AL
MOVDX,PORT0
MOVAX,2710H
MOVAL,AH
OUTDX,AL;
通道0工作方式3周期0.01s
MOVAL,71H
通道1工作方式1
MOVAL,96H
MOVDX,PORT2
MOVAL,64H
通道2工作方式3周期1s8253初始化完成
MOVDX,PTCON8255
MOVAL,80H
8255初始化A,B,C口均工作在方式0
MOVDX,PORTA
MOVAL,
MOVDX,PORTB
MOVAL,0FH
OUTDXAL;
灯初始化完成
MOVCL,0;
循环5次
LOOP0:
PUSHCL
STA:
MOVAL,0AEH
OUTDX,AL
MOVDX,PORTB
MOVAL,0BH
OUTDX,AL;
1,3绿灯亮,2,4红灯亮
MOVDX,PORT1
MOVAX,300
MOVAL,AH
OUTDX,AL;
8253通道1赋值开始计时共3秒
FLA1:
MOVAL,80H
MOVDX,PORTA
MOVAL,9EH
MOVAL,07H
MOVCX,0
TEST1:
MOVDX,PTCON8255;
检测PB7
MOVAL,82H
INAL,DX
ANDAL,0FH
MOVAH,AL
MOVDX,PTCON8255
XORAL,AH
ADDCL,AL
CMPCL,5
JNZTEST1;
闪烁3次
MOVDX,PTCON8255
MOVAL,75H
MOVAL,0DH;
1,3红灯亮,2,4绿灯亮
FLA2:
MOVAL,0F3H
MOVAL,0CH
TEST2:
MOVDX,PTCON8255
MOVAL,88H
MOVDX,PORTC
JNZTEST2;
POPCL
INCCL
CMPCL,5
JNZLOOP0
CODEENDS
ENDSTA
八、收获和体会
通过本次课程设计,使所学的微机原理的理论知识得到巩固和加深理解,初步具有运用理论知识分析问题、解决问题的能力。
同时,培养学了运用所学的理论解决实际问题的能力,初步掌握分析简单电路,调试简单汇编程序以及撰写实验报告的能力。
总之,提高了分析和解决问题的能力以及实验技能。