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

📄 复件 tp55kd.asm

📁 MCS96的源程序。用来给96单片机使用
💻 ASM
字号:
;--------------------------------------------------------------
C8255   EQU     0C006H                           ;8255命令口地址
P8255A  EQU     0C000H                           ;8255 PA口地址
P8255B  EQU     0C002H                           ;8255 PB口地址
P8255C  EQU     0C004H                           ;8255 PC口地址
;---------------------------------------------------------------
AX      EQU     1CH
AL      EQU     1CH
AH      EQU     1DH
BL      EQU     1EH
DX      EQU     22H
DL      EQU     22H
;---------------------------------------------------------------
        ORG     2080H
        LD      SP,#0FCH
        LCALL   DELAY                             ;延时
        LDB     AL,#82H                           ;PB口输入,PA,PC口输出
        STB     AL,C8255[0]                                            ;C8255[0]是用来设置8255的工作方式的寄存器
	LDB     AL,#08H                           ;使PC3置1,PC3是对应用来控制74LS244的使能控制段,即控制led的亮
	STB     AL,P8255C
KB_DIS:
        SCALL   RD_KB                             ;读键子程序
        JBS     AL,4,KB_DIS                       ;等待
        SCALL   DISP                              ;显示子程序
        SCALL   DELAY
        SJMP    KB_DIS                            ;循环扫描
;---------------------------------------------------------------
DISP:
        LDB     DL,DL_DAT[AX]                     ;显示键值
        STB     DL,P8255A
        RET
;---------------------------------------------------------------
RD_KB:
        LDB     BL,#0AH                           ;键盘扫描第一行      0000 1010 将pc1置1
        STB     BL,P8255C[0]
        SKIP
        SKIP
        LDB     AL,P8255B[0]                      ;读键值
        XORB    AL,#0FFH
        JNE     KEYVAL                            ;判键是否按下
        LDB     BL,#09H                           ;扫描第二行          0000 1001 奖pc0置1
        STB     BL,P8255C[0]
        SKIP
        SKIP
        LDB     AL,P8255B[0]
        XORB    AL,#0FFH
        JE      NOKEY
KEYVAL:                                           ;计算键码
        ANDB    BL,#01H
        SHL     BL,#03H
        LDB     AH,AL                              ;AX中的值即代表偏移量
        LDB     AL,#0FFH
SHIFT:  INCB    AL
        SHRB    AH,#01H
        JNC     SHIFT
        ORB     AL,BL
        SCALL   DELAY
        SJMP    KBEXIT

NOKEY:  LD      AL,#10H
KBEXIT:
        RET
;---------------------------------------------------------------
DELAY:  LD      DX,#0F00H                          ;延时子程序
DELAY1: DEC     DX
        JNE     DELAY1
        RET
        
;---------------------------------------------------------------
DL_DAT: DB      3FH,06H,5BH,4FH,66H,6DH,7DH,07H    ;0,1,2,3,4,5,6,7   06H,4FH,6DH,07H
        DB      7FH,6FH,77H,7CH,39H,5EH,79H,71H    ;8,9,A,B,C,D,E,F   6FH 7CH 5EH 71H
;---------------------------------------------------------------
        END

⌨️ 快捷键说明

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