Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Порядок создания простого проекта



Рассмотрим создание простого проекта, исходными файлами которого будут файл или файлы написанные на ассемблере. Для создания проекта выполняются следующие шаги:

1. Выбор папки проекта. Создайте на диске папку для своего проекта. Важное примечание! MPLAB не поддерживает корректно длинные и русские имена папок, то есть имя должно состоять из латинских букв и не более 8. Тоже самое относится и к названию проекта и к именам исходных файлов. В противном случае MPLAB откажется файлы редактировать и будет жаловаться, что не может их открыть при ассемблировании.

2. Выбор языка инструментальной среды.Выберите Project> Install Language Tool из меню. Выберите Language Suite: Microchip и Tool Name: MPASM. Если не указан путь к файлу ассемблера mpasmwin.exe, укажите. Затем установите опцию Windowed и нажмите OK.

3. Создание файла проекта. В MPLAB выберите Project> New Project, укажите путь к Вашей папке и введите имя файла проекта, желательно такое же, как и имя основного исходного файла. Возможно указание нескольких папок через точку с запятой, для примера, таким образом: c: \mplab\projects\mpproj\include; c: \include\h;..\sys. Нажмите OK.

4. Установка конфигурации. После перечисленных действий откроется окно редактирования проекта. Для простоты не будем добавлять дополнительные файлы, файлы библиотек и компоновки. Нажмите кнопку Change. в пункте Development Mode. Откроется окно с вкладками для установки. В дальнейшем это окно можно будет вызвать, выбрав Options> Development Mode.

Остановимся подробнее:

- Tools. Выберите инструментальную среду. Так как у Вас нет дополнительного оборудования, то придется довольствоваться симулятором MPLAB-SIM (установите признак) и выберите тип микроконтроллера.

- Clock. Выберите тип генератора тактовых импульсов (кварцевый резонатор, внутренний или внешний RC-генератор, внешняя частота и т. д.) и его частоту.

- Configuration. Конфигурация сторожевого таймера и памяти программ. Если Вы разрешаете использование сторожевого таймера, то задайте и коэффициент деления предделителя. А для микроконтроллеров 17-й серии необходимо указать какая память программ будет использоваться: внутренняя (microcontroller), внешняя (microprocessor) или обе (extended microcontroller).

- Pins. Разрешите или запретите использование вывода внешнего сброса (MCLR).

- Break option. Конфигурация прерываний и стека при отладке (лучше пока оставить по умолчанию). Нажимаете OK.

5. Конфигурация выходного файла. Щелкните, чтобы подсветить на файле < my project> [.hex]. При этом станет доступно меню Node Properties. В ранних версиях MPLAB без вызова окна конфигурации выходного файла нельзя было добавить в проект свой исходный файл. Можно попробовать изменить конфигурацию, а можно оставить по умолчанию.

6. Добавление исходного файла. Чтобы добавить свой исходный файл на ассемблере, который Вы скопировали и переименовали в папке своего проекта нажмите на кнопке Add Node. В открывшемся окне выберите свой файл и нажмите OK. После этого нажмите OK в окне редактирования проекта. Если нажмете Cancel, то проект записан не будет! В дальнейшем это окно всегда можно будет вызвать через Project> Edit Project.

7. Открытие исходного файла. Теперь можете открыть свой исходный файл для редактирования: File> Open или создать новый File> New.

В проекте может быть несколько исходных файлов на ассемблере, но указывать необходимо при редактировании проекта один. Остальные включаются в основной исходный файл директивой ассемблера include.

8. Создание программы

Напишите исходный текст вашей программы, используя команды выбранного микроконтроллера и директивы пакета MPASM. Программа должна начинаться с директивы List с названием выбранного устройства, и заканчиваться end.

9. Откомпилируйте программу (постройте проект).

Откомпилируйте свою программу выбрав команду Project> Build All. После завершения процесса будет вызвано окно с генерированной коммандной строкой, перечнем предупреждений или ошибок (если есть) и результатом компиляции: были ли ошибки (build failed) или нет (build successful ). Помощь при исправлении ошибок может оказать файл-листинг, вызвать который можно из меню таким образом: Window> Absolute Listing.

В результате выполнения данного этапа в папке с вашим проектом создастся ряд дополнительных файлов, имеющих отношение к вашему проекту (lst, hex).

10. Работа программы в пошаговом режиме.

Проконтролируйте правильность выполнения программ, для чего выполните следующие действия:

· вызовите окно просмотра Window> Watch Windows и внесите в него мнемоническое название регистров, используемых в проекте;

· вызовите окно регистров общего назначения Window> File Registers;

· вызовите окно памяти программ Window> Program Memory > ;

· проведите сброс вашей программы выбрав команду Debug> Reset. В результате этого подсветится первая команда вашей программы, адрес которой является 0000;

· выполните программу в пошаговом режиме, для чего выберете команду Debug> Run> Step (F7) или Debug> Run> Step Over (F8). Каждый выбор команды меню будет выполнять одну команду вашей программы. Результат выполнения вашей программы контролируется в соответствующих вызванных панелях - Watch Windows, File Registers, Program Memory.

 

Подготовка к выполнению работы

1. Согласно варианту из таблицы 5.5. нарисовать подробный алгоритм и написать программу по нахождению значения функции для соответствующего микроконтроллера семейства MicroChip.

Таблица 7. Варианты задания

№ варианта Функция Микроконтроллер
1. PIC12C508
2. PIC16F84
3. PIC12CE673
4. PIC16F84
5. PIC12C508
6. PIC12CE673
7. PIC16F84
8. PIC12CE673
9. PIC12C508
10. PIC16F84
11. PIC12CE673
12. PIC12C508
13. PIC16F84
14. PIC12CE673
15. PIC16F84

 

2. Создать проект и написать программу по нахождению значения функции для соответствующего микроконтроллера используя ППП MPLab.

3. Проконтролировать правильность выполнения программы в пошаговом режиме с фиксацией результатов в соответствующих панелях ППП MPLab.

 

Порядок выполнения работы

Набор и запуск программы будет осуществляться с помощью ППП MPLab версии 4.99, который обладает всеми рассмотренными ранее компонентами:

Запустите пакет IDE MPLab.

Выполнение программы рассмотрим на примере:

Пример1. Найти значение функции ,

где А, В, С – 1-но байтные числа. Результат сохранить в область регистров общего назначения по адресу 0х30. А. А=54, В=75, C=2А

Ход работы:

1. Составляем алгоритм решения задачи. Параллельно определяем параметры настройки периферийных модулей и расположение переменных в области регистров общего назначения, необходимых для решения задачи. Расширенный алгоритм программы представлен на рисунке 12.

Рисунок 12 - Алгоритм программы нахождения значения функции.

2. Затем, согласно пунктов 1 - 7 раздела 1.4. (Порядок создания простого проекта) создаем проект и сохраняем его в рабочую папку своей программы. Далее в проекте открываем созданный ранее файл и вносим туда согласно таблицы написанную программу. Программа, построенная в соответствии с алгоритмом, приведена в таблице 8.

Таблица 8. Исходный код программы

List p=12f675 Задаем компилятору MPASM тип МК, с которым будем работать
Include < p12f675.inc> Подключаем файл, в котором содержится информация о регистрах FSR их битах, о битах конфигурации и их заданных мнемонических обозначениях
__CONFIG _CP_OFF & _CPD_OFF & _IntOSC_OSC
  Задаем параметры периферийным модулям, настраиваемым при программировании: отключаем защиту памяти программ и данных, подключаем встроенный RC-генератор, остальное по умолчанию.
PA equ 0x20 Определяем регистры области РОН для хранения переменных и результата
PB equ 0x21
PC equ 0x22
REZ equ 0x30
ORG 000 Директива MPASM определяющая месторасположения следующей команды в области памяти программ.
start Метка начала программы
movlw 0x54 Загрузка значения переменной «А» в соответствующий регистр области РОН через аккумулятор
movwf PA
movlw 0x75 Загрузка значения переменной «В» в соответствующий регистр области РОН через аккумулятор
movwf PB
movlw 0x2A Загрузка значения переменной «С» в соответствующий регистр области РОН через аккумулятор
movwf PC
movf PB, w Загрузка в аккумулятор переменной «В»
andwf PC, w Операция «И» между содержимым аккумулятора и РОН хранения переменной «С». Результат на место аккумулятора.
movwf PEZ Пересылка содержимого аккумулятора в регистр общего назначения REZ
comf REZ, w Инверсия содержимого регистра REZ. Результат операции записывается в аккумулятор.
addwf PA, w Операция сложения содержимого аккумулятора и значения переменной «А». Результат операции на место аккумулятора.
movwf PEZ Пересылка содержимого аккумулятора в РОН, на место конечного результата.
goto start Возврат на повтор выполнения программы
end Директива MPASM определяющая завершение программы
     

 

3. Компилируем программу и проверяем ее работоспособность согласно пп. 9, 10 раздела 1.4. (Порядок создания простого проекта)

Содержание отчета

1. Подробный алгоритм по нахождению значения функции для соответствующего микроконтроллера.

2. Распечатанный файл *.LST, сгенерированный из проекта программой MPASM.

3. Результат выполнения программы по нахождению значения функции.

5. Контрольные вопросы

1. Что такое гарвардская архитектура микроконтроллера.

2. Что такое RISC архитектура микроконтроллера.

3. Что представляет собой организация памяти микроконтроллера семейства MicroChip.

4. Что такое регистр специального назначения.

5. Регистр STATUS. Его назначение.

6. Биты конфигурации. Назначение.

7. Организация счетчика команд в микроконтроллерах семейства MicroChip.

8. Состав пакета MPLab. Организация работы.

ЛИТЕРАТУРА

1. Предко М. Руководство по микроконтроллерам. Том 1, 2. / Пер. с англ. под ред. Шагурина И.И., Лужанского С.Б. – М.: Постмаркет, 2001. – 520с

2. Яценков В.С. Микроконтроллеры MicroCHIP. Практическое руководство. М.: Горячая линия – Телеком, 2002. – 296с.

3. Трамперт В. AVR-RISC микроконтроллеры. Архитектура. Аппаратные ресурсы, система команд, программирование, применен, МК Пресс., 2006. - 464 с

4. Белов А.В. Конструирование устройств на микроконтроллерах, Наука и техника, 2005. - 256 с

ПРИЛОЖЕНИЕ

МИКРОКОНТРОЛЛЕР PIC12C508

ПАМЯТЬ ДАННЫХ

- TRIS     Установка направления канала
- OPTION -GPWU -GPPU T0CS T0SE PSA PS2 PS1 PS0
00h INDF Обращение к регистру, адрес которого записан в FSR
01h TMR0 Регистр нулевого таймера (TMR0)/
02h PCL Младший байт счетчика команд (РС).
03h STATUS GPWUF - -TO -PD Z DC C
04h FSR Регистр адреса при косвенной адресации.
05h OSCCAL CAL3 CAL2 CAL1 CAL0 - - - -
06h GPIO - - GP5 GP4 GP3 GP2 GP1 GP0
07h   1Fh Регистры общего назначения  
                                           

 

Регистр OPTION

-GPWU -GPPU T0CS T0SE PSA PS2 PS1 PS0

 

-GPWU – Разрешение выхода из режима SLEEP по изменению сигнала на входах GP0, GP1, GP3.

1 – запрещено;

0 – разрешено.

-GPPU – Бит включения подтягивающих резисторов на входах GP0, GP1, GP3.

1 – выключено;

0 – включены.

T0CS – Выбор тактового сигнала для TMR0.

1 – внешний тактовый сигнал с вывода T0CKI;

0 – внутренний тактовый сигнал.

T0SE – Выбор фронта приращения TMR0 при внешнем тактовом сигнале.

1 – приращение по заднему фронту сигнала на выводе T0CKI;

0 - приращение по переднему фронту сигнала на выводе T0CKI.

PSA – Выбор включения предделителя.

1 - предделитель включен перед WDT;

0 - предделитель включен перед TMR0/

PS2 - PS0 – Установка коэффициента деления предделителя (1: 2 – 1: 256).

Регистр STATUS

GPWUF - -TO -PD Z DC C

GPWUF – Бит сброса GPIO.

1 – сброс произошел при выходе из режима SLEEP по изменению сигнала на входе;

0 – другой вид сброса.

-TO – Флаг переполнения сторожевого таймера.

1 – после включения питания или выполнения команд CLRWDT или SLEEP;

0 – после переполнения WDT.

-PD – Флаг включения питания.

1 - после включения питания или выполнения команд CLRWDT;

0 - после выполнения команды SLEEP.

Z – Флаг нулевого результата.

DC – Флаг десятичного переноса/заема между полубайтами (заем имеет инверсное значение).

C - Флаг десятичного переноса/заема (заем имеет инверсное значение).

 

Регистр OSCCAL

CAL3 CAL2 CAL1 CAL0 - - - -

CAL3 - CAL0 – Биты калибровки внутреннего RC генератора.

 

 

БИТЫ КОНФИГУРАЦИИ МИКРОКОНТРОЛЛЕРА.

MCLRE – Бит выбора режима работы вывода –MCLR.

1 – MCLR включен;

0 - MCLR подключен к Vdd (внутресхемно).

-CP – Бит защиты памяти программ.

1 - защита памяти программ выключена;

0 - защита памяти программ включена.

WDTE – Бит разрешения работы сторожевого таймера.

1 –. WDT включен;

0 – WDT выключен.

FOSC1, FOSC0 – Биты выбора режима тактового генератора.

EXTRC – внешняя RC цепочка;

INTRC – внутренняя RC цепочка;

XT, LP – внешний резонатор.

МИКРОКОНТРОЛЛЕР PIC16F84A

 

ПАМЯТЬ ДАННЫХ

Адрес Имя Бит7 Бит 6 Бит 5 Бит 4 Бит З Бит 2 Бит 1 Бит 0
Банк 0
00h INDF Обращение к регистру, адрес которого указан в FSR
01 h TMRO Регистр модуля TMRO (8-ми разрядный таймер/счетчик)
02h PCL Младший байт счетчика команд PC
03h STATUS IRP RP1 RP0 -TO -PD Z DC С
04h FSR Регистр адреса при косвенной адресации
05h PORTA - - - RA4 RA3 RA2 RA1 RA0
06h PORTB - RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
07h - Не реализован
08h EEDATA Регистр данных, записываемых в EEPROM память
09h EEADR Адрес ячейки в EEPROM памяти данных
0Ah PCLATH - - - Буфер старших 5 бит счетчика команд PC
0Bh INTCON GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
0Ch - 4Fh 68 регистров общего применения
Банк 1
80h INDF Обращение к регистру, адрес которого указан в FSR
81h OPTION_REG -RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
82h PCL Младший байт счетчика команд PC
83h STATUS IRP RP1 RPO -TO -PD Z DC С
84h FSR Регистр адреса при косвенной адресации
85h TRISA       Направление данных через порт А
86h TRISB - Направление данных через порт В
87h - Не реализован
88h EECON1 - - - EEIF WRERR WREN WR RD
89h EECON211' Управляющий регистр записи в EEPORM память данных
8Ah PCLATH - - - Буфер старших 5 бит счетчика команд PC
8Bh INTCON GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
8Ch - СFh Отображается на пространство нулевого банка.
                       

 

Регистр STATUS

IRP RP1 RP0 -TO -PD Z DC С

IRP - Зарезервирован, должен поддерживаться равным '0'

RP1 - Зарезервирован, должен поддерживаться равным '0'

RPO: Выбор банка памяти данных (используется при прямой адресации).

1 - Банк 1;

0 - Банк 0.

-TO – Флаг переполнения сторожевого таймера.

1 – после включения питания или выполнения команд CLRWDT или SLEEP;

0 – после переполнения WDT.

-PD – Флаг включения питания.

1 - после включения питания или выполнения команд CLRWDT;

0 - после выполнения команды SLEEP.

Z – Флаг нулевого результата.

DC – Флаг десятичного переноса/заема между полубайтами (заем имеет инверсное значение).

C - Флаг десятичного переноса/заема (заем имеет инверсное значение).

 

Регистр OPTION_REG

-RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0

-RBPU: Включение подтягивающих резисторов на входах портаВ.

1 - подтягивающие резисторы отключены;

0 - подтягивающие резисторы включены.

INTEDG: Выбор активного фронта сигнала на входе внешнего прерывания INT

1 - прерывания по переднему фронту сигнала PB0/INT;

0 - прерывания по заднему фронту сигнала PB0/INT.

TOCS: Выбор тактового сигнала для TMRO

1 - внешний тактовый сигнал с вывода PA4/TOCKI

0 - внутренний тактовый сигнал (CLKOUT)

TOSE: Выбор фронта приращения TMRO при внешнем тактовом сигнале.

1 - приращение по заднему фронту сигнала на выводе PA4/TOCKI

0 - приращение по переднему фронту сигнала на выводе PA4/TOCKI

PSA: Выбор включения предделителя.

1 - предделитель включен перед WDT;

0 - предделитель включен перед TMRO.

PS2: PSO: Установка коэффициента деления предделителя(1: 2 – 1: 256).

Регистр INTCON

GIE EEIE TOIE INTE RBIE TOIF INTF RBIF

GIE: Глобальное разрешение прерываний.

1 - разрешены все немаскированные прерывания;

0 - все прерывания запрещены.

EEIE: Разрешение прерываний по окончанию записи в EEPROM/

1 - прерывание по окончанию записи разрешено;

0 - прерывание по окончанию записи запрещено.

TOIE: Разрешение прерывания по переполнению TMR0.

1 - прерывание разрешено;

0 - прерывание запрещено.

INTE: Разрешение внешнего прерывания по входу INT.

1 - прерывание разрешено;

0 - прерывание запрещено.

RBIE: Разрешение прерывания по изменению сигнала на входах порта В.

1 - прерывание разрешено;

0 - прерывание запрещено.

TOIF: Флаг прерывания по переполнению TMR0

1 - произошло переполнение TMR0 (сбрасывается программно);

0 - переполнения TMR0 не было.

INTF: Флаг внешнего прерывания по входу INT.

1 - выполнено условие внешнего прерывания на выводе RB0/INT (сбрасывается программно)

0 - внешнего прерывания не было

RBIF: Флаг прерывания по изменению уровня сигнала на входах RВ7 – RВ4.

1 - зафиксировано изменение уровня сигнала на одном из входов RВ7 – RВ4 (сбрасывается программно);

0 - не было изменения уровня сигнала ни на одном из входов RВ7 – RВ4.

Регистр EECON1

- - - EEIF WRERR WREN WR RD

EEIF: Флаг прерывания по окончании записи в EEPROM.

1 = запись завершена (сбрасывается программно);

0 = запись не завершена или не начиналась.

WRERR: Флаг ошибки записи в EEPROM память данных

1 - запись прервана преждевременно;

0 - запись завершена.

WREN: Разрешение записи в EEPROM память данных.

1 - запись разрешена;

0 - запись запрещена.

WR: Инициализировать запись в EEPROM память данных.

1 - инициализировать запись (программно может быть только установлен в 1, сбрасывается в 0 аппаратно);

0 - запись завершена.

RD: Инициализировать чтение из EEPROM памяти данных.

1 - инициализировать чтение (программно может быть только установлен в 1, сбрасывается в 0 аппаратно);

0 - чтение завершено.

БИТЫ КОНФИГУРАЦИИ МИКРОКОНТРОЛЛЕРА.

PWRTE – Бит разрешения задержки при включении питания.

1 – задержка отключена;

0 - задержка включена.

-CP – Бит защиты памяти программ.

1 - защита памяти программ выключена;

0 - защита памяти программ включена.

WDTE – Бит разрешения работы сторожевого таймера.

1 –. WDT включен;

0 – WDT выключен.

FOSC1, FOSC0 – Биты выбора режима тактового генератора.

RC – внешняя RC цепочка;

HS, XT, LP – внешний резонатор.

МИКРОКОНТРОЛЛЕР PIC12CE673

ПАМЯТЬ ДАННЫХ

Адрес Имя Бит7 Бит 6 Бит 5 Бит 4 Бит З Бит 2 Бит 1 Бит 0
Банк 0
00h INDF Обращение к регистру, адрес которого указан в FSR
01 h TMR0 Регистр модуля TMRO (8-ми разрядный таймер/счетчик)
02h PCL Младший байт счетчика команд PC
03h STATUS IRP RP1 RP0 -TO -PD Z DC С
04h FSR Регистр адреса при косвенной адресации
05h GPIO - - GP5 GP4 GP3 GP2 GP1 GP0
0Ah PCLATH - - - Буфер старших 5 бит счетчика команд PC
0Bh INTCON GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
0Ch PIR1 - ADIF - - - - - -
1Eh ADRES Буфер модуля АЦП
1Fh ADCON0 ADCS1 ADCS0 - CHS1 CHS0 GO/DONE - ADON
20h - 7Fh Регистры общего применения
Банк 1
80h INDF Обращение к регистру, адрес которого указан в FSR
81h OPTION_REG -RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
82h PCL Младший байт счетчика команд PC
83h STATUS IRP RP1 RP0 -TO -PD Z DC С
84h FSR Регистр адреса при косвенной адресации
85h TRISIO     Направление данных через порт
8Ah PCLATH - - - Буфер старших 5 бит счетчика команд PC
8Bh INTCON GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
8Ch PIE1 - ADIE - - - - - -
8Eh PCON - - - - - - -POR -
8Fh OSCCAL CAL3 CAL2 CAL1 CAL0 CALFST CALSLW - -
9Fh ADCON1 - - - - - PCFG2 PCFG1 PCFG0
A0h - BFh Регистры общего применения
                       

 

Регистр STATUS

IRP RP1 RP0 -TO -PD Z DC С

IRP - Зарезервирован, должен поддерживаться равным '0'

RP1 - Зарезервирован, должен поддерживаться равным '0'

RPO: Выбор банка памяти данных (используется при прямой адресации).

1 - Банк 1;

0 - Банк 0.

-TO – Флаг переполнения сторожевого таймера.

1 – после включения питания или выполнения команд CLRWDT или SLEEP;

0 – после переполнения WDT.

-PD – Флаг включения питания.

1 - после включения питания или выполнения команд CLRWDT;

0 - после выполнения команды SLEEP.

Z – Флаг нулевого результата.

DC – Флаг десятичного переноса/заема между полубайтами (заем имеет инверсное значение).

C - Флаг десятичного переноса/заема (заем имеет инверсное значение).

 

Регистр OPTION_REG

-RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0

-RBPU: Включение подтягивающих резисторов на входах портаВ.

1 - подтягивающие резисторы отключены;

0 - подтягивающие резисторы включены.

INTEDG: Выбор активного фронта сигнала на входе внешнего прерывания INT

1 - прерывания по переднему фронту сигнала PB0/INT;

0 - прерывания по заднему фронту сигнала PB0/INT.

TOCS: Выбор тактового сигнала для TMRO

1 - внешний тактовый сигнал с вывода PA4/TOCKI

0 - внутренний тактовый сигнал (CLKOUT)

TOSE: Выбор фронта приращения TMRO при внешнем тактовом сигнале.

1 - приращение по заднему фронту сигнала на выводе TOCKI

0 - приращение по переднему фронту сигнала на выводе TOCKI

PSA: Выбор включения предделителя.

1 - предделитель включен перед WDT;

0 - предделитель включен перед TMRO.

PS2: PSO: Установка коэффициента деления предделителя (1: 2 – 1: 256).

Регистр INTCON

GIE PEIE TOIE INTE RBIE TOIF INTF RBIF

GIE: Глобальное разрешение прерываний.

1 - разрешены все немаскированные прерывания;

0 - все прерывания запрещены.

PEIE: Разрешение прерываний от дополнительной встроенной периферии

1 - прерывание по окончанию записи разрешено;

0 - прерывание по окончанию записи запрещено.

TOIE: Разрешение прерывания по переполнению TMR0.

1 - прерывание разрешено;

0 - прерывание запрещено.

INTE: Разрешение внешнего прерывания по входу INT.

1 - прерывание разрешено;

0 - прерывание запрещено.

RBIE: Разрешение прерывания по изменению сигнала на входах порта GP.

1 - прерывание разрешено;

0 - прерывание запрещено.

TOIF: Флаг прерывания по переполнению TMR0

1 - произошло переполнение TMR0 (сбрасывается программно);

0 - переполнения TMR0 не было.

INTF: Флаг внешнего прерывания по входу INT.

1 - выполнено условие внешнего прерывания на выводе INT (сбрасывается программно)

0 - внешнего прерывания не было

RBIF: Флаг прерывания по изменению уровня сигнала на входах GP.

1 - зафиксировано изменение уровня сигнала на одном из входов GP (сбрасывается программно);

0 - не было изменения уровня сигнала ни на одном из входов RВ7 – RВ4.

Регистр PIR1

- ADIF - - - - - -

ADIF: Флаг разрешения прерывания по завершению преобразования от АЦП.

Регистр PIE1

- ADIE - - - - - -

ADIF: Битразрешения прерывания по завершению преобразования от АЦП.

Регистр ADCON0

ADCS1 ADCS0 - CHS1 CHS0 GO/DONE - ADON

ADCS1, ADCS0: Выбор частоты преобразования АЦП;

CHS1, CHS0: Выбор канала преобразования АЦП;

GO/DONE: Бит статуса преобразования АЦП;

ADON: Бит запуска преобразования АЦП.

Регистр ADCON1

- - - - - PCFG2 PCFG1 PCFG0

PCFG2- PCFG0: Биты конфигурации портов МК

PCFG GP4 GP2 GP1 GP0 Vref
A A A A Vdd
A A Vref A GP1
D A A A Vdd
D A Vref A GP1
D D A A Vdd
D D Vref A GP1
D D D A Vdd
D D D D Vdd

 

 

БИТЫ КОНФИГУРАЦИИ МИКРОКОНТРОЛЛЕРА.

PWRTE – Бит разрешения задержки при включении питания.

1 – задержка отключена;

0 - задержка включена.

MCLRE –Бит выбора режима работы вывода –MCLR.

1 – MCLR включен;

0 - MCLR подключен к Vdd (внутресхемно).

-CP – Бит защиты памяти программ.

1 - защита памяти программ выключена;

0 - защита памяти программ включена.

WDTE – Бит разрешения работы сторожевого таймера.

1 –. WDT включен;

0 – WDT выключен.

FOSC2, FOSC0 – Биты выбора режима тактового генератора.

111 = EXTRC, Clockout on OSC2

110 = EXTRC, OSC2 is I/O

101 = INTRC, Clockout on OSC2

100 = INTRC, OSC2 is I/O

010 = HS Oscillator

001 = XT Oscillator

000 = LP Oscillator


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 682; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.182 с.)
Главная | Случайная страница | Обратная связь