НПО Системы Безопасности
(499)340-94-73
График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной
|
Главная » Периодика » Безопасность0 ... 136137138139140141142 ... 159Приоритет | Операторы | Описание | Высший | cos Parml | Возвращает косинус от Parml Выданная величина будет основана на окружности радиусом 127° и 256° (а не на обычных 360°) |
Помимо математических операторов существует условный оператор if, обеспечивающий проверку разнообразных условий (табл. 15.16). Для записи условий применяется такая же форма, как в языках Basic и С. Parml и Parm2 представляют собой константы, переменные или выражения, составленные из других операторов и выражений. Таблица 15.16 Условия, проверяемые с помощью оператора if Проверка условия | Описание | Parml - Parm2 | Возвращает 1 (True), если Parml равно Parm2 | Parml == Parm2 | Возвращает 1, если Parml равен Parm2 | Parml о Parm2 | Возвращает 1, если Parml не равен Parm2 | Parml1= Parm2 | Возвращает 1, если Ра ml не равен Parm2 | Parml < Parm2 | Возвращает 1, если Parml меньше Parm2 | Parml <= Parm2 | Возвращает 1, если Parml меньше или равен Parm2 | Parml > Parm2 | Возвращает 1, если Parml больше Parm2 | Parml >= Parm2 | Возвращает 1, если Parml больше или равно Parm2 | Parml AND Parm2 | Возвращает 1, если Parml не равен 0 и Parm2 не равен 0 | Parml &8. Parm2 | Возвращает 1, если Parml не равен 0 и Parm2 не равен 0 | Parml OR Parm2 | Возвращает 1, если Parml не равен 0 или Parm2 не равен 0 | Parml II Parm2 | Возвращает 1, если Parml не равен 0 или Parm2 не равен 0 | Parml XOR Parm2 | Возвращает 1, если Parml и Parm2 имеют разные логические значения | Parml Parm2 | Возвращает 1, если Parml и Parm2 имеют разные логические значения | Parml NOT AND Parm2 | Возвращает 0 (False), если Parml не равен 0 и Parm2 не равен 0 | Parml NOT OR Parm2 | Возвращает 0, если Parml не равен 0 или Parm2 не равен 0 | Parml NOT XOR Parm2 | Возвращает 1, если Parml и Parm2 имеют одинаковые логические значения |
Когда логическое выражение истинно, возвращается ненулевой результат; если оно ложно, то выдается 0. Команды PicBasic основаны на языке Parallax Basic Stamp (PBASIC), и хотя между ними много общего, речь тем не менее идет о двух совершенно разных языках. В табл. 15.17 перечислены инструкции PicBasic, а также приведена информация, необходимая для их применения при создании приложений с PIC-микроконтроллерами. Инструкции (операторы, функции) | Описание | BRANCH Index [Label { Label >] | Переход к метке Label, указанной значением индекса Index В последнем отсчет ведется с 0, поэтому если индекс равен 0, то произойдет переход к первой метке, а если 1 - ко второй и т д Эта команда выполняет переходы только в пределах текущей страницы При использовании PIC микроконтроллера, память программы которого занимает больше одной страницы, рекомендуется использовать команду BRANCHL | BRANCHL Index [Label { Label >] | Переход к метке Label, указанной значением индекса Index В последнем отсчет ведется с 0, поэтому если индекс равен 0, то произойдет переход к первой метке, а если 1 - ко второй и т д Эта команда может переходить в любое место памяти программ PIC микроконтроллера | Button Pin Action [Label Delay Rate Bvar] | Переход к метке Label, когда кнопка была нажата в течение заданного числа миллисекунд Rate показывает, сколько опросов после нажатия кнопки Button должно произойти, чтобы был выполнен автоповтор Bvar является байтовой переменной, используемой только в этой функции Action говоритотом, что переход должен произойти, когда клавиша нажата (1) или отпущена (0) | CALL Label | Выполнение команды ассемблера «вызов» (Call) | CLEAR | Обнуление всех переменных | COUNT Pin Period Variable | Подсчет числа импульсов на Рш, происшедших за Period, выраженный в мс | DATA ©Location Constant { Constant > | Сохранение константы в памяти EEPRPOM данных, начиная с Location, при программировании PIC микроконтроллера Для данных, расположенных по разным адресам, применяется несколько операторов DATA | DEBUG Value { Value > | Определение вывода DEBUG как последовательного выхода с параметрами, используемыми в DEBUG-определениях При выполнении этой команды передаются данные параметров Если перед величиной Value пересылается символ и (0x023), значит, отправляется десятичная цифра, а не ASCII байт Такая команда (и DEBUGIN) может использоваться для последовательного ввода/вывода, поскольку она занимает меньше места, чем команды SERIN и SEROUT | DEBUGIN (TimeDut, Label > [Variable {, Variable >] | Определение вывода DEBUGIN как последовательного входа с параметрами, используемыми в DEBLIGIN-опредепениях При выполнении этой команды следует дождаться появления байта данных или перейти к указанной метке, если превышено время ожидания TimeOut | DISABLE | Запрещение операций прерывания и отладки Прерывания, определяемые операцией ON INTERRUPT GOTO, исполняться не будут |
Таблица 15.17 Инструкции PicBasic (продолжение) Инструкции (операторы, функции) | Описание | DISABLE INTERRUPT | Запрещение операций прерывания и отладки Прерывания, определяемые операцией ON INTERRUPT GOTO, исполняться не будут | DTHFOUT Pin (On Off ) [Tone ( Tone }] | Выдача последовательности сигналов тонального набора на указанный вывод Тона с 0 по 9 соответствуют клавишам набора телефонной клавиатуры Тон 10 соответствует кнопке *, а тон 11 - # Тона с 12 по 15 сопоставлены с клавишами расширенной клавиатуры с А до D Для сглаживания выдаваемого сигнала необходим выходной фильтр | EEPROM Location [Constant {[ Constant }] | Запись данных в EEPROM при программировании PIC-микроконтроллера Эта команда аналогична команде DATA | ENABLE | Разрешение операций прерывания и отладки, запрещенных DISABLE | ENABLE DEBUG | Разрешение операций отладки, запрещенных DISABLE | ENABLE INTERRUPT | Разрешение операций прерывания и отладки, запрещенных командами DISABLE и DISABLE INTERRUPT | | Останов работы приложения и переход PIC-микроконтроллера в ждущий (sleep) режим с низким потреблением энергии | FOR Variable = Start TO Stop (Step Value) NEXT (Variable) | Выполнение цикла, при котором переменная Variable сначала получает значение Start Это значение модифицируется с шагом STEP до тех пор, пока не будет достигнуто значение Stop Если значение шага не указано, то величина приращения по умолчанию берется равной 1 | FREQOUT Pin On Frequency { Frequency) | Выдача указанной частоты Frequency на вывод Рш в течение On (в мс) Если указана и вторая частота, то она также выдается в течение заданного времени Для сглаживания выходного сигнала требуется фильтрация | GOSUB Label | Вызов подпрограммы, которая начинается по адресу Label Существование последнего проверяется во время компиляции | GOTO Label | Переход к коду, который начинается по адресу Label | HIGH Pin | Перевод Рш в режим выхода и установка высокого уровеня сигнала | HSERIN (ParityLabel } (TimeOut Label } [Variable ([ Variable )] | Получение одного или нескольких байтов от встроенного USART (если он имеется) Если в данных ошибка по четности, то происходит переход к ParityLabel Перед переходом следует убедиться в том, что были определены режимы контроля по четности HSER EVEN или нечетности HSER ООО | HSEROUT [Value ( Value Я | Передача одного или нескольких байтов со встроенного USART (если он имеется) | 0 ... 136137138139140141142 ... 159
|
|