Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Анонсы журнала "Лаборатория электроники и программирования" Новые статьи 23 номера


1. Программирование на языке С на примере микроконтроллера ATmega168.  Работа с кнопками. Опрос состояния, обработка дребезга.

Работа с кнопками основана на считывании логического сигнала с вывода микроконтроллера. Для работы с выводом микроконтроллера как входом, необходимо настроить соответствующий порт на вход и подключить  внутренний подтягивающий резистор (который есть у каждого вывода портов). Без подключения подтягивающего резистора вывод микроконтроллера будет «ловить» электрические сигналы и его состояние будет неопределенным, что затруднит обработку сигнала при срабатывании кнопки.

Напишем простую программу, которая в основном цикле будет считывать значение сигнала на входе и в соответствии с этим зажигать светодиод. Т.е. если кнопка нажата, светодиод будет гореть, если не нажата – то нет. Опрос кнопки называется поллингом (polling). Для ввода используется соответствующий регистр «PIN».

Будем использовать платы «150» и «145» . На плате «145» имеется 4 пользовательских кнопки. С помощью джампера X4 можно подключить общий всех кнопок к земле (положение джампера 2-3). Остальные выводы кнопок подключены к портам PD4 … PD7. Уровень сигнала на входе микроконтроллера при не нажатой кнопке – «1». При нажатии на кнопку на входе будет появляться логический «0».

                Программа написана для среды разработки ATMEL Studio® [1]. Текст программы приведен ниже.

 

 

2. Программирование на языке С на примере микроконтроллера ATmega168.  Работа с пьезокерамическими излучателями.

Пьезокерамические излучатели широко используются в электронных устройствах. К основным характеристикам таких устройств можно отнести следующие:

- небольшой потребляемый ток (порядка нескольких мА)

- достаточно широкий диапазон рабочих напряжений (от 1 до нескольких десятков В)

- довольно узкий частотный диапазон (несколько кГц)

- излучатели могут изготавливаться со встроенным генератором (тогда  генерируется только определенная частота) или без него

Исходя из основных характеристик, основными применениями являются:

- звуковое подтверждение действия (например, нажатия на кнопку)

- сигнал тревоги для сигнализаций (на таких излучателях хорошо формируется «противный на слух» сигнал)

- воспроизведение звуков в недорогой аппаратуре (параметры излучателей не дают возможность качественного воспроизведения звука)

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

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

Будем использовать платы «150A» и «145B» . На плате «145B» имеется пьезокерамическая «пищалка», которая подключена к выводу микроконтроллера PD3.

 Для получения частоты генерации будем использовать таймер 0, настроенный на частоту срабатывания 1 кГц. Каждое прерывание будем переключать уровень логического сигнала на «пищалке», таким образом, частота сформированного сигнала будет в 2 раза меньше – 500 Гц.

Для получения нужной длительности звучания сигнала сделаем программный таймер. Для запуска генерации сигнала необходимо записать нужное время (в мс) в счетчик программного таймера. Начнется генерация сигнала. После обнуления счетчика времени генерации она прекратится.

В качестве теста сформируем несколько сигналов с разной длительностью.

                Программа написана для среды разработки ATMEL Studio® [1]. Текст программы приведен ниже.

 


В избранное