📄 picdisasm_mc40.asm
字号:
CALL SUB_0x270 ; | |
GOTO LABEL_0xF0 ; | |
; | |
;***************************;******|***|****
; | |
ORG 0x12A ; | |
SUB_0x12A: ;<-----|---|
BSF STATUS,RP0
BSF TRISA,0x00 ;输出信号端口
BCF STATUS,RP0
; BSF PORTC,0x07
BCF PORTA,0x01
BCF 0x45,0x01
BCF 0x45,0x02
BCF 0x45,0x03
BCF 0x45,0x04
BCF 0x45,0x05
BCF 0x46,0x01
CLRF 0x30
MOVLW 0xff
MOVWF 0x31
MOVLW 0xff
MOVWF 0x32
RETURN
;*******************************************
ORG 0x13B
SUB_0x13B:
CLRF TMR2
BCF PIR1,TMR2IF
BTFSC PORTA,0x04
BSF PORTA,0x00
BTFSS PORTA,0x04
BCF PORTA,0x00
MOVF 0x33, W ;INT中断产生的TMR1高位
MOVWF 0x28 ;周期低电平时间
MOVF 0x34, W
MOVWF 0x29
MOVF 0x28, F
BTFSS STATUS,Z
GOTO LABEL_0x150 ;>---|
COMF 0x29, W ; |
ADDWF TMR2, F ; |
CLRF 0x29 ; |
BTFSS STATUS,C ; |
RETURN ; |
MOVLW 0xff ; |
MOVWF TMR2 ; |
RETURN ; |
LABEL_0x150: ;<---|
DECF 0x28, F
RETURN
;*******************************************
ORG 0x152
SUB_0x152:
BTFSC 0x45,0x01
GOTO LABEL_0x156 ;>---|
BCF 0x46,0x02 ; |
RETURN ; |
LABEL_0x156: ;<---|
CLRF TMR0
BCF INTCON,T0IF
BSF 0x46,0x02 ;进入TMR0延时标志
BSF PORTC,0x06 ;无效语句
MOVF 0x31, W
MOVWF 0x26 ;一个周期中脉宽高电平时间
MOVF 0x32, W
MOVWF 0x27
MOVF 0x26, F
BTFSS STATUS,Z
GOTO LABEL_0x169 ;>---|
COMF 0x27, W ; |
ADDWF TMR0, F ; |
CLRF 0x27 ; |
BTFSS STATUS,C ; |
RETURN ; |
MOVLW 0xff ; |
MOVWF TMR0 ; |
RETURN ; |
LABEL_0x169: ;<---|
DECF 0x26, F
RETURN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -