Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Семисигментный индикатор+AVR
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
L00b6
Вопрос может показаться лузерским, но дойдя в теме AVR до 45-й страницы и не найдя ответа, решил создать тему!!!
Помогите пожалуйста, в AVR пока что практически не разбираюсь, хочу научится, есть литература, и куча всего!!! Хочу сделать что-то типа часов, только на 1-м семисигментном индикаторе!!! и необходимо что бы раз в неделю

|_|
| | менялось на

|_|
|

то есть, неделя четная или нечетная!!!!

так вот никак не могу разобраться каким образом подключить индикатор к МК, использую AtMega8 28 ножек, (то что дали , то и использую)!!!???
=GM=
Цитата(L00b6 @ Mar 15 2007, 00:14) *
Вопрос может показаться лузерским, но дойдя в теме AVR до 45-й страницы и не найдя ответа, решил создать тему!!!
Помогите пожалуйста, в AVR пока что практически не разбираюсь, хочу научится, есть литература, и куча всего!!! Хочу сделать что-то типа часов, только на 1-м семисигментном индикаторе!!! и необходимо что бы раз в неделю
Код
|_|
| | менялось  на

|_|
  |

то есть, неделя четная или нечетная!!!!
так вот никак не могу разобраться каким образом подключить индикатор к МК, использую AtMega8 28 ножек, (то что дали , то и использую)!!!???

Семисегментный индикатор состоит из 8-ми светодиодов, вернее, в общем случае, светящихся элементов. 8-ой элемент - запятая. Все они объединены анодами (или катодами), катоды (или аноды) торчат наружу из корпуса. Выделите на меге один порт и подключите катоды через последовательные резисторы к выводам порта, а общий анод к плюсу источника питания. Подавая на порт набор логических нулей или единиц, сможете индивидуально включать или выключать отдельные светодиоды.
kv_addr
Все намного проще. Если нужен ОДИНОЧНЫЙ семисегментный индикатор и только лишь для того, чтобы индицировать четная неделя или нечетная, достаточно анод индикатора подключить к плюсу питания, сегменты A и D не подключать никуда, сегменты B, C, F и G подключить через резисторы на общий провод, а сегмент E - через резистор на одну линию порта. При "0" на этой линии будет "Н" на индикаторе, при "1" будет "Ч". Это если индикатор с общим анодом. Для индикатора с общим катодом катод подключить к общему проводу, сегменты B, C, F и G через резисторы на плюс, E - на линию порта. Индикация получится наоборот, при "0" - "Ч", при "1" - "Н".
L00b6
kv_addr спасибо, этот вариант был сразу поднят и рассмотрен, но для начала все таки следует тернистым путем пройти, не считаешь?
То есть наколько я Вас понял, следует взять ДатаШит, выбрать порты к ним через резисторы подключить аноды или катоды индикатора. Хочется же не только Н и Ч на нем генерировать, а еще что то простеньког попробовать!!! Кстати если у кого есть простенькие листинги програм с пояснениями поделитесь кому несложно!!!!

И еще один вопрос, на чем лучше начинать програмировать на Си или Ассемблере!!! с ассемблом уже знаком для 51-го кристала!!! ????
GDI
Изучайте Си - потом пригодится, лучше знать два языка, чем один, но для разных контроллеров.
kv_addr
Цитата(L00b6 @ Mar 15 2007, 15:19) *
kv_addr спасибо, этот вариант был сразу поднят и рассмотрен, но для начала все таки следует тернистым путем пройти, не считаешь?

Если учебно-тренировочный вариант, то - да.

Цитата(L00b6 @ Mar 15 2007, 15:19) *
То есть наколько я Вас понял, следует взять ДатаШит, выбрать порты к ним через резисторы подключить аноды или катоды индикатора. Хочется же не только Н и Ч на нем генерировать, а еще что то простеньког попробовать!!! Кстати если у кого есть простенькие листинги програм с пояснениями поделитесь кому несложно!!!!

Ну, если хочется, то можно и попробовать. wink.gif
Во первых, начав разбираться с AVR сразу стоило бы запастись дейташитами, аппноутами, которые можно скачать с атмеловского сайта. Там можно найти и учебно-дрессировочные примеры.
Далее стоило бы ознакомиться с архитектурой контроллера, системой команд, особенностями периферии. Лучше совмещать это с практическими занятиями по примерам - так доходчивее получится. А там, когда контроллер станет в основном понятным, можно и свое пытаться сварганить. Советовал бы начинать с ассемблера, для простых задач он намного более нагляден с точки зрения понимания работы контроллера.

Цитата(L00b6 @ Mar 15 2007, 15:19) *
И еще один вопрос, на чем лучше начинать програмировать на Си или Ассемблере!!! с ассемблом уже знаком для 51-го кристала!!! ????

Начинать программировать стоит именно с ассемблера. В любом случае, это даст лучшее понимание того, что происходит в контроллере.
А по ходу дела и Си осваивать, для серьезных задач это самое то. Но и в этом случае знание ассемблера будет отнюдь не помехой.
Встречаются люди, которые советуют ассемблером не заморачиваться, мол начинай сразу с Си и будет тебе Щасте. Думаю, подход в корне ущербный. Приходилось наблюдать, когда "рафинированный" Си-шник путался в трех соснах не находя выхода только потому, что не понимал что во внутри контроллера происходит, уровень отслеживания выполнения машинных команд был ему не доступен.

Поэтому - ассемблер и... Си. wink.gif
neonix
Советую начать именно с Си , этот язык куда более ясен для быстрого старта. И еще если вы привыкните к асму с самого начала , то ничего хорошего из этого не получится. Во первых, будет сложно заставить себя изучить СИ , во вторых начнется экономия тактов (зачем здесь на си писать ?? - здесь же можно за 10 тактов на асме выполнить smile.gif ) - знаем мы такое, проходили.... Лучше хорошо выучить Си а потом как дополнение к Си выучить Асм (а он еще пригодится в отладке).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.