Форум РадиоКот • Просмотр темы - Atmega 128 неполучается заставить работать выход OC2
Сообщения без ответов | Активные темы
Страница 1 из 1
[ Сообщений: 19 ]
Автор
Сообщение
gibiri
Заголовок сообщения: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Пт авг 03, 2012 18:09:35
Зарегистрирован: Сб июн 16, 2012 07:20:55Сообщений: 24
Рейтинг сообщения: 0
Здравствуйте.
Хотел сделать чтобы один таймер тактировал другой, но что-то не получается.
В чем может быть проблема?
842x542(179.73 kB)Загрузить фото Код:
.include "m128def.inc" ; .def temp =r16 .def index_1 = R8 .def index_2 = R9 .def index_3 = R10 .def index = r7 RJMP VECT_END .org OVF3addr rjmp over_a over_a: ldi ZL,low(MAS1<<1) ldi ZH,high(MAS1<<1) ADD ZL,index_1 adc ZH,Index lpm sts OCR3AL,R0 inc index_1 cp index_1,r14 brne over_b clr index_1 over_b: ldi ZL,low(MAS1<<1) ldi ZH,high(MAS1<<1) ADD ZL,index_2 adc ZH,index lpm sts OCR3BL,R0 inc index_2 cp index_2,r14 brne over_c clr index_2 over_c: ldi ZL,low(MAS1<<1) ldi ZH,high(MAS1<<1) ADD ZL,index_3 adc ZH,Index lpm sts OCR3CL,R0 inc index_3 cp index_3,r14 brne quit_over clr index_3 quit_over: reti VECT_END: LDI r19,HIGH(RamEnd) OUT SPH,r19 LDI r19,LOW(RamEnd) OUT SPL,r19 LDI R16,0b11111111 OUT DDRE,R16 clr index CLR index_1 ldi r16,33 mov index_2,r16 ldi r16,66 mov index_3,r16 LDI R16,100 MOV R14,R16 CLR R11 LDI R18, 0b00000000 STS TIMSK,R18 ldi r25, (1<<TOIE3) STS ETIMSK,R25 LDI R16,(1<<COM3A1) | (1<<COM3B1) | (1<<COM3C1) | (1<<WGM30) STS TCCR3A,R16 LDI R17,(1<<CS31) | (1<<CS32) | (1<<WGM32) STS TCCR3B,R17 LDI R16,0b11111111 OUT DDRB,R16 LDI R16,3 out OCR2,R16 LDI R17,(1<<COM20) | (1<<WGM21) | (1<<CS20) out TCCR2,R17 SEI LOOP: RJMP LOOP MAS1: .db 135,143,151,159,167,174,182,189,196,... (масив из 100 эл.)
Последний раз редактировалось gibiri Сб авг 04, 2012 04:44:07, всего редактировалось 1 раз.
Вернуться наверх
Реклама
gibiri
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Сб авг 04, 2012 04:42:36
Зарегистрирован: Сб июн 16, 2012 07:20:55Сообщений: 24
Рейтинг сообщения: 0
Я правильно настроил таймер для тактирования от внешнего источника?
Код:
LDI R16,(1<<COM3A1) | (1<<COM3B1) | (1<<COM3C1) | (1<<WGM30) STS TCCR3A,R16 LDI R17,(1<<CS31) | (1<<CS32) | (1<<WGM32) STS TCCR3B,R17
Тактирование T3 осуществляется через PD6/T1 ?
Вернуться наверх
Реклама
radio-kot
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Сб авг 04, 2012 05:39:14
Собутыльник Кота
Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19Сообщений: 2584
Рейтинг сообщения: 0
надо ножку выходом назначить. А лучше код мастером сделать - тогда будет работать точно.
_________________ Будете проходить мимо- проходите!
Вернуться наверх
gibiri
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Сб авг 04, 2012 09:03:21
Зарегистрирован: Сб июн 16, 2012 07:20:55Сообщений: 24
Рейтинг сообщения: 0
radio-kot писал(а):
надо ножку выходом назначить. А лучше код мастером сделать - тогда будет работать точно.
PB7/OC2 ?
Я назначил:
Код:
LDI R16,0b11111111 OUT DDRB,R16
Вернуться наверх
Реклама
radio-kot
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Сб авг 04, 2012 17:01:18
Собутыльник Кота
Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19Сообщений: 2584
Рейтинг сообщения: 0
код мастером сделать - тогда будет работать точно.
_________________ Будете проходить мимо- проходите!
Вернуться наверх
Реклама
gibiri
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Сб авг 04, 2012 23:41:58
Зарегистрирован: Сб июн 16, 2012 07:20:55Сообщений: 24
Рейтинг сообщения: 0
radio-kot писал(а):
код мастером сделать - тогда будет работать точно.
Это на CodeVisionAVR?
Я пока только ассемблер знаю.
Вернуться наверх
Реклама
gibiri
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 01:23:01
Зарегистрирован: Сб июн 16, 2012 07:20:55Сообщений: 24
Рейтинг сообщения: 0
А от какой ноги осуществляется тактирование Т3?
Вернуться наверх
zero648
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 06:46:21
Вымогатель припоя
Карма: 5
Рейтинг сообщений: 74
Зарегистрирован: Пн июн 18, 2012 12:01:04Сообщений: 650Откуда: Челябинская область, Копейск
Рейтинг сообщения: 0
gibiri писал(а):
А от какой ноги осуществляется тактирование Т3?
Что-то мне подсказывает, что это нога PE6/T3/INT6
Вернуться наверх
astrgan
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 07:07:40
Зарегистрирован: Чт мар 08, 2012 01:13:30Сообщений: 103
Рейтинг сообщения: 0
Хмм
Последний раз редактировалось astrgan Вс авг 05, 2012 12:52:59, всего редактировалось 1 раз.
Вернуться наверх
Реклама
zero648
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 07:14:15
Вымогатель припоя
Карма: 5
Рейтинг сообщений: 74
Зарегистрирован: Пн июн 18, 2012 12:01:04Сообщений: 650Откуда: Челябинская область, Копейск
Рейтинг сообщения: 0
Во-первых выход ОС2 работает, во-вторых куда такие конденсаторы здоровые, аж на 10мкф? И провод перекинуть надо на РЕ6, смотри картинку:
Вернуться наверх
astrgan
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 10:11:13
Зарегистрирован: Чт мар 08, 2012 01:13:30Сообщений: 103
Рейтинг сообщения: 0
отлично
Последний раз редактировалось astrgan Вс авг 05, 2012 12:53:57, всего редактировалось 1 раз.
Вернуться наверх
zero648
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 10:34:11
Вымогатель припоя
Карма: 5
Рейтинг сообщений: 74
Зарегистрирован: Пн июн 18, 2012 12:01:04Сообщений: 650Откуда: Челябинская область, Копейск
Рейтинг сообщения: 0
Просто кондеры такой емкости гасят импульсы, на 22pF вполне достаточно, можно чуть побольше.
Вернуться наверх
radio-kot
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 10:37:02
Собутыльник Кота
Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19Сообщений: 2584
Рейтинг сообщения: 0
gibiri писал(а):
Это на CodeVisionAVR? Я пока только ассемблер знаю.
Самое время на Си начать. Это легко и быстро +работает.
_________________ Будете проходить мимо- проходите!
Вернуться наверх
astrgan
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 13:50:36
Зарегистрирован: Чт мар 08, 2012 01:13:30Сообщений: 103
Рейтинг сообщения: 0
Proteus-у можно доверять? Если я буду смотреть как меняется частота в Proteus, то в реальном устройстве будет также или не очень? P.S. Настоящий осциллограф щас не достану.
Вернуться наверх
radio-kot
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 13:53:03
Собутыльник Кота
Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19Сообщений: 2584
Рейтинг сообщения: 0
Скорей да чем нет. Можете перепровериь еще в авр студии и в vmlab
_________________ Будете проходить мимо- проходите!
Вернуться наверх
zero648
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 16:54:54
Вымогатель припоя
Карма: 5
Рейтинг сообщений: 74
Зарегистрирован: Пн июн 18, 2012 12:01:04Сообщений: 650Откуда: Челябинская область, Копейск
Рейтинг сообщения: 0
В протеусе на осциллографе кликаешь кнопку cursor, то можно измерить время одного периода, если отметить начало и конец периода, так и посчитаь частоту.
Вернуться наверх
astrgan
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 17:25:21
Зарегистрирован: Чт мар 08, 2012 01:13:30Сообщений: 103
Рейтинг сообщения: 0
zero648 писал(а):
В протеусе на осциллографе кликаешь кнопку cursor, то можно измерить время одного периода, если отметить начало и конец периода, так и посчитаь частоту.
Спасибо.
Вернуться наверх
zero648
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Вс авг 05, 2012 22:09:56
Вымогатель припоя
Карма: 5
Рейтинг сообщений: 74
Зарегистрирован: Пн июн 18, 2012 12:01:04Сообщений: 650Откуда: Челябинская область, Копейск
Рейтинг сообщения: 0
Кстати сказать, при моделировании в протеусе, на трех ШИМах наблюдаются провалы при максимальной ширине импульса, в константах МАS1 поменял значение 255 на 254 и стало гуд.
Вернуться наверх
astrgan
Заголовок сообщения: Re: Atmega 128 неполучается заставить работать выход OC2
Добавлено: Пн авг 06, 2012 03:25:21
Зарегистрирован: Чт мар 08, 2012 01:13:30Сообщений: 103
Рейтинг сообщения: 0
zero648 писал(а):
Кстати сказать, при моделировании в протеусе, на трех ШИМах наблюдаются провалы при максимальной ширине импульса, в константах МАS1 поменял значение 255 на 254 и стало гуд.
Иии еще раз большое СПАСИБО!
Вернуться наверх
Страница 1 из 1
[ Сообщений: 19 ]
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения