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

📄 6264_.asm

📁 外扩RAM6264的C语言源程序
💻 ASM
字号:
D_PORT   EQU   P1
   RS    EQU   P3.0
   RW    EQU   P3.1
   E     EQU   P3.2
   BF    EQU   ACC.7
         ;PROG    SEGMENT  CODE
         ;STACK   SEGMENT  IDATA

         ;RSEG     STACK
         ;DS       10H  ; 16 Bytes  Stack

         ;CSEG     AT  0
         ;USING    0    ; Register-Bank 0
         ;JMP    START

         ;RSEG    PROG
     ;MOV SP,#STACK
START:LCALL INIT_LCM ;???????
      MOV R7,#10000000B
      MOV DPTR,#STRING1
      LCALL PUT_STRING
      LJMP $
STRING1:
      DB  "北京",0
;*****************************************************************
PUT_STRING:
      MOV A,R7
      ORL A,#80H
      LCALL WRITE_COMMAND
DISP_STR_LOOP:
      MOV A,#0
      MOVC A,@A+DPTR
      CJNE A,#0,CONT_STR_DISP
      RET
CONT_STR_DISP:
      MOV R7,A
      LCALL WRITE_DATA
      INC DPTR
      SJMP DISP_STR_LOOP                  
      ;***************************************
      ;????A
      ;MOV R7,#10000000B;??????
      ;LCALL WRITE_COMMAND
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_US

      ;MOV R7,#01000001B;????A
      ;LCALL WRITE_DATA
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_US
      ;***************************************


      ;MOV R7,#11000000B;??????
      ;LCALL WRITE_COMMAND
      ;MOV R6,#0
      ;MOV R7,#1
      ;LCALL DELAY_US

      ;MOV R7,#01000001B;????A
      ;LCALL WRITE_DATA
      ;MOV R6,#0
      ;MOV R7,#1
      ;LCALL DELAY_US
  ;;**************************************************
  ;;?????
      ;MOV R7,#80H
      ;LCALL WRITE_COMMAND
      ;MOV R6,#0
      ;MOV R7,#10
      ;LCALL DELAY_US
      ;MOV DPTR,#TAB
      ;MOV R2,#12
      ;MOV R3,#01H
;WRIN: MOV A,R3
      ;MOVC A,@A+DPTR
      ;MOV R7,A
      ;LCALL WRITE_DATA
      ;MOV R6,#0
      ;MOV R7,#10
      ;LCALL DELAY_US
      ;INC R3
      ;DJNZ R2,WRIN
      ;SJMP $
  ;TAB:DB 43H,75H,72H,73H,6FH,72H,20H
      ;DB 57H,72H,69H,74H,65H
;;***************************************************
;;??????
;CG_WRITE:
      ;MOV R7,#40H
      ;LCALL  WRITE_COMMAND
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_MS
      ;MOV R2,#64
      ;MOV R3,#01H
      ;MOV DPTR,#CGTAB
 ;CG1: MOV A,R3
      ;MOVC A,@A+DPTR
      ;MOV R7,A
      ;LCALL WRITE_DATA
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_MS
      ;INC R3
      ;DJNZ R2,CG1
      ;RET
;CGTAB:DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;"?"??=00H
      ;DB 0FH,09H,0FH,09H,0FH,09H,11H,00H ;"?"??=01H
      ;DB 1FH,11H,11H,1FH,11H,11H,1FH,00H ;"?"??=02H
      ;DB 11H,0AH,04H,1FH,04H,1FH,04H,00H ;"$"??=03H
      ;DB 0EH,00H,1FH,0AH,0AH,0AH,13H,00H ;"?"??=04H
      ;DB 18H,18H,07H,08H,08H,08H,07H,00H ;"C"??=05H
      ;DB 04H,0AH,15H,04H,04H,04H,04H,00H ;"^"??=06H
      ;DB 17H,15H,15H,15H,15H,15H,17H,00H ;"10"??=07H
;;***************************************************
;;?????????
      ;LCALL  CG_WRITE
      ;MOV R7,#80H
      ;LCALL  WRITE_COMMAND
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_MS
      ;MOV DPTR,#TABDY
      ;MOV R2,#18
      ;MOV R3,#00H
;LOOP1:MOV A,R3
      ;MOVC A,@A+DPTR
      ;MOV R7,A
      ;LCALL WRITE_DATA
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_MS
      ;INC R3
      ;DJNZ R2,LOOP1
      ;JMP $
      
      ;MOV R7,#0C0H
      ;LCALL  WRITE_COMMAND
      ;MOV R6,#0
      ;MOV R7,#40
      ;LCALL DELAY_MS
      ;MOV R2,#18
;LOOP2:MOV A,R3
      ;MOVC A,@A+DPTR
      ;MOV R7,A
      ;LCALL WRITE_DATA
      ;MOV R6,#0
      ;MOV R7,#1
      ;LCALL DELAY_MS
      ;INC R3
      ;DJNZ R2,LOOP2
      ;SJMP $
;TABDY:DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;"?"??=00H
      ;DB 0FH,09H,0FH,09H,0FH,09H,11H,00H ;"?"??=01H
      ;DB 1FH,11H,11H,1FH,11H,11H,1FH,00H ;"?"??=02H
      ;DB 11H,0AH,04H,1FH,04H,1FH,04H,00H ;"$"??=03H                                                 
;;***************************************************
;;??????
;;***************************************************
INIT_LCM:
      MOV R6,#0
      MOV R7,#40
      LCALL DELAY_MS
      MOV R7,#00110000B;;????  8???,????,???5*7?? ;
      LCALL WRITE_COMMAND
      MOV R6,#0
      MOV R7,#1
      LCALL DELAY_US
 ;************************************
      MOV R7,#00001100B;;??????  ???,?????,??? 
      LCALL WRITE_COMMAND
      MOV R6,#0
      MOV R7,#1
      LCALL DELAY_US
  ;**********************************
      MOV R7,#00000001B;;??
      LCALL WRITE_COMMAND
      MOV R6,#0
      MOV R7,#40
      LCALL DELAY_MS
  ;*********************************
      MOV R7,#00000110B ;;?????? 
      LCALL  WRITE_COMMAND
      MOV R6,#0
      MOV R7,#1
      LCALL DELAY_US
      RET
;;***************************************************
;;?????
;;***************************************************
;;ms???
DELAY_MS:
      NOP
DELAY:MOV ACC,#250
  DEL:NOP
      NOP
      DJNZ ACC,DEL

      DJNZ R7,DELAY
      MOV A,R6
      JZ  EXIT
      DJNZ R6,DELAY
EXIT:
      RET
;;**************************************************
;;us???
DELAY_US:
      NOP
DELAYUS:
      MOV ACC,#25
DELUS:
      NOP
      NOP
      DJNZ ACC,DELUS

      DJNZ R7,DELAYUS
      MOV A,R6
      JZ  EXITUS
      DJNZ R6,DELAYUS
EXITUS:
      RET
;;***************************************************
;;??BF???
;;***************************************************
WAIT_FREE:
      PUSH ACC
      MOV P0,#0FFH
      CLR RS
      SETB RW
LOOP_BUSY:
      SETB E
      MOV A,P0
      CLR E
      JB BF,LOOP_BUSY
      CLR RS
      CLR RW
      POP ACC
      RET
;;****************************************************
;;??????
;;****************************************************
WRITE_COMMAND:
      LCALL  WAIT_FREE
WRITE1_COMMAND:
      CLR RS
      CLR RW
      SETB E
      MOV  D_PORT,R7;******???;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      CLR E
      RET
;;****************************************************
;;??????
;;****************************************************
WRITE_DATA:
      LCALL WAIT_FREE
      SETB RS
      CLR RW
      SETB E
      MOV  D_PORT,R7;******???;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      CLR E
      RET
      END
;;*****************************************************

⌨️ 快捷键说明

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