Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Простейшая схема на Mega8L
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Владимир_2010
Здравствуйте. Разбираюсь с Mega8L. Написал простой алгоритм winavr – бегущие огни, в stk500 светодиоды мигают (порты PC0..PC5). Собрал на макетке из радиодеталей, которые были под рукой, блок питания от мобилы. Схема на рисунке, код на Си приложен, все в архиве, на светодиод посадил только один выход PC5. Светодиод не мигает, а горит. К светодиоду вместо нуля подавал +, не работает. В чем ошибка?! Может конденсаторы, а может руки не оттуда растут.
Спасибо за внимание.
Pyku_He_oTTyda
Блок питания от мобилы плохой выбор
*Leks*
Цитата(Владимир_2010 @ Feb 27 2009, 08:45) *
Здравствуйте. Разбираюсь с Mega8L. Написал простой алгоритм winavr – бегущие огни, в stk500 светодиоды мигают (порты PC0..PC5). Собрал на макетке из радиодеталей, которые были под рукой, блок питания от мобилы. Схема на рисунке, код на Си приложен, все в архиве, на светодиод посадил только один выход PC5. Светодиод не мигает, а горит. К светодиоду вместо нуля подавал +, не работает. В чем ошибка?! Может конденсаторы, а может руки не оттуда растут.
Спасибо за внимание.

Ну так и не должно работать, если собрано как на схеме. По крайней мере, полярность светодиода надо поменять. И при использовании БП от мобилы нужен хотя бы простой стабилизатор на КРЕН5. На ногу reset не плохо бы повесить конденсатор 0,01-0,1 мкФ.
А что, winavr понимает такое представление числа "DDRC = 0b111111;" ?
Владимир_2010
Цитата
По крайней мере, полярность светодиода надо поменять

Светодиод я по-разному вертел. В одном случае горит постоянно, в другом не горит. Так что думаю дело не в этом.
Цитата
Блок питания от мобилы плохой выбор

Согласен, но собрал из того что было под рукой
Цитата
И при использовании БП от мобилы нужен хотя бы простой стабилизатор на КРЕН5

Без крена не запуститься что ли?!
Цитата
А что, winavr понимает такое представление числа "DDRC = 0b111111;

видимо понимает, ошибок при компиляции не было
DpInRock
В программе бежит ноль. Значит резистор около светодиода надо на +5 вольт, а не на землю.
Далее - проверяйте прошитые фузы. Внимательно.
Я бы еще увеличил резистор на сбросе до 10-20 ком и поставил бы небольшой конденсатор на землю.
А уж когда заработает и прошьются правильно фузы, чтобы обеспечить правильный старт по включению, то можно будет его и убрать.
Владимир_2010
Цитата
Далее - проверяйте прошитые фузы. Внимательно.

Нельзя ли в этом месте поподробней?!
haker_fox
Цитата(Владимир_2010 @ Feb 27 2009, 14:46) *
Светодиод я по-разному вертел. В одном случае горит постоянно, в другом не горит. Так что думаю дело не в этом.

А его вертеть не надо. Светодиод имеет два электрода: анод и катод. И подключается светодиод вполне определенно: анод к положительному, а катод - к отрицательному потенциалу. Резистор, включенный последовательно со светодиодом образует простейший источник тока, в Вашем случае I = 5 / 390 = 0,013 А.
Цитата(Владимир_2010 @ Feb 27 2009, 14:46) *
Без крена не запуститься что ли?!

А это зависит от фазы Луны, т.к. напряжение в зарядниках мобил не стабилизированное, да и не известно, как оно в плане чистоты (именно чистоты), т.е. есть ли шумы, фильрация и тп.
ИМХО КРЕН5 может не помочь, т.к. не все зарядники на выходе имеют более 5 вольт.

Цитата(Владимир_2010 @ Feb 27 2009, 21:16) *
Нельзя ли в этом месте поподробней?!

У Вас подключен внешний кварц. Стало быть фьюзы CKSEL должны быть запрограммированы таким образом (посмотрите даташит), чтобы источником системной частоты был назначен внешний кварц. Бит CKOPT рекомендуют программировать, когда питание МК 5 В (если мне память не изменяет). При низковольтном питание (у Вас L серия), например 3 В, CKOPT можно оставить незапрограммированным. Все остальные фьюзы можно пока не трогать, а фьюз RSTDSBL (или что-то подобное, даташита нет под рукой) воообщеее не трогать! Иначе RESET превратиться в обычный пин порта ввода-вывода и перестанет работать SPI (уверен, что Вы шьете МК через этот интерфейс). Запрограммировать МК можно будет только с помощью параллельного программатора.

По программе. А какой у Вас версии WinAVR, вроде Вы не указали. Дело в том, что в версиях до 2007 года максимальная задержка определяется так
Цитата
The maximal possible delay is 262.14 ms / F_CPU in MHz.

И для Вашего случая может быть такой 262.14 / 4 = 65.535 мс. В версиях с 2008 года это ограничение снято.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.