8_4led.asm

来自「可作为接口实验的参考教材」· 汇编 代码 · 共 78 行

ASM
78
字号
;//*******************************************************************
;//*文件名:74164串行显示实验程序  FOR  8088


;功能:把数字通过74**164串行输出到数码管上显示。
;      

;接线:对应连接静态数码管显示模块的DIN、CLK到8255模块的PC0、PC1。
;      连接8255模块的CS_8255到CPU模块的200H。
;//********************************************************************
PA8255    EQU 200H        ;8255PA口地址
PB8255    EQU 201H        ;8255PB口地址

PC8255    EQU 202H        ;8255PC口地址
PCTL8255  EQU 203H        ;8255控制口地址

CODE    SEGMENT
ASSUME  CS:CODE,DS:CODE
START:   
        PUSH    CS
        POP     DS 
                          
        MOV     DX,PCTL8255
        MOV     AL,80H    ;设置8255口为输出口
        OUT     DX,AL
        
BEGIN: 
        MOV     AL,8      ;显示“8”
        CALL    DISPLAY
        MOV     AL,8      ;显示“8”
        CALL    DISPLAY     
        MOV     AL,0      ;显示“0”
        CALL    DISPLAY
        MOV     AL,8      ;显示“8”
        CALL    DISPLAY          
       	
       	JMP     $
        

DISPLAY:        
        LEA     BX,LED
        XLAT             ;取段码
        MOV     CL,8H    ;分八位写一个LED          
WRITE1: 
        RCL     AL,1
        PUSH    AX  
        JNC     OUTDATA1
        MOV     DX,PCTL8255        
        MOV     AL,01H       ;PC0:DIN 置“1”
       	OUT     DX,AL  
        JMP     NEXT1
OUTDATA1:
        MOV     DX,PCTL8255        
        MOV     AL,00H      ;PC0:DIN 置“0”
       	OUT     DX,AL                  
NEXT1: 
        MOV     DX,PCTL8255
        MOV     AL,03H     ;PC1:CLK 置“0”
       	OUT     DX,AL    
       	MOV     AL,02H     ;PC1:CLK 置“1”
       	OUT     DX,AL
       	POP     AX
       	DEC     CL
       	CMP     CL,0
       	JNZ     WRITE1
       	RET
       	
        
LED:     DB 3FH,06H,5BH,4FH,66H,6DH   ;012345
         DB 7DH,07H,7FH,6FH,77H,7CH   ;6789AB
         DB 39H,5EH,79H,71H,00H,40H   ;CDEF -
         
         DB  01H,02H,04H,08H,10H,20H,40H,80H
         
	 	 CODE  ENDS
END      START    
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?