8259

作者: 孜然味的啊 | 来源:发表于2020-05-18 13:13 被阅读0次

一、8255是干什么的

8255是一块芯片,用于管理CPU与外设之间数据的输入和输出。

二、8255可以怎么管理输入输出

8255有三个端口:A口,B口和C口。它们的长度都是8位的。都可以用作数据的输入或输出。

8255有三种工作方式来管理输入输出:方式0、方式1和方式2

三、8255怎么玩

初始化:通过向芯片输入不同的控制字从而确定8255的工作方式。

初始化设置好一端(设置控制台ABC口 10010000    存好 63H)

1、若8255的A口为方式0,输入,B口为方式1输出,C口高四位为输入,低四位为输出,且对C口PC3复位,A口的地址为60H,试写出初始化程序。

10011100(A口为方式0,输入,B口为方式1输出,C口高四位为输入,低四位为输出)

00000110(C口PC3复位)

60H A口     61H B口     62H C口     63H控制字端口 (A口的地址为60H)

MOV AL 10011100

OUT 63H,AL   ;      8255控制字端口地址63H ;工作方式控制字10011100;送到控制字端口63H

MOV AL 00000110 

OUT 63H,AL   ;

初始化(存一下) 到 地址(超了存一下);求值 IN AL 地址(超了存一下)

2、假设当前8255的端口地址为60H-63H,请编程用2种方法实现将C口的PC5清零,PC1置1,注意不能修改其他位

00001010(PC5清零)                    (清零:PC52^5 置0,其余1)

00000011(PC1置1)                    (置1:PC12^1置1,其余0)

MOV AL 00001010            |       IN AL,62H;获取C口值

OUT 63H,AL                      |       AND AL,11011111

MOV AL,00000011            |       OR AL,00000010

OUT 63H,AL                      |       OUT 62H,AL

3、要求使用8255作为接口,采集一组开关K0-K7的状态,然后通过一组发光二极管L0-L7显示出来,假设端口地址为200H-203H,请问该题目如何设计以及对应的程序段。

A口开关 B口小灯

10010000(工作方式A方式0输入 外设控制小灯,其余不用管)

MOV DX,203H(地址超了255,存一下)

MOV AL,10010000(初始化)

OUT DX,AL(初始化到地址)

MOV DX, 200H(A口地址存一下)

IN   AL,DX(获得A口的值)

MOV DX,201H(设置小灯B口)

OUT DX,AL(输出到小灯)

相关文章

网友评论

      本文标题:8259

      本文链接:https://www.haomeiwen.com/subject/hcojohtx.html