Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Различные мелкие вопросы

Сообщение md5sum »

Тогда будет ошибка в 1 такт - компенсируй программно
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

начал разбираться с таймерами, возник вопрос. на меге8 таймер 16 бит с двумя регистрами сравнения ОСR1A/1B. Я так понял нельзя использовать в режиме Сlear_Тo_Сompare оба регистра? у меня получается так, что вношу разные значения в регистры сравнения и то значение которое меньше обнуляет при совпадении регистр, а до большего так и не доходит счет. регистр TCNT то у них общий, хоть и 16 битный...
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: Различные мелкие вопросы

Сообщение AI_Disable »

Alexeus писал(а):Я так понял нельзя использовать в режиме Сlear_Тo_Сompare оба регистра?

Использовать то можно, но таймер будет досчитывать только до одного рега сравнения (тот, в котором меньшее значение). В общем, вы всё правильно поняли.
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Re: Различные мелкие вопросы

Сообщение smac »

Alexeus писал(а):начал разбираться с таймерами, возник вопрос...

Ну а как вы хотели? Вы название режима не правильно считали, он называется Clear Timer on Compare. Исходя из названия ясен смысл - очищаем таймер при совпадении, естественно он должен работать как вы описали. Правда согласно даташиту есть режим когда сравнение идет с регистром ICR1, тогда если значение в нем будет больше чем в ОСR1A/1B, то можно будет использовать регистры сравнения - в общем надо пробовать, ибо сам не применял, кодом не смогу помочь (по крайней мере до вечера.)
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

;-- timer/couter2 -- режим СТС --
ldi temp,(0<<FOC2)|(0<<WGM20)|(0<<COM21)|(0<<COM20)|(1<<WGM21)|(0<<CS22)|(0<<CS21)|(1<<CS20)
out TCCR2,temp
ldi temp,0
out TCNT2,temp ; регистр счетчика
ldi temp,99
out OCR2,temp ; регистр сравнения
;----------
прерывание по совпадению срабатывает.
выставляю:

ldi temp,(1<<COM20)
out TCCR2,temp

что бы активировать режим toggle на OC2 выходе и ВСЁ... прерывания по совпадению больше не работают. генерации на выходе OC2 нет.
вообще, даже не в прерывывании, просто по ходу программы пробую включить/отключить только! выход OC2 (паузы без импульсов мне нужны)
как прерывания по совпадению перестают обрабатываться... у чём дело не пойму... всего лишь подключаю и отключаю выход.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Различные мелкие вопросы

Сообщение Meteor »

Потому что Вы вновь переназначаете данные, вместо того что бы добавить.
Правильнее так

Код: Выделить всё

ldi temp, (0<<FOC2)|(0<<WGM20)|(0<<COM21)|(0<<COM20)|(1<<WGM21)|(0<<CS22)|(0<<CS21)|(1<<CS20)
out TCCR2,temp
.....
.....
.....
in temp, TCCR2;
ori temp, (1<<COM20);
out TCCR2, temp;
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

а что там так много говорили Большевики о флагах и их сохранении в прерываниях?

у меня после очередного прерывания совпадения таймера/счетчика проскакивает условие сравнения в главной программе
(zone=3)

cpi zone,3
breq z3 ;тут проскакивает на cpi zone,4 хоть и не выполняет ничего, уходит дальше в тело программы, но и на z3 не скачет!
cpi zone,4
breq z4
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Различные мелкие вопросы

Сообщение Meteor »

Рекомендуют сохранять состояние регистра SREG сразу по входу в обработку прерываний и восстанавливать перед выходом. Несоблюдение - чревато казусами
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

ага, спасибо- так и есть. у меня в прерывании тоже строчка сравнения стоит- она и портит SREG на выходе.
Alf162
Родился
Сообщения: 19
Зарегистрирован: Ср июл 15, 2009 10:02:58

Re: Различные мелкие вопросы

Сообщение Alf162 »

А есть возможность из hex файла получить ассемблеровский?
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Различные мелкие вопросы

Сообщение GP1 »

Легко, вот только он будет без коментариев :)))
есть такая програмка - дизассемблер называется.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
vsegdaprav
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Пт янв 16, 2009 15:42:05
Откуда: из тех же ворот что и весь народ

Re: Различные мелкие вопросы

Сообщение vsegdaprav »

скажите плиз, можно атмегу 8 заменить на атмегу 48? Прошивку менять придётся как я понял, а вообще реально или нет? Или это две принципиально разные вещи? Даташиты покурил, правда понял очень мало так как в аглицкой мове я не копенгаген.
Последний раз редактировалось vsegdaprav Ср апр 21, 2010 07:50:58, всего редактировалось 1 раз.
продам телевизор без рекламы

Русский человек славится своим умением находить выход из любых трудных ситуаций. Но ещё более он славится тем, что может найти туда вход.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Различные мелкие вопросы

Сообщение Грендайзер »

Всем доброго времени суток. Есть проблемка :( Спаял программатор, (схемулина прилогается) подключил, начал прошивать, ан хрен, пишет мол устройство не определено :? .. бился с ним сутки. причём диодик ( HL1 "PRG") в моменты запуска прожига и чтения памяти исправно загорался. Прошивал, через PonyProg; MK- ATmega16L. Если возможно, может ли кто подкинуть схему, которая 100%работает с Pony, или может посоветовать, в чём собсно проблема.
Да!! Может ли причина заключаться в том, что на вывод питания АЦП (AVcc) я ничего не подключал и питание не подтягивал да, и ещё вывод 12 у микросхемы D1.1 и вывод вывод 3 у Х1 (LED), висят в воздухе
Вложения
chema.jpg
(80.95 КБ) 351 скачивание
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Различные мелкие вопросы

Сообщение GP1 »

Попробуй прошить из CodeVision, в этой связке уже много лет юзаю.
Чем дальше, тем больше становлюсь занудой...
Изображение
12val12
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Пт янв 29, 2010 19:42:27

Re: Различные мелкие вопросы

Сообщение 12val12 »

Народ если ATMEGA8 затактовать от "External Clock"(внешняя тактовая )
то нога "(XTAL2/TOSC2) PB7" свободна для ввода -вывода ?
ух ты.... показывает
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

ну судя по тому, что в даташите для такого режима она отображается как "NC", то скорее всего можно, но это явно не написано.
beloff
Грызет канифоль
Сообщения: 278
Зарегистрирован: Чт мар 13, 2008 08:18:00
Откуда: Новосибирск, Шлюзы
Контактная информация:

Re: Различные мелкие вопросы

Сообщение beloff »

вот если в программатор AVR910 (AVR910-совместимый USB программатор (схема Prottoss'a)) поставить ATMEGA8L, то МК копец прийдёт сразу? просто, насколько я знаю, этот МК на 8 МГц, а кварц на 12МГц.
реально ли работа при кварце 8МГц?
Я теперь [b][url=http://radiokot.ru/forum/memberlist.php?mode=viewprofile&u=23627]Rinon Ninqueon[/url][/b]
12val12
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Пт янв 29, 2010 19:42:27

Re: Различные мелкие вопросы

Сообщение 12val12 »

ATMEGA8L +кварц 12 мегагерц -вероятность работы 99%.
для работы совтового юсб частота кварца должна быть имеенно 12мегагерц
ух ты.... показывает
Matreshka
Родился
Сообщения: 1
Зарегистрирован: Сб апр 24, 2010 13:47:29

Re: Различные мелкие вопросы

Сообщение Matreshka »

Здравствуйте, нам в институте задали курсовой в мп лабе сделать. А я первый раз сталкиваюсь с этой программой...
У меня курсовой начат,мне надо чтобы мне объяснили чего там к чему в режиме онлайн)))

суть программы: будет маленький синтезатор на пике 16ф877
при нажатиии на кнопку загорается светодиод и звучит нажатая нота...


КТО МНЕ МОЖЕТ ПОМОЧЬ?!?!? :idea:
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

Кто в курсе, на МЕГЕ8 и др. АВРках в программе можно сброс сделать (reset) -какой командой.

-Или только можно перейти к метке в начало программы, как бы сброс.
-Или ногой, подключенной к RESET из программы дернуть на массу?

хочу сделать, что бы если держать кнопку более 3х секунд, происходил полный сброс контроллера...
Ответить

Вернуться в «Разные вопросы по МК»