![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 133134135136137138139 ... 159
Таблица 15.10 Биты конфигурации
Значительно более эффективным способом описания переменных является использование директивы va г, что дает PicBasic-компилятору возможность самому назначать адреса переменных и обеспечивать доступ к ним. Наряду с директивой var применяются директивы word, byte и bit, позволяющие задать «размер» переменной: WordVariable var word ByteVariable var byte BitVariable var bit Объявление 16-разрядной переменной. Объявление 8-разрядной переменной. Объявление битовой переменной. Исходные значения переменных не могут задаваться при их объявлении. с помощью директивы va г допустимо объявлять производные переменные, которые определяются на основе предварительно объявленных переменных. Так, для приведенных выще переменных разре-щается объявить новые переменные, являющиеся их частями: WordVariableTop var WordVariable.bytel WordVa nableBottom var WordVariable. byteO BitVariableMSB var BitVariable.bit7 BitVariableLSB var BitVariable.0 В данном случае это старший и младший байты, а также старший и младший разряды соответствующих переменных. Кроме того, переменные определяются через регистры. Стандартные имена регистров PIC-микроконтроллера могут быть использованы в программе приложения, а имена портов - для объявления переменных. Например, для определения битов, необходимых при управлении ЖКИ, применяются следующие объявления: LCDData var PORTB PORTB как 8 бит данных. LCDE var PORTA,О RAO задает сигнал Е (строб-импульс). LCDRS var PORTA.1 RAI - линия выбора данные/команда. LCDRW var PORTA.2 RA2 - линия выбора чтение/запись. При объявлении переменных с помощью директив var и system иногда указываются фиксированные адреса. Например, оператор int w var byte $0С system определяет переменную w по адресу ОхООС. Это резервирует упомянутый адрес и не позволяет использовать его для других переменных. Банк для переменных задается с помощью директивы system вида: int status var byte bankO system Обе рассмотренные опции директивы var удобны для задания переменных в программах обработки прерываний, что и будет показано ниже. Для определения переменных в PicBasic имеется не только директива var, но и директива symbol. Ее возможности абсолютно идентичны директиве var, и используется она исключительно для обеспечения совместимости с Basic Stamp 1. Если разрабатываются только приложения PicBasic, рекомендуется применять оператор var и избегать директивы symbol. PicBasic позволяет определять одномерные массивы для каждого из трех типов данных: WordArray var word [10] ByteArray var byte [11] BitArray var bit [12] Массив из десяти слов. Массив из одиннадцати байт. Массив из двенадцати бит. Биты могут обрабатываться как элементы массивов. В табл. 15.11 приведены максимальные размеры массивов (реальные зависят от типа РХС-микроконтроллера). аблица 15.11 Максимальные размеры массивов
Линии портов ввода/вывода определяются в PicBasic как элементы массива битов. Таким образом (при помощи формата Pin#, где # является номером линии) можно адресовать до 16 линий. Характер доступа изменяется в зависимости от модели РХС-микроконтроллера, для которого разработано приложение. Соответствие портов элементам битового массива для микроконтроллеров с различным числом выводов дано в табл. 15.12. 1облица 15.12 Соответавие портов элементам битового массива для микроконтроллеров с различным числом выводов
He все порты имеют по восемь выводов, поэтому попытка доступа к выводу RA6 устройства, имеющего 18 выводов (но не имеющего бита RA6), ни к чему не приведет. Константы, объявляются аналогично переменным, однако для этого используется директива con с параметром, задающим значение константы: SampleConstant 3 + 7 Пример объявления константы. Постоянные величины представимы в четырех различных форма-jx. В табл. 15.13 приведены форматы и модификаторы, позволяю-*Цие указать компилятору PicBasic, какой тип да?шых задается. 0 ... 133134135136137138139 ... 159 |