📄 picdisasm_mc40.asm
字号:
GOTO LABEL_0x8 ; | | |
MOVF 0x28, F ; | | |
BTFSS STATUS,Z ; | | |
GOTO LABEL_0x97 ;>-------| |
LABEL_0x90: ;<-----| | |
COMF 0x29, W ; | | |
ADDWF TMR2, F ; | | |
CLRF 0x29 ; | | |
BTFSS STATUS,C ; | | |
GOTO LABEL_0x8 ; | | |
BCF PIR1,TMR2IF ; | | |
GOTO LABEL_0x88 ;>---------|
LABEL_0x97: ;<-------|
DECF 0x28, F
GOTO LABEL_0x8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;外部中断
;;说明 扑捉中断采集完成,这部分才有意义
LABEL_0x99:
BCF INTCON,INTF
MOVF TMR1H, W
MOVWF 0x2c
MOVF TMR1L, W
MOVWF 0x2d
MOVF TMR1H, W
SUBWF 0x2c, W
BTFSC STATUS,Z ;判断是否相等
GOTO LABEL_0xA6 ;>---|
MOVF TMR1H, W ; |
MOVWF 0x2c ; |
MOVF TMR1L, W ; |
MOVWF 0x2d ; |
LABEL_0xA6: ;<---|
MOVLW 0x00
SUBWF 0x2c, W ;最小值判断 0。25ms
BTFSS STATUS,C
GOTO LABEL_0x8 ;信号错误,判断是否有其它中断产生
BTFSS STATUS,Z
GOTO LABEL_0xB0 ;>---|
MOVLW 0x0a ; |
SUBWF 0x2d, W ; |
BTFSS STATUS,C ; |
GOTO LABEL_0x8 ; | ;信号错误,判断是否有其它中断产生
LABEL_0xB0: ;<---|
BTFSS 0x45,0x06 ;扑捉中断建立的标志
GOTO LABEL_0x8
BSF PORTB,0x06 ;无用端口
BCF 0x45,0x06
MOVF 0x2c, W
MOVWF 0x33 ;周期低电平时间
MOVF 0x2d, W
MOVWF 0x34
BCF PORTB,0x06 ;无用端口
GOTO LABEL_0x8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;初始化
LABEL_0xBA:
BSF STATUS,RP0
CLRF PIE1
CLRF 0x0d
MOVLW 0x11
MOVWF TRISA ;RAO,RA4 set IN
MOVLW 0x1F
MOVWF TRISB ;RB0-RB4 set IN
MOVLW 0x07
MOVWF TRISC ;RC0-RC2 set IN
MOVLW 0x06 ;全部设置为通用端口
MOVWF 0x19 ;ADCON1
MOVLW 0xc1
MOVWF OPTION_REG
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PIR1
CLRF 0x0d ;废语句,无用
MOVLW 0x1f
MOVWF FSR
LABEL_0xCF: ;<---|
BCF PORTC,0x07 ; | ;废语句,无用
INCF FSR, F ; |
CLRF INDF ; |
BSF FSR,0x07 ; |
CLRF INDF ; |
BCF FSR,0x07 ; |
BSF PORTC,0x07 ; ;废语句,无用
MOVLW 0x7f ; |
SUBWF FSR, W ; |
BTFSS STATUS,C ; |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -