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

📄 24o64.asm

📁 lcd 24064源代码 你们看看 很好懂e
💻 ASM
📖 第 1 页 / 共 2 页
字号:

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

;24064
;仅断开J(VO)     ,再加可变电阻
;
;P1为数据总线
;定义LCD控制线
  WRR       EQU   P3.3
  RDD       EQU   P3.2
  REST      EQU   P3.0
  CDD       EQU   P3.1 
  FSS       EQU   P3.4

 DAT1  EQU  35H
 DAT2  EQU  36H
 COM   EQU  37H
 TEMP1  EQU  38H
 TEMP2  EQU  39H
 TEMP3  EQU  3AH
 CODEN  EQU  3BH

 CSEG   AT  0000H
 NOP
MAIN:
  NOP
  CLR   REST                      ;复位
  LCALL   DELAY
  SETB  REST
  NOP
  MOV  P3,#0FFH
  CLR  FSS
  NOP
  LCALL  INT                    ;初始化LCD
  NOP
  LCALL  CLEAR                  ;清屏
  LCALL  TESTT
  LCALL  DELAY2S
  LCALL  CLEAR
  NOP
  NOP
LOOP:
  MOV  DAT1,#0180
  MOV  DAT2,#08H
  MOV  CODEN,#0
  LCALL  WRCHINA
  LCALL  WRCHINA
  LCALL  WRCHINA
  LCALL  WRCHINA
  NOP
  MOV  DAT1,#201
  MOV  DAT2,#08H
  MOV  CODEN,#0
  LCALL  WRCHINA
  LCALL  WRCHINA
  INC  CODEN
  INC  CODEN
  LCALL  WRCHINA
  LCALL  WRCHINA
  NOP
  LCALL  LUC1
  LCALL  DELAY2S
  LCALL  LUC2
  LCALL  DELAY2S
  LCALL  LUC3
  LCALL  DELAY2S
  LCALL  CLEAR2
  LCALL  LUC4
  LCALL  DELAY2S
  LCALL  LUC5
  LCALL  DELAY2S
  LCALL  CLEAR2
  LCALL  LUC6

  LCALL  DELAY2S
  LCALL  LUC7
  LCALL  DELAY2S
  LCALL  LUC8
  LCALL  DELAY2S
  LCALL  LUC9
  LCALL  DELAY2S
  LCALL  LUC10
  LCALL  DELAY2S
  LCALL  LUC11
  LCALL  DELAY2S
  LCALL  LUC12
  LCALL  DELAY2S
  LCALL  LUC13
  LCALL  DELAY2S
  LCALL  LUC14
  LCALL  DELAY2S
  NOP
  LCALL  CLEAR
  LCALL  TESTT
  LCALL  DELAY2S
  LCALL  CLEAR
  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

DELAY2S:
  MOV  R5,#0
  MOV  R6,#0
  MOV  R7,#40
DELAY2:
  DJNZ  R5,DELAY2
  DJNZ  R6,DELAY2
  DJNZ  R7,DELAY2
  RET

TESTT:
  MOV  TEMP1,#00H
  MOV  DAT1,#00
  MOV  DAT2,#00H
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#120
  MOV  COM,#0B0H
  LCALL  PR12
TEST1:
  LCALL  ST3
  MOV   A,TEMP1
  LCALL  PR13
  INC   TEMP1
  DJNZ   R3,TEST1
  MOV   COM,#0B2H
  LCALL  PR12
  RET

  

;显示方格子程序=============================================
FORM:
  MOV  DAT1,#0
  MOV  DAT2,#08H
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#64
FORM3:
  MOV  TEMP1,DAT2
  MOV  COM,#0C5H
  LCALL  PR12
  LCALL  STT
  CLR  CDD
  CLR  RDD
  MOV  DAT2,P1
  SETB  RDD
  ORL  DAT2,#080H
  MOV  COM,#0C4H
  LCALL  PR11
  MOV   DAT2,TEMP1
  MOV  A,#30
  ADD  A,DAT1
  MOV  DAT1,A
  CLR  A
  ADDC A,DAT2
  MOV  DAT2,A
  MOV  COM,#24H
  LCALL  PRR
  DJNZ  R3,FORM3
  MOV  DAT1,#021
  MOV  DAT2,#08H
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#27
FORM4:
  MOV  TEMP1,DAT2
  MOV  COM,#0C5H
  LCALL  PR12
  LCALL  STT
  CLR  CDD
  CLR  RDD
  MOV  DAT2,P1
  SETB  RDD
  ORL  DAT2,#080H
  MOV  COM,#0C4H
  LCALL  PR11
  MOV   DAT2,TEMP1
  MOV  A,#30
  ADD  A,DAT1
  MOV  DAT1,A
  CLR  A
  ADDC A,DAT2
  MOV  DAT2,A
  MOV  COM,#24H
  LCALL  PRR
  DJNZ  R3,FORM4
  MOV  DAT1,#029
  MOV  DAT2,#08H
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#64
FORM5:
  MOV  TEMP1,DAT2
  MOV  DAT2,#01H
  MOV  COM,#0C4H
  LCALL  PR11
  MOV   DAT2,TEMP1
  MOV  A,#30
  ADD  A,DAT1
  MOV  DAT1,A
  CLR  A
  ADDC A,DAT2
  MOV  DAT2,A
  MOV  COM,#24H
  LCALL  PRR
  DJNZ  R3,FORM5
  
  MOV  DAT1,#0
  MOV  DAT2,#08H
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#30
  MOV  COM,#0B0H
  LCALL  PR12
FORM1:
  LCALL  ST3
  MOV  A,#0FFH
  LCALL  PR13
  DJNZ  R3,FORM1
  MOV  COM,#0B2H
  LCALL  PR12

  MOV  DAT1,#02AH
  MOV  DAT2,#0BH
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#30
  MOV  COM,#0B0H
  LCALL  PR12
FORM2:
  LCALL  ST3
  MOV  A,#0FFH
  LCALL  PR13
  DJNZ  R3,FORM2
  MOV  COM,#0B2H
  LCALL  PR12

  MOV  DAT1,#062H
  MOV  DAT2,#0FH
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#30
  MOV  COM,#0B0H
  LCALL  PR12
FORM6:
  LCALL  ST3
  MOV  A,#0FFH
  LCALL  PR13
  DJNZ  R3,FORM6
  MOV  COM,#0B2H
  LCALL  PR12
  RET

;-----------清屏子程序----------------------------------------
CLEAR:
  MOV  DAT1,#00
  MOV  DAT2,#00H
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#00
  MOV  R4,#10H
  MOV  COM,#0B0H
  LCALL  PR12
CLEAR1:
  LCALL  ST3
  MOV   A,#00H
  LCALL  PR13
  DJNZ   R3,CLEAR1
  DJNZ   R4,CLEAR1
  MOV   COM,#0B2H
  LCALL  PR12
  RET

CLEAR2:
  MOV  DAT1,#0C0H
  MOV  DAT2,#0BH
  MOV  COM,#24H
  LCALL  PRR
  MOV  R3,#60
  MOV  R4,#4H
  MOV  COM,#0B0H
  LCALL  PR12
CLEAR21:
  LCALL  ST3
  MOV   A,#00H
  LCALL  PR13
  DJNZ   R3,CLEAR21
  DJNZ   R4,CLEAR21
  MOV   COM,#0B2H
  LCALL  PR12
  RET

;-------------------------------------------------------------
;显示一个中文(16*16)子程序
WRCHINA:
  MOV    TEMP1,DAT1
  MOV    TEMP2,DAT2
  MOV   COM,#24H
  LCALL   PRR
  MOV   DPTR,#CHINTAB
  MOV   A,CODEN
  MOV   B,#32
  MUL   AB
  ADD   A,DPL
  MOV   DPL,A
  MOV   A,B
  ADDC  A,DPH
  MOV   DPH,A
  MOV   R5,#16
  MOV   COM,#0B0H
  LCALL  PR12
WRCHIN1:
  LCALL  ST3
  CLR   A
  MOVC  A,@A+DPTR
  LCALL  PR13
  INC   DPTR
  LCALL  ST3
  CLR   A
  MOVC  A,@A+DPTR
  LCALL  PR13
  MOV  COM,#0B2H
  LCALL  PR12
  MOV  A,#30
  ADD  A,DAT1
  MOV  DAT1,A
  CLR  A
  ADDC A,DAT2
  MOV  DAT2,A
  MOV  COM,#24H
  LCALL  PRR
  INC  DPTR
  MOV  COM,#0B0H
  LCALL  PR12
  DJNZ  R5,WRCHIN1
  INC   CODEN
  MOV  A,#2
  ADD  A,TEMP1
  MOV  DAT1,A
  CLR   A
  ADDC  A,TEMP2
  MOV  DAT2,A
  MOV  COM,#0B2H
  LCALL  PR12
  RET
;-------------------------------------------------------------
;显示一个中文(24*21)子程序
WRCHINA2:
  MOV    TEMP1,DAT1
  MOV    TEMP2,DAT2
  MOV   COM,#24H
  LCALL   PRR
  MOV   DPTR,#CHINTAB2
  MOV   A,CODEN
  MOV   B,#63
  MUL   AB
  ADD   A,DPL
  MOV   DPL,A
  MOV   A,B
  ADDC  A,DPH
  MOV   DPH,A
  MOV   R5,#21
  MOV   COM,#0B0H
  LCALL  PR12
WRCHIN21:
  LCALL  ST3
  CLR   A
  MOVC  A,@A+DPTR
  LCALL  PR13
  INC   DPTR
  LCALL  ST3
  CLR   A
  MOVC  A,@A+DPTR
  LCALL  PR13
  INC   DPTR
  LCALL  ST3
  CLR   A
  MOVC  A,@A+DPTR
  LCALL  PR13
  MOV  COM,#0B2H
  LCALL  PR12
  MOV  A,#30
  ADD  A,DAT1
  MOV  DAT1,A
  CLR  A
  ADDC A,DAT2
  MOV  DAT2,A
  MOV  COM,#24H
  LCALL  PRR
  INC  DPTR
  MOV  COM,#0B0H
  LCALL  PR12
  DJNZ  R5,WRCHIN21
  INC   CODEN
  MOV  A,#3
  ADD  A,TEMP1
  MOV  DAT1,A
  CLR   A
  ADDC  A,TEMP2
  MOV  DAT2,A
  MOV  COM,#0B2H
  LCALL  PR12
  RET

;-------------------------------------------------------------
;显示一个数字(8*16)子程序
WRNUN:
  MOV    TEMP1,DAT1
  MOV    TEMP2,DAT2
  MOV   COM,#24H
  LCALL   PRR
  MOV   DPTR,#NUNTAB
  MOV   A,CODEN
  MOV   B,#16
  MUL   AB
  ADD   A,DPL
  MOV   DPL,A
  MOV   A,B
  ADDC  A,DPH
  MOV   DPH,A
  MOV   R5,#16
  MOV   COM,#0B0H
  LCALL  PR12
WRNUN1:
  LCALL  ST3
  CLR   A
  MOVC  A,@A+DPTR
  LCALL  PR13
  MOV  COM,#0B2H
  LCALL  PR12
  MOV  A,#30
  ADD  A,DAT1
  MOV  DAT1,A
  CLR  A
  ADDC A,DAT2
  MOV  DAT2,A
  MOV  COM,#24H
  LCALL  PRR
  INC  DPTR
  MOV  COM,#0B0H
  LCALL  PR12
  DJNZ  R5,WRNUN1
  MOV  A,#1
  ADD  A,TEMP1
  MOV  DAT1,A
  CLR   A
  ADDC  A,TEMP2
  MOV  DAT2,A
  MOV  COM,#0B2H
  LCALL  PR12
  RET
  
;==========================================
;LCD  初始化
INT:
   MOV  DAT1,#00           ;设置文本的首地址
   MOV  DAT2,#00
   MOV  COM,#40H
   LCALL  PRR
   MOV   DAT1,#30           ;设置文本每行30个字节
   MOV   DAT2,#00
   MOV  COM,#41H
   LCALL  PRR
   MOV   DAT1,#00H           ;设置图形的首地址
   MOV   DAT2,#08H
   MOV   COM,#42H
   LCALL  PRR
   MOV   DAT1,#30           ;设置图形每行30个字节
   MOV   DAT2,#00
   MOV   COM,#43H
   LCALL  PRR
   MOV  COM,#0A7H
   LCALL  PRR
   MOV  COM,#080H
   LCALL  PRR
   MOV  COM,#09CH              ;开LCD
   LCALL  PRR
   RET
  
;============================
;写指令和写数据子程序
PRR:
  LCALL  STT
  MOV  A,DAT1
  LCALL  PR13
PR11:
  LCALL  STT
  MOV  A,DAT2
  LCALL  PR13
PR12:
  LCALL  STT
  MOV   A,COM
  LJMP  PR14
PR13:             ;写数据入口
  CLR  CDD
PR14:
  MOV  P1,A
  CLR   WRR
  SETB  WRR
  RET

STT:                             ;查忙S0,S1
  MOV  P1,#0FFH
  SETB  CDD
  CLR   RDD
  MOV  A,P1
  SETB  RDD
  JNB   ACC.0,STT
  JNB   ACC.1,STT
  RET
ST3:
  MOV  P1,#0FFH
  SETB  CDD
  CLR  RDD
  MOV  A,P1
  SETB  RDD
  JNB  ACC.3,ST3
  RET

LUC1:
  MOV  DAT1,#056H
  MOV  DAT2,#0CH
  MOV  CODEN,#0
  LCALL  WRCHINA2
  LCALL  WRCHINA2
  MOV  CODEN,#10
  LCALL  WRNUN
  MOV  CODEN,#2
  LCALL  WRCHINA2
  LCALL  WRCHINA2
  MOV  CODEN,#10
  LCALL  WRNUN
  MOV  CODEN,#4
  LCALL  WRCHINA2
  LCALL  WRCHINA2
  NOP
  MOV  DAT1,#3FH
  MOV  DAT2,#0DH
  MOV  CODEN,#2
  LCALL  WRNUN
  MOV  CODEN,#7
  LCALL  WRNUN
  LCALL  WRNUN
  LCALL  WRNUN
  LCALL  WRNUN
  MOV  CODEN,#5
  LCALL  WRNUN
  LCALL  FORM
  RET

LUC2:
  MOV  DAT1,#056H
  MOV  DAT2,#0CH
  MOV  CODEN,#2
  LCALL  WRCHINA2
  LCALL  WRCHINA2
  MOV  CODEN,#10
  LCALL  WRNUN
  MOV  CODEN,#0
  LCALL  WRCHINA2
  LCALL  WRCHINA2
  MOV  CODEN,#10
  LCALL  WRNUN
  MOV  CODEN,#6
  LCALL  WRCHINA2
  MOV  CODEN,#3
  LCALL  WRCHINA2
  NOP
  MOV  DAT1,#3FH
  MOV  DAT2,#0DH
  MOV  CODEN,#1
  LCALL  WRNUN
  MOV  CODEN,#2
  LCALL  WRNUN
  MOV  CODEN,#0
  LCALL  WRNUN
  MOV  CODEN,#4
  LCALL  WRNUN
  MOV  CODEN,#8
  LCALL  WRNUN
  MOV  CODEN,#5
  LCALL  WRNUN
  LCALL  FORM
  RET
LUC3:

⌨️ 快捷键说明

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