12864m.asm

来自「多种液晶显示驱动程序。使用汇编语音编写。」· 汇编 代码 · 共 95 行

ASM
95
字号

;;;;;;;;;;;;          演示程序

;12864M        带中文字库

;
;P1为数据总线
;定义LCD控制线
  WRA       EQU   P3.1
  EE        EQU   P3.0
  RS        EQU   P3.2
  REST      EQU   P3.7  
  
  WRDATA  EQU  35H

 CSEG   AT  0000H
 NOP
MAIN:
  CLR   EE
  NOP
  CLR   REST                      ;复位
  LCALL   DELAY
  SETB  REST
  NOP
  MOV  WRDATA,#01                ;清屏
  LCALL  WRCODE
  MOV  WRDATA,#0CH               ;开显示屏
  LCALL  WRCODE
  MOV  WRDATA,#80H               ;设置地址
  LCALL  WRCODE
  MOV   DPTR,#CCTAB
  MOV  R7,#58
GGHT:
  CLR   A
  MOVC  A,@A+DPTR                 ;读汉字内码
  MOV   WRDATA,A
  LCALL  WRDDA
  INC   DPTR
  DJNZ  R7,GGHT
  NOP
LOOP:
  NOP
  NOP
  NOP
  LJMP  LOOP

DELAY:
  MOV  R5,#0
  MOV  R6,#0
  MOV  R7,#2
DEL:
  DJNZ  R5,DEL
  DJNZ  R6,DEL
  DJNZ  R7,DEL
  RET

;--------------------------------------------
;       写指令子程序
WRCODE:
  MOV   P1,#0FFH
  CLR   RS
  SETB  WRA
  SETB  EE
  MOV  A,P1                    ;读BF, 查忙
  CLR   EE
  JB    ACC.7,WRCODE
  CLR   WRA
  MOV   P1,WRDATA             ;指令送P1口
  SETB  EE
  CLR   EE
  RET

WRDDA:
  MOV   P1,#0FFH
  CLR   RS
  SETB  WRA
  SETB  EE
  MOV   A,P1                 ;读BF, 查忙
  CLR   EE
  JB    ACC.7,WRDDA
  SETB  RS
  CLR  WRA
  MOV  P1,WRDATA            ;数据送P1口
  SETB  EE
  CLR   EE
  RET

CCTAB:                    ;中文字库内码表格
DB  0BAH,0BAH,0D7H,0D6H,0CDH,0BCH,0D0H,0CEH,0B5H,0E3H,0D5H,0F3H,0D2H,0BAH,0BEH,0A7H
DB  0D7H,0D6H,0BCH,0B0H,0CDH,0BCH,0D0H,0CEH,0C4H,0DAH,0D6H,0C3H,038H,031H,039H,032H
DB  0CFH,0D4H,0CAH,0BEH,0C4H,0A3H,0BFH,0E9H,0BFH,0C9H,0CFH,0D4H,0CAH,0BEH,0BAH,0BAH
DB  0B8H,0F6H,0D6H,0D0H,0CEH,0C4H,0BAH,0BAH,0D7H,0D6H
END 

⌨️ 快捷键说明

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