实验四 可编程并行接口芯片8255
一、实验目的
1、 学习并掌握8255的各种工作方式及其应用 2、 学习在系统接口实验单元上构造实验电路 二、实验设备
TDN86/51教学实验系统 三、实验芯片简介
1、 系统中的8255线路
8255的数据线片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,见图4.1。
XD0XD1XD2XD3XD4XD5XD6XD7XIORXIOWXA0XA1RESETIOY3343332313029282753698356D0D1D2D3D4D5D6D7RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC743214039383718192021222324251415161713121110系统总线8255
图4.1 系统中的8255线路
8255端口地址
信 号 线 IOY3
2、接口实验单元中的开关和发光二极管电路
寄 存 器 A口 B口 C口 控制寄存器 编 址 60H 61H 62H 63H 图4.2中D7—D0为8个发光二极管的接线点,K7—K0为8个开关的接线点。
+5V4.7K×8LED×8D0K04.7K×81+5V0D7K7
PA0D0LEDR+5VPA7PB0D7K0PB78255K7
图4.2 拨动开关和发光二极管电路 图4.3 实验线路图
四、 实验内容及步骤
(一)8255接口方式0应用实验
1.使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口,将图4.3中的K7—K0开关信号顺序与PB7—PB0相连,端口A的PA7—PA0分别与发光二极管D7—D0相连,然后通过对8255芯片编程来实现输入/输出功能。 实验程序:
ORG2000 2000 B082 MOV AL,82 2002 E663 OUT 63,AL 2004 E461 A1:IN AL,61 2006 E660 OUT 60,AL 2008 EBFA JMP A1
2.运行实验程序,拨动开关组,观察发光二极管亮灭情况,并记录之。
(二)8255接口应用实验
1. 使8255端口A工作在方式0并作为输出口,PA7—PA0分别与发光二极管D7—D0相连,然后通过对8255芯片编程来实现输入/输出功能。
ORG2100
2100 2102 2104 2106 2108 B082 E663 E461 E660 EBFA MOV OUT A1:MOV OUT JMP AL,82 63,AL AL,01 60,AL A1
2.运行实验程序,拨动开关组,观察发光二极管应亮灭情况,并记录之。
3.若要使D3或D6对应的发光二极管点亮,试修改程序,进行实验并记录之。
(三)用8255作为七段数码管的接口
1.按照图4.4连接实验线路,并输入下列程序。
实验程序:
ORG 2200
2200 MOV A L , 80 2202 OUT 63 , AL 2204 MOV AL , 3F 2206 OUT 61 , AL 2208 MOV AL, 00
OUT 60 , AL
图4.4实验线路图
2.运行程序,观察记录4个数码管显示情况。 3.若要使数码管上显示字形为“5”,应如何修改程序,实验之。 4.若要使只有第1、3个数码管显示“3”,应如何修改程序,实验之。
(四)综合运用8255的三个端口,使之实现如下功能:当PC0=1时,在四个数码管上显示
K7-K0中处于闭合的开关的位数。
实验程序:
ORG 2300
„„ 2300 MOV SI , 1010 (OFFSET DATA)
3F 2303 LOOP0:XOR CX ,CX DATA (1010 )
06 MOV AL ,91
5B 2307 OUT 63 , AL
2309 LOOP1:IN AL , 62 4F AND AL ,01 66 JZ LOOP0
6D 230F LOOP2: IN AL ,60
7D 2311 CMP AL ,00
07 2313 JZ LOOP2 (1017 ) „„ 2315 LOOP3: SHR AL ,1 图4.5 2317 INC CX
2318 JNC LOOP3
231A DEC CX
231B ADD SI , CX 231D MOV AL ,[SI] 231F OUT 61 , AL 2321 MOV AL ,00 2323 OUT 62 ,AL2325 XOR CX,CX 2327 MOV SI ,1010 232A JMP LOOP2
实验步骤:
1.按实验线路图4.6接线
2.输入程序并检查无误,经汇编、连接后装入系统
3.按图4.5在存储单元1010——1017内存入0~7的字段代码。(E1010回车) 4.改变开关组K0—K7的状态(注:K7-K0中只有一个闭合),使得 B口的显示内容值发生变化,最终使数码管显示不同的数字;
5.修改程序,使数码管的显示位数不同。将修改内容及结果记录之。
+5V4.7K×8K7PA7ABCDEFGdPX1X2X3X4PB7K0PA0PB08255PC7PC6PC5PC4PC0KK1+74LS0774LS07 图4.6 实验线路图
五、实验报告要求
1、 对各实验内容进行分析总结。
2、 对实验内容(四)的程序进行注释,说明改写后的程序及实验结果。 3、 写出完整的实验报告。