CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
hfelyx
Встал на лапы
Сообщения: 102
Зарегистрирован: Вт дек 28, 2010 18:25:31

Re: CodeVision AVR в вопросах и ответах

Сообщение hfelyx »

Помогите написать программу для мелодичного"дин-дон" для звонка.Игрался с нотами мелодично не получается.
Спасибо.
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

Доброго времени сутоК!
Начал изучать avrки. спаял программатор, собрал микросхемку со светодиодами. Помигал ими и так, и сяк.
Теперь захотел я, чтобы светодиоды выводили количество нажатий клавиши пинС.0. Не получилось, хотя вроде делал всё по уму.
Решил упростить задачу: нажал клавишу -> зажглась комбинация.
проблема происходит такого типа: светодиоды при нажатии зажигаются и горят, и всё (а должны тухнуть при отпускании клавиши).
Соответственно сейчас делаю в протеусе и никакого дребезга контактов быть не может.
код такой:

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

     while(1)
        {         
           if (!PINC.0)
           {                   
             PORTD = 0b11111111;
             delay_ms(50);
             PORTD = 0x00;
             delay_ms(50);
            }
          else PORTD=0b01010101;
        }

в протеусе происходит следующее: пока не нажал мигают как и должны, нажимаю тухнут вообще, отпускаю мигать не продолжают.
И ещё я так понимаю цикл while(1) - это бесконечный цикл. Или нет?!
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

А где,где он,"секретный" проект в протеусе?
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

вот он::
Вложения
8 led.rar
(30 КБ) 153 скачивания
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Аlex »

А остальное то где ? Или мы сами должны создавать проект в CV и писать программу ? :)
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: CodeVision AVR в вопросах и ответах

Сообщение ChipKiller »

Аlex писал(а):Или мы сами должны создавать проект в CV и писать программу ?
... и еще предложить несколько рабочих вариантов с подробным описанием. :)))

ЗЫ. ... вообще такой "подход", к сожалению, входит в норму .....
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

Ок простите вот Вам уважаемые коты (помоему полный проект CV + Proteus).
Просто я смотрел многие другие посты и обычно выкладывают просто текст программы, но как говорится я не местный не бейте сильно))
Вложения
8 led.rar
(30 КБ) 128 скачиваний
led_button.rar
(18.82 КБ) 152 скачивания
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

Это хотел получить?
Вложения
8 led.rar
(53.29 КБ) 169 скачиваний
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

Да это оно.
Но я немного не понимаю, почему заработало у Вас, ведь практически ничего не изменили, добавили изначальную засветку светодиодов, и условие не на (!PINC.0), а на (PINC.0).
М.б. проблема с моей CVavr?!
ведь программе должно быть пофиг на это условие??? Просто не на нажатую кнопку, а на отжатую!!
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

Хотя нет! Ведь мигать должно при нажатии клавиши, а так мигает просто с самого начала, а комбинация на порте Д срабатывает всё равно. Что ж блин не так?!
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

Это без разницы (!PINC.0) или (PINC.0),работать будет инверсно.
1.Кнопку подключил стандартно
2.Подключил подтягивающие резисторы в проце
3.В протеусе нужно указывать частоту проца
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

Я ещё раз говорю, заработало, но не так как должно в "С" коде.
там по нажатии клавиши, должно начать мигать, а когда наоборот должно выдать комбинацию. в протеусе же сразу начинает мигать при отпущенной кнопке.
короче прогнал в варианте (!PINC.0) и (PINC.0) итог один, мигать начинает сразу, а при нажатии включает комбинацию.
и вопрос, то что Вы перечислили (1, 2 и 3)- это то чего у меня не хватает и Вы как-то добавили или к чему это?

Просто по поводу подтягивающих резисторов и остального, я читал что всё это ни к чему делать в протеусе, если пытаешься просто смоделировать процесс без последующей разводки платы и пайки. + указание частоты проца - это Вы про модельку atmega8, нажав по ней 2 раза можно задать её частоту, так??
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

Как говорил известный персонаж - "Ну вы,блин,даёте!"
Вложения
8 led.rar
(53.34 КБ) 140 скачиваний
.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

Так терь заметил в чём прикол, Вы в протеусе кнопку подключили не к питанию а к земле, и всё заработало, но тогда вопрос: ведь если по схеме подключаем к земле или к питанию - это фактически ловим 0 или 1 соответственно. Почему при подключении к питанию цикл вкл/выкл кнопки работал одноразово, а при подключении к земле цикл бесконечный???
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

.Lexx.
Родился
Сообщения: 12
Зарегистрирован: Пт май 10, 2013 19:31:50

Re: CodeVision AVR в вопросах и ответах

Сообщение .Lexx. »

мерси)
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: CodeVision AVR в вопросах и ответах

Сообщение ibiza11 »

.Lexx. писал(а):ведь если по схеме подключаем к земле или к питанию - это фактически ловим 0 или 1 соответственно.
да. если кнопка подключена к питанию, то при нажатии на нее сформируется лог.1 на входе. Но подумайте, что будет на входе, когда кнопку отпустите?
Ставим плюсы: )
Аватара пользователя
libral
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Вт июн 04, 2013 01:23:39

Re: CodeVision AVR в вопросах и ответах

Сообщение libral »

Вот сделал видео по codevision для новичков. Как раз последних сообщений касается.

Программа в codevision:

https://www.youtube.com/watch?v=q1yfir48aJU

Проверка ее в протеусе:

https://www.youtube.com/watch?v=QhpKSl74XSk
hfelyx
Встал на лапы
Сообщения: 102
Зарегистрирован: Вт дек 28, 2010 18:25:31

Re: CodeVision AVR в вопросах и ответах

Сообщение hfelyx »

Всем привет! Извиняюсь,за повторение вопроса в данной ветке форума(писал вопрос здесь viewtopic.php?f=20&t=39341&p=1700101#p1700101),но очень хочется разобраться.
Пишу программу гирлянды ,для ATtiny2313,в CodeVisionAVR. Есть несколько световых эффектов(управление PORTB) и кнопка PIND.0. Вопрос в том как реализовать переключение между режимами световых эффектов,нажатием этой кнопки. Что-то в этом роде:нажал-1эфект,еще раз нажал-2 эффект и т.д.,а последнее нажатие - вызывает почередное включение всех эффектов.
Программировать только учусь,поэтому прошу сильно не пинать,и буду признателен любой информации.
Спасибо!
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

Нажал на кнопку - переменная увеличилась на 1,нажал другой раз - ещё на один (уже два) и т.д.
Больше определённого числа,сбрасываешь в 0.
Потом проверяешь чему равна переменная.Если 0 - одна подпрограмма,1 - другая,2 - третья и т.д.
Ответить

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