Page 239 - 4503
P. 239
movlw d’10’ ;запис десяткового числа 10
;у W
movwf h’23’;копіювання його у h’23’ —
; лічильник циклу
LOOP
;---------------------------------------
bcf PORTA,0 ; встановлення 0 на RA0
nop ; перечікування одного машинного
;циклу
nop; перечікування ще одного машинного
;циклу
bsf PORTA, 0; встановлення 1 на RA0
;---------------------------------------
decfsz h’23’, f; рахунок у зворотньому
;напр.
goto LOOP; повтор.якщо не 0, інакше з
;циклу
Тіло імпульса обрамлене пунктирними лініями. Вхід у
тіло (початок імпульсу) bcf PORTA,0 і вихід bsf PORTA,
0 (кінець імпульсу)— команди, загальна тривалість яких
вкупі становить один машинний цикл. Чому? А тому, що
початок імпульсу — це мить, коли команда bcf PORTA,0
уже виконана. Це означає, що час, наданий на її виконання,
був витрачений до початку імпульсу. Отже, до тривалості
імпульсу фактично слід додати тільки команду виходу з
нього: bsf PORTA, 0. Ще два машинних цикли формує
подвійний виклик команди nop. Отже, разом разом імпульс
триває 3 машинних цикли. За умови, що вхідна частота
становить 4 МГц, то одна команда становить 1 мкс. А три
команди — 3 мкс.
7.4.6 Команда incfsz
239