
课程名称: 微机原理及应用实验
实验项目名称: 可编程并行接口 8255 实验
学院:
专业:
指导教师:
报告人: 学号: 班级:
实验时间:
实验报告提交时间:
教务处制
| 一、实验名称:可编程并行接口 8255 实验 | |||
| 二、实验目的 了解可编程并行接口芯片 8255 的内部结构、工作方式、初始化编程及应用 | |||
| 三、实验内容 (1) 流水灯实验:利用 8255 的 A 口循环点亮发光二极管。 (2) I/O 输入输出实验:利用 8255 的 A 口读取开关状态,8255 的 B 口把状态送发光二极管显示 | |||
| 四、实验原理 1、8255A 的内部结构: (1)数据总线缓冲器:这是一个双向三态的 8 位数据缓冲器,它是 8255A 与微机系统数据总线的接口。输入输的数据、CPU 输出的控制字以及 CPU 输入的状态信息都是通过这个缓冲器传送的。 (2)三个端口 A,B 和 C:A 端口包含一个 8 位数据输出锁存器和缓冲器,一个 8 位数据输入锁存器。B 端口包含一个 8 位数据输入/输出锁存器和缓冲器,一个 8 位数据输入缓冲器。C 端口包含一个 8 位数据输出锁存器及缓冲器,一个 8 位数据输入缓冲器(输入没有锁存器)。 (3)A 组和 B 组控制电路:这是两组根据 CPU 输出的控制字控制 8255 工作方式的电路,它们对于 CPU 而言,共用一个端口地址相同的控制字寄存器,接收 CPU 输出的一字节方式控制字或对 C 口按位复位字命令。方式控制字的高 5 位决定 A 组工作方式,低 3 位决定 B 组的工作方式。对 C 口按位复位命令字可对 C 口的每一位实现置位或复位。A 组控制电路控制 A 口和 C 口上半部,B 组控制电路控制 B 口和 C 口下半部 (4)读写控制逻辑:用来控制把 CPU 输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到 CPU。 2、8255A 的工作方式: 方式 0—基本输入输出方式;方式 1—选通输入输出方式;方式 2—双向选通输入输出方式 3、8255A 的状态字: 图 1可编程并行接口 8255 电路 | |||
| 五、实验电路及连线 1、流水灯实验: (1) 实验连线 该模块的 WR、RD 分别连到 MCU 主模块的 WR、RD。 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到 MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。 8255 模块选通线 CS 连到 MCU 主模块的地址 A15。 8255 的 PA0~PA7 连到发光二极管的 L0~L7。 图 2 流水灯实验 (2) 运行程序,观察发光二极管。 2、I/O 输入输出实验: (1) 实验连线 该模块的 WR、RD 分别连到 MCU 主模块的 WR、RD。 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到 MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。 8255 模块选通线 CE 连到 MCU 主模块的地址 A15。 8255 的 PA0~PA7 接开关 K0~K7,8255 的 PB0~PB7 接发光二极管 L0~L7。 | |||
| c 六、实验程序 (1)流水灯 CODE SEGMENT ASSUME CS:CODE ORG 100H START:MOV AL,80H ;控制字:方式0,A输出 MOV DX,0003H ;控制端口地址 OUT DX,AL MOV DX,0000H ;A端口地址 MOV AL,0FEH ;点亮一个灯
AA: OUT DX,AL CALL DELAY ;延时 ROL AL,1 ;左移流水 JMP AA DELAY PROC NEAR MOV CX,0FFFFH BB: WAIT LOOP BB RET DELAY ENDP
CODE ENDS END START (2) CODE SEGMENT ASSUME CS:CODE ORG 100H START: MOV AL,90H ;控制字:A口输入,方式0,B口输出,方式0 MOV DX,0017H OUT DX,AL AA:MOV DX,0014H IN AL,DX ;从A口读入开关状态 MOV DX,0015H OUT DX,AL JMP AA CODE ENDS END START 七、上机调试情况说明 实验首先从点亮一个LED灯开始做起,此步成功后简单的利用循环语句即达到流水灯效果,但调试中出现的结果是全亮,查明原因为未加延时程序,因为人的视觉有暂留效应,在延时程序上需调整合理的时间不然太慢也不好 八、实验结果 完成了(1)利用 8255 的 A 口循环点亮发光二极管的流水灯。(2)利用 8255 的 A 口读取开关状态,8255 的 B 口把状态送发光二极管显示。 九、实验总结 本次实验是我加深了理解控制口的地址,以及在延时程序上让我学会了NOP和WAIT语句,以及程序嵌套的循环语句。 | |||
| 指导教师批阅意见: 成绩评定: 预习情况(20) | 实验过程(35) | 实验报告(45) | 总分 |
| 年 月 日 | |
| 备注: |
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
