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

📄 带welcome的键盘显示程序.asm

📁 关于ADUC841(51内核)的各种实验程序,有串口,ADC,DAC,PWM,的应用及基于ADUC841设计的万用表源程序
💻 ASM
字号:
$MOD841
CLK81 EQU P3.5
DAT81 EQU P3.3
KEY   EQU P3.2
KEYVAL EQU 30H
ORG 0000H
LJMP MAIN
ORG 0060H
MAIN:MOV R0,#0FFH;
CLR_IN_RAM:MOV @R0,#00H
DJNZ R0,CLR_IN_RAM
MOV SP,#50H
LCALL YS
;***********************初始化
LCALL INIWH8281
;***********************欢迎菜单
LCALL WELCOME
START:JB KEY,START
MOV A,#16H
LCALL WTO81
MOV A,#00H
LCALL WTO81
MOV A,#93H
LCALL WTO81;
LCALL RDKVAL;
MOV A,#15H;
LCALL WTO81;
MOV A,KEYVAL;
ANL A,#0F0H;
SWAP A;
ORL A,#00H
LCALL WTO81;
MOV A,#15H;
LCALL WTO81;
MOV A,KEYVAL;
ANL A,#0FH;
ORL A,#10H
LCALL WTO81;
LJMP START;
;***********************初始化WH8281
INIWH8281:SETB CLK81;
          SETB DAT81;
MOV A,#12H
LCALL WTO81;
MOV A,#80H;
LCALL WTO81;
RET
;***********************欢迎界面子程
WELCOME:MOV A,#14H;
LCALL WTO81
MOV A,#0CH
LCALL WTO81
MOV A,#14H
LCALL WTO81
MOV A,#1BH
LCALL WTO81
MOV A,#14H
LCALL WTO81
MOV A,#2DH
LCALL WTO81
MOV A,#14H
LCALL WTO81
MOV A,#3DH
LCALL WTO81
MOV A,#14H
LCALL WTO81
MOV A,#40H
LCALL WTO81
RET
;***********************读取键值子程序
RDKVAL:CLR CLK81
       LCALL DELAY
SETB CLK81
JB DAT81,$
CLR CLK81
LCALL DELAY
SETB CLK81
MOV R6,#08H
RD1:LCALL DELAY
    LCALL DELAY
    MOV C,DAT81
    RLC A
    CLR CLK81
    LCALL DELAY
    SETB CLK81
    DJNZ R6,RD1
    MOV KEYVAL,A
RET
;***********************写入WH8281子程序
WTO81:MOV R6,#08H
WAT:CLR CLK81
    LCALL DELAY
    SETB CLK81
JB DAT81,WAT
CLR CLK81
LCALL DELAY
SETB CLK81
JNB DAT81,$
WTB81:RLC A
MOV DAT81,C
CLR CLK81
LCALL DELAY
SETB CLK81
LCALL DELAY
LCALL DELAY
DJNZ R6,WTB81
SETB DAT81
RET;***********************延时程序
YS:MOV R5,#00H
MOV R4,#50H
YS1:DJNZ R5,$
DJNZ R4,YS1
RET
DELAY:NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      RET

END

⌨️ 快捷键说明

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