?? myisr.s
字號:
.sect .isr.inline,"ax",@progbits
.global _isr_timer2
.func isr_timer2,_isr_timer2
_isr_timer2: ; Average expense = 39.5 cycles (when Valid pin high)
snb T2CFG1H,2 ; T2CAP2IF
sb TCTRL, 5 ;Timer2 intterupt enabled?
jmp _wnp_end
clrb T2CFG1H,2
;A test
;mov w,_np_off
;sub w,#1
;mov _np_off,w
;setb RBOUT,4
;snz
;clrb RBOUT,4
;jmp _wnp_end
;end of test
;push STATUS
test _np_off
snz
jmp _wnp_validpin
_wnp_send:
push ADDRSEL
push ADDRX
push ADDRH
push ADDRL
push DATAH
push DATAL
mov w, #6 ;APP_ADDRSEL_SRC
mov ADDRSEL, w
clr ADDRX
mov w,_np
mov ADDRH,w
mov w,_np_off
sub w,#188
mov ADDRL,w
iread
mov w, DATAH
snb ADDRL, 0
mov w, DATAL
mov RDOUT, w
;dec _np_off
pop DATAL
pop DATAH
pop ADDRL
pop ADDRH
pop ADDRX
pop ADDRSEL
decsz _np_off
jmp _wnp_end
jmp _wnp_nextpkg
_wnp_validpin:
snb _npst,0 ;need to clear?
jmp _wnp_clrvalidpin
sb _npst,1 ; Data ready?
jmp _wnp_end
setb RBOUT,4 ; make VALID signal low
clrb _npst,1
mov w,#188
mov _np_off,w ; Start to send next package
jmp _wnp_send
_wnp_clrvalidpin:
clrb RBOUT,4 ; make VALID signal low
clrb _npst,0
jmp _wnp_end
_wnp_nextpkg:
setb _npst,0 ;Need to clear VALID signal
sb _npst,2 ;np1 act->skip
jmp _wnp_tonp1
mov w,_np2
mov _np,w
clrb _npst,2 ;np2 act
setb _npst,3
jmp _wnp_end
_wnp_tonp1:
mov w,_np1
mov _np,w
clrb _npst,3 ;np1 act
setb _npst,2
_wnp_end:
;pop STATUS
.endfunc
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -