Всем привет!!! Помогите разобраться с обработчиком прерывания таймера в Atmega , я написал запуск таймера в подпрограмме
Код:
LDI TEMP,$3 out OCR1AH,TEMP LDI TEMP,$E8 out OCR1AL,TEMP
delay: ldi Temp, 0x04 out TCCR1B, temp
LDI Temp,$10 OUT TIMSK,TEMP sei RET
Теперь я хочу сделать , таким образом задержку , т.е. установив регистр сравнения и вызвав процедуру таймера , организовать задержку . Но что-то я не пойму , как отработать что либо по прерыванию от таймера , не представляю как написать обработчик, помогите пожалуйста
организовать задержку . Но что-то я не пойму , как отработать что либо по прерыванию от таймера , не представляю как написать обработчик, помогите пожалуйста
Спойлер
Код:
.INCLUDE "tn2313def.inc"
.equ Fo=1000000
.def temp=r16
.CSEG .ORG 0x0000 START0: RJMP START .ORG 0x0004 T1_COMPA: SBI PIND,0 RET ;*********************************** ;*********************************** START: LDI R20,LOW(RAMEND) OUT SPL,R20
SBI ACSR,ACD
LDI R20,1<<SE OUT MCUCR,R20
SBI DDRD,0
LDI XH,HIGH(1*Fo/1000-1) out OCR1AH,XH LDI XL,LOW(1*Fo/1000-1) out OCR1AL,XL ;Интервал 1мс
Спасибо большое за отзывчивость , разобрался уже , сделал следующим образом
Код:
delay: cli ; запрещаем прерывания ldi Temp, 0x00 ;не работаем с выходами out TCCR1A, Temp ldi Temp, 0x00 ; содержимое старшего байты out TCNT1H,Temp ldi Temp, 0x00 ; содержимое младшего байты out TCNT1L,Temp ldi Temp,0x10 ;прерывание по совпадению c A out TIMSK,Temp ldi Temp, 0x01 ;чистый CLK out TCCR1B, Temp sei loop: rjmp loop END_DELAY: pop r16 pop r16
RET
Вызываю
Код:
ldi Temp,0x00 out OCR1AH,Temp ldi Temp,0x43 out OCR1AL,Temp RCALL LOWW Rcall delay
Обработчик получился как-то так
Код:
.org $0006 rjmp comp1a
;*******************Обработчик прерываний******************************* comp1a:;обработчик прерывания таймера 1 по сравнению с А ldi Temp, 0x00 ;выключили счетчик out TCCR1B, Temp rjmp END_DELAY ;переход за 1 такт до конца подпрограммы задержки RETi
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения