📄 in419c.asm
字号:
LIST P=16F690;F=INHX8M
#INCLUDE P16F690.inc
;__config( _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON &_CP_OFF&_MCLRE_OFF)
ORG 0x0000
GOTO MAIN
ORG 0X0004
BCF INTCON,7
MOVWF W_TEMP
SWAPF STATUS,0
CLRF STATUS
MOVWF ST_TEMP
;MOVF PCLATH,0
;MOVWF ZZ_HH
BTFSC INTCON,RABIF
CALL KSZD_F
BTFSS INTCON,T0IF
GOTO USA
; BSF STATUS,RP0
;BCF STATUS,RP1
CALL TIME_T
; BCF STATUS,RP0
; MOVF ZZ_HH,0
; MOVWF PCLATH
;BSF INTCON,7
USA SWAPF ST_TEMP,0
MOVWF STATUS
SWAPF W_TEMP,1
SWAPF W_TEMP,0
BSF INTCON,7
RETFIE
CBLOCK 0X20
W_TEMP
ST_TEMP
ZZ_HH
R1 ;EQU 0X3C
R2 ;EQU 0X3D
R3 ;EQU 0X3E
R4 ;EQU 0X3F
R5 ;EQU 0X40
R6 ;EQU 0X41
R7 ;EQU 0X42
VOLTH
VOLTL
VOLTH1
VOLTL1
VOLTH2
VOLTL2
AAH
AAL
BBH
BBL
CCH
CCL
DDH
DDL
EEH
EEL
XT2
XT1
FTH
FTL
BUF3
BUF2
BUF1
BUF0
LDIVH
LDIVL
MUL
MULH
MULL
FTHH
FTLL
ADDR
VALU
RR1
RR2
RR3
RR4
BL
YH
YL
FL
FH
ENDC
ORG 0X20
TABLE ADDWF PCL,1
RETLW 0x77 ;0
RETLW 0x44 ;1
RETLW 0xB5 ;2
RETLW 0xD5 ;3
RETLW 0xC6 ;4
RETLW 0xD3 ;5
RETLW 0xF3 ;6
RETLW 0x45 ;7
RETLW 0xF7 ;8
RETLW 0xD7 ;9
RETLW 0XB7 ;A
RETLW 0XFF ;B
RETLW 0XB9 ;C
RETLW 0XBF ;D
RETLW 0XF9 ;E
RETLW 0XDC ;F
RETLW 0X32 ;L
RETLW 0XE6 ;H
RETLW 0X76 ;U
RETLW 0X00 ;BLANK
RETURN
ORG 0X60
MAIN ; CALL 0XFFF
; BSF STATUS,RP0
;BCF STATUS,RP1
;MOVWF OSCTUNE
;================================
;**************************************
;被除数存于BUF2,BUF1,BUF0中,其中BUF0为低字节,BUF2为高字节
;除数存于LDIVH,LDIVL中,其中LDIVL为低字节,LDIVH为高字节
;商存于BUF1,BUF0中BUF0为低字节,BUF1为高字节
;余数存于BUF3,BUF2中,BUF2为低字节,BUF3为高字节
;**************************************
; MOVLW 0X98
; MOVWF BUF2
; MOVLW 0X96
; MOVWF BUF1
; MOVF 0X80
; MOVWF BUF0
; MOVLW 0X10
; MOVWF LDIVH
; MOVLW 0X00
; MOVWF LDIVL
;CALL DIV2
;SSSD GOTO SSSD
;================================
; MOVLW 0X98
; MOVWF FH
; MOVLW 0X06
; MOVWF FL
; MOVLW 0X07
; SUBWF FL,1
; BTFSS STATUS,0
; DECF FH,1
;VVV GOTO VVV
BCF STATUS,7
BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTA
CLRF PORTB
CLRF PORTC
BSF STATUS,RP1
CLRF ANSEL
CLRF ANSELH
BSF ANSEL,3
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW 0X00
MOVWF TRISC ;RC0=A,RC1F;RC2=B;RC3=DP,RC4=D;RC5=E;RC6=C;RC7=G
MOVLW 0X40
MOVWF TRISB ;RB4-W4,RB5-W3,RB6-KEY,RB7-KZ
MOVLW 0x07
MOVWF OPTION_REG
;MOVLW 0X50
; MOVWF ADCON1
BCF TRISA,1
BCF TRISA,2
BSF TRISA,0
BSF TRISA,4
BSF TRISA,3
BSF TRISA,5
BSF WPUB,6
MOVLW 0X0F
MOVWF OSCTUNE
MOVLW 0X67
MOVWF OSCCON
CLRF PIE1
BCF STATUS,RP0
CLRF PIR1
;CALL INT
MOVLW 0XFF
MOVWF PORTA
;MOVWF PORTB
BCF PORTA,0
BSF PORTB,4
BSF PORTB,5
BCF PORTB,6
BCF PORTB,7
MOVLW 0X00
MOVWF PORTC
CLRWDT
CLRF INTCON
MOVLW 0X8C
MOVWF ADCON0
;BCF INTCON,RABIF
CLRF R1
CLRF R2
CLRF R3
CLRF R4
CLRF RR1
CLRF RR2
CLRF RR3
CLRF RR4
CLRF R6
CLRF R5
CLRF VOLTL
CLRF VOLTH
CLRF VOLTL2
CLRF VOLTH2
CLRF TMR1L
CLRF TMR1H
CLRF TMR2
CLRF FTH
CLRF FTL
CLRF TMR0
CLRF XT1
CLRF XT2
MOVLW 0X52
MOVWF BL
BSF INTCON,T0IE
BSF INTCON,7
CLRF 0X77
CLRF R5
; MOVLW 0X09
; MOVWF R2
;============================
BTFSC PORTB,6
GOTO MAIN101
LOOP1 CLRWDT
BTFSS PORTB,6
GOTO LOOP1
MOVLW 0X12
MOVWF R4
CALL AD_1
CALL VOL_JS
CALL VOL_BCD
CALL DISP_1
BTFSS PORTA,3
CALL VOL_SUB
BTFSS PORTA,5
CALL VOL_ADD
BTFSC PORTB,6
GOTO LOOP1
MOVLW 0X05
MOVWF ADDR
MOVF BL,0
MOVWF VALU
CALL WRI_
CLRF 0X77;GOTO MAIN101
MOVLW 0X98
MOVWF FH
MOVLW 0X96
MOVWF FL
MOVLW 0X13
MOVWF R4
BCF INTCON,7
LOOP2 BCF 0X77,1
CLRWDT
BTFSS PORTB,6
GOTO LOOP2
BCF T1CON,TMR1ON
CLRF TMR1L
CLRF TMR1H
LOP1 CLRWDT
BTFSC PORTA,0
GOTO LOP1
BSF T1CON,TMR1ON
LOP2 CLRWDT
BTFSS PORTA,0
GOTO LOP2
LOP6 CLRWDT
BTFSC PORTA,0
GOTO LOP6
BCF T1CON,TMR1ON
MOVF TMR1L,0
MOVWF FTL
MOVF TMR1H,0
MOVWF FTH
CLRF TMR1L
CLRF TMR1H
CALL F_JS
LOP3 CALL DISP_2
BTFSS PORTA,5
CALL F_ADD
BTFSS PORTA,3
CALL F_SUB
BTFSC 0X77,1
GOTO LOOP2
BTFSC PORTB,6
GOTO LOP3
MOVLW 0X06
MOVWF ADDR
MOVF FL,0
MOVWF VALU
CALL WRI_
MOVLW 0X07
MOVWF ADDR
MOVF FH,0
MOVWF VALU
CALL WRI_
BCF T1CON,TMR1ON
GOTO MAIN101
;======================VOL_SUB
VOL_SUB CLRWDT
BTFSS PORTA,3
GOTO VOL_SUB
MOVLW 0X02
SUBWF BL,0
BTFSC STATUS,0
DECF BL,1
RETURN
VOL_ADD CLRWDT
BTFSS PORTA,5
GOTO VOL_ADD
MOVLW 0XFE
SUBWF BL,0
BTFSS STATUS,0
INCF BL,1
RETURN
F_SUB CLRWDT
BTFSS PORTA,5
GOTO F_SUB
BSF 0X77,1
MOVLW 0X08
SUBWF FL,1
BTFSS STATUS,0
DECF FH,1
BCF T1CON,TMR1ON
BCF INTCON,7
CLRF TMR1H
CLRF TMR1L
CLRF FTH
CLRF FTL
RETURN
F_ADD CLRWDT
BTFSS PORTA,3
GOTO F_ADD
BSF 0X77,1
MOVLW 0X08
ADDWF FL,1
BTFSC STATUS,0
INCF FH,1
BCF T1CON,TMR1ON
BCF INTCON,7
CLRF TMR1H
CLRF TMR1L
CLRF FTH
CLRF FTL
RETURN
;============================
MAIN101 ; BSF STATUS,RP0
;BCF STATUS,RP1
CALL INT
; BCF STATUS,RP0
MAIN11 CLRWDT
BTFSS PORTB,6
GOTO MAIN11
MAIN1 MOVLW 0X12
MOVWF R4
CALL AD_1 ;电压A/D检测
;GOTO MAIN12
CALL KZ_JDQ
CALL VOL_JS
CALL VOL_BCD
; CLRF VOLTL
; CLRF VOLTH
MAIN12 ;CALL AD_1 ;电压A/D检测
CALL DISP_1
CLRWDT
; GOTO MAIN1
BTFSC PORTB,6
GOTO MAIN1
; GOTO MAIN3
; MOVLW 0X10
CLRF VOLTL2
CLRF VOLTH2
CLRF R6
CLRF R5 ;GOTO MAIN3
MAIN2 CLRWDT
BTFSS PORTB,6
GOTO MAIN2
BCF T1CON,TMR1ON
BCF INTCON,7
CLRF TMR1H
CLRF TMR1L
CLRF FTH
CLRF FTL
F_CL2 BSF T1CON,TMR1ON
BCF STATUS,RP1
BSF STATUS,RP0
CLRF IOCA
CLRF IOCB
BSF IOCA,0
BSF TRISA,0
BSF WPUA,0
BCF PCON,5
BCF STATUS,RP0
MOVF PORTA,0
BSF INTCON,RABIE
BSF INTCON,GIE
BCF 0X77,1
BCF 0X77,2
BCF 0X77,3
MOVLW 0X13
MOVWF R4
CLRF R7
F_CL33 ; INCF R5,1
; MOVLW 0X10
; SUBWF R5,0
;BTFSC STATUS,0
CALL F_JS
F_CL30 CALL DISP_2
CLRWDT
CALL AD_1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -