Mega8| не выводятся одновременно единицы в порт В и С

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

Приветствую Всех!!!
Заработала Тинька 2313 дома на обычном компе через ком -порт. Но все же решил остаться на 8-й меге.
Появился новый вопрос: К выводам Мега 8 подключаю 12 вольтовые светодиоды через транзисторы. Максимум одновременно мне надо две единицы в B b две единицы в С. Почему то не выводятся одновременно единицы в порт B и С.
Вот что заметил: не выводятся одновременно старшие виты порта B и младшие порта C. Пара младших B и C загораются , иначе не хотят. Вывожу все единицы в В из них две первые младшие не загораются. Похоже что порт B имеет приоритет (зажигаю С потом B, а С все равно не горит).
В динамическом режиме (зажигаю все поочереди, прерывание таймера) все горит прекрассно.

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

Сообщение GP1 »

Ну начнем с того что одновременно выдать 1 в оба порта сразу невозможно физически, т.к. OUT A,Rr, соответствующая одной машинной инструкции, обращается к одному порту.
Минимум можно получить разницу между выводом в разные порты 1 такт.
Это все к тому, что ищите заморочки в программе, как я понимаю написанной на Си.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

GP1 писал(а):Ну начнем с того что одновременно выдать 1 в оба порта сразу невозможно физически, т.к. OUT A,Rr, соответствующая одной машинной инструкции, обращается к одному порту.
Минимум можно получить разницу между выводом в разные порты 1 такт.
Это все к тому, что ищите заморочки в программе, как я понимаю написанной на Си.
Я пищу код в Алгоритм Билдер. Выдает по две единички одновременно (я имею в виду просто выполняет последовательно инструкции записи в порт С следующая в порт B), горит только B. У меня светодиоды разные, красные и яркие белые, может из за этого?
Последний раз редактировалось Aleksander Вт май 11, 2010 10:04:17, всего редактировалось 1 раз.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Ну тогда выкладывай проект и схему подключения, если секретно пиши в личку - государственную и военную тайны хранить умею :))) шутка.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

GP1 писал(а):Ну тогда выкладывай проект и схему подключения, если секретно пиши в личку - государственную и военную тайны хранить умею :))) шутка.
Ни какого секрета. Схемы нет , так паяю на коленке. Светодиоды кружком на оправке- Макет. Планирую навешивать светодиодные ленты и лед драйверы.
ATMEGA8- светодиоды 12 вольт, подключены через транзисторы кт315 Г(Единичка с контроллера на базу)
Порт D
0 яркий белый
1 яркий белый
2 красный, из конструктора автомобильного стоп сигнала
3 красный-
4 красный-
5 красный-
6 красный-
7 красный-
Порт С
3 красный-
2 яркий белый
1 яркий белый
0 яркий белый
Питание от телефонной станции Kenwood 12 вольт 300 мА. Делю- 12 на светодиоды и через Кренку 5 вольт на контроллер через ограничительные резисторы.
Бегущий огонь без проблем. Поднимаю частоту- светодиоды горят все вместе без проблем.
Хочу делать другие световые эффекты!!! и использовать ШИМ. Но столкнулся с проблемой- Например нужно вывести четыре единички в порты В и С (в разных комбинациях), а они одновременно гореть не хотят (точнее горят только единички принадлежащие B). В порту В одновременно горят только шесть последних, с портом С одновремено могут гореть только две младшие С единички и в В тоже только младшие. Вот такой венигрет. Обясните пожалуйста если можно этот прикол.
Ближайшее решение вроде как вижу в использовании регистра сравнения или второго таймера (динамически запускать комбинации единичек в С и В и переключаться используя регистр сравнения или теймет).
Караул.
Последний раз редактировалось Aleksander Вт май 11, 2010 10:38:55, всего редактировалось 1 раз.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

Aleksander писал(а): Делю- 12 на светодиоды и через Кренку 5 вольт на контроллер через ограничительные резисторы.
Как понимать?
Фото бы платки.
А вообще чтото вы намудрили сударь. В контроллере все поты можно зажигать независимо друг от друга и от тог что на них висит.
Проблема скорей всего в программе. И выражение которое в цитате меня тоже настараживает.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Реклама
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

Modest писал(а):
Aleksander писал(а): Делю- 12 на светодиоды и через Кренку 5 вольт на контроллер через ограничительные резисторы.
Как понимать?
Фото бы платки.
А вообще чтото вы намудрили сударь. В контроллере все поты можно зажигать независимо друг от друга и от тог что на них висит.
Проблема скорей всего в программе. И выражение которое в цитате меня тоже настараживает.
Да на макетке спаячил. Фотика нет, завтра зафотаю. Независимо действительно все горят а одновременно нет.
А что намудрил то ??? Кодик в начале крошечный несколько строк: инициализация таймеров, настройка портов и прерываний и сами прерывания. Явно B имеет какой то приоритет, потому что сперва записываю в С потом В, а горит только B. Или же записываю просто в С и он горит. Попробую учебник почитать.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

2313.rar
(500 байт) 176 скачиваний
Прошивка для 8 Мегагерц, впрочем неважно.
Моргает всеми возможными портами, сначала всеми потом по очереди (всмесле D, B, A)
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Aleksander!
Забыл проект АБ выложить.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

GP1 писал(а):Aleksander!
Забыл проект АБ выложить.
Вложения
кусок из Алгоритм билдер.JPG
(48.92 КБ) 448 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Мяу, GP1!
Остальным тоже мяу!
Какой кошмар представлен на скрине.... :shock:
Порекомендую Вам делать более прозрачные "конструкции", дело в том что не всегда ветки переходов могут дать ожидаемый результат если попадают друг на друга. Разнесите их путем вставки меток и подписью стрелок переходов на метки, тогда не будет этой паутины
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

1. Не цитируй предыдущий пост - забянят
2. Я что, должен по новой вводить все это в АБ? :shock: Кому нужна помощь - мне?
Такое ощущение что ты боишься кто-то может слямзить твое ной-хау, мне оно не надо. :)))

Meteor, и тебе мяу!
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

Meteor писал(а):Мяу, GP1!
Остальным тоже мяу!
Какой кошмар представлен на скрине.... :shock:
Порекомендую Вам делать более прозрачные "конструкции", дело в том что не всегда ветки переходов могут дать ожидаемый результат если попадают друг на друга. Разнесите их путем вставки меток и подписью стрелок переходов на метки, тогда не будет этой паутины

Не работают как надо всего две строчки.!!!!!!!! МЯУ!!!!! Я их обвел красным. Это вывод в порт. Извините ввел в заблуждение я вначале речь вел о порте B, а в коде у меня порт D.
Просто две строчки, прерывания и все остальное я отключил. Т.Е. вывод в порт и бесконечный цикл. Порт D горит а С нет. Какая может быть проблема в программе Если тут всего две строчки. Я их уже всяко зажигал. Остается сменить светодиоды. МЯУ, ГАВ ГАВ!
Может точно из за светодиодов, куплю завтра последний набор автомобильного стоп сигнала -там 12 светодиодов красных и поставлю.
Переходы работают отлично.
Вложения
Задержка и вывод в порт.rar
(17.9 КБ) 164 скачивания
кусок из Алгоритм билдер.JPG
(51.25 КБ) 315 скачиваний
Последний раз редактировалось Aleksander Вт май 11, 2010 12:18:00, всего редактировалось 1 раз.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

Прошивку мою пробовал или нет??
вообще этот алгоритм билдер... хрень по моему. Писать лучше либо на асме либо на С.
Вобрал недостатки обоих языков - нет возможностей асемблера, нет удобсва С.
Ааа... Ищё и шить им можно токо свои проекты... ну ваще пипец!
Последний раз редактировалось Modest Вт май 11, 2010 12:23:03, всего редактировалось 2 раза.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Ну ладно, не хочешь выкладывать проект - не надо.
НО....
После того как ты отправил 1 -> I, все, у тебя работает прерывание, где у тебя полная свобода действия, точнее полный бардак с переходами.

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

Сообщение GP1 »

Modest писал(а):Прошивку мою пробовал или нет??
Товарищ работает в АБ и видимо шьет из него же, вряд ли у него получится твою прошивку попробовать.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

GP1 писал(а):Ну ладно, не хочешь выкладывать проект - не надо.
НО....
После того как ты отправил 1 -> I, все, у тебя работает прерывание, где у тебя полная свобода действия, точнее полный бардак с переходами.

а твои 2 две строчки работают n-тактов.
Выложил проект.
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

Modest писал(а):Прошивку мою пробовал или нет??
Прошивку не пробовал. Там, от чего тактирование сделано? У меня кварца нет. Я тактируюсь от внутреннего генератора.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

АААА.... Какая разница от кварца или нет, даже неважно какая частота. Я там портами моргаю!!!
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт апр 29, 2010 15:11:35

Сообщение Aleksander »

GP1 писал(а):Ну ладно, не хочешь выкладывать проект - не надо.
НО....
После того как ты отправил 1 -> I, все, у тебя работает прерывание, где у тебя полная свобода действия, точнее полный бардак с переходами.

а твои 2 две строчки работают n-тактов.
Так строчки выполнил порты зажег и ушел в бесконечный цикл. Почему n-тактов?
Закрыто

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