Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 27.07.2010, 12:33  
slawlog
Прохожий
 
Регистрация: 29.06.2010
Сообщений: 3
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
slawlog на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от avr123-nm-ru Посмотреть сообщение
Откуда 1 будет на PIND.0 ? Зачем UART занимать под кнопку ?????????????
B начале до main() инициализация DDRD.0 =0; PORTD.0 = 1; // вкл. pullup на PD.0
Реклама:
slawlog вне форума  
Непрочитано 31.07.2010, 12:08  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите с avr

Уж если Си автор вопроса этой темы успел подзабыть то гораздо понятнее было бы написать ему прогу обслуги его схемы на асме - там ну очень ясно по битам видно что куда и откуда берется и сам командуешь непосредственно гарантированно своими ручками каждым битом , а в Си новичок не видит откуда получается результат из файлов подключенных библиотек - ну не разбирать же ему еще и эти сами библиотеки , хотя это в общем понимании механизма как конкретно работает написанная им Сишная прога и очень помогает понять в тупиковых случаях . Для простой схемы (сначала без LCD на первый момент пробы программирования) как у него можно не брать AVR Mega8 , с такой задачей вполне справятся AVR попроще , к примеру Tiny 24 , он внутренне попроще чем Mega8 , легче изучать его работу с программой будет , а уж потом можно перейти к более сложной схеме на Mega8 с поключеным LCD.
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 31.07.2010 в 12:16.
pinco вне форума  
Непрочитано 31.07.2010, 13:06  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от igonzo Посмотреть сообщение
есле не затруднит то можно чуть по подробней
[CODE]
PORTC.4 = 0;
while(!PIND.0); // пока 0 - джать появления 1
while(1){
while(PIND.0); // пока 1 - джать появления 0
PORTC.4 ^= 1; // изменить PC4
delay_ms (100); // пауза от лишних страбатываний - подобрать по задаче
while(!PIND.0); // пока 0 - джать появления 1
delay_ms (100); // пауза от лишних страбатываний
}
[CODE]
Обычно я фильтрую програмно ВСЕ сигналы которые входят в МК для исключения влияния дребезга, помех и ошибок аппаратной части. Обычно функция вызывается в прерываниях периодически 1-10 милисек. Для кнопок алгоритм такой:

Если флаг сработали клавиши=1 то выход.

Если считаное состояние = клавиши разомкнуты, то счётчик срабатывания клавиш=время срабатывания, предыдущее состояние клавишь=текущее состояние клавишь. выход.

Если считаное состояние не=разомкнуты то сравнивается предыдущее состояние клавишь и текущее состояние клавишь.

Если текущее состояние НЕ= предыдущему состоянию то счётчик срабатывания клавиш=время срабатывания, предыдущее состояние клавишь=текущее состояние клавишь. выход.

Если текущее состояние=предыдущему состоянию то счётчик срабатывания клавишь -1.

Если счётчик срабатывания НЕ=0 то выход.

Если счётчик срабатывания =0 то флаг сработали клавиши=1. текущее состояние клавишь содержит нажатые клавиши. выход.

В функциях управления устройством ожидается флаг срабатывания и анализируется состояние клавишь, далее флаг гасится и ожидается снова.

А уж описать на нужном языке дело техники.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

Последний раз редактировалось picavr; 31.07.2010 в 13:13.
picavr вне форума  
Непрочитано 01.08.2010, 22:04  
Sk700S
Частый гость
 
Регистрация: 07.10.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Sk700S на пути к лучшему
По умолчанию Re: Помогите с avr

Было воскресенье, и было скучно.
Будем элитл бороться с дребезгом.
50000 это я загнул определенно.
50000 время в тактах , в течении которого нам чихать на все дребезги.
По крайней мере так задумано.
Все в принципе ок, но жалко памяти под счетчик.
Может есть идеи пооригинальней. Только внятный код,
чтобы не заморачиваться. По возможности ес.


#include ‹mega8.h›

bit Flag;
unsigned int Counter;

void main ( void ) {
DDRD = 0x00;
PORTD = 0x00;
DDRC = 0xFF;
PORTC = 0x00;

while ( 1 ) {
if ( PIND.0 == 1 && Flag == 0 ) { PORTC.4 ^= 1; Flag = 1;}
if ( Flag == 1 && Counter ‹ 50000 ) { Counter += 1; }
if ( PIND.0 == 0 && Counter ›= 50000 ) { Counter = 0; Flag = 0;}

}
}
Sk700S вне форума  
Непрочитано 11.08.2010, 20:10  
m-o
Прохожий
 
Регистрация: 24.04.2007
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
m-o на пути к лучшему
По умолчанию Re: Помогите с avr

у Ревич “Практическое программирование Микроконтроллеров AVR на языке ассемблера” такая задача подробно по русски расписана
m-o вне форума  
Непрочитано 09.10.2010, 23:35  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от Sk700S Посмотреть сообщение
50000 время в тактах , в течении которого нам чихать на все дребезги.
это ООООООООООООООООООООООООчень долгий цикл.
omercury вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, создать АОН на AVR ArtUrl1986 Микроконтроллеры, АЦП, память и т.д 23 30.04.2016 18:48
Помогите с прошивкой в AVR studio _grey_ Микроконтроллеры, АЦП, память и т.д 5 26.03.2010 21:59
USB программатор AVR помогите! sorokin.vasiliy Микроконтроллеры, АЦП, память и т.д 13 06.03.2010 16:01
Помогите разобраться с кодом Micro C for AVR deeman30rus Электроника - это просто 7 09.02.2010 11:46


Часовой пояс GMT +4, время: 16:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot