📄 picdisasm_mc40.asm
字号:
BTFSS STATUS,C ; |
GOTO LABEL_0x5A ;>-----|
BSF 0x45,0x00 ; | | 可以进行运算标志
BCF PORTC,0x07 ; | | ;无效语句
BSF 0x46,0x01 ; | |
BTFSS 0x45,0x02 ; | | ;;允许提前开始标志
GOTO LABEL_0x5A ;>-------|
BTFSC PORTA,0x04 ; | | |
BSF PORTA,0x00 ; | | |
BTFSS PORTA,0x04 ; | | |
BCF PORTA,0x00 ; | | |
BSF STATUS,RP0 ; | | |
BCF TRISA,0x00 ; | | |改变为输出
BCF STATUS,RP0 ; | | |
CLRF 0x30 ; | | |
MOVF 0x2a, W ; | | |
MOVWF 0x31 ; | | | 采集到的数据 ,周期高电平的脉宽时间
MOVF 0x2b, W ; | | |
MOVWF 0x32 ; | | |
BSF 0x45,0x01 ; | | | 数据装载完成标志
BCF 0x45,0x02 ; | | | 提前条件成立标志
CALL SUB_0x13B ; | | | 低电平时间装载
CALL SUB_0x152 ; | | | 高电平时间装载
LABEL_0x5A: ;<-------|
BSF 0x45,0x06 ;外部中断中清除此标志
BCF 0x45,0x07 ;tmr1 溢出判断
GOTO LABEL_0x8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;tmr0 中断 256us 产生一次
;负责高电平时间延时
LABEL_0x5D:
BCF INTCON,T0IF
BTFSS 0x46,0x02 ;允许TRM0延时标志
GOTO LABEL_0x8
MOVF 0x26, F
BTFSS STATUS,Z
GOTO LABEL_0x73 ;>---|
MOVF 0x27, F ; |
BTFSS STATUS,Z ; |
GOTO LABEL_0x6C ;>-----|
LABEL_0x66: ;<-------|
BCF 0x46,0x02 ; | | | 延时完成标志
BCF PORTC,0x06 ; | | | 无效语句
BTFSS 0x45,0x01 ; | | | 提前条件成立
GOTO LABEL_0x8 ; | | |
CALL SUB_0x13B ; | | | 低电平时间装载
GOTO LABEL_0x8 ; | | |
LABEL_0x6C: ;<-----| |
COMF 0x27, W ; | |
ADDWF TMR0, F ; | |
CLRF 0x27 ; | |
BTFSS STATUS,C ; | |
GOTO LABEL_0x8 ; | |
BCF INTCON,T0IF ; | |
GOTO LABEL_0x66 ;>-------|
LABEL_0x73: ;<---|
DECF 0x26, F
GOTO LABEL_0x8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;65ms中断
LABEL_0x75:
BCF PIR1,TMR1IF
BSF 0x45,0x07 ;tmr1 溢出标志
MOVLW 0xff
MOVWF 0x2a
MOVLW 0xff
MOVWF 0x2b
BCF 0x45,0x00
CLRF 0x35
CALL SUB_0x12A ;恢复到开机状态,复位
GOTO LABEL_0x8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;tmr2中断
;负责低电平时间延时
LABEL_0x7F:
BCF PIR1,TMR2IF
BTFSS 0x45,0x01 ;提前条件成立标志
GOTO LABEL_0x8
MOVF 0x28, F
BTFSS STATUS,Z
GOTO LABEL_0x97 ;>---|
MOVF 0x29, F ; |
BTFSS STATUS,Z ; |
GOTO LABEL_0x90 ;>-----|
LABEL_0x88: ;<---------|
BTFSC PORTA,0x04 ; | | |
BCF PORTA,0x00 ; | | |
BTFSS PORTA,0x04 ; | | |
BSF PORTA,0x00 ; | | |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -