Подскажите как сравнить одновременно 4 PORTA включенных как входы не используя If hten Dim VAR1 As Byte ' Создать переменную VAR1 типа Byte
VAR1 = PORTA ' Прочитать состояние порта А и поместить его двоичное значение в переменную VAR1
LoadBit VAR1, 4, 0 ' Записать в неиспользуемый 4-й разряд переменной VAR1 нулевое значение
LoadBit VAR1, 5, 0 ' Записать в неиспользуемый 5-1 разряд переменной VAR1 нулевое значение
LoadBit VAR1, 6, 0 ' Записать в неиспользуемый 6-1 разряд переменной VAR1 нулевое значение
LoadBit VAR1, 7, 0 ' Записать в неиспользуемый 7-1 разряд переменной VAR1 нулевое значение
On VAR1 GoTo Metka_0, Metka_1, Metka_2, Metka_3 ' Если значение VAR1 = 0 идти к метке Metka_0
' Если значение VAR1 = 1 идти к метке Metka_1
' Если значение VAR1 = 2 идти к метке Metka_2
' Если значение VAR1 = 3 идти к метке Metka_4
'--------------------------------------------------------------------
LoadBit Variable , Index , Value
По команде LoadBit записывается 0 либо 1 в указанный разряд переменной или регистра.
Variable - это определяемая пользователем переменная, типа Byte, Word, или Dword.
Index - может быть константой, переменной, или выражением, которое указывает на отдельный бит переменной, который необходимо изменить.
Value - может быть константой, переменной, или выражением, которое будет помещено в нужный разряд. Попытка поместить в нужный разряд значение больше чем 1, приведет к тому, что все равно в него будет записана 1.
\
On VAR1 GoTo LABEL_0 , LABEL_1, LABEL_2
Эта команда будет работать точно так же как и блок команд If...Then. Если же значение переменной VAR1 не будет находится в заданных пределах от 0 до 2, например переменная VAR1 получит значение больше чем 2, то команда On GoTo не будет делать ничего и основная программа будет продолжена со следующей команды.
'--------------------------------------------------------------------
Команда On GoTo предназначена, прежде всего, для использования с микроконтроллерами, которые имеют
всего одну страницу памяти (0-2047). Если используются большие микроконтроллеры, и есть подозрение,
что метка перехода может находиться на линии раздела страниц, то лучше вместо неё использовать команду On GoToL
'-----------------------------------------------------------------------
On GoToL Это команда безусловного перехода принуждающая основную программу переходить в различные её места,
определяемые переменным индексом. Команда On GoToL предназначена для микроконтроллеров у которых больше
чем одна страница памяти, в основном она предназначена для микроконтроллеров 18 серии, но может работать
и с микроконтроллерами 16 серии. Команда On GoToL работает так же как и команда BranchL .