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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 06.04.2007, 23:22   #1
falco
Прохожий
 
Регистрация: 23.03.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
falco на пути к лучшему
По умолчанию Помогите с задачей по AVR

Есть микроконтроллер ATMega 8515. Необходимо написать следующую программку в AVRStudio.
По нажатию на кнопку, но не чаще 1 раза, чем раз в 2 секунды в EEPROM должно записываться некое число по последовательным адресам, начиная с 20-го. Т.е. если кнопку нажимать чаще, то она будет игнорироваться.
Примечания:
1. Кнопки имеют инверсное управление, т.е. если она не нажата, то на контроллер подается логическая единица.
2. Частота тактового сигнала контроллера - 1 МГц.
Подскажите, пожалуйста, как это можно сделать???
Реклама:
falco вне форума  
Непрочитано 07.04.2007, 00:00   #2
AVK74
Вид на жительство
 
Регистрация: 15.03.2005
Сообщений: 381
Сказал спасибо: 11
Сказали Спасибо 32 раз(а) в 24 сообщении(ях)
AVK74 на пути к лучшему
По умолчанию Re

Курсач чтоли пишешь?
AVK74 вне форума  
Непрочитано 07.04.2007, 13:00   #3
Vovan66
Прописка
 
Регистрация: 05.02.2005
Сообщений: 125
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Vovan66 на пути к лучшему
По умолчанию

Опрашивай кнопку с задержкой 2 секунды да и все.
Vovan66 вне форума  
Непрочитано 07.04.2007, 14:03   #4
falco
Прохожий
 
Регистрация: 23.03.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
falco на пути к лучшему
По умолчанию

Да нет, препод задание дал, решайте. Вот и пытаюсь решить. В принципе, в системе команд AVRStudio разобраться не так сложно. А вот как реализовать саму программу, не совсем понятно.
falco вне форума  
Непрочитано 07.04.2007, 14:27   #5
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

avr123.nm.ru/z1.htm

Но лучше курс с начал почитать. Он достатоно краткий.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 13.04.2007, 14:10   #6
Mozart
Временная регистрация
 
Регистрация: 29.10.2004
Сообщений: 75
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Mozart на пути к лучшему
По умолчанию

Цитата:
Он достатоно краткий.
не верьте ему... там очень много читать...
читайте аппноуты и даташиты а ещё книжечку по Си
__________________
главное не количество знаний, а уменее их применить!!!
Mozart вне форума  
Непрочитано 13.04.2007, 19:15   #7
LessM
Временная регистрация
 
Регистрация: 27.03.2007
Адрес: Москва
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 1 раз в 1 сообщении
LessM на пути к лучшему
По умолчанию

Сообщение от Mozart
не верьте ему... там очень много читать...
Гы, да нет, читать там мало.... Я вырезал рекламу и повторы и у меня 6 листов в Ворде осталось...
П.С. Кстати, пока вырезал успел программу и написать и прошить и отладить устройство. Точно говорят - на ошибках надо учиться...
LessM вне форума  
Непрочитано 13.04.2007, 19:33   #8
AndryG
Вид на жительство
 
Регистрация: 22.06.2006
Адрес: Украина
Сообщений: 308
Сказал спасибо: 19
Сказали Спасибо 32 раз(а) в 24 сообщении(ях)
AndryG на пути к лучшему
По умолчанию Re: Помогите с задачей по AVR

Сообщение от falco
Есть микроконтроллер ATMega 8515. Необходимо написать следующую программку в AVRStudio.
По нажатию на кнопку, но не чаще 1 раза, чем раз в 2 секунды в EEPROM должно записываться некое число по последовательным адресам, начиная с 20-го. Т.е. если кнопку нажимать чаще, то она будет игнорироваться.
Примечания:
1. Кнопки имеют инверсное управление, т.е. если она не нажата, то на контроллер подается логическая единица.
2. Частота тактового сигнала контроллера - 1 МГц.
Подскажите, пожалуйста, как это можно сделать???
Не буду вдаваться в подробности реализации ... опишу алгоритм.

Берем таймер, натсраиваем прерывание каждые 100 мс.
Дальше все временные куски будем мерять этими 100мс ... значит 2 сек - это "200 тиков"
Дальше вся обработка будет идти в прерывании.
Нам нужно научится отслеживать два события:
- нажатие кнопки
- время прошедшее с предыдущего нажатия.

Нажатие кнопки
"Нажатие кнопки" можно перефразировать "была отпущена, а теперь нажата" ... значит заводим буфер для "прошлого" состояния кнопки и сравниваем с текущим ... если условие выполняется - значит кнопку нажали!
Здорово. Продолжаем.
Обработка нажатия кнопки
Код:
 ЕСЛИ ПРОИЗОШЛО НАЖАТИЕ, ТО ВЫПОЛНЯЕМ СЛЕДУЩЕЕ...

 ЕСЛИ ВРЕМЯ›200 // Смотрим на переменную ВРЕМЯ (о ней позже) ... 
  ТО НАЧАЛО
    пишем еепром (и увеличиваем счетчик адреса еепром)
    ВРЕМЯ = 0 (сбрасываем подсчет времени)
  КОНЕЦ
(дальше раоботаем с переменной ВРЕМЯ)
    ЕСЛИ ВРЕМЯ ‹=200 (тем самым избегаем переполнения ВРЕМЯ)
      ВРЕМЯ++
  КОНЕЦ
Вот. Другими словами ... ведем постоянно подсчет времени ... как только насчитали 201 тик - значит это больше 2 сек - нам достаточно - можно писать еепром
Если ВРЕМЯ больше 2 сек (201 тик), значит пишем еепром и сбрасываем счетчик.
Если нажатие будет раньше, то записи еепром и обнуления времени не будет - счетчик просто дальше будет считать время... причем и не поможет простое удержание кнопки - факта нажатия не будет


иначе кнопку нажали раньше - ничего не делаем.

Про факт отлавливания кнопки уже писано было пару раз ... https://kazus.ru/forum/topics/5635.html - там еще одна ссылка - надеюсь разберетесь... если Вам именно алгоритм нужен ... ну а если с контроллерами Вы вообще не знакомы, то тогда читайте посты выше моего
AndryG вне форума  
Закрытая тема

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите FlowCode Pic -Avr enigm Микроконтроллеры, АЦП, память и т.д 3 17.04.2011 22:59
Помогите отладить программу АЦП на AVR Alexander48 Микроконтроллеры, АЦП, память и т.д 8 30.11.2009 14:07
Помогите с AVR Studio. Alm604 Микроконтроллеры, АЦП, память и т.д 21 01.04.2008 23:32
помогите с IAR для AVR chipman Proteus, KiCAD и другие ECAD 1 02.05.2007 20:50
помогите с AVR ATmega128 zuuuuk Микроконтроллеры, АЦП, память и т.д 0 11.02.2007 02:25


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


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