Помогите с AtMega16...

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Здравствуйте. Осваиваю вот потихоньку МК, дошёл до практики. Первый опыт, поэтому сильно не пинайте :) Собрал простенькую схемку на AtMega16 и 8-ми светодиодах, которые подключил к порту A. Писал в CodeVision.

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

...
while(1)
   { 
          PORTA=0;    
     delay_ms(500);
          PORTA=1;
     delay_ms(500);
    };
...
После прошивки получилось, что мигают только 6 светодиодов(PA2-PA7)...
Тогда попробовал написать иначе, проверить светодиоды, подключенные к PA0, PA1:

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

...
PORTA.0=0;
PORTA.1=0;
delay_ms(500);
PORTA.0=1;
PORTA.1=1;
delay_ms(500);
...
Прошил -оба мигают... :shock: Так в чём же может быть дело?
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

попробуй так:

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

... 
while(1) 
   { 
          PORTA=0x00;    
     delay_ms(500); 
          PORTA=0xFF; 
     delay_ms(500); 
    }; 
...
Изображение
Контактная информация:
Реклама
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Попробовал -то же самое... :cry: Отнёс к другу, прошили на его EasyAVR 5A, программа на mikroC, и там -та же картина. Есть подозрение, что эта пара светодиодов вспыхивают и гаснут очень быстро... Может, сам МК повреждён?
Друг Кота
Аватара пользователя
Сообщения: 4077
Зарегистрирован: Вс мар 22, 2009 17:31:41

Сообщение WandererSc »

Может МК поврежден, а может и светодиоды.
А в той программе весь PORTA включен на выход? (регистр DDRA)
А перифирия (АЦП) отключен?
Попробуй на PORTB(или любой другой).
Последний раз редактировалось WandererSc Пн ноя 02, 2009 23:42:40, всего редактировалось 1 раз.
Раз reset, два reset - полyчи на диске bad !
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Да, регистр DDRA настроен на выход. Диоды точно рабочие, я же выше писал, что они работают. На портах B,C,D всё работает...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4077
Зарегистрирован: Вс мар 22, 2009 17:31:41

Сообщение WandererSc »

Значит МК повреждён.
Раз reset, два reset - полyчи на диске bad !
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
Реклама
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

nndpc писал(а):Да, регистр DDRA настроен на выход. Диоды точно рабочие, я же выше писал, что они работают. На портах B,C,D всё работает...
Пин AVCC подключен? Если подключен то как? (схему и программу полностью приведите).
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Текст программы...

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

#include <mega16>
#include <delay>
void main(void)
{
PORTA=0xFF;
DDRA=0xFF;

while(1)
   {
          PORTA=0;   
     delay_ms(500);
          PORTA=1;
     delay_ms(500);
    }; 
}
Схема из мануала к EasyAVR, светодиоды там подключены ко всем портам, здесь, для примера, к PORTB...
Вложения
EasyAVR5LED.JPG
(42.99 КБ) 293 скачивания
Последний раз редактировалось nndpc Вт ноя 03, 2009 14:52:49, всего редактировалось 1 раз.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

В начале программы неплохо бы дописать #include <mega16>
Значение фьюзов в студию :)
Изображение
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

неплохо бы дописать #include <mega16>
Да так и есть, при копировании первую строчку забыл :)
А вот и фьюзы...
Вложения
avrfuse.JPG
(20.25 КБ) 315 скачиваний
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

nndpc писал(а):...
Схема из мануала к EasyAVR, светодиоды там подключены ко всем портам, здесь, для примера, к PORTB...
AVCC подключите.
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

На AVCC можно вместо индуктивности поставить резистор?
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

В моем CodeVision'е эта программа вообще моргает только РА0 (при PORTA= 1).
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

А на mikroC должна работать...
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

Ну тогда как вариант скачай тот же Code Vision и протести МК этим кодом:

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

... 
while(1) 
   { 
          PORTA=0x00;    
     delay_ms(500); 
          PORTA=0xFF; 
     delay_ms(500); 
    }; 
...
Если и так не работает, тогда скорей проблема в МК :(
Изображение
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Нашёл новый МК, прошил его -то же самое. Может быть, это особенность такая этой Меги16? :) Потыкал вольтметром: напряжение на PA0 и PA1 меняется, но совсем незначительно. Уже сам в Протеусе сделал -там всё работает
Друг Кота
Аватара пользователя
Сообщения: 4077
Зарегистрирован: Вс мар 22, 2009 17:31:41

Сообщение WandererSc »

Чудеса.Вроде-бы нет там такой особенности. Если в Proteus работает, должно и в железе работать.
Выложи проэкт протеуса и исходник, попробую разобратся.
Раз reset, два reset - полyчи на диске bad !
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Вот и я удивлён :)
Вложения
ledavr.rar
(29.9 КБ) 132 скачивания
Друг Кота
Аватара пользователя
Сообщения: 4077
Зарегистрирован: Вс мар 22, 2009 17:31:41

Сообщение WandererSc »

А у меня "в железе" работает. Подключал светодиод и к GND и к VCC - работает.
Программа правильная. Надо искать ошибки в схеме.
Раз reset, два reset - полyчи на диске bad !
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 02, 2009 20:04:16

Сообщение nndpc »

Всем спасибо за помощь! Сегодня, наконец-то, проблема была решена. :)) Действительно, первый МК был неисправен, а второй на макетке криво собрал. Бывает же так...
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»