НПО Системы Безопасности
(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