Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2023 » Октябрь » 18 » Порты ввода и вывода у микроконтроллеров
20:17
Порты ввода и вывода у микроконтроллеров

Порты ввода и вывода у микроконтроллеров

Общая схема игрушки «Бегущий человек»:

Микроконтроллер это схема, которая в данном случае получает команды от двух кнопок и выводит какую-то информацию на экран. На самом деле у дисплея есть свой внутренний микроконтроллер и по всем этим проводам передаются команды именно ему. И уже микроконтроллер дисплея что-то на нём рисует.
Если бы эта игрушка была в коробке, для подключения её хватило бы двух управляющих проводов (для кнопок). А контроллеру дисплея потребовалась бы шина аж из 6 проводов.
И  все они были бы для вывода информации (тип OUTPUT), потому что от такого дисплея информация не поступает. А от кнопок, по которым «человек» должен подпрыгивать или приседать, информация поступает, потому это порты ввода (тип INPUT).
Контролер крупнее (с номерами ножек):

При включении дисплей инициализируется такой командой:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Предлагаю поверить мне на слово, что внутри (в драйвере) всем этим ножкам присваивается тип OUTPUT.
А тип портов, подключенных к кнопкам устанавливается в самой программе:
void setup(){
  pinMode(PIN_READWRITE, OUTPUT);
  digitalWrite(PIN_READWRITE, LOW);
  pinMode(PIN_CONTRAST, OUTPUT);
  digitalWrite(PIN_CONTRAST, LOW);
  pinMode(PIN_BUTTON_UP, INPUT);
  digitalWrite(PIN_BUTTON_UP, HIGH);
  pinMode(PIN_AUTOPLAY, OUTPUT);
  digitalWrite(PIN_AUTOPLAY, HIGH);
  pinMode(PIN_BUTTON_DOWN, INPUT);

  digitalWrite(PIN_BUTTON_DOWN, HIGH);
   
  PCintPort::attachInterrupt(PIN_BUTTON_UP, &buttonPush, FALLING);
  PCintPort::attachInterrupt(PIN_BUTTON_DOWN, &BUTTON_DOWN_ISR, CHANGE);
   
  initializeGraphics();
    lcd.begin(16, 4);

}
В ней же цепляются обработчики событий – нажатия кнопок.
Это программы, которые будут выполняться, если кнопка отпущена, нажата или то или другое (change – изменение).
А теперь ещё раз про первую картинку. Все это будет работать, если один хвост кнопки прицеплен к ножке, а другой к земле.  Это, вроде, нелогично. Если интуитивно, то входящему сигналу полагается быть напряжением. И ему, вроде бы, надо поступать при нажатии кнопки (кнопка просто контакт замыкает). Но подключать надо, как на картинке показано.

Просмотров: 44 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Октябрь 2023  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz