第八章(1) 并行接口8255
- 格式:ppt
- 大小:315.00 KB
- 文档页数:27
可编程并行接口实验(8255A方式1)实验目的掌握8255A工作方式1的使用方法;进一步掌握编写中断服务程序的方法。
实验内容1.8255A选通行输出实验,具体要求:(1)设置8255A的A 口工作在方式1输出;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:依次输出01H,02H,04H,08H,10H,20H,40H,80H。
使L0—L7依次发光。
2.8255A选通行输入实验,具体要求:(1)设置8255A的A 口工作在方式1输入;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:读取开关表示的ASCII码,在屏幕上显示其对应的字符。
实验连线1实验内容1连线(1)8255A芯片的A口PA7~PA0连发光二极管L7~L0;(2)PC3连接IRQ;(3)PC6连接单脉冲发生器。
2实验内容2连线(1)8255A芯片的A口PA7~PA0连逻辑开关K7~K0;(2)PC3连接IRQ;(3)PC4连接单脉冲发生。
流程图这是试验2的流程图,实验1相似实验代码试验2的代码是在试验1的代码基础上稍作改动,这里只列出试验2的代码:ASSUME CS:CODE,DS:DATADATA SEGMENT ;数据段定义IOPORT EQU 5400H-280HIOPORT_CENT EQU 5000H ;9054芯片的I/O起始地址MASKZ EQU 0FBH ;8259A主片屏蔽码MASKC EQU 0F7H ;8259A从片屏蔽码INTNUM DW 0 ;保存ES的定义量INTNUMSE DW 0 ;保存BX的定义量DA TA ENDSSTACK1 SEGMENT STACK ‘STACK1’DB 50 DUP(?)STACK1 ENDSCODE SEGMENT ;代码段定义START:MOV DX,IOPORT+28BH ;根据实验连线,此次实验控制口为540BH MOV AL,0B0H ; 设置8255A的控制关键字(设置成方式1,端口A输入) OUT DX,ALCLI ;关中断MOV DX,IOPORT_CENT+68H ;设置9054芯片使能寄存器IN AX,DXOR AX,0900HOUT DX,AX;得到原中断向量并保存MOV AH,35H ;取中段向量MOV AL,73H ;针对本台计算机查表得出中断类型号为73HINT 21HMOV INTNUMSE,BX ;保存BXMOV AX, ES ;保存ESMOV INTNUM, AX;设置新中断向量MOV AX,CSMOV DS,AXMOV DX,OFFSET INTPROC ;设置新的中断向量MOV AL,073HMOV AH,25HINT 21H;设置中断屏蔽寄存器IN AL,21H ;8259A主片的中断屏蔽寄存器端口地址为21HAND AL,MASKZ ;中断屏蔽寄存器中主片相应位置1,本实验中第三位置1 OUT 21H,ALIN AL,0A1H ;8259A从片的中断屏蔽寄存器端口地址为0A1HAND AL,MASKCOUT 0A1H,AL ;中断屏蔽寄存器中从片相应位置1,本实验中第四位置1 STI ;开中断MOV AL,00001001B ;设置PC4为1MOV DX,IOPORT+28BHOUT DX,ALOUTER:MOV AH,01H ;判断是否有任意键按下INT 16HJZ OUTER ;没有键按下程序重复MOV AX, INTNUM ;恢复原中断向量MOV DS,AXMOV DX, INTNUMSEMOV AL,073HMOV AH,25HINT 21H;恢复中断屏蔽寄存器IN AL,21HOR AL,04HOUT 21H,ALIN AL,0A1HOR AL,08HOUT 0A1H,ALMOV DX,IOPORT_CENT+68H ;关闭9054IN AX,DXOR AX,0F6FFHOUT DX,AXMOV AH,4CH ;有键按下,程序结束,返回DOS界面INT 21H;中断服务子程序INTPROC:PUSH AX ;寄存器入栈保护PUSH BXPUSH CXPUSH DXPUSH DSSTI ;开中断MOV CX,0FFFFHH: LOOP HMOV DX,IOPORT+288H ;A口输入IN AL,DXMOV DL,AL ;输出开关所对应的字符MOV AH,02HINT 21HMOV AL,20H ;发出EOI结束中断OUT 20H,ALOUT 0A0H,ALCLI ;关中断POP DS ;寄存器出栈POP DXPOP CXPOP BXPOP AXIRET ;中断返回CODE ENDSEND START结果描述试验1:每按一次单脉冲,L0~L7依次发光。
《微机原理及应用技术》课程实验报告实验五可编程并行I/O接口8255【预习内容】1.怎样选中可编程I/O接口?怎样实现I/O端口的寻址?8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。
通过地址/数据总线,按照指定地址进行读写操作直接选中8255。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片。
CPU与外设交换的数据是以字节为单位进行的。
因此一个外设的数据端口含有8位。
而状态口和命令口可以只包含一位或几位信息,所以不同外设的状态口允许共用一个端口,命令口也可共用。
数据信息、状态信息和控制信息的含义各不相同,按理这些信息应分别传送。
但在微型计算机系统中,CPU通过接口和外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能把状态信息和命令信息也都当作数据信息来传送,且将状态信息作为输入数据,控制信息作为输出数据,于是三种信息都可以通过数据总线传送了。
但要注意,这三种信息被送入三种不同端口的寄存器,因而能实施不同的功能。
CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,也需要由译码电路来形成I/O端口地址。
I/O端口的编址方式有两种·存储器映象寻址方式·I/O指令寻址方式2.8255A接口芯片内含几个I/O端口?它们的名称分别是?这些I/O口地址有何特点?三个数据端口,三种工作方式A口可工作于方式0、方式1和方式2中的任一种B口可工作于方式0和方式1,但不能工作于方式2C口只能工作于方式08位数据端口:A口、B口、C口A口:PA7~PA0B口:PB7~PB0C口:PC7~PC0连接外部设备A口与B口为一个8位的输入口或输出口C口单独作为一个8位的输入口或输出口配合A口和B口使用,作为控制信号和状态信号3.8255A有几个控制字?怎样设置?它有两个控制字,一个是方式选择控制字,一个是对C口进行置位或复位控制字。