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