Как сделать программу с кнопками

Кнопки ATmega328 семисегментные индикаторы

Итак мы добрались до неотъемлемой части большинства проектов на микроконтроллерах — до кнопок. Кнопка достаточно простое устройство, имеющее, как правило, всего два состояния, если говорить языком программирования это состояние логической 1 (контакты замкнуты) и логического 0 (контакты разомкнуты). Рассмотрим схему.

Имеем все туже схему с семисегментными индикаторами, но добавлены 4 кнопки. При помощи кнопок группы A будем увеличивать или уменьшать выводимое значение на первых трех индикаторах, а кнопками группы B – изменять значение на последних двух индикаторах. Для начала кратко о кнопках. Кнопки применим с нормально разомкнутыми контактами без фиксации.

Одним контактом подключим к земле, а другим к отдельным выводам микроконтроллера. Подтягивающий к плюсу резистор устанавливать не будем, так как таковой предусмотрен в самом микроконтроллере. Осталось только написать программу для опроса кнопок (состояния выводов микроконтроллера) и вывода результата на индикаторы. В связи с простотой схемы и затруднениями читателей в понимании программы на C, основной упор в этом разделе направим именно на разбор программы. Итак программа.

DevelNext #14 — Программа с убегающей кнопкой (Как сделать?)


#include //подключаем библиотеки #include #define SPI_SS PB2 //выход SS #define SPI_MOSI PB3 //выход MOSI #define SPI_MISO PB4 //выход MISO #define SPI_SCK PB5 //выход SCK #define BUTTON_AP PD4 //выход кнопки A+ #define BUTTON_AM PD5 //выход кнопки A- #define BUTTON_BP PD6 //выход кнопки B+ #define BUTTON_BM PD7 //выход кнопки B- char di[5]; void spi(char cmd,char data) //Функция передачи двух пакетов по 8 бит по протоколу SPI < PORTB int main() < DDRB |= (1<999)a=999; //проверка достижения максимального значения переменной a if(a<0)a=0; //проверка достижения минимального значения переменной a if(b>99)b=99; //проверка достижения максимального значения переменной b if(b <0)b=0; //проверка достижения минимального значения переменной b >return 0; >

Приступим. Программу на C обычно начинают с подключения внешних библиотек. За это в программе отвечают две строки:

#include #include

avr/io.h это библиотека ввода/вывода которая объяснит компилятору какие порты ввода/вывода есть у микроконтроллера, как они обозначены и на что они способны. И самое интересное что эта библиотека сама выбирает из настроек проекта для какого микроконтроллера нужно применить описания, то позволяет использовать эту библиотеку для разных микроконтроллеров.

Эту библиотеку нужно подключать в первую очередь. Вторая часто используемая библиотека util/delay.h помогает создавать задержки в выполнении программы, что достаточно удобно. Далее в программе выполним макроопределение для резервирования выводов микроконтроллера под свои нужды. Например запись

Читайте также:
Мультимедийная программа это программа использующая звук

#define BUTTON_AP PD4

указывает что на выводе PD4 ( регистр 4 порта D ) мы будем подключать кнопку A+ ( смотрите схему ). Это нужно для того чтобы если мы вдруг надумаем кнопку переключить на другой вывод то нам не понадобится искать по всей программе, просто изменить в define название вывода PD4 на нужный, при этом в программе так и останется BUTTON_AP. Но в случае с выводами для SPI ничего изменить не получится потому что поддержка SPI аппаратная и жестко привязана к выводам микроконтроллера производителем. Следующая интересная часть программы это описание портов.

Как сделать калькулятор с кнопками? | Программа с интерфейсом на Python


DDRB |= (1<

Так были переключены на вывод перечисленные разряды порта B (по умолчанию все разряды всех портов настроены на ввод) . Э ту строку можно записать следующим образом без использования макроопределения в define

DDRB |= (1<

Эти записи равноценны и предназначены для подстановки 1 в регистр DDRB в соответствующий разряд BR3 ( разряд 3 ), BR5 ( разряд 5 ) и BR2 ( разряд 2 ). Остальные разряды регистра DDRB остаются без изменения. Также можно записать эту строку вот так

DDRB |= (1<<3)|(1<<5)|(1<<2);

что конечно более запутанно. Запись 1
PORTD |= (1<

Эти резисторы встроены в микроконтроллер. Их можно подключить на разряды порта с условием что эти разряды определены как ввод.

Резисторы подтягивают нужный вывод микроконтроллера к логической 1. Остальные настройки производятся аналогично с использованием соответствующих регистров микроконтроллера. Теперь рассмотрим основную часть программы которую микроконтроллер после основных настроек выполняет бесконечно. Эта часть программы заключена в бесконечный цыкл.

while(1) < >;

Все заключенное между фигурными скобками строки программы будут выполнятся по кругу. Внутри этого бесконечного цикла происходит поразрядное разбитие десятичного числа для вывода на отдельные разряды семисегментного индикатора. После разбиения отправляем поразрядно данные по SPI для каждого отдельного индикатора. Далее происходит первый опрос кнопок на нажатие.

Если кнопка нажата то устанавливается флаг о нажатии. Далее установлена задержка выполнения программы на 100 мс

_delay_ms(100);

для предотвращения ложного срабатывания от «дребезга» контактов кнопки. И второй раз опрашиваем кнопки о их нажатии и сверяем выставленным ранее флагам о нажатии. Если условия соблюдены изменяем значения выводимые на индикаторы. Затем сбрасываем флаги нажатия кнопок в 0. После чего цикл повторяется.

В следующей — заключительной части будет рассмотрен АЦП (аналого-цифровой преобразователь) и применение всего ранее изученного на практике.

Читайте также:
Программа для включить музыку

Прикрепленные файлы:

  • button_CB.zip (8 Кб)
  • button_proteus.zip (18 Кб)

Теги:

vavaav Опубликована: 17.08.2016 Изменена: 27.02.2021 0

Вознаградить Я собрал 0 2

Оценить статью

  • Техническая грамотность

Источник: cxem.net

VBA Excel. Первая кнопка (для начинающих)

Вкладка с инструментами, связанными с VBA Excel, называется «Разработчик». Если этой вкладки нет на вашей ленте, добавьте ее через окно «Параметры»:

Окно «Параметры Excel»

  • Откройте окно «Параметры» через меню «Файл».
  • Выберите вкладку «Настроить ленту».
  • В правой колонке установите галочку у пункта «Разработчик» и нажмите «OK».

Кнопка – элемент управления формы

Вставка кнопки на лист

  1. Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
  2. Нажмите на значок кнопки в коллекции «Элементы управления формы».

Добавление кнопки на рабочий лист (элемент управления формы)

  1. Кликните в любом месте на рабочем листе Excel.
  2. Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
  3. После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.

Кнопка (элемент управления формы)

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

Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.

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

Создание процедуры для кнопки

Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.

Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.

Вставка модуля в редакторе VBA Excel

Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.

Нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

Вставка процедуры в редакторе VBA Excel

В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».

Окно добавления процедуры в редакторе VBA Excel

В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».

Читайте также:
Код возврата программы это

Шаблон процедуры в редакторе VBA Excel

Вставьте внутрь шаблона процедуры следующий код:

Источник: vremya-ne-zhdet.ru

Как сделать программу с кнопками

Доброго времени суток! В этом уроке я коротко расскажу о таких элементах графического интерфейса, как кнопки. Кнопка (button), пожалуй самый распространенный элемент графического интерфейса. Так что, изучение элементов я начну именно с кнопок.

В C#, кнопки представлены элементом графического интерфейса Button. На панели элементов, этот компонент (контрол) находится в группе «Стандартные элементы управления» (или «Common Controls» в англоязычной версии Visual Studio), как показано на рисунке ниже.

Кнопка в панели элементов Visual Studio

Кнопка в панели элементов Visual Studio

Можете создать новый (или открыть существующий) проект приложения с графическим интерфейсом в Visual Studio и перетащить на главную форму кнопку. Чтобы проверять на практике, что я сейчас буду рассказывать. А начну я с основных свойство кнопки.

Основные свойства

Name — задает уникальное имя для кнопки (специфическое свойство, необходимо, для работы с кнопкой из кода).

Image — позволяет задать изображение для кнопки.

ImageAlign — позволяет задать выравнивание изображению на кнопке.

Enabled — разрешает или запрещает доступ к элементу, если указать значение true, то кнопка будет доступна для пользователя (он сможет нажимать на неё), значение false — наоборот, запрещает доступ.

MaximumSize — позволяет задать размер кнопке. Работает аналогично свойство MaximumSize у формы.

MinimumSize — позволяет задать размер кнопке. Работает аналогично свойство MinimumSize у формы.

Size — позволяет задать размер кнопке. Работает аналогично свойство Size у формы.

Text — позволяет задать надпись на кнопке.

TextAlign — позволяет задать выравнивание текста, например, по центу, или в левом верхнем углу кнопки.

Может иметь одно из значений, перечисленных в таблице ниже.

Значение Краткое описание
TopLeft Верхний левый угол
TopCenter Сверху и по центру
TopRight Правый верхний угол
MiddleLeft Посередине слева
MiddleCenter Посередине по центру
MiddleRight Посередине справа
BottomLeft Левый нижний угол
BottomCenter Снизу по центру
BottomRight Правый нижний угол

Visible — позволят скрыть кнопку, если установлено в false. Для отображения кнопки снова, нужно установить этому свойству значение true.

Основные события

Click — возникает, при щелчке мышью на кнопке, либо при нажатии на клавишу Enter на клавиатуре.

MouseClick — возникает, при щелчке мышью (в обработчик события, передается дополнительная информация).

Основные методы

Hide — скрывает кнопку (делает её невидимой).

Show — показывает кнопку (делает её видимой).

А вот вам пример окна с тремя кнопками:

Пример окна с тремя кнопками

Пример окна с тремя кнопками

Источник: plssite.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru