⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8279.asm

📁 MCS-51单片机实验 39个实用实验和源码
💻 ASM
字号:
;FOR EAT598
Z8279   EQU     0F239H  ;8279 状态/命令口地址
D8279   EQU     0F238H  ;8279 数据口地
LEDMOD  EQU     10H     ;右端输入 八位字符显示
                        ;外部译码键扫描方式,双键互锁
LEDFEQ  EQU     38H     ;扫描速率,24分频
LEDCLS  EQU     0D1H    ;清除
LEDWR0  EQU     80H     ;设定的将要写入的显示RAM地址

        ORG     0000H
        AJMP    START
        ORG     0040H
START:
        MOV     SP,#60H
        LCALL   INIT8279        ;初始化8279

WAIT:   MOV     DPTR,#Z8279     
        MOVX    A,@DPTR         ;读8279状态字
        ANL     A,#0FH
        JZ      WAIT
        
        LCALL   DELAY
        
        MOV     A,#40H          ;设置读FIFO命令
        MOVX    @DPTR,A         ;命令送8279
        MOV     DPTR,#D8279
        MOVX    A,@DPTR
        ANL     A,#3FH
        MOV     R4,#00H         ;置显示位置
        MOV     R5,A            ;送显示值
        LCALL   DISLED
        SJMP    WAIT
INIT8279:                       ;8279初始化子程序
        PUSH   DPH              ;保存现场
        PUSH   DPL
        PUSH   ACC
        LCALL  DELAY            ;延时
        MOV    DPTR,#Z8279
        MOV    A,#LEDMOD        ;置8279工作方式
        MOVX   @DPTR,A
        MOV    A,#LEDFEQ        ;置键盘扫描速率
        MOVX   @DPTR,A
        MOV    A,#LEDCLS        ;清除 LED 显示
        MOVX   @DPTR,A
        LCALL  DELAY            ;延时
        MOV    DPTR,#Z8279
        MOV    A,#90H      
        MOV    DPTR,#D8279
        MOV    A,#40H
        MOVX   @DPTR,A
        MOV    A,#40H
        MOVX   @DPTR,A
        MOV    A,#0H
        MOVX   @DPTR,A
        MOV    A,#0H
        MOVX   @DPTR,A
        MOV    A,#0EFH
        MOVX   @DPTR,A
        MOV    A,#27H
        MOVX   @DPTR,A
        MOV    A,#5BH
        MOVX   @DPTR,A
        MOV    A,#7FH
        MOVX   @DPTR,A     
          
        POP    ACC              ;恢复现场
        POP    DPL
        POP    DPH
        RET
;显示字符子程序
;输入: R4,位置 R5,值
DISLED:  PUSH   DPH             ;保存现场
         PUSH   DPL
         PUSH   ACC
         MOV    A,#LEDWR0       ;置显示起始地址
         ADD    A,R4            ;加位置偏移量
         MOV    DPTR,#Z8279
         MOVX   @DPTR,A         ;设定显示位置
         MOV    DPTR,#LEDSEG    ;置显示常数表起始位置
         MOV    A,R5
         MOVC   A,@A+DPTR       ;查表
         MOV    DPTR,#D8279
         MOVX   @DPTR,A         ;显示数据
         POP    ACC             ;恢复现场
         POP    DPL
         POP    DPH
         RET
DELAY:                          ;延时子程序
        PUSH    0               ;保存现场
        PUSH    1
        MOV     0,#10H
DELAY1: MOV     1,#0H
        DJNZ    1,$
        DJNZ    0,DELAY1
        POP     1               ;恢复现场
        POP     0
        RET

LEDSEG: DB     3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'
        DB     7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'
       
        END

⌨️ 快捷键说明

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