Добрый вечер всем!
Ппроблема в следующем - надумал выставлять задержки с помощью таймера 1 (SiLabs C8051F005), но:
1) при переполнении счетчика не выставляется флаг переполнения
2) предположительно причина связана со строкой "sjmp $" , т.к. если ее удалить хоть и получается что возвращаемся из подпрограммы раньше, чем истекает счет, но тогда прерывание происходит
Вот и сам кусок кода:
keydelay:
setb ET1 ;Разрешаю прерывание таймера
mov TH1,#0FFh
mov TL1,#0F4h
setb TR1 ;Включаю счет
sjmp $
ret ;Возврат из подпрограммы
по вектору прерывания таймера 1 находится команда "reti"
Встречался ли кто с подобной проблемой, помогите, пожалуйста!
Всем заранее спасибо!
Сообщение отредактировал Melnichiy - Jan 28 2008, 21:55