微机原理关于8255的程序段

以下总结微机原理8255的常考的程序段。

正文开始:


一,查询式输出接口以下,状态端口8000H,数据端口8001H,要求从内存buf单元传送一个字符到输出设备上,D7=1表示外设未就绪,需要等待查询,D7=0时外设可以接收数据。请编写查询传送一个字符的汇编程序段。

DATA SEGMENT
 
 
DATA ENDS
 
CODE SEGMENT  
    ASSUME CS:CODE,DS:DATA
 
START:
    MOV DX,8000H
 LL:IN AL,DX ;从状态口给一个状态信息给AL
    TEST AL,80H;然后测AL
    JNZ LL;没准备好跳回LL循环等待
    INC DX;相当于MOV DX,8001H ;准备好了
    MOV AL,BUF;从内存buf单元取一个字节给AL
    OUT DX,AL;把被打印的字符送到8001数据端口上
    
    MOV AH,4CH
    INT 21H
     
CODE ENDS
     END START

二,编汇编程序段,使8255A的PC6上发出一个宽度为1ms的正脉冲,设已知8255A的端口地址为60H~63H,1ms的时间可调用延时子程序DELAY获得(子程序DELAY不用编写,默认已经编好,可以直接调用)。

DATA SEGMENT
 
 
DATA ENDS
 
CODE SEGMENT  
    ASSUME CS:CODE,DS:DATA
 
START:
    MOV DX,63H
    MOV AL,1000 0000B
    OUT DX,AL;设置8255端口均为方式0输出
    
    MOV DX,63H
    MOV AL,0000 1100B
    OUT DX,AL;对PC6清零
    
    MOV AL,0000 1101B
    OUT DX,AL;使PC6输出正脉冲
    CALL DELAY;延时1ms
    
    MOV AL,0000 1100B
    OUT DX,AL;使PC6输出变为负脉冲
    
    
    MOV AH,4CH
    INT 21H
     
CODE ENDS
     END START

以上完结。

微机原理关于8255的程序段_第1张图片

你可能感兴趣的:(微机原理,开发语言,汇编,网络,微机原理8255,算法,数据结构,开发语言)