微机原理与接口技术实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术实验报告
班级:通信1309
姓名:哲熙
学号: 13212171
指导教师:周永华
实验一交通信号灯模拟控制
一.实验目的
交通信号灯模拟控制是一个基于实际工程原理,结合文献、现实十字路口交通等得研究,对工程问题进行确定、表述和建模分析,获得最优设计方案,理解并在工程实践中遵守工程职业道德规,根据实验室实验环境限定条件确定实验方案。所有知识涵盖本课程中的并行接口芯片、汇编语言程序设计、算法分析、接口地址的确定、外围设备的控制等。通过此实验可以理解微机系统中接口电路的作用,掌握软件硬件协同工作原理,熟悉微机原理与接口技术的综合应用。最终达到如下实验目的:
(1)掌握可编程并行接口 8255 芯片的工作原理
(2)掌握利用并行接口芯片 8255 实现信号灯控制的硬件设计和软件设计(3)掌握接口电路及汇编语言程序设计的调试方法
(4)了解 PC 机和实验系统板的连接原理,理解系统机扩展原理
(5)了解并行接口芯片在工程实践中的典型应用及实现方式。
二.实验容
设计利用 TPC-2003A 实验系统提供的 8255 芯片和信号灯设计实现十字路口交通灯的模拟控制的硬件连接和程序设计。
1.设计要求
(1)通过实际调研了解十字路口交通灯原理,确定实现的算法流程。
(2)利用实验系统设计硬件电路,明确 8255 芯片端口地址。
(3)编程实现并调试完成交通信号灯的模拟控制。
(4)分析设计方案并比较和实际交通信号灯的技术性能差别。
2.设计目标和性能指标
(1)考察一个实际十字交通等路口交通控制,模拟在实验室实现。
(2)扩展功能:用 LED 应倒计时方式显示各路口灯亮时间。
(3)对于复杂多路口应该如何设计。例如结合车流、人流等多方因素方案如何确定。
三.实验电路
如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。
8255动态分配地址:
控制寄存器:28BH
A口地址: 288H
C口地址: 28AH
红黄绿红黄绿
四.程序流程图
五.源程序
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,0EC0BH ;写控制端口,地址0EC0BH MOV AL,10010000B ;C口方式0输出
OUT DX,AL
FIRST: MOV DX,0EC0AH ;写C口,地址0EC0AH MOV AL,00100100B ;南北绿,东西红,C口写00100100
OUT DX,AL
MOV CX,0 ;外层循环初值65536,延时程序
MOV AX,2000H ;层循环初值2000H
DELAY1: DEC AX
JNZ DELAY1
LOOP DELAY1
MOV BL,5 ;黄灯亮5次
SECOND:MOV DX,0EC0AH ;C端口
MOV AL,01000100B ;南北黄,东西红
OUT DX,AL
MOV CX,3000H ;短延时,黄灯亮与暗之间的间隔
MOV AX,0100H
LI1: DEC AX
JNZ LI1
LOOP LI1
MOV DX,0EC0AH
MOV AL,00000100B ;南北黄灯灭,东西红灯继续亮
OUT DX,AL
MOV CX,3000H
MOV AX,0100H
WEN1: DEC AX ;短延时
JNZ WEN1
LOOP WEN1
DEC BL ;闪烁次数控制
JNZ SECOND ;南北路口黄灯再亮
THIRD: MOV DX,0EC0AH ;写入C口
MOV AL,10000001B
OUT DX,AL ;南北红,东西绿
MOV CX,0 ;长延时,外循环初值65536,同上
MOV AX,2000H ;循环初值2000H
DELAY2: DEC AX
JNZ DELAY2
LOOP DELAY2
MOV BL,4 ;控制黄灯亮的次数FORTH: MOV DX,0EC0AH ;写入C口
MOV AL,10000010B ;南北红,东西黄
OUT DX,AL
MOV CX,3000H
MOV AX,0100H
LI2: ;短延时
DEC AX
JNZ LI2
LOOP LI2
MOV DX,0EC0AH ;C端口
MOV AL,10000000B ;东西黄灯灭,南北红灯继续亮
OUT DX,AL
MOV CX,3000H
MOV AX,0100H
WEN2: DEC AX
JNZ WEN2
LOOP WEN2
DEC BL
JNZ FORTH ;东西路口黄灯再亮
MOV DL,0FFH
MOV AH,06H
INT 21H ;查看是否有键按下
JZ FIRST ;没有就重复
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS
END START