Вход/Регистрация
Создаем робота-андроида своими руками
вернуться

Ловин Джон

Шрифт:

Для начала посмотрим, как микроконтроллер может определить замыкание цепи. Для этой цели могут быть использованы любые из 13 шин ввод/вывод, которые работают в логике TTL. Для определения замыкания мы будем использовать эти логические уровни в соединении с выключателями (см. рис. 6.20).

Выключатели низкого уровня

На рис. 6.20 выключатель с меткой А выдает на шину ввода/вывода сигнал высокого логического уровня до момента замыкания. После замыкания шина «садится» на землю, т. е. получает сигнал низкого уровня. Когда микроконтроллер получает сигнал замыкания, он может произвести ряд операций или функций управления. В нашем случае замыкание контакта выключателя вызовет мигание светодиода. Понятно, что светодиод может быть заменен транзистором, преобразователем, электронной схемой или другим микроконтроллером или компьютером.

Рис. 6.20. Переключатели логических уровней

Программа на PICBASIC имеет следующий вид:

‘PICBASIC компилятор

‘REM проверка выключателя низкого уровня

‘ Инициализация переменных

input 4 ‘Назначить шину PB4 для определения состояния выключателя

start:

if pin4 = 0 then blink ‘Если выключатель выдает низкий уровень – све

тодиод мигает

goto start ‘Если нет – проверить состояние выключателя

blink: ‘Процедура мигание

high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода

pause 250 ‘Задержка ј с

low 0 ‘Низкий уровень на шине RB0 для гашения светодиода

pause 250 ‘Задержка ј с

goto start ‘Проверка состояния выключателя

Программу на PICBASIC Pro можно составить следующим образом:

‘REM BASIC Pro компилятор

‘Rem проверка выключателя низкого уровня

input portb.4 ‘Назначить шину PB4 для определения состояния выключателя

start:

if port.b = 0 then blink ‘Если выключатель выдает низкий уровень – све

тодиод мигает

goto start ‘Если нет – проверить состояние выключателя

blink: ‘Процедура мигание

high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода

pause 250 ‘Задержка ј с

low 0 ‘Низкий уровень на шине RB0 для гашения светодиода

pause 250 ‘Задержка ј с

goto start ‘Проверка состояния выключателя

Схема устройства для выключателя низкого уровня приведена на рис. 6.21. Выключатель соединен с шиной ввода/вывода, помеченной RB4. Светодиод соединен с шиной RB0 через ограничительный резистор 470 Ом.

Рис. 6.21. Схема ключа низкого уровня

Выключатели высокого уровня

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

Программа на PICBASIC имеет следующий вид:

‘PICBASIC компилятор

‘REM проверка выключателя высокого уровня

‘ Инициализация переменных

input 4 ‘Назначить шину PB4 для определения состояния выключателя

start:

if pin4 = 1 then blink ‘Если выключатель выдает высокий уровень – све

тодиод мигает

goto start ‘Если нет – проверить состояние выключателя

blink: ‘Процедура мигание

high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода

pause 250 ‘Задержка ј с

low 0 ‘Низкий уровень на шине RB0 для гашения светодиода

pause 250 ‘Задержка ј с

goto start ‘Проверка состояния выключателя

Программу на PICBASIC Pro можно составить следующим образом:

‘REM BASIC Pro компилятор

‘Rem проверка выключателя высокого уровня

input portb.4 ‘Назначить шину PB4 для определения состояния выключателя

start:

if port.b = 0 then blink ‘Если выключатель выдает высокий уровень —

светодиод мигает

goto start ‘Если нет – проверить состояние выключателя

blink: ‘Процедура мигание

high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода

pause 250 ‘Задержка ј с

low 0 ‘Низкий уровень на шине RB0 для гашения светодиода

pause 250 ‘Задержка ј с

goto start ‘Проверка состояния выключателя

Схема устройства для выключателя высокого уровня показана на рис. 6.22. Выключатель соединен с шиной ввода/вывода, обозначенной RB4. Светодиод подключен к шине RB0 через ограничительный резистор 470 Ом.

  • Читать дальше
  • 1
  • ...
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: