📄 pic-lcd.asm
字号:
GOTO TRET
KUANG4: ;第0列
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 05H
CALL W_DATA
CALL W_DATA
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 04H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 03H
MOVWF PCOM
GOTO TRET
KUANG5: ;第0列
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 080H
CALL W_DATA
CALL W_DATA
CALL W_DATA
CALL W_DATA
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 040H
CALL W_DATA
CALL W_DATA
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 04H
MOVWF PCOM
GOTO TRET
KUANG6: ;第0列
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 02H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 04H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 05H
MOVWF PCOM
GOTO TRET
KUANG79: ;第0列
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 040H
CALL W_DATA
CALL W_DATA
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 040H
CALL W_DATA
CALL W_DATA
MOVLW 0C0H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 07H
SUBWF PCOM,W
MOVLW 06H
BTFSS 3,2
MOVLW 08H
MOVWF PCOM
GOTO TRET
KUANG8: ;第0列
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 05H
CALL W_DATA
CALL W_DATA
MOVLW 05H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 04H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 07H
MOVWF PCOM
GOTO TRET
;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0900H
KUANG10: ;第0列
BCF PCLATH,3
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 05H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 04H
CALL W_DATA
CALL W_DATA
MOVLW 07H
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 01H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 09H
MOVWF PCOM
GOTO TRET
KUANG1100: ;第8列
BCF PCLATH,3
MOVLW 10H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 07H ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
MOVLW 020H
CALL W_DATA
CALL W_DATA
MOVLW 041H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 040H
CALL W_DATA
CALL W_DATA
MOVLW 020H
CALL W_DATA
CALL W_DATA
MOVLW 0AH
MOVWF PCOM
GOTO TRET
;***********************
DISP_PIC:;最多60条指令
BCF PCLATH,3
MOVLW 10H ;B'00010-Y7-Y6-Y5'
XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
BSF PCLATH,3
BTFSC WORK,POW
GOTO DISP_PC
DISP_VOL_POW:
INCF TCOUNT,1;YCOM_H_VP=00,YCOM_L_VP=0
MOVF TCOUNT,W
BCF PCLATH,3
BSF PCLATH,4
CALL TABLE_POW
BCF PCLATH,4
BSF PCLATH,3
BTFSC WORK,VOL
GOTO DISP_POW
DISP_VOL:
BSF PCLATH,4
CALL TABLE_VOL
BCF PCLATH,4
MOVWF TEMP
MOVF TCOUNT,W
SUBWF VOL_TEMP,W
BTFSS 3,0
CLRF TEMP
GOTO DISP_VOL_POW_COM
DISP_POW:
MOVWF TEMP;YCOM_H_VP=1,YCOM_L_VP=5
MOVLW 04H
SUBWF TCOUNT,W
BTFSC 3,2
GOTO DISP_POW3
MOVLW 07H
SUBWF TCOUNT,W
BTFSC 3,2
GOTO DISP_POW2
MOVLW 0AH
SUBWF TCOUNT,W
BTFSS 3,2
GOTO DISP_VOL_POW_COM
DISP_POW1:
MOVLW 081H
BTFSC POWF,1
ANDWF TEMP,1
GOTO DISP_VOL_POW_COM
DISP_POW2:
MOVLW 081H
BTFSC POWF,2
ANDWF TEMP,1
GOTO DISP_VOL_POW_COM
DISP_POW3:
MOVLW 081H
BTFSC POWF,3
ANDWF TEMP,1
;-------------------------------
;-------------------------------
DISP_VOL_POW_COM:
MOVF TEMP,W
BCF PCLATH,3
CALL W_DATA
INCF YCOM_L_VP,1
CALL W_DATA
BSF PCLATH,3
;--------------------
MOVLW 10H
SUBWF YCOM_L_VP,W
BTFSS 3,0
GOTO DISP_VP_COM0
CLRF YCOM_L_VP
INCF YCOM_H_VP,1
;----------------------
DISP_VP_COM0:
INCF PCOUNT,1
MOVLW 10H
SUBWF PCOUNT,W
BCF PCLATH,3
BTFSS 3,2
GOTO TRET
BSF PCLATH,3
CLRF PCOUNT
MOVLW 0FFH
MOVWF TCOUNT
BTFSC WORK,VOL
GOTO DISP_POW_END
DISP_VOL_END:;为DISP_POW作准备
BSF WORK,VOL
MOVLW 01H ;B'00010-Y7-Y6-Y5'
MOVWF YCOM_H_VP
MOVLW 05H ;B'0000-Y4-Y3-Y2-Y1'
MOVWF YCOM_L_VP
BCF PCLATH,3
GOTO TRET
DISP_POW_END:;为DISP_FREEZ作准备
BSF WORK,POW
MOVLW 02H ;B'00010-Y7-Y6-Y5'
MOVWF YCOM_H_VP
MOVLW 0AH ;B'0000-Y4-Y3-Y2-Y1'
MOVWF YCOM_L_VP
BCF PCLATH,3
GOTO TRET
;------------------------------
;------------------------------
DISP_PC:;最多170条指令
BCF PCLATH,3
MOVLW 10H ;B'00010-Y7-Y6-Y5'
XORWF YCOM_H_VP,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
XORWF YCOM_L_VP,W
CALL W_INS;设置列地址低位
BSF PCLATH,3
BTFSS WORK,FREEZ
GOTO DISP_FREEZ
BTFSS FLAG,PPC;显示通信图表
GOTO DISP_PC0;YCOM_H_VP=3,YCOM_L_VP=6
BCF PCLATH,3
MOVLW 03H
CALL W_DATA
CALL W_DATA
MOVLW 0F7H
CALL W_DATA
CALL W_DATA
MOVLW 09BH
CALL W_DATA
CALL W_DATA
MOVLW 093H
CALL W_DATA
CALL W_DATA
MOVLW 09BH
CALL W_DATA
CALL W_DATA
MOVLW 0F7H
CALL W_DATA
CALL W_DATA
MOVLW 03H
CALL W_DATA
CALL W_DATA
BSF PCLATH,3
GOTO DISP_PC_END
DISP_PC0:
BCF PCLATH,3
MOVLW 00H
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
DISP_PC_END:
MOVLW B'11100001'
ANDWF WORK,1
BCF PCLATH,3
;为年高位显示准备
MOVLW 15H ;B'00010-Y7-Y6-Y5'
;XORWF YCOM_H,W
CALL W_INS;设置列地址高位
MOVLW 0AH ;B'0000-Y4-Y3-Y2-Y1'
;XORWF YCOM_L,W
CALL W_INS;设置列地址低位
;---------------------
MOVLW 2EH;显示20年的高位
CALL W_DATA
CALL W_DATA
MOVLW 2AH
CALL W_DATA
CALL W_DATA
MOVLW 3AH
CALL W_DATA
CALL W_DATA
MOVLW 00H
CALL W_DATA
CALL W_DATA
MOVLW 3EH
CALL W_DATA
CALL W_DATA
MOVLW 22H
CALL W_DATA
CALL W_DATA
MOVLW 3EH
CALL W_DATA
CALL W_DATA
;为VOL_POW_FREEZ_PC做准备。
MOVLW 00H ;B'00010-Y7-Y6-Y5'
MOVWF YCOM_H_VP
;MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
MOVWF YCOM_L_VP
MOVWF PCOM
GOTO TRET
;************************
DISP_FREEZ:;最多180条指令
BTFSC WORK,TST
GOTO DISP_FREEZ_TEST
BTFSS FLAG,FREEZE;YCOM_H_VP=2,YCOM_L_VP=A
GOTO DISP_FREEZ0
BCF PCLATH,3
MOVLW 55H
CALL W_DATA
CALL W_DATA
MOVLW 22H
CALL W_DATA
CALL W_DATA
MOVLW 55H
CALL W_DATA
CALL W_DATA
MOVLW 08H
CALL W_DATA
CALL W_DATA
MOVLW 55H
CALL W_DATA
CALL W_DATA
MOVLW 22H
CALL W_DATA
CALL W_DATA
MOVLW 55H
CALL W_DATA
CALL W_DATA
BSF PCLATH,3
GOTO DISP_FREEZ_END
DISP_FREEZ0:
BCF PCLATH,3
MOVLW 00H
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
;NOP
CALL W_DATA
CALL W_DATA
DISP_FREEZ_END:
BSF WORK,FREEZ
;为通信作准备
MOVLW 03H ;B'00010-Y7-Y6-Y5'
MOVWF YCOM_H_VP
MOVLW 06H ;B'0000-Y4-Y3-Y2-Y1'
MOVWF YCOM_L_VP
BCF PCLATH,3
GOTO TRET
DISP_FREEZ_TEST:
BCF PCLATH,3
MOVLW 40H
CALL W_DATA
CALL W_DATA
MOVLW 80H
CALL W_DATA
CALL W_DATA
MOVLW 81H
CALL W_DATA
CALL W_DATA
MOVLW 0FFH
CALL W_DATA
CALL W_DATA
MOVLW 81H
CALL W_DATA
CALL W_DATA
MOVLW 80H
CALL W_DATA
CALL W_DATA
MOVLW 40H
CALL W_DATA
CALL W_DATA
BSF PCLATH,3
GOTO DISP_FREEZ_END
;******************************************************
;******************************************************
;ORG 0A10H
;******************************************************
AD_DISP:
BCF PCLATH,3
MOVLW 10H ;B'00010-Y7-Y6-Y5'
XORWF YCOM_H_W,W
CALL W_INS;设置列地址高位
MOVLW 00H ;B'0000-Y4-Y3-Y2-Y1'
XORWF YCOM_L_W,W
CALL W_INS;设置列地址低位
BSF PCLATH,3
BTFSC WORK,CLRLD
G
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -