📄 mainn.asm
字号:
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEFSETH ;=4 SET 1F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEFSETM ;=5 SET 1F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOOSETH ;=6 SET 2O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOOSETM ;=7 SET 2O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOFSETH ;=8 SET 2F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOFSETM ;=9 SET 2F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THROSETH ;=A SET 3O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THROSETM ;=B SET 3O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THRFSETH ;=C SET 3F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THRFSETM ;=D SET 3F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO DTSETH ;=E SET DTIME H TIME
GOTO DTSETH ;=F SET DTIME M TIME
;---------------------------------
NEXTP BTFSS FLAG,SETF ;UP OR DOWN PRESSED
GOTO INTEND
BTFSS PORTB,6
GOTO DOUP ;UP KEY PRESSED
BTFSS PORTB,7
GOTO DODOWN ;DOWN KEY PRESSED
GOTO INTEND ;NOTHING THEN RETURN DIRECTLY
;---------UP KEY--------------------
DOUP MOVF SETCOUNT,W
MOVWF SETCOUNTT
DECF SETCOUNTT,1 ;ACCORDING SET PRESS TIMES TO SUBGRAM
BTFSC STATUS ,Z
GOTO WDADD ;=1 SET PRE TEMPRETURE
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEOSETHA ;=2 SET 1O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEOSETMA ;=3 SET 1O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEFSETHA ;=4 SET 1F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEFSETMA ;=5 SET 1F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOOSETHA ;=6 SET 2O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOOSETMA ;=7 SET 2O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOFSETHA ;=8 SET 2F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOFSETMA ;=9 SET 2F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THROSETHA ;=A SET 3O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THROSETMA ;=B SET 3O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THRFSETHA ;=C SET 3F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THRFSETMA ;=D SET 3F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO DTSETHA ;=E SET DTIME H TIME
GOTO DTSETMA ;=F SET DTIME M TIME
WDADD INCF TPRE
MOVLW 0X63H
SUBWF TPRE,W
BTFSS STATUS,C
GOTO WDJ
MOVLW 0X00H
MOVWF TPRE
WDJ ACALL HEXTOBCD
ACALL DISP
GOTO INTEND
;------------------------
ONEOSETHA INCF TIPRE1OH
MOVLW 0X17H
SUBWF TIPRE1OH,W
BTFSS STATUS,C
GOTO XSHL
MOVLW 0X00H
MOVWF TIPRE1OH
XSHL ACALL DISP
GOTO INTEND
ONEOSETMA INCF TIPRE1OM
MOVLW 0X3BHH
SUBWF TIPRE1OM,W
BTFSS STATUS,C
GOTO FZHL
MOVLW 0X00H
MOVWF TIPRE1OM
FZHL ACALL DISP
GOTO INTEND
ONEFSETHA INCF TIPRE1FH
MOVLW 0X17H
SUBWF TIPRE1FH,W
BTFSS STATUS,C
GOTO XSHLF
MOVLW 0X00H
MOVWF TIPRE1FH
XSHLF ACALL DISP
GOTO INTEND
ONEFSETMA INCF TIPRE1FM
MOVLW 0X3BH
SUBWF TIPRE1FM,W
BTFSS STATUS,C
GOTO FZHLF
MOVLW 0X00H
MOVWF TIPRE1FM
FZHLF ACALL DISP
GOTO INTEND
TWOOSETHA INCF TIPRE2OH
MOVLW 0X17H
SUBWF TIPRE2OH,W
BTFSS STATUS,C
GOTO XSHL1
MOVLW 0X00H
MOVWF TIPRE2OH
XSHL1 ACALL DISP
GOTO INTEND
TWOOSETMA INCF TIPRE2OM
MOVLW 0X3BH
SUBWF TIPRE2OM,W
BTFSS STATUS,C
GOTO FZHL1
MOVLW 0X00H
MOVWF TIPRE2OM
FZHL1 ACALL DISP
GOTO INTEND
TWOFSETHA INCF TIPRE2FH
MOVLW 0X17H
SUBWF TIPRE2FH,W
BTFSS STATUS,C
GOTO XSHLF1
MOVLW 0X00H
MOVWF TIPRE2FH
XSHLF1 ACALL DISP
GOTO INTEND
TWOFSETMA INCF TIPRE2FM
MOVLW 0X3BH
SUBWF TIPRE2FM,W
BTFSS STATUS,C
GOTO FZHLF1
MOVLW 0X00H
MOVWF TIPRE2FM
FZHLF1 ACALL DISP
GOTO INTEND
THROSETHA INCF TIPRE3OH
MOVLW 0X17H
SUBWF TIPRE3OH,W
BTFSS STATUS,C
GOTO XSHL2
MOVLW 0X00H
MOVWF TIPRE3OH
XSHL2 ACALL DISP
GOTO INTEND
THROSETMA INCF TIPRE3OM
MOVLW 0X3BH
SUBWF TIPRE3OM,W
BTFSS STATUS,C
GOTO FZHL2
MOVLW 0X00H
MOVWF TIPRE3OM
FZHL2 ACALL DISP
GOTO INTEND
THRFSETHA INCF TIPRE3FH
MOVLW 0X17H
SUBWF TIPRE3FH,W
BTFSS STATUS,C
GOTO XSHLF2
MOVLW 0X00H
MOVWF TIPRE3FH
XSHLF2 ACALL DISP
GOTO INTEND
THRFSETMA INCF TIPRE3FM
MOVLW 0X3BH
SUBWF TIPRE3FM,W
BTFSS STATUS,C
GOTO FZHLF2
MOVLW 0X00H
MOVWF TIPRE3FM
FZHLF2 ACALL DISP
GOTO INTEND
;----------------------------
DTSETHA INCF DH
MOVLW 0X17H
SUBWF DH,W
BTFSS STATUS,C
GOTO ZQSJ
MOVLW 0X00H
MOVWF DH
ZQSJ ACALL DISP
GOTO INTEND
DTSETMA INCF DM
MOVLW 0X3BH
SUBWF DH,W
BTFSS STATUS,C
GOTO ZQFZ
MOVLW 0X00H
MOVWF DH
ZQFZ ACALL DISP
GOTO INTEND
;------------DOWN KEY--------------------------------
DODOWN MOVF SETCOUNT,W
MOVWF SETCOUNTT
DECF SETCOUNTT,1 ;ACCORDING SET PRESS TIMES TO SUBGRAM
BTFSC STATUS ,Z
GOTO WDSUB ;=1 SET PRE TEMPRETURE
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEOSETHD ;=2 SET 1O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEOSETMD ;=3 SET 1O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEFSETHD ;=4 SET 1F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO ONEFSETMD ;=5 SET 1F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOOSETHD ;=6 SET 2O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOOSETMD ;=7 SET 2O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOFSETHD ;=8 SET 2F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO TWOFSETMD ;=9 SET 2F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THROSETHD ;=A SET 3O H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THROSETMD ;=B SET 3O M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THRFSETHD ;=C SET 3F H TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO THRFSETMD ;=D SET 3F M TIME
DECF SETCOUNTT,1
BTFSC STATUS ,Z
GOTO DTSETHD ;=E SET DTIME H TIME
GOTO DTSETMD ;=F SET DTIME M TIME
WDSUB DECF TPRE
MOVLW 0X00H
SUBWF TPRE,W
BTFSS STATUS,C
GOTO WDJD
MOVLW 0X63H
MOVWF TPRE
WDJD ACALL HEXTOBCD
ACALL DISP
GOTO INTEND
;------------------------
ONEOSETHA DECF TIPRE1OH
MOVLW 0X00H
SUBWF TIPRE1OH,W
BTFSS STATUS,C
GOTO XSHLD
MOVLW 0X17H
MOVWF TIPRE1OH
XSHLD ACALL DISP
GOTO INTEND
ONEOSETMD DECF TIPRE1OM
MOVLW 0X00HH
SUBWF TIPRE1OM,W
BTFSS STATUS,C
GOTO FZHLD
MOVLW 0X3BH
MOVWF TIPRE1OM
FZHLD ACALL DISP
GOTO INTEND
ONEFSETHD DECF TIPRE1FH
MOVLW 0X00H
SUBWF TIPRE1FH,W
BTFSS STATUS,C
GOTO XSHLFD
MOVLW 0X17H
MOVWF TIPRE1FH
XSHLFD ACALL DISP
GOTO INTEND
ONEFSETMD DECF TIPRE1FM
MOVLW 0X00H
SUBWF TIPRE1FM,W
BTFSS STATUS,C
GOTO FZHLFD
MOVLW 0X3BH
MOVWF TIPRE1FM
FZHLFD ACALL DISP
GOTO INTEND
TWOOSETHD DECF TIPRE2OH
MOVLW 0X00H
SUBWF TIPRE2OH,W
BTFSS STATUS,C
GOTO XSHLD1
MOVLW 0X17H
MOVWF TIPRE2OH
XSHLD1 ACALL DISP
GOTO INTEND
TWOOSETMD DECF TIPRE2OM
MOVLW 0X00H
SUBWF TIPRE2OM,W
BTFSS STATUS,C
GOTO FZHLD1
MOVLW 0X3BH
MOVWF TIPRE2OM
FZHLD1 ACALL DISP
GOTO INTEND
TWOFSETHD DECF TIPRE2FH
MOVLW 0X00H
SUBWF TIPRE2FH,W
BTFSS STATUS,C
GOTO XSHLFD1
MOVLW 0X17H
MOVWF TIPRE2FH
XSHLFD1 ACALL DISP
GOTO INTEND
TWOFSETMD DECF TIPRE2FM
MOVLW 0X00H
SUBWF TIPRE2FM,W
BTFSS STATUS,C
GOTO FZHLFD1
MOVLW 0X3BH
MOVWF TIPRE2FM
FZHLFD1 ACALL DISP
GOTO INTEND
THROSETHD DECF TIPRE3OH
MOVLW 0X00H
SUBWF TIPRE3OH,W
BTFSS STATUS,C
GOTO XSHLD2
MOVLW 0X17H
MOVWF TIPRE3OH
XSHLD2 ACALL DISP
GOTO INTEND
THROSETMD DECF TIPRE3OM
MOVLW 0X00H
SUBWF TIPRE3OM,W
BTFSS STATUS,C
GOTO FZHLD2
MOVLW 0X3BH
MOVWF TIPRE3OM
FZHLD2 ACALL DISP
GOTO INTEND
THRFSETHD DECF TIPRE3FH
MOVLW 0X00H
SUBWF TIPRE3FH,W
BTFSS STATUS,C
GOTO XSHLFD2
MOVLW 0X17H
MOVWF TIPRE3FH
XSHLFD2 ACALL DISP
GOTO INTEND
THRFSETMD DECF TIPRE3FM
MOVLW 0X00H
SUBWF TIPRE3FM,W
BTFSS STATUS,C
GOTO FZHLFD2
MOVLW 0X3BH
MOVWF TIPRE3FM
FZHLFD2 ACALL DISP
GOTO INTEND
;----------------------------
DTSETHD DECF DH
MOVLW 0X00H
SUBWF DH,W
BTFSS STATUS,C
GOTO ZQSJD
MOVLW 0X17H
MOVWF DH
ZQSJD ACALL DISP
GOTO INTEND
DTSETMD DECF DM
MOVLW 0X00H
SUBWF DH,W
BTFSS STATUS,C
GOTO ZQFZD
MOVLW 0X3BH
MOVWF DH
ZQFZD ACALL DISP
GOTO INTEND
;--------------------------------------------
INTEND SWAPF ST_STACK,W
MOVWF STATUS
SWAPF W_STACK,F
SWAPF W_STACK,W
BCF INTCON,RBIF
RETFIE
;--------------------------------------------
;---------------------------------------------
TABLE ADDWF PCL,1
RETLW 0x3F ;0
RETLW 0x06 ;1
RETLW 0x5B ;2
RETLW 0x4F ;3
RETLW 0x66 ;4
RETLW 0x6B ;5
RETLW 0x7D ;6
RETLW 0x07 ;7
RETLW 0x7F ;8
RETLW 0x67 ;9
RETURN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -