вот кусочек программы:
SETB p1.2 ;устанавливаем p1.2 в 1
;сдесь код, который выполняет задержку на 2 секунды
CLR p1.2 ;устанавливаем p1.2 в 0
Вопрос: что надо вставить между этими командами, чтобы осуществить задержку?
NOP не катаит, т.к. продолжительность задержки будет зависить от тактовой частоты.
10 ноября 2009 в 17:03
а можно настроить таймер и взять нужное количество переполнений таймера.
10 ноября 2009 в 14:00
спс, попробую)
10 ноября 2009 в 12:03
к примеру:
setpp1.2;
callpause;
clr p1.2;
;——————————————————————————–
pause:; помоему будет где то около 1 сек на 12 МГц
mov R1,#255
mov R2,#255
mov R3,#8
stop:
djnz R1,stop
djnz R2,stop
djnz R3,stop
ret
10 ноября 2009 в 12:03
но это по первобытному, а вообще правильнее использовать библиотеку <delay.h> )
10 ноября 2009 в 12:02
библиотека есть <delay.h>. Либо придумать цикл и подогнать время его работы в отладчике по частоте твоего кварца