- •Г.И.Загарий, н.О.Ковзель, в.С.Коновалов, в.И.Моисеенко, в.И.Поддубняк, а.И.Стасюк
- •Часть 2. Характеристики микроконтроллеров и плк
- •Рецензенты:
- •Isbn – 5–7763–0384–2
- •Isbn – 966–7561–23–2
- •Isbn – 966-7561-23-2
- •Isbn – 5–7763–0384-2
- •Содержание
- •Введение
- •Раздел 1
- •1 Микроконтроллеры фирмы Atmel
- •1.1 Микроконтроллеры серии ат89, совместимые с mcs-51™
- •1.2 Микроконтроллеры avr серии ат90 с risc-архитектурой
- •2. Микроконтроллер aDμC812 семейства MicroConverter™ фирмы analog devices
- •3 Микроконтроллеры sx18ac/sx28ac фирмы scenix
- •4 Микроконтроллеры фирмы motorola
- •5 Микроконтроллеры семейства z8 фирмы zilog
- •6 Микроконтроллеры фирмы holtek
- •7 Рiс – микроконтроллеры фирмы microchip
- •7.1 Микроконтроллер pic16f84
- •7.1.1 Архитектура микроконтроллера pic16f84
- •7.1.2 Типы корпусов и исполнения
- •7.1.3 Назначение выводов
- •7.1.4 Регистры pic16f84
- •7.1.5 Прямая и косвенная адресация регистров
- •7.1.6 Модуль таймера/счетчика
- •7.1.7 Предварительный делитель
- •7.1.8 Регистр слова состоянияStatus
- •7.1.8.1 Программные флаги регистра слова состояния
- •7.1.8.2 Аппаратные флаги состояния
- •7.1.9 Регистр option
- •7.1.11 Организация встроенного пзу
- •7.1.12 Программный счетчик и адресация пзу
- •7.1.13 Стек и возвраты из подпрограмм
- •7.1.14 Данные в eeprom
- •7.1.15 Управление eeprom Управляющие регистры для eeprom
- •Регистры eecon1 и eecon2
- •7.1.16 Организация прерываний
- •Внешнее прерывание
- •Прерывание от переполнения счетчика/таймера
- •Прерывание от порта rb
- •Прерывание от eeprom
- •7.1.17 Регистры (порты) ввода/вывода
- •7.1.18 Использование портов ввода/вывода ra и rb Организация двунаправленных портов
- •Последовательное обращение к портам ввода/вывода
- •7.1.19 Специальные функции
- •Сторожевой таймер wdt
- •Тактовый генератор
- •Таймер сброса dtr
- •Биты конфигурации
- •Защита программы от считывания
- •Режим пониженного энергопотребления
- •7.2 Обзор команд и обозначения
- •7.2.1 Описание команд
- •7.3Технология разработки и отладки рабочих программ для омк рiс16/17
- •7.3.1 Правила записи программ на языке Ассемблера
- •Операция
- •Операнд
- •Директивы Ассемблера
- •7.3.2 Структура рабочей программы
- •7.3.3 Преобразование исходного текста рабочей программы в объектный модуль
- •7.4 Интегрированная среда разработки рабочих программ mplab для омк pic
- •7.4.1 Назначение и основные функциональные возможности mplab
- •7.4.2 Краткая характеристика основных программ Редактор mplab
- •Ассемблер mpasm
- •Компилятор mplab-c
- •Программный симулятор-отладчик mplab-sim
- •7.4.3 Главное окно средыMplab Главное меню mplab
- •МенюFile
- •МенюProject
- •МенюEdit
- •МенюDebug (отладка)
- •Меню picstart plus (меню программирования)
- •МенюOptions (параметры)
- •МенюTools
- •7.4.4 Инструментальная панельMplab
- •7.4.5 Строка состояния mplab
- •7.5 Пример разработки программы с использованием mplab
- •7.5.1 Постановка задачи и разработка алгоритма ее решения
- •7.5.2 Написание исходного текста программы
- •Раздел 2
- •8. Характеристики программируемых логических контроллеров
- •8.1. Контроллеры семейства модикон
- •8.1.1. Контроллер tsx 07 Nano
- •Варианты конфигураций
- •Импульсные выходы
- •Программное обеспечение
- •Контрольные вопросы:
- •8.1.2. Контроллер tsx Momentum Общая характеристика
- •Концепция построения
- •Архитектура tsx Momentum
- •Подключение tsx Momentum к сети Modbus Plus
- •Коммуникационный адаптер для сети Interbus
- •Коммуникационный адаптер для сети Profibus dp
- •Коммуникационный адаптер для сети fipio
- •Коммуникационный адаптер для сети Ethernet I/o
- •Базовые модули ввода – вывода
- •Заключение
- •Контрольные вопросы
- •8.1.3. Микроконтроллер tsx 37 Micro Общая характеристика
- •Базовое исполнение tsx 37-10
- •Дисплейный блок
- •Базовое исполнение tsx 37-21 и tsx 37-22
- •Источники питания
- •Коммуникационные возможности
- •Заключение
- •Контрольные вопросы
- •8.2. КонтроллерыTsxQuantum Общая характеристика
- •Источники питания
- •Модули ввода-вывода
- •Модули интерфейса Quantum
- •Заключение
- •Контрольные вопросы
- •8.3. Контроллеры Siemens
- •8.3.1. КонтроллерSimaticS7-200
- •Центральные процессоры
- •Входы и выходы контроллеров s7-200
- •Коммуникационный модуль
- •8.3.2.Контроллер Simatic s7-300
- •Центральные процессоры
- •Сигнальные модули
- •Функциональные модули
- •Коммуникационные модули
- •Заключение
- •Контрольные вопросы
- •8.3.3. Контроллер Simatic s7-400
- •Центральные процессоры
- •Модули ввода-вывода
- •Функциональные модули
- •Коммуникационные процессоры
- •Блоки питания
- •Заключение
- •Контрольные вопросы
- •Раздел 3
- •9. Разработка микропроцессорных систем железнодорожной автоматики
- •9.1. Постановка задачи
- •9.2. Характеристика входных и выходных сигналов.
- •9.3. Разработка структуры системы
- •9.4. Конфигурация цепей ввода-вывода
- •9.5. Определение необходимого количества модулей ввода-вывода
- •9.6.Принципиальные и монтажные схемы
- •Индивидуальные задания
- •10. Примеры практической реализации микропроцессорных систем
- •10.1.Микропроцессорная диспетчерская централизация
- •Объекты контроля
- •Объекты управления
- •10.2.Микропроцессорный маршрутный набор электрической централизации
- •10.2.1 Постановка задачи
- •10.2.2 Общая структура системы управления.
- •10.2.3 Расчет количества входных и выходных сигналов.
- •Расчет потребного количества выходов
- •Управление стрелкой
- •Перечень объектов контроля
- •Расчет потребного количества входов
- •Выбор конфигурации программируемого логического контроллера
- •Разработка структуры информационного взаимодействия компонентов системы
- •Программируемые контроллеры для систем управления.
- •Часть 2. Характеристики микроконтроллеров и плк
- •61052, Харьков, ул. Красноармейская, 7, тел. 24-22-98.
- •61052, Харків, вул. Червоноармійська, 7, тел. 24-22-98.
7.1.4 Регистры pic16f84
Область ОЗУ PIC16F84 организована как 68 восьмиразрядных регистров общего назначения (адреса 0Ch – 4Fh или 8Ch – CF0h) и 12х2 специальных регистров (адреса 00h – 0Bh и 80h – 8Bh). Схематично область ОЗУ представлена в табл. 7.1.2. К регистрам (ячейкам ОЗУ) можно адресоваться прямо или косвенно через регистр-указатель FSR (04h, 84h).
Таблица 7.1.2
|
Страница 0 |
Страница 1 |
|
00 |
Indirect addess |
Indirect addess |
80 |
01 |
TMR0 |
OPTION |
81 |
02 |
PCL |
PCL |
82 |
03 |
STATUS |
STATUS |
83 |
04 |
FSR |
FSR |
84 |
05 |
PORTA |
TRISA |
85 |
06 |
POTRB |
TRISB |
86 |
07 |
-------- |
-------- |
87 |
08 |
EEDATA |
EECON1 |
88 |
09 |
EEADR |
EECON2 |
89 |
Таблица 7.1.2 (продолжение)
0A |
PCLATH |
PCLATH |
8A |
0B |
INTCON |
INTCON |
8B |
0C
4F |
68 регистров общего пользования |
Обращение к регистрам с адресами 0Ch,...2Fh) |
8C
CF |
50
7F |
не существует |
не существует |
D0
FF |
В регистре STATUS (03h, 83h) есть биты выбора страниц, которые позволяют обращаться к четырем страницам других модификаций кристалла. Для PIC16F84 память данных существует только до адреса 02Fh. Первые 12 адресов используются для размещения регистров специального назначения. Регистры с адресами 0Ch-2Fh могут быть использованы как регистры общего назначения, которые представляют собой статическое ОЗУ. Некоторые регистры специального назначения продублированы на обеих страницах, а некоторые расположены только на странице 0 или 1. Когда установлена страница 1, то обращение к адресам 8Ch-CFh фактически адресует страницу 0. К регистрам можно адресоваться прямо или косвенно.
Описание специальных регистров и состояние их после сброса приведено в табл. 7.1.3 и табл. 7.1.4 соответственно. Все специальные регистры отображаются на память данных.
Таблица 7.1.3
Описание специальных регистров РIС 16F84
Адрес |
Имя |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
БитЗ |
Бит2 |
Бит1 |
Бит 0 | |
Банк 0 | ||||||||||
00h |
INDF |
Используется значение FSR для доступа к памяти данных (не физический регистр) | ||||||||
0lh |
TMR0 |
8-разрядный таймер/счетчик | ||||||||
02h |
PCL |
Младшие 8 разрядов счетчика команд PC | ||||||||
03h |
STATUS^ |
IRP |
RP1 |
RPO |
Z |
DC |
C | |||
04h |
FSR |
Регистр косвенной адресации (Указатель адреса) | ||||||||
05h |
PORTA |
— |
— |
— |
RA4/ TOCKI |
RA3 |
RA2 |
RA1 |
RA0 | |
06h |
PORTB |
RB7 |
RB6 |
RB5 |
RB4 |
RB3 |
RB2 |
RB1 |
RB0/ INT | |
07h |
— | |||||||||
08h |
EEDATA |
Регистр данных ППЗУ данных-констант | ||||||||
09h |
EEADR |
Регистр адреса ППЗУ данных-констант |
Таблица 7.1.3 (продолжение)
0Afa |
PCLATH |
— |
— |
— |
Старшие разряды счетчика PC | ||||||||||
0Bh |
INTCON |
GIE |
ЕЕIЕ |
TOIE |
INTE |
RBIE |
TOIF |
INTF |
RBIF | ||||||
Банк 1 | |||||||||||||||
80h |
INDF |
Используется значение FSR для доступа к памяти данных (не физический регистр) | |||||||||||||
81h |
OPTION |
RBPU |
INTEDG |
TOCS |
TOSE |
PSA |
PS2 |
PSI |
PSO | ||||||
82h |
PCL |
Младшие 8 разрядов счетчика команд PC | |||||||||||||
83h |
STATUS2 |
IRP |
RP1 |
RP0 |
Z |
DC |
С | ||||||||
1841i |
FSR (Указатель адреса) |
Регистр косвенной адресации | |||||||||||||
85h |
TRISA |
— |
— |
— |
Биты управления портом А | ||||||||||
86h |
TR1SB |
Биты управления портом В | |||||||||||||
87h |
— | ||||||||||||||
88h |
ЕЕСОN1 |
— |
— |
— |
EEIF |
WRERR |
WREN |
WR |
RD | ||||||
89h |
EECON2 |
Регистр управления 2 ППЗУ данных-констант (не физический регистр) | |||||||||||||
0Ah |
PCLATH |
— |
— |
— |
Старшие разряды счетчика команд PC' | ||||||||||
0Bh |
INTCON |
GIE |
EEIE |
TOIE |
INTE |
RBIE |
TOIF |
INTF |
RBIF |
Примечания:
1. Старшие разряды программного счетчика PC <12:8> прямо недоступны. Они могут быть записаны или прочитаны только через регистр PCLATH.
2. Низкий уровень сигнала на входе не изменяет состояния битов и . Биты сохраняют свое значение, пока не поступит какое-либо иное условие сброса.
Таблица 7.1.4
Состояние специальных регистров после сброса
Адрес |
Имя |
Сброс по включению питания |
Сброс по и WDT | ||
Банк 0 | |||||
00h |
INDF |
- - - - |
- - - - |
- - - - |
- - - - |
01h |
TMR0 |
xxxx |
xxxx |
uuuu |
uuuu |
02h |
PCL |
0000 |
0000 |
0000 |
0000 |
03h |
STATUS2 |
0001 |
1xxx |
000q |
quuu |
04h |
FSR |
xxxx |
xxxx |
uuuu |
uuuu |
05h |
PORTA |
- - - x |
xxxx |
- - - u |
uuuu |
06h |
PORTB |
xxxx |
xxxx |
uuuu |
uuuu |
07h |
— |
- - - - |
- - - - |
- - - - |
- - - - |
Таблица 7.1.4 (продолжение)
08h |
EEDATA |
xxxx |
xxxx |
uuuu |
uuuu |
09h |
EEADR |
xxxx |
xxxx |
|
|
0Ah |
PCLATH |
- - - 0 |
0000 |
- - - 0 |
0000 |
0Bh |
INTCON |
0000 |
000x |
0000 |
0001 |
Банк 1 | |||||
80h |
INDF |
- - - - |
- - - - |
- - - - |
- - - - |
81h |
OPTION |
1111 |
1111 |
1111 |
1111 |
82h |
PCL |
0000 |
0000 |
0000 |
0000 |
83h |
STATUS3 |
0001 |
1xxx |
000q |
q000 |
84h |
FSR |
xxxx |
xxxx |
uuuu |
uuuu |
85h |
TRISA |
- - -1 |
1111 |
- - -1 |
1111 |
86h |
TRISB |
1111 |
1111 |
1111 |
1111 |
87h |
— |
- - - - |
- - - - |
- - - - |
- - - - |
88h |
EECON1 |
- - - 0 |
x0000 |
- - - 0 |
q000 |
89h |
EECON2 |
- - - - |
- - - - |
- - - - |
- - - - |
8Ah |
PCLATH |
- - - 0 |
0000 |
- - - 0 |
0000 |
8Bh |
INTCON |
0000 |
000x |
0000 |
000u |
Обозначения: х - не определено, u - не меняется. - - отсутствует, читается как '0', q - значение зависит от условий сброса.