📄 lcd_g7.asm
字号:
Baud EQU 0FAH ;byte (0F7H 16MHZ;0FAH 11.0592MHZ)
Ltime EQU 0CCH ;timer constant (95H 16MHZ; 0CCH)
Htime EQU 0F8H ;timer constant (F5H 16MHZ; 0F8H)
Counter EQU 7FH ;byte
FLAG1 EQU 02H ;bit rxd flag
FLAG2 EQU 03H ;bit
FLAG3 EQU 04H ;bit
FLAG4 EQU 05H ;bit
FLAG5 EQU 06H ;bit "ST"
FLAG6 EQU 07H ;bit "DOWN"
FLAG7 EQU 08H ;bit "UP"
FLAG8 EQU 09H ;bit "SET"
FLAG9 EQU 0AH ;bit flag
FLAG10 EQU 00H ;bit flag
FLAG11 EQU 01H ;bit flag
FLAG12 EQU 0BH ;bit flag
FLAG13 EQU 0CH ;bit flag
FLAG14 EQU 0DH ;bit flag
FLAG15 EQU 0EH ;bit flag
FLAG16 EQU 0FH ;bit flag
FLAG17 EQU 10H ;bit flag
FLAG18 EQU 11H ;bit flag
FLAG19 EQU 12H ;bit flag
FLAG20 EQU 13H ;bit flag
FLAG21 EQU 14H ;bit flag
FLAG22 EQU 15H ;bit flag
FLAG23 EQU 16H ;bit flag
FLAG24 EQU 17H ;bit flag
FLAG25 EQU 18H ;bit flag
FLAG26 EQU 19H ;bit flag
FLAG27 EQU 1AH ;bit flag
FLAG28 EQU 1BH ;bit flag
FLAG29 EQU 1CH ;bit flag
FLAG30 EQU 1DH ;bit flag
FLAG31 EQU 1EH ;bit flag
FLAG32 EQU 1FH ;bit flag
FLAG33 EQU 20H ;bit flag
FLAG34 EQU 21H ;bit flag
FLAG35 EQU 22H ;bit flag
FLAG36 EQU 23H ;bit flag
FLAG37 EQU 24H ;bit flag
FLAG38 EQU 25H ;bit flag
FLAG39 EQU 26H ;bit flag ;select display 12*16 byte
FLAG40 EQU 27H ;bit flag
FLAG41 EQU 28H ;bit flag
FLAG42 EQU 29H ;bit flag
FLAG43 EQU 2AH ;bit flag
FLAG44 EQU 2BH ;bit flag
FLAG45 EQU 2CH ;bit flag
FLAG46 EQU 2DH ;bit flag
FLAG47 EQU 2EH ;bit flag
FLAG48 EQU 2FH ;bit flag
FLAG49 EQU 30H ;bit flag
FLAG50 EQU 31H ;bit flag
FLAG51 EQU 32H ;bit flag
FLAG52 EQU 33H ;bit flag
FLAG53 EQU 34H ;bit flag
FLAG54 EQU 35H ;bit flag
FLAG55 EQU 39H ;bit flag
FLAG56 EQU 3AH ;bit flag
BUFF1 EQU 30H ;byte txd data1
BUFF2 EQU 31H ;byte txd data2
BUFF3 EQU 32H ;byte txd data3
BUFF4 EQU 33H ;byte txd data4
BUFF5 EQU 34H ;byte txd data5
BUFF6 EQU 35H ;byte txd data6
BUFF7 EQU 36H ;byte txd data7
BUFF8 EQU 37H ;byte txd data8
BUFF9 EQU 38H ;byte txd data9
BUFF10 EQU 39H ;byte txd data10
BUFF11 EQU 3AH ;byte txd data11
BUFF12 EQU 3BH ;byte txd data12
BUFF13 EQU 3CH ;byte txd data13
BUFF14 EQU 3DH ;byte txd data14
BUFF15 EQU 3EH ;byte txd data15
BUFF16 EQU 3FH ;byte txd data16
BUFF17 EQU 40H ;byte txd data17
BUFF18 EQU 41H ;byte txd data18
;=============================================================================
; A0 EQU P3.7
; R/W EQU P3.6 ;"H" READ "L" WRITE
; E2 EQU P3.5
; E1 EQU P3.4
COM EQU 4BH ;Commond
DAT EQU 4CH ;Data
Code1 EQU 4DH ;Data code
Page1 EQU 4EH ;Page address
COLUMN EQU 4FH ;Column address
PD1 EQU 2FH ;size
HCODE EQU 51H ;byte 16*16
LCODE EQU 52H ;byte 16*16
FCODE EQU 58H ;function buff
length EQU 57H ;status size
change EQU 56H ;view
COEFF EQU 5EH ;byte
LCDPC EQU 5CH ;byte
DW1 EQU 2AH ;byte
DW2 EQU 2BH ;byte
DW3 EQU 2CH ;byte
AREA EQU 36H ;bit flag "0" Area E1 "1" Area E2
AREA2 EQU 37H ;bit flag 16 byte
E2 EQU 38H ;bit flag
;===============================================================================
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP PTOMO
ORG 0023H
LJMP IE_SLECTION
ORG 002CH
MAIN: MOV PSW,#00H ;BLOCK2
SETB RS1
MOV R7,#12H
MOV PSW,#00H ;BLOCK0
MOV R0,#00H
MOV R3,#00H
MOV SP,#68H
MOV 4AH,#8EH ;DISPLAY "F"
MOV 46H,#80H ;DISPLAY "8"
MOV 45H,#0C0H ;DISPLAY "0"
MOV 44H,#92H ;DISPLAY "5"
MOV 43H,#0F9H ;DISPLAY "1"
MOV 42H,#00H
MOV 59H,#06H
MOV 5AH,#00H
MOV BUFF1,#7EH
MOV BUFF2,#30H
MOV BUFF3,#31H
MOV BUFF4,#30H
MOV BUFF5,#31H
MOV BUFF6,#30H
MOV BUFF18,#0DH
MOV Counter,#00H
MOV LCDPC,#00H
MOV LENGTH,#00H
MOV 51H,#00H
MOV 52H,#00H
MOV 62H,#12H
MOV 63H,#80H
MOV 65H,#00H
MOV 66H,#00H
MOV 56H,#00H
MOV 57H,#00H
CLR FLAG1
CLR FLAG3
CLR FLAG4
CLR FLAG5
CLR FLAG6
CLR FLAG7
CLR FLAG8
CLR FLAG9
CLR FLAG10
CLR FLAG11
CLR FLAG13
CLR FLAG14
CLR FLAG15
CLR FLAG16
CLR FLAG17
CLR FLAG18
CLR FLAG19
CLR FLAG20
CLR FLAG21
CLR FLAG22
CLR FLAG23
CLR FLAG24
CLR FLAG25
CLR FLAG26
CLR FLAG27
CLR FLAG28
CLR FLAG29
CLR FLAG30
CLR FLAG31
CLR FLAG32
SETB FLAG33
CLR FLAG34
CLR FLAG35
CLR FLAG36
CLR FLAG37
CLR FLAG38
CLR FLAG39
CLR FLAG40
CLR FLAG41
CLR FLAG42
CLR FLAG43
CLR FLAG46
CLR FLAG47
CLR FLAG48
CLR FLAG49
CLR FLAG50
CLR FLAG51
CLR FLAG52
CLR FLAG53
CLR FLAG54
CLR FLAG55
CLR FLAG56
CLR AREA
CLR AREA2
CLR E2
SETB FLAG12
SETB FLAG2
SETB ES
SETB EA
SETB ET0
SETB PS
MOV TMOD,#21H ; Timer_1 work in mode 2
MOV SCON,#50H
MOV PCON,#80H
MOV TH1,#Baud
MOV TL1,#Baud
SETB TR1
PUSH PSW
MOV PSW,#00H ; BLOCK1 LCMDISPLAY
SETB RS0
MOV COM,#0E2H ;reset
LCALL PRG0
LCALL PRG3
MOV COM,#0A1H
LCALL PRG3
LCALL PRG0
LCALL CLEAR ;Clear View
MOV COM,#0AFH ;display on
LCALL PRG0
LCALL PRG3
POP PSW
MOV TL0,#Ltime ; Timer_0 work in mode 1
MOV TH0,#Htime
SETB TR0
HERE: AJMP HERE
;***************************************************************************
PTOMO: MOV TH0,#Htime
MOV TL0,#Ltime
ACALL DISPLAY
JNB FLAG31,PTOMO_NEXT4
LCALL LCD_DISPLAY
PTOMO_NEXT4: JNB FLAG1,PTOMO_NEXT0
JNB FLAG12,PTOMO_NEXT2
JNB FLAG1,PTOMO_NEXT0
LCALL TX_DATA
AJMP PTOMO_NEXT2
PTOMO_NEXT0: JNB FLAG13,PTOMO_NEXT1
ACALL CRX_DATA
PTOMO_NEXT1: JB FLAG31,PTOMO_NEXT5
LCALL LCD_BRUSH
PTOMO_NEXT5: ACALL KEY_NUM
PTOMO_NEXT3: MOV A,59H
CJNE A,#06H,PTOMO_NEXT6
CJNE R6,#00H,PTOMO_NEXT7
JNB FLAG9,PTOMO_NEXT7
MOV A,BUFF5
CJNE A,#31H,PTOMO_NEXT9
MOV A,BUFF7
CJNE A,#34H,PTOMO_NEXT10
SETB FLAG3
AJMP PTOMO_NEXT9
PTOMO_NEXT10: CJNE A,#35H,PTOMO_NEXT9
SETB FLAG3
PTOMO_NEXT9: MOV A,5BH
AJMP PTOMO_NEXT7
PTOMO_NEXT6: JNB FLAG9,PTOMO_NEXT7
MOV A,5BH
CJNE A,59H,PTOMO_NEXT8
CLR FLAG3
PTOMO_NEXT8: MOV A,#06H
PTOMO_NEXT7: CLR C
RL A
MOV DPTR,#FTAB
JMP @A+DPTR
FTAB: AJMP FUN0 ;STOP/RESET
AJMP FUN1 ;DOWN
AJMP FUN2 ;PRG
AJMP FUN3 ;RUN
AJMP FUN4 ;UP
AJMP FUN5 ;SET
AJMP PTOMO_NEXT2
PTOMO_NEXT2: RETI
FUN0: JNB FLAG5,FUN0_0
MOV BUFF7,#31H
JNB FLAG16,FUN0_5
MOV A,BUFF5
CJNE A,#31H,FUN0_8
SETB FLAG3
FUN0_8: AJMP FUN0_6
FUN0_5: SETB FLAG1
FUN0_6: CLR FLAG5
CLR FLAG9
AJMP FUN0_END
FUN0_0: MOV A,BUFF5
ANL A,#0FH
CJNE A,#01H,FUN0_1
JNB FLAG16,FUN0_7
CLR FLAG16
CLR FLAG3
FUN0_7: JB FLAG2,FUN0_2
JB FLAG15,FUN0_END
MOV BUFF7,#38H
CLR FLAG3
AJMP FUN0_4
FUN0_2: MOV BUFF7,#37H
CLR FLAG3
CLR FLAG15
AJMP FUN0_4
FUN0_1: CJNE A,#02H,FUN0_3
; JNB FLAG20,FUN0_3 ;ADD
MOV BUFF5,#33H
MOV BUFF7,#32H
SETB FLAG16
SETB FLAG2
SETB FLAG21
CLR FLAG20
AJMP FUN0_4
FUN0_3: CJNE A,#04H,FUN0_9
MOV BUFF7,#34H
CLR FLAG28
SETB FLAG16
SETB FLAG3
AJMP FUN0_4
FUN0_9: CJNE A,#05H,FUN0_10 ;TEST
JNB FLAG2,FUN0_END
MOV A,BUFF9
CJNE A,#31H,FUN0_11
MOV 44H,#92H
MOV 43H,#8CH
AJMP FUN0_END
FUN0_11: CJNE A,#33H,FUN0_12
JNB FLAG2,FUN0_END
MOV BUFF7,#37H
AJMP FUN0_4
FUN0_12: CJNE A,#35H,FUN0_END
JNB FLAG2,FUN0_END
MOV BUFF7,#37H
AJMP FUN0_4
FUN0_10: CJNE A,#06H,FUN0_END
MOV BUFF7,#34H
SETB FLAG16
FUN0_4: SETB FLAG5
SETB FLAG1
SETB FLAG9
FUN0_END: RETI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -