实验二8255并行接口的应用实验_第1页
实验二8255并行接口的应用实验_第2页
实验二8255并行接口的应用实验_第3页
实验二8255并行接口的应用实验_第4页
实验二8255并行接口的应用实验_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二8255并行接口应用实验 一.实验目的 1.掌握8255工作方式的编程设计。2. 8255与外部设备进行连接的应用。 二.实验设备与材料: TDN86/88教学实验系统一台,扁平插线若干。 三.实验原理: INTEL8255是一种通用的可编程并行 1/O接口芯片,是专为INTEL公司的微处理器设计的,也可用于其它系列的微型机系统中。利 用8086汇编指令系统,编制初始化程序,可以变更 8255的工作方式,通用性强,使用灵活。 8255具有3个带锁存或缓冲的数据端口,它 的并行数据宽度为8位。可与外设并行进行数据交换。A 口和B 口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息

2、交换。 8255 能与许多外部设备连接,例如:键盘、显示器、打印机等。 PA, P g - PA PA, TTD CS* OND- 為為 z . A. - - PC,* PC,* PC%* PC. PC, PCi - IC-j PBi-_M p&- PB,*1 D4 03 D2 01 DO 甘徨JM cU B 口 旳! 1 1井式琏漳 = - 4nt?M 1 co f窑4性、 卜 A 口 0 L oo A坯o di Tsr (a)工作方式控制字 (b)C 口按位置位/复位控制字 2 3 4 5 6 r s 0 10 11 12 13 1 15 17 IS 1$ 20 ?55A 一三三m

3、三一三 07 D6 X 04 03 0? D1 00 10 ixixn I m D刨 OI O O O O 1 O O t 2 OI 1 O 3 O 1 1 : * 1 O O & 1 O 1 6 1 1 O 7 1 1 1 c a K ta 皇(4 四.实验内容及步骤 实验使用, 1. 8255的一般输入输、出方式 本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其 其线路如图1所示。 A、B、C三个端口以排针形式引出,供 8255 ZXDJ 加 一 D3 二XD4 一 5 X0* _X10H _XIOW XAO 一XAl D123 4DGT DD-Q

4、DDDD 1073 图 1 8255 接口实验中端口地址如表 1所示 信号线 寄存器 编址 I0Y3 A 口 60H B 口 61H C 口 62H 控制寄存器 63H 表1 接口实验单元中的开关和发光二极管电路 参考程序1 STACK SEGMENT STACK A1: OUT 63H,AL IN AL,61H DW 64 DUP STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AL,82H ;设 8255 方式字 10000010 A 位输出,B 口 位输入。 OUT 60H,AL JMP A1 CODE ENDS END START 执

5、行程序后,拨动开关组 K0-K7,观察发光二极管 LED0-LED7变化,它应是与开关组 K0-K7的值是一一对应的变化。 图2 8255输入输出方式实验接线图 注:圆圈处是要求接的连线。 (1)按图2接线。用扁平线(8头)分别插在8255的A 口和发光二极管的插针上。用扁平线 分别插在8255的B 口和拨动开关的插针上。 (2)输入源程序,汇编、连接后装入系统。 8XK1+Ev 4, 7k X 8 SH-LBD UNIT 按图所示实验线路,8255端口 A工作在方式0并作为输出口,端口 B工作在方式0并作为输入口。用一组开关信号接入端口 B,端口 A输 出线接至一组发光二极管上,通过对 82

6、55编程来实现输入输出功能。 实验步骤 PAO DO PA7 D7 PBO KO 8255 PB7 K7 SW- LKD UHT 2. 8255的选通输入、输出方式 按图3所示实验线路,8255端口 A工作在方式0并作为输出口,端口 B工作在方式1并作为输入口。从端口 C的PC2成为选通信号输入,端 STBb,PC0成为中断请求信号输出端INTRbo当B 口数据就绪后,通过发口 STBb信号来请求CPU读取端口 B数据并送A 口输出显示。 实验步骤 图3 8255选通方式实验接线图 (KK1-初态为“ 1 ”) 注:圆圈处是要求接的连线。 1) 2) 按图3接线。用扁平线(8头)分别插在825

7、5的A 口和发光二极管的插针上。用扁平线 的PC0插针接8259的IRQ7插针上,8255的PC1插针接KK1-插针上。 输入源程序,汇编、连接后装入系统。 分别插在8255的B 口和拨动开关的插针上。8255 参考程序2 STACK SEGMENT STACK DW 64 DUP STACK ENDS CODE SEGMENT ASSUME CS:CODE START: CLI MOV AL,0A6H OUT 63H,AL MOV AL,05H OUT 63H,AL MOV DS,AX MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,003CH MOV SI,A

8、X MOV AX,0000H MOV SI,003EH MOV SI,AX POP DS IN AL,21H ;读 IMR AND AL,7FH ;开 IRQ7中断 号 JMP A1 IRQ7: IN AL,61H ;读开关信息 OUT 60H,AL ;输出开关 信息 MOV AL,20H OUT 20H,AL IRET END START KK1 IKQ7 8259 KK UNT A HLT ;等待中断请求信 CODE ENDS 2. 8255的选通输入、输出方式 执行程序后,拨动开关组 K0-K7 (即设定一输入值),按一下拨动开关 KK1,观察发光二极管LED0-LED7变化,它应是与开

9、关组 K0-K7D的 设定值一一对应 。 3.运用8255设计的键盘及显示接口 图中用并行接口 8255A作为微机与键盘间的接口,采用逐行扫描法识别键。将键盘中的列与 C口的PC0-PC1相连,C 口为输入口; PB0PB7与七段代码显示器连接 B 口为输出。 程序执行过程如下: 识别是否有键按下,方法是使PA0 PA3输出全0,读cm (行值)中只要有一位为0,就说明有键按下, 检测到有键按下后,延迟一段时间 ,根据找到的键号,转去执行显示七段代码显示器的程序,这时七段代码显示器就显示与该键相同的数 值。 实验步骤 图4 8255接口的应用键盘及显示接线图P USH DS OUT 21H,A

10、L MOV AX,0000H A1: STI 3) PA0- PA3相连,A 口为输出;将行与 C 口为输入 JNZLONE IN AL,62H 厂厂 I 4 7KXB PBO Y1 PCI / PCO o 2 II E 1 O c B A PAD RAi PA2 FA3 III 111 111 丿 p +5V _ 5 I! oI 注:圆圈处是要求接的连线。 (1)按图4接线。 II II III (2)输入源程序,汇编、连接后装入系统。 (3)执行程序后, 按一下键盘,7段代码就会显示相应的数字。 参考程序3 STACK SEGMENT STACK DW 64 DUP OUT 63H,AL

11、BEGIN: CALLDIS 码管数据的子程序 MOV AL,00H STACK ENDS DATA SEGMENT TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,3000H MOV AL,00H MOVSI,AL ;清空存 ;显示七段代 CALLCLEAR 代码管清0子程序 LONE: JMP KCODE TEST AL,02H CALL CCSCAN ;检测 是否有键按下子程序 JNZ INK

12、1 JMP BEGIN INK1: 抖动 CALL DIS CALL DALLY ;子程序为延时,消 CALL DALLY CALL CLEAR CALLCCSCAN JNZ NEXT MOV AL,04H KCODE: ADD AL,CL CALL PUTBUF P USH AX KON: NEXT: CALL DIS CALL CLEAR CALLCCSCAN JNZ KON POP AX INC CL MOV AL,CH 放数据的缓冲区 MOV SI+1,AL MOV SI+2,AL MOV SI+3,AL MOV DI,3003H MOAL,81H ; 8255 方式字 定义选择0方式

13、,A 口为输出; ;B 口为输出; INK2: JNZ INK2 JMP BEGIN MOV CH,0FEH MOV CL,00H COLUM: MOV AL,CH OUT 60H,AL IN AL,62H TEST AL,01H KERR: TEST AL,08H JZ KERR ROL AL,1 MOV CH,AL JMP COLUM JMP BEGIN CCSCAN: MOV AL,00H OUT 60H,AL 例:00000001, 00000010, 00000011, 11111110, 11111111 四思考题: 显示出来,即开关 K0 K3为0110时,七段代码上显示“ 6”

14、。 2 .编写一个8255接口的程序。按照实验内容 2,8255选通方式触发一次 KK1-开关将十六进制1- 0FFH分时显示在8个发光二极管上。 NOT AL AND AL,03H RET CLEAR: MOV AL,00H OUT 61H,AL RET DIS: P USH AX MOV SI,3000H MOV DL,0F7H MOV AL,DL AGAIN: OUT 60H,AL MOV AL,SI MOV BX,OFFSET TABLE 取七段代 OUT: MOV AL,BX OUT 61H,AL CALL DALLY INC SI MOV AL,DL TEST AL,01H JZ OUT ROR AL,1 MOV DL,AL JMP AGAIN RET JNZ T2 LOOP T1 POP CX RET P UTBUF: MOV SI,DI MOV SI,AL DE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论