12020033 赵薇 微机原理与接口结束实验报告
实验四 跑马灯设计(8255A)
一、 实验目的
掌握可编程并行接口8255A方式0的工作原理及使用方法。 二、 实验仪器与材料
1. TPC-H通用微机接口实验系统1台 2. PC微机1台 3. 导线若干 三、 实验内容
1. 实验电路如图,8255A的C口接逻辑电平开关K0-K7,A口接LED发光二极管显示
电路L0-L7。
2. 实现从8255的C口输入数据,再从A口输出,根据8个发光二极管的发光情况与
开关的状态来验证接口的正确性。
3. 试编写程序,实现跑马灯功能。即使相邻两个灯亮,延时一段时间后顺序使下两个
灯亮,循环下去……直到开关K0闭合,程序退出。
四、 实验流程图
1.检验接口正确性 2.跑马灯
五、 实验电路图
12020033 赵薇 微机原理与接口结束实验报告
六、 实验程序
1. 检查接口是否正确
IO EQU 288H;定义8255地址 CODE SEGMENT ASSUME CS: CODE START:
MOV DX, IO+3
MOV AL, 10001001B; 写控制字 OUT DX, AL
LP: MOV DX, IO+2
IN AL, DX;读开关状态 MOV DX, IO
OUT DX, AL;将开关状态输出到LED JMP LP;返回开始循环 CODE ENDS END START
2. 跳马灯
IO EQU 288H N EQU 0FFFFH CODE SEGMENT
ASSUME CS: CODE START:
MOV DX,IO+3 MOV AL,10001001B OUT DX,AL
MOV AL,03H LP:
MOV DX,IO OUT DX,AL ROL AL,1 ROL AL,1 MOV CX,N LP1: NOP
LOOP LP1
MOV CX,N LP2: NOP
LOOP LP2
MOV CX,N LP3: NOP
LOOP LP3
MOV CX,N ;定义8255地址
;定义延时时间 ;DX间址计8255控制口 ;写控制字 ;写循环初值 ;DX间址计8255A口 ;输出循环初值 ;向左移位 ;向左移位 ;延时 ;延时 ;延时 ;延时
12020033 赵薇 微机原理与接口结束实验报告
LP4: NOP
LOOP LP4
MOV BL,AL ;将AL数据转存到BL
MOV DX,IO+2 ;DX间址计8255C口 IN AL,DX ;读入开关状态 MOV CL,07H ;移位 SAL AL,CL
CMP AL,10000000B ;判断开关是否有动作 JZ EXIT ;K0闭合则退出
MOV AL,BL ;否则将BL数据存入AL JMP LP EXIT:
MOV AH,4CH ;退出程序 INT 21H
CODE ENDS END START
七、 实验现象分析
1. 实现了用8 个二极管的发光情况与开关的状态来验证接口的正确性。
2. 实现了跑马等功能,在修改程序之前,8个二极管是全亮的,我认为出现这种情况
的原因是,延时太短,导致看不出来灯亮灭的变化。所以我们在程序中多加了几组延时,从而达到了跑马灯的实验效果。