
- •Г.И.Загарий, н.О.Ковзель, в.С.Коновалов, в.И.Моисеенко, в.И.Поддубняк, а.И.Стасюк
- •Часть 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.8 Регистр слова состоянияStatus
Регистр слова состояния STATUS(f3) содержит арифметические флаги АЛУ, состояние контроллера при сбросе и биты выбора страниц для памяти данных.
Регистр статуса
доступен для любой команды так же, как
любой другой регистр. Однако, биты
и
устанавливаются аппаратно и не могут
быть записаны в статус программно. Это
следует иметь в виду при выполнении
команды с использованием регистра
статуса. Например, команда CLRF f3 обнулит
все биты, кроме битов
и
,
а затем установит бит Z=1. После выполнения
этой команды регистр статуса может и
не иметь нулевое значение (из-за битов
и
)
f3=000??100. Поэтому рекомендуется для
изменения регистра статуса использовать
только команды битовой установки BCF,
BSF, MOVWF, которые не изменяют остальные
биты статуса. Воздействие всех команд
на биты статуса можно посмотреть в
разделе Описание команд.
7.1.8.1 Программные флаги регистра слова состояния
Размещение флагов в регистре словасостояния (регистрSTATUS) следующее:
номер бита |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | ||
STATUS |
IRP |
RP1 |
RP0 |
|
|
Z |
DC |
C | ||
C |
– флаг переноса/заема |
|
Для команд ADDWF и SUBWF бит С устанавливается, если в результате операции из самого старшего разряда происходит перенос. Вычитание осуществляется путем прибавления дополнительного кода второго операнда. При выполнении команд сдвига этот бит всегда загружается из младшего или старшего бита сдвигаемого источника.
Пример
;SUBWF Example 1
;
clrf 0x20 ;f(20h):=0
movlw 1 ;W reg:=1
subwf 0x20 ;f(20h)=f(20h)-wreg=0-1=FFh
;Carry=0: Результат отрицательный.
;SUBWF Example 2
;
movlw 0xFF
movwf 0x20 ;f(20h):=FFh
clrw ;W reg:=0
subwf 0x20 ;f(20h)=f(20h)-wreg=FFh-0=FFh
;Carry=1: Результат положительный.
-
DC
– флаг десятичного переноса/заема
Для команд ADDWF и SUBWF бит DCустанавливается, если в результате операции из четвертого разряда происходит перенос. Механизм установки десятичного бита переноса DC тот же самый, отличается тем, что отслеживается перенос из четвертого бита.
-
Z
– флаг нулевого результата
Устанавливается, если результатом арифметической или логической операции является ноль.
-
– флаг выключения питания (PowerDoun)
Устанавливается в 1 при включении питания или команде CLRWDT. Сбрасывается в 0 командой SLEEP.
-
– тайм-аут
Устанавливается в 1 при включении питания и командами CLRWDT, SLEEP. Сбрасывается в 0 по завершению выдержки времени таймера WDT.
-
RP1,RP0
– биты выбора страницы памяти данных при прямой адресации
RP1,RP0 = 00ÞВыбрана страница 0 (00h-7Fh)
RP1,RP0 = 01ÞВыбрана страница 1 (80h-FFh)
RP1,RP0 = 10ÞВыбрана страница 2 (100h-17Fh)
RP1,RP0 = 11ÞВыбрана страница 3 (180h-1FFh)
На каждой странице может быть расположено 128 байт. В кристалле PIC16F84 используется только RP0. В этом кристалле RP1 может использоваться, как бит общего назначения для чтения/записи.
IRP0 |
– бит выбора страницы памяти данных при косвенной адресации |
IRP0 = 0ÞВыбраны страницы 0,1 (00h-FFh);
IRP0 = 1ÞВыбраны страницы 2,3 (100h-1FFh).
Этот бит в кристалле PIC16F84 использовать не имеет смысла. Его можно использовать как бит общего назначения для чтения/записи. Однако, нужно помнить, что в других микроконтроллерах он используется.