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

📄 rt12864m.asm

📁 单片机汇编例程学习,大量的汇编例程
💻 ASM
字号:
      ORG    0000H
      LJMP   MAIN
      ORG    0100H
      COMMAND    EQU      30H
      DATA1      EQU      31Hi
      DATA2      EQU      32H
      DATA3      EQU      33H
      RS         EQU      P2.5
      RW         EQU      P2.6             
      E          EQU      P2.7
;#define LCD_RS P2_5
;#define LCD_RW P2_6
;define LCD_EN P2_7
;define BUSY P0_7
  ;********延时程序**************************    
    DELAY:
         MOV     R6,#00H
         MOV     R7,#00H
    DELAY1:
         NOP
         DJNZ    R7,DELAY1
         DJNZ    R6,DELAY1
         RET     
  ;********读BF和AC值************************
    PR0:
         PUSH    ACC
         MOV     P0,#0FFH
         CLR     RS
         SETB    RW
         SETB    E
         MOV     COMMAND,P0
         CLR     E
         POP     ACC
         RET
  ;*********写指令代码************************
    PR1:
         PUSH     ACC
         CLR      RS
         SETB     RW
    PR11:MOV      P0,#0FFH
         SETB     E
         MOV      A,P0
         CLR      E
         JB       ACC.7,PR11
         CLR      RW
         MOV      P0,COMMAND
         SETB     E
         CLR      E
         POP      ACC
         RET
   ;*********写显示数据************************
    PR2:
         PUSH     ACC
         CLR      RS
         SETB     RW
    PR21:MOV      P0,#0FFH
         SETB     E
         MOV      A,P0
         CLR      E
         JB       ACC.7,PR21
         SETB     RS
         CLR      RW
         MOV      P0,DATA1
         SETB     E
         CLR      E
         POP      ACC
         RET
   ;*********读显示数据************************
    PR3:
        PUSH      ACC
        CLR       RS
        SETB      RW
   PR31:MOV       P0,#0FFH
        SETB      E
        MOV       A,P0
        CLR       E
        JB        ACC.7,PR31
        SETB      RS
        SETB      RW
        MOV       P0,#0FFH
        SETB      E
        MOV       COMMAND,P0
        CLR       E
        POP       ACC
        RET
   ;************写CGROM*************************
     CG:
         
         LCALL    PR1
         MOV      R0,#8
    CG1:
         MOV      DATA1,DATA3
         LCALL    PR2
         LCALL    PR2
         MOV      DATA1,DATA2
         LCALL    PR2
         LCALL    PR2
         DJNZ     R0,CG1 
         RET 
   ;***********写DDRAM*************************
    DD:   
         LCALL    PR1
         MOV      R0,#8
    MM:  MOV      DATA1,#00H
         LCALL    PR2
         MOV      DATA1,DATA2
         LCALL    PR2
         DJNZ     R0,MM
         RET     
   ;**********主程序****************************
    MAIN:
         MOV      SP,#67H
         MOV      COMMAND,#30H
         CLR      RS
         SETB     RW
         MOV      P0,#0FFH
         SETB     E
         MOV      A,COMMAND
         MOV      A,P0
         CLR      E
         LCALL    DELAY
         MOV      COMMAND,#30H
         CLR      RS
         SETB     RW
         MOV      P0,#0FFH
         SETB     E
         MOV      A,COMMAND
         MOV      A,P0
         CLR      E
         LCALL    DELAY
         MOV      COMMAND,#30H        ;功能设置 8位数据,基本指令
         LCALL    PR1
         MOV      COMMAND,#0CH        ;显示状态 ON,游标OFF,反白OFF
         LCALL    PR1
         MOV      COMMAND,#01H        ;清除显示     
         LCALL    PR1
         MOV      COMMAND,#02H        ;地址归位
         LCALL    PR1
         MOV      COMMAND,#80H         ;设置DDRAM地址
         LCALL    PR1
         LCALL    DELAY
         MOV      R0,#10H              ;显示HCGROM
         MOV      DATA1,#02H
    L:   LCALL    PR2
         INC      DATA1
         DJNZ     R0,L
         MOV      COMMAND,#90H
         LCALL    PR1
         MOV      DATA1,#41H
         MOV      R0,#10H
    L1:  LCALL    PR2
         INC      DATA1
         DJNZ     R0,L1
         
         MOV      COMMAND,#88H
         LCALL    PR1
         MOV      DATA1,#51H
         MOV      R0,#10H
    L2:  LCALL    PR2
         INC      DATA1
         DJNZ     R0,L2
         
         MOV      COMMAND,#98H
         LCALL    PR1
         MOV      DATA1,#61H
         MOV      R0,#10H
    L3:  LCALL    PR2
         INC      DATA1
         DJNZ     R0,L3
         
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
  ;*************写CGRAM***************************       
       
         MOV      COMMAND,#40H
         MOV      DATA3,#0FFH
         MOV      DATA2,#00H
         LCALL    CG
         
         MOV      COMMAND,#50H
         MOV      DATA3,#00H
         MOV      DATA2,#0FFH
         LCALL    CG
         
         MOV      COMMAND,#60H
         MOV      DATA3,#0AAH
         MOV      DATA2,#0AAH
         LCALL    CG
         
         MOV      COMMAND,#70H
         MOV      DATA3,#55H
         MOV      DATA2,#55H
         LCALL    CG
         
         
         MOV      COMMAND,#80H
         MOV      DATA2,#00H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#00H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#00H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#00H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
         
         MOV      COMMAND,#80H
         MOV      DATA2,#02H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#02H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#02H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#02H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
         
         MOV      COMMAND,#80H
         MOV      DATA2,#04H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#04H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#04H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#04H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
         
         MOV      COMMAND,#80H
         MOV      DATA2,#06H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#06H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#06H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#06H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
         
         MOV      COMMAND,#40H
         MOV      DATA3,#0AAH
         MOV      DATA2,#55H
         LCALL    CG
         MOV      COMMAND,#50H
         MOV      DATA3,#55H
         MOV      DATA2,#0AAH
         LCALL    CG
         MOV      COMMAND,#60H
         MOV      DATA3,#0FFH
         MOV      DATA2,#0FFH
         LCALL    CG
         
         MOV      COMMAND,#80H
         MOV      DATA2,#00H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#00H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#00H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#00H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
         
         MOV      COMMAND,#80H
         MOV      DATA2,#02H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#02H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#02H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#02H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
   
         
         MOV      COMMAND,#80H
         MOV      DATA2,#04H
         LCALL    DD
         MOV      COMMAND,#90H
         MOV      DATA2,#04H
         LCALL    DD
         MOV      COMMAND,#88H
         MOV      DATA2,#04H
         LCALL    DD
         MOV      COMMAND,#98H
         MOV      DATA2,#04H
         LCALL    DD
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY
         
         MOV      COMMAND,#01H
         LCALL    PR1
         MOV      COMMAND,#80H
         LCALL    PR1
         MOV      DPTR,#CHINESE1
         MOV      R0,#10H
         
   CHINA1:
         CLR      A
         MOVC     A,@A+DPTR
         MOV      DATA1,A
         LCALL    PR2
         INC      DPTR
         DJNZ     R0,CHINA1
         
         MOV      COMMAND,#90H
         LCALL    PR1
         MOV      DPTR,#CHINESE2
         MOV      R0,#10H
   CHINA2:
         CLR      A
         MOVC     A,@A+DPTR
         MOV      DATA1,A
         LCALL    PR2
         INC      DPTR
         DJNZ     R0,CHINA2
         
         
         MOV      COMMAND,#88H
         LCALL    PR1
         MOV      DPTR,#CHINESE3
         MOV      R0,#10H
    CHINA3:
         CLR      A
         MOVC     A,@A+DPTR
         MOV      DATA1,A
         LCALL    PR2
         INC      DPTR
         DJNZ     R0,CHINA3
         
           
         MOV      COMMAND,#98H
         LCALL    PR1
         MOV      DPTR,#CHINESE4
         MOV      R0,#10H
    CHINA4:
         CLR      A
         MOVC     A,@A+DPTR
         MOV      DATA1,A
         LCALL    PR2
         INC      DPTR
         DJNZ     R0,CHINA4
         LCALL    DELAY
         LCALL    DELAY
         LCALL    DELAY 
         LJMP     MAIN
 CHINESE1:
; DB 0C8H,0F0H,0CCH,0D8H,0B5H,0E7H,0D7H,0D3H,0BBH,0B6H,0D3H,0ADH,0C4H,0FAH,0ECH,0F4H 
 DB "单片机培训网最新"
 CHINESE2:
;DB 0D6H,0D0H,0CEH,0C4H,0D7H,0D6H,0BFH,0E2H,0D2H,0BAH,0BEH,0A7H,0CFH,0D4H,0CAH,0BEH
 DB "推出全新改版实验"	
 CHINESE3:
;DB 0C8H,0F0H,0CCH,0D8H,0B5H,0E7H,0D7H,0D3H,0BBH,0B6H,0D3H,0ADH,0C4H,0FAH,0ECH,0F4H 
DB "板,更容易操作,"
  CHINESE4:
;DB 0D6H,0D0H,0CEH,0C4H,0D7H,0D6H,0BFH,0E2H,0D2H,0BAH,0BEH,0A7H,0CFH,0D4H,0CAH,0BEH       
DB "完全为你作想!!"	
         END
                                                

⌨️ 快捷键说明

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