goto |
del_5 |
;nie ma przepełnienia | |
incf |
cntji, f |
;przepelnienie, inkrementuj cnt_h | |
movf |
cnt_h, w |
;cnt_h ->w | |
andlw |
ar 3 3 O O o o o |
;maska na 3 bit(4x256=1024), rozdzielczość 10 bitów | |
andlw |
b'00001000' |
;maska na 4 bit(8x256=2048), rozdzielczość 11 bitów | |
; |
andlw |
b’00010000' |
;maska na 5 bit( 16x256=4096), rozdzielczość 12 bitów |
i |
andlw |
b’00100000' |
;maska na 6 bit(32x256=8192), rozdzielczość 13 bitów |
btfsc |
status, z |
sprawdzenie czy wykonano 1024 cykle kompensacji | |
goto |
del_sig_loop |
;nie, wykonaj kolejny cykl | |
goto |
exit |
;tak, koniec pomiam | |
del_5 |
jopoznienie 5 cykli | ||
goto |
$+1 |
;2 cykle | |
nop |
;1 cykl | ||
goto |
del_sig_loop |
;2 cykle | |
exit |
;koniec pomiaru | ||
movlw |
0x03 |
;konfig. komp. wewn. vref, gpl - wejście | |
movwf cmcon |
;gp2 - wyjście komparatora (pwm) | ||
return |