📄 init_lcd.asm
字号:
MCU_INIT:
CALL IO_INIT
CALL SHUT_DOWN_CC1000
BSF MCU_OUT
CALL CPU_CLOCK_8M
CALL W25X32_WAKE_UP
;*************************
movlw 32
movwf PIC_HSA
movlw 40
movwf PIC_HEA
MOVLW 64
MOVWF PIC_VSA
MOVLW 128
MOVWF PIC_VEA
CALL SET_LCD
CLRF CNT1
MOVLW 8
MOVWF CNT2
TEST_DISPLAY:
MOVLW 0X0
CALL WRITE_LCD_R
MOVLW 0Xf0
CALL WRITE_LCD_R
MOVLW 0X00
CALL WRITE_LCD_R
DECFSZ CNT1
BRA TEST_DISPLAY
DECFSZ CNT2
BRA TEST_DISPLAY
bsf F_CE
BSF CS_LCD
TEST_ME:
CLRWDT
BTG LATF,2
BRA TEST_ME
;*****************************
;***************
INIT_LCD:
BCF RESET_LCD
BSF CS_LCD
CALL DELAY_64MS
BSF RESET_LCD
CALL DELAY_64MS
CALL DELAY_64MS
BCF CS_LCD
CLRF LATD
BCF RS_LCD
BCF WR_LCD
CLRWDT
BSF WR_LCD
CLRWDT
BCF WR_LCD
CLRWDT
BSF WR_LCD
CLRWDT
BCF WR_LCD
CLRWDT
BSF WR_LCD
CLRWDT
BCF WR_LCD
CLRWDT
BSF WR_LCD
CLRWDT
BSF RS_LCD
MOVLW UPPER LCD_TABLE
MOVWF TBLPTRU
MOVLW HIGH LCD_TABLE
MOVWF TBLPTRH
MOVLW LOW LCD_TABLE
MOVWF TBLPTRL
INIT_LCD2:
TBLRD*+
MOVF TABLAT,W
MOVWF PRODL
TBLRD*+
INCF TABLAT,W
BTFSC STATUS,Z
RETURN
MOVF TABLAT,W
BZ INIT_LCD4
MOVWF CNT1
INIT_LCD3:
CALL DELAY_1MS
DECFSZ CNT1
BRA INIT_LCD3
INIT_LCD4:
MOVF PRODL,W
CALL WRITE_LCD_S
TBLRD*+
MOVF TABLAT,W
MOVWF PRODL
TBLRD*+
MOVF TABLAT,W
CALL WRITE_LCD_R
MOVF PRODL,W
CALL WRITE_LCD_R
BSF CS_LCD
BRA INIT_LCD2
LCD_TABLE:
;*******************WINTEK
DW 1000H,0001H ;
DW 9072H,0001H
DW 1001H,0114H
DW 1002H,0100H
DW 1003H,0230H
DW 1007H,0005H
DW 1007H,0025H
DW 1007H,0027H
DW 1007H,0037H
DW 1008H,0202H
DW 100bH,0000H
DW 1010H,210cH
DW 1013H,181EH
DW 1014H,5D60H ;13
DW 1040H,0000H ;14
DW 1042H,9F00H ;15
DW 1043H,9F00H ;16
DW 1061H,0018H ;17
DW 1069H,000CH ;18
DW 10b4H,0000H ;22
DW 1011H,0606H ;22
DW 1030H,0003H ;23
DW 0031H,0406H
DW 0032H,0103H
DW 0033H,0201H
DW 0034H,0406H
DW 0035H,0103H
DW 0036H,0407H
DW 0037H,0102H
DW 0038H,0303H
DW 100CH,00002H
DW 0FFFFH,0FFFFH
;*********************************
;*********************************
SET_LCD:
MOVLW 0X16 ;127
RCALL WRITE_LCD_S
MOVF PIC_HEA,W
RCALL WRITE_LCD_R
MOVF PIC_HSA,W
RCALL WRITE_LCD_R
BSF CS_LCD
MOVLW 0X17;161
RCALL WRITE_LCD_S
MOVF PIC_VEA,W
RCALL WRITE_LCD_R
MOVF PIC_VSA,W
RCALL WRITE_LCD_R
BSF CS_LCD
MOVLW 0X21;
RCALL WRITE_LCD_S
MOVF PIC_VSA,W
RCALL WRITE_LCD_R
MOVF PIC_HSA,W
RCALL WRITE_LCD_R
BSF CS_LCD
;***************
;MOVLW 0X0c;
;RCALL WRITE_LCD_S
;MOVLW 0x01
;RCALL WRITE_LCD_R
;MOVlw 0x02
;RCALL WRITE_LCD_R
;BSF CS_LCD
;***************
MOVLW 0X22
WRITE_LCD_S:
BCF CS_LCD
CLRF LATD
BCF RS_LCD
BCF WR_LCD
CLRWDT
BSF WR_LCD
MOVWF LATD;P2,A
BCF WR_LCD
CLRWDT
BSF WR_LCD
;BSF RS_LCD
RETURN
;***********************
WRITE_LCD_R:
;BSF WR
BSF RS_LCD
; BSF RD
WRITE_LCD_R2:
BCF CS_LCD
MOVWF LATD;P2,A
BCF WR_LCD
CLRWDT
BSF WR_LCD
RETURN
;**********************************
ORG 7FF8H
DW 0XFF3F ;CONFIG 1
DW 0XFFFD ;CONFIG 2
DW 0XFeFF ;CONFIG 3
DW 0XFFFF
;*******************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -