Page 263 - 4503
P. 263
;--------------------------------------------------------------------------------
N equ d’249’ ; N - параметр затримки
СOUNT equ h’30’ ; лічильник циклу
DELAY_100MS
movlw d’100’;ініціалізація зовнішнього
;циклу
movfw СOUNT
; ЗОВНІШНІЙ ЦИКЛ -------------------------
DELAY_1MS
movlw N; ініціалізація внутрішнього
;циклу
; ВНУТРІШНІЙ ЦИКЛ ------------------------
D_LOOP ; LOOP – з англ.- цикл
addlw -1 ; декрементується лічильник
btfss STATUS,Z ; перевірка чи вміст W
;досяг 0
goto D_LOOP ; якщо ні то повторюється
;цикл
;-------------------------------------------
decfsz COUNT, f ; декрементується
;лічиль зовнішнього циклу
goto D_LOOP повторення до досягнення 0
;-------------------------------------------
return ; інакше вихід із підпрограми
8.7 Підпрограма (процедура із вхідним параметром К)
2
формування затримки тривалістю К 10 мілісекунд.
Створена процедура (програма 8.3) формування
затримки на 100 мс це приклад підпрограми, у якій немає
вхідних параметрів і вона нічого не вертає у зовнішню
програму. Ця підпрограма просто виконує свою задачу
формування затримки і змінює вміст регістрів даних, робочий
263