![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 130131132133134135136 ... 159 микроконтроллером. При их иснользовании разработчикам программ не придется самим определять имена и адреса регистров, имена битов и т.п. Каждой модели PIC-микроконтроллера соответствует свой файл .inc, название которого задается в формате: р < I > PICmicro® MCU < /I >. inc где PICmicro® MCU представляет собой тип PIC-микроконтроллера. КОМПОНОВКА ПРИЛОЖЕНИЙ Прежде чем создать объектный файл приложения, необходимо подготовить все исходные файлы, а затем «связать» их. Когда все нужные файлы имеются, выполняется компоновка (links), при которой обобщаются адреса различных файлов. Важно помнить о том, что обобщаются также адреса переменных и команд. Ниже приведены два примера файлов исходных кодов, показывающие, как адреса связываются друг с другом. В первом примере представлена основная программа: TITLE - Tests - Jump to TestSA Пример приложения; использующего МР1АВ-компонов1дик. Муке Predko 2000.02.02 Применяется микроконтроллер PIC 16F84. list г = с1ес Перечень директив для определения процессора и режимов компилятора. Специальные переменные процессора. ((include "pl6F84, inc" ; Определение битов конфигурации. CONFIG CP OFF & WDT ON & PWRTE ON & XT OSC EXTERN TEST3A ; Определение основной программы. GLOBAL TESTSAstart GLOBAL flag ; Глобальные переменные. ; ОПЕРЕДЕЛЕНИЯ ПЕРЕМЕННЫХ. ; Пример использования блочных данных, INT VAR w temp UDATA RES OxOC 1 status temp RES 1 flag RES Переменная, используемая для сохранения контекста. Переменная, используемая для сохранения контекста. Временная переменная (общие ячейки - G DATA). RESET VECTOR CODE goto INT VECTORCODE movwf PROG CODE 0x005 fflOVf movwf start 0x004 w temp STATUS, W status temp Вектор сброса процессора. Переход в начало программы. Ячейка вектора прерываний. Код обработки прерывания (isr) может начинаться здесь или размещаться в другом месте в качестве подпрограммы. movf movwf swapf swapf retfie start goto TESTSAstart END status temp, STATUS w temp, f w temp, w TEST3A Восстановление контекста. Директива конца программы. Второй файл, который связывается с головной программой, выглядит так: TITLE •Test3A - Actually Execute the Code" Пример программы, использующей МР1ДВ-компоновщик. Муке Predko 2000.02.02 Применяется микроконтроллер PIC 16F84. EXTERN flag EXTERN TEST3Astart list r = dec # include "p16f84.inc" TEST3AC0DE CODE TEST3A GLOBAL TEST3A banksel clrf Внешние переменные. flag flag Глобальные переменные. Пример. Пример. Здесь вставляется оставшаяся часть кода. movlw movwf movlw subwf btfss goto flag 0x001 flag, f STATUS, $ - 2 goto $ ; Зацикливание. END ; Директива конца программы. ШАБЛОН ПРОГРАММЫ ПРИЛОЖЕНИЯ Представленный ниже файл может использоваться в качестве шаблона исходного кода для приложений PIC-микроконтроллеров: Title "FileName - One Line Description" #define version "x.xx Описание приложения. Комментарии. Автор Замечания к аппаратуре: LIST R = DEC ; Спецификация микроконтроллера. include "pICcxx.inc" ; Включаемые файлы. ; Объявление регистровых переменных. ; Макросы. CONFIG CP OFF & XT OSC & PWRTE ON & WDT OFF & BODEN OFF org 0 Mainline goto Mainline Code org 4 ; Программа обработки ; прерываний по адресу 4. Mainline Code ; Основная программа. ; Подпрограммы. ЯЗЫК BASIC Переменные BASIC должны описываться только в исключительных случаях. Имя переменной начинается с буквы или знака подчеркивания ( ), за которым идут буквенно-цифровые символы и опять подчеркивание. Имена переменных (а также метки адресов) зависят от рассматриваемой версии. Для обозначения типов данных к имени переменной добавляется так называемый суффикс (табл. 15.4). В табл. 15.5 перечислены различные функции и операторы Basic-Для записи операторов в программах Basic используются операции, представленные в табл. 15.6. 0 ... 130131132133134135136 ... 159 |