Блок переключателей

Подключение периферийных устройств

Команды битовой обработки данных

Пересылка бита в разряд переноса

Mov C,Bit (C)=(Bit)

Переслать разряд переноса в указанный бит

Mov Bit,C (Bit)=(C)

Обнуление бита

Обнулить указанный разряд.

Clr C Clr Bit (C) =0 (Bit) =0

Установить бит в 1

Установить указанный бит в 1.

Setb C Setb Bit (C) =1 (Bit) =1

Инверсия бита

Инвертировать указанный разряд

Cpl C Cpl Bit ( C)= / (C ) ( Bit)= / (Bit )

Логическое сложение

«Логическое или» указанного бита и разряда переноса. Результат в разряде переноса.

Orl C,Bit (C )=(C )OR (Bit)

Логическое умножение

«Логическое и» указанного бита и разряда переноса. Результат в разряде переноса.

Anl C,Bit (C )=(C )AND (Bit)

Проверить бит и перейти, если 1

Перейти на метку Met, если указанный бит равен 1

Jb Bit,Met Jbc Bit,Met Jc Met   При переходе бит обнуляется Проверяется разряд С

Проверить бит и перейти, если 0

Перейти на метку Met, если указанный бит равен 0

Jnb Bit,Met Jnc Met   Проверяется разряд С

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

Если ключ не замкнут, то от источника питания через диод и резистор на соответствующий разряд порта подается напряжение 5В, что соответствует логической 1.

При замыкании ключа по соответствующей цепи источник питания – диод – резистор – ключ – корпус протекает ток. При этом светодиод зажигается, а на вход разряда порта подается низкий потенциал ( логический 0).

Опрос состояния переключателя:

JB P2.3,Met ;перейти если бит 3 равен 1 (ключ 4 разомкнут)

или

JNB P2.3,Met ;перейти если бит 3равен 0 (ключ 4 замкнут).

 

Задача. Проверить ключи 4 и 8 на одинаковое состояние. Если они в одинаковом состоянии, то выполнить одни действия, если в разном, то другие.

Фрагмент программы, реализующей указанную задачу:

 

Met0: JNB P2.3,Met1 ;перейти если бит равен 0 (К4 замкнут)

JNB P2.7,Met2 ;перейти если бит равен 0 (К8 замкнут)

; действия при двух ключах в одинаковом положении

Met3: ………………….

LJMP Met0

 

Met1: JNB P2.7,Met3 ;перейти если бит равен 0 (К8 замкнут)

; действия при двух ключах в разном положении

Met2: ………………….

LJMP Met0

 

Блок-схема алгоритма решения представлена на рис.22.

Рис22. Блок-схема алгоритма решения

 


Рис.23. Блок переключателей