Не работает таймер на ATmega8.

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 20
Зарегистрирован: Вс фев 19, 2012 23:16:44

Сообщение stridemann »

Сделал я проект по этому учебнику: http://c2.at.ua/load/avr/tajmer_na_atmega8/17-1-0-25#

Изображение


Монтаж: Ок
Фузы: Ок
Компиляция: Ок
Прошивка: Ок

Но после прошивки загораются и горят тупо все индикаторы. И ничего не меняется. http://cs411027.userapi.com/v411027863/ ... F9yfQg.jpg

Питаю от родной платы адруинки северинки- http://cs411027.userapi.com/v411027863/ ... vuj9VM.jpg
от этой http://www.arduino.cc/en/Main/ArduinoBo ... ngleSided3

Помогите найти проблему пожалуйста.
В прошлом имел опыт- запрограмил счетчик секунд на односегментном индикаторе. работал.


Есть догадка что возможно нужно добавить дополнительно резисторы на подключение к ножкам a-g индикатора. Но я считаю что одного резистора подключенного к аноду индикатора вполне хватит, и проблема не в этом..
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

на схеме я вижу транзисторы, а у Вас на макетке что-то не вижу
Ставим плюсы: )
Реклама
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 20
Зарегистрирован: Вс фев 19, 2012 23:16:44

Сообщение stridemann »

Их можно не использовать.
Они используются только если индикатор тускло горит или если нужно подключать огромное кол-во диодов (диодную матрицу\большие часы и т. д.)

Коммент автора:
... схема может работать нормально и без транзисторов. И я не первый кто эксплуатирует так эту схему, если у вас слабо светящиеся индикаторы, тогда конечно лучше будет с транзисторами, и на сегменты ставить до 50оМ.
Нельзя вот так просто взять.. ..и подключить напрямую к микрухе светодиод без резистора, ибо дай бог сработает встроенная диодная защита порта в микрухе.. А если нет- подпалим микруху немного..
Вымогатель припоя
Аватара пользователя
Сообщения: 652
Зарегистрирован: Вс ноя 13, 2011 16:42:05
Откуда: Украина

Сообщение C@at »

У вас схема собрана на монтажке , поэтотому не трудно будет заменить тип индикатора ОК на ОА или наоборот что у вас там стоит...., на фото причина выглядит, как работа с "неправильным" индикатором...
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 20
Зарегистрирован: Вс фев 19, 2012 23:16:44

Сообщение stridemann »

Ага, всё, понял.. Спасибо!
Да, у меня ОК индикаторы.

Значит нужно сделать инверсию битов перед выводом в регистры портов либо покупать ОА индикаторы.. :roll:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Ага так то еще на схеме было понятно, что индикаторы ОА, зачем было лепить ОК?

Можно сменить тип индикаторов программно, тем более исходник есть.
Контактная информация:
Реклама
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 20
Зарегистрирован: Вс фев 19, 2012 23:16:44

Сообщение stridemann »

vitalik_1984 писал(а):Ага так то еще на схеме было понятно, что индикаторы ОА, зачем было лепить ОК?

Можно сменить тип индикаторов программно, тем более исходник есть.
Нуу.. Я тогда не шарил разницы ОК и ОА ..

А насчет исходника.. Там не всё так просто.. Казалось бы просто переписать часть кода:

// Настройка порта для сегментов индикатора
#ifdef IND_OA
IND_PORT = 0xFF;
#else
IND_PORT = 0x00;
#endif
IND_DDR = 0xFF; // Настройка порта для общих выводов индикатора
IND_CDDR = 0x00;
IND_COM = 0x00;

Но нет. Там почти весь нужно переделывать..
Завтра поеду куплю ОА и не буду парится..
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

нет это как раз не нужно переделывать.Тем более если это прописано значит уже предусмотрено что можно менять индикаторы.
Попробовать закомментировать строку
#define IND_OA если автор все правильно сделал должно работать.

Посмотрел нифига автор не доделал. :))
Короче там нужно в двух только местах немного переделать и будет работать либо на общие поставить транзисторы и переделать немного таблицу
IND_OA[] поставить перед каждым значением значок ~
Контактная информация:
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб окт 30, 2010 14:14:00

Сообщение GenukUA »

Собрал я этот проект (1-й пост). Все работает. НО! В 6 раз быстрее. Т.е. за 10 секунд на таймере отсчитывается минута. Правда я использую Atmega8A в TQFP. Может кто подскажет что может быть. Спасибо.
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 20
Зарегистрирован: Вс фев 19, 2012 23:16:44

Сообщение stridemann »

Код выложи (а то того кода у меня нету).

Фузы правильно прошиты? (особенно на клок\кварц).
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб окт 30, 2010 14:14:00

Сообщение GenukUA »

hex с http://c2.at.ua/load/avr/tajmer_na_atmega8/17-1-0-25 у меня не заработал. При включении сразу начинала мигать точка. Прошил этим, где нашел уже и не помню. Насколько понял, eeprom тут не используется. Фьюзы ставил такие
Изображение
Вложения
__________8.rar
(85.15 КБ) 180 скачиваний
Ответить

Вернуться в «AVR»