Например TDA7294

Форум РадиоКот • Просмотр темы - обработчик прерывания по совпадению ASM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 01:05:26

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: обработчик прерывания по совпадению ASM
СообщениеДобавлено: Сб янв 07, 2017 20:22:17 
Родился

Зарегистрирован: Пт янв 06, 2017 14:03:22
Сообщений: 11
Рейтинг сообщения: 0
Всем привет!!! Помогите разобраться с обработчиком прерывания таймера в 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

Теперь я хочу сделать , таким образом задержку , т.е. установив регистр сравнения и вызвав процедуру таймера , организовать задержку . Но что-то я не пойму , как отработать что либо по прерыванию от таймера , не представляю как написать обработчик, помогите пожалуйста


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: обработчик прерывания по совпадению ASM
СообщениеДобавлено: Сб янв 07, 2017 20:38:37 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
А для какого собственно МК программка?
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: обработчик прерывания по совпадению ASM
СообщениеДобавлено: Вс янв 08, 2017 04:25:31 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
kvadrats писал(а):
организовать задержку . Но что-то я не пойму , как отработать что либо по прерыванию от таймера , не представляю как написать обработчик, помогите пожалуйста

Спойлер
Код:
   .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мс

;LDI TEMP,$3
;out OCR1AH,TEMP
;LDI TEMP,$E8
;out OCR1AL,TEMP


delay:
   ldi Temp, 0x09
   out TCCR1B, temp  ; режим CTC Fo/1
;   ldi Temp, 0x04
;   out TCCR1B, temp

   LDI Temp,1<<OCIE1A   ;$10
   OUT TIMSK,TEMP

   sei
WAIT:
   SLEEP
   BRIE   WAIT
   NOP
   RJMP   START

.EXIT
Как вариант интервала 1мс


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: обработчик прерывания по совпадению ASM
СообщениеДобавлено: Вс янв 08, 2017 17:37:31 
Родился

Зарегистрирован: Пт янв 06, 2017 14:03:22
Сообщений: 11
Рейтинг сообщения: 0
Спасибо большое за отзывчивость , разобрался уже , сделал следующим образом
Код:
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

ПИшу под ATmega8a


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y