《北理工8255A可编程并行接口实验(共12页).docx》由会员分享,可在线阅读,更多相关《北理工8255A可编程并行接口实验(共12页).docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 本科实验报告实验名称: 8255A可编程并行接口实验 课程名称: 计算机原理与应用实验 实验时间:任课教师: 实验地点:10号楼102实验教师: 实验类型: 原理验证 综合设计 自主创新学生姓名: 学号/班级: 组 号:学 院: 信息与电子学院同组搭档:专 业: 信息工程成 绩:实验一8255A可编程并行接口实验1. 实验目的1) 掌握并行接口芯片 8255A 和微机接口的连接方法;2) 掌握并行接口芯片 8255A 的工作方式及其编程方法;3) 掌握小键盘的工作原理及接口技术;4) 利用 8255A 并行接口芯片与小键盘的接口电路,实现并行接口实验。2. 实验原理
2、和内容1)8255A 芯片原理 8255A 是可编程并行接口芯片,双列直插式封装,用+5V 单电源供电,如图 3-1 是8255A 的逻辑框图,内部有 3 个 8 位 I/O 端口:A 口、B 口、C 口;也可以分为各有 12 位的两组:图 3-1 8255A 芯片管脚示意图 A 和 B 组,A 组包含 A 口 8 位和 C 口的高四位,B 组包含 B 口 8 位和 C 口的低 4 位。 A 组控制和 B 组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于 8255A 数据总线缓冲器是双向三态 8 位驱动器,因此可以直接和 80
3、88 系统数据总线相连。2)8255A 端口地址A1A0/ RD/WR/CS操作类型操作方向001010000111000PA数据总线 PB数据总线 PC数据总线输入(读)00110101111100000000数据总线PA 数据总线PB 数据总线PC 数据总线控制字输出 (写)110111100数据总线三态非法状态数据总线三态断开图 3-2 8255A 端口地址3)8255A 工作方式 8255A 芯片有三种工作方式:方式 0、方式 1、方式 2。它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式。 方式 0 :基本输入/输出 该方式下的 A 口 8 位和 B 口 8 位可以由输入
4、的控制字决定为输入或输出, C 口分成高 4 位(PC7PC4)和低 4 位(PC3PC0)两组,也有控制字决定其输入或输出。需注意的是:该方式下,只能将 C 口其中一组的四位全部置为输入或输出。 方式 1 :选通输入/输出 该方式又叫单向输入输出方式,它分为 A、B 两组,A 组由数据口 A 和控制口 C 的高 4 位组成,B 组由数据口 B 和控制口 C 的低 4 位组成。数据口的输入/输出都是锁存的,与方式 0 不同,由控制字来决定它作输入还是输出。C 口的相应位用于寄存数据传送中所需的状态信号和控制信息。 方式 2 :双向输入输出 本方式只有 A 组可以使用,此时 A 口为输入输出双向
5、口,C 口中的 5 位(PC3PC7)作为A 口的控制位。4)8255A 基本控制字5) 端口 C 复位/复位控制字 7 6 5 4 3 2 1 0 无关位 1=置位,0=复位 选择 000111 置位/复位标志:0=有效6) 8255A 与小键盘连接示意图 键盘阵列由 8255 芯片控制,用行列连接方式到 8255 芯片 A 口,B 口,同时连接 8255 芯片的片选到 Y1 /IO 地址(288H28FH),以使键盘阵列由 8255 芯片控制。如图 3-3所示。 图 3-3 8255A 与小键盘连接示意图3. 编程提示 小键盘按键处理有:行扫描法和行反转法。1) 行扫描法 首先判断小键盘是
6、否有某键按下; 其次判断哪一个键被按下,并显示其结果。 编程流程图如图 3-4 所示。2) 行反转法 首先判断小键盘是否有某键按下; 其次行线输出,列线输入; 再次列线输出,行线输入; 最后判断哪一个键被按下,并显示其结果。 编程流程图如图 3-5 所示。图 3-4 行扫描法编程流程图图 3-5 行反转法原理示意图3) 实验硬件连接方法 键盘矩阵由 8255A 芯片控制,并将 PA0-PA3、PB0-PB3 与键盘连接到 8255A 的 A 口和C 口,同时片选地址 288H-28FH,以便键盘矩阵由 8255A 控制。 8255A 的 PA0-PA3 连接小键盘的行 0-行 3; 8255A
7、 的 PB0-PB7 连接小键盘的列 0-行 3; 8255A 的 CS 连接实验箱 Y1/IO 地址。从 288H-28FH 选择。4) 程序设计流程图 编写程序,按下小键盘任意键后,要求在用 2 号调用在计算机屏幕显示结果。图 3-6 小键盘显示设计流程图4. 实验结果1) 实验程序data segmenttab1DB F, E, D, Ctab2DB B, A, 9, 8tab3DB 7, 6, 5, 4tab4DB 3, 2, 1, 0kb DB 00eh, 00dh,00bh,007hport equ 288hdata endsstack segmentsta db 256 dup(
8、?)topequ size stastack endscode segment assume cs:code,ds:data,ss:stackmain proc far mov ax,data mov ds,ax mov ax, stack mov ss,ax mov sp,top; 初始化8255mov dx, port+3mov al,b out dx,al begin: mov al,0mov dx, portout dx,almov dx, port+1in al,dx and al,0fh cmp al,0fh je begin;若有键按下,按列查找哪个键mov al,bmov dx
9、, port out dx,almov dx, port+1in al,dx lea bx,tab1 cmp al,0fh jne displaymov al,bmov dx, port out dx,almov dx, port+1in al,dx lea bx,tab2 cmp al,0fh jne displaymov al,bmov dx, port out dx,almov dx, port+1in al,dx lea bx,tab3 cmp al,0fh jne display mov al,bmov dx, port out dx,almov dx, port+1in al,dx
10、 lea bx,tab4 cmp al,0fh jne displaynopjmpbegin;查找按下的键,并显示display:mov di,bxlea si,kb ;存小键盘扫描码next: cmp al,si ;查键盘扫描码表 je show ;找到了,转去显示 inc si ;否则继续 inc di jmp nextshow: ;显示键入字符 mov ah,2mov dl,diint 21hcmp dl, F ;若是F则退出 je overcall delayjmpbegin ;重新开始查询over:mov ah,4ch int 21hmain endpdelay proc near
11、;延时循环 100*65536次 push dipush cx mov cx,0fh mov di,0 again:nopdec di jnz again dec cx jnz again pop cx pop di retdelay endpcode endsend main2) 实验结果运行程序时,在小键盘上按键可显示相应的数字,可多次输入,并设置退出键退出程序。5. 实验体会本课程实验须在虚拟机中运行,同时连接实验硬件,准备阶段就比较复杂,但是老师给了详细的安装及连接教程,我们很快就完成了准备工作。程序方面我们有上学期汇编的基础,老师也给我们作了详细的讲解,我们在第一节课打下了良好的基础。本次实验帮助我熟悉了8255A-5芯片的工作方式,了解了并行接口芯片 8255A 和微机接口的连接方法,熟悉了编程的过程,进一步加深了对本课程的理解。专心-专注-专业