Лекция № 3 (1085693)
Текст из файла
ЛЕКЦИЯ № 3.
Возможные источники прерываний в РIC – контроллерах среднего уровня.
-
Внешний сигнал на входе RB0/INT .
-
Изменение состояния на выводах RB7- RB4.
-
Переполнение таймера/счетчика TMR0.
-
Окончание записи во внутреннюю энергонезависимую память.
-
Переполнение таймера/счетчика TMR1.
-
Переполнение таймера/счетчика TMR2.
-
Захват или сравнение в модуле захвата/сравнения/ШИМ (CCP1).
-
Захват или сравнение в модуле захвата/сравнения/ШИМ (CCP2).
-
Окончание приёма/передачи или окончание формирования START/STOP условия в
последовательном синхронном порте (SSP). Это связанно с шиной I2C.
-
Возникновение коллизии на шине I2C. (Коллизия заключается в том, что несколько
микроконтроллеров одновременно начали работать).
-
Окончание приёма приёмником универсального синхронно-асинхронного порта USART.
-
Окончание передачи передатчиком USART.
-
Окончание преобразования аналоговой величины в цифровую в модуле АЦП.
-
Запись или чтение из ведомого параллельного порта внешними сигналами.
Примечание: пункты 1 – 4 во всех РIC – контроллерах среднего уровня.
Порядок действий микроконтроллера при прерываниях.
Все события при этом – асинхронные, непривязанные к тактовой частоте.
1) Микроконтроллер фиксирует запрос прерывания в соответствующих регистрах (INTCON,
PIR1,PIR2).
2) Микроконтроллер заканчивает выполнение текущей команды.
3) Микроконтроллер проверяет наличие раннее установленных разрешений на прерывания, то есть наличие записи единицы в соответствующих разрядах (INTCON, PIE1, PIE2).
4) Микроконтроллер проверяет наличие разрешения на прерывания в PEIE для одиннадцати
периферийных устройств, которые не вошли в INTCON.
5) Микроконтроллер проверяет глобальное разрешение на прерывание в GIE. Если его нет,
то переходов в режим прерывания нет, но сам факт запросов зафиксируется.
При наличии же разрешения на прерывание, микроконтроллер автоматически начинает
выполнять следующие действия:
-
Cодержимое счетчика команд передается в стек по адресу, который указывает указатель стека:
(PC) → ((SP))
-
В счетчик команд записывается адрес вектора прерываний (0004h).
0004 → (PC)
Структура подпрограммы обслуживания прерываний.
Так как все прерывания имеют один и тот же вектор/адрес – 0004h, то именно с этой ячейки начинается подпрограмма обслуживания прерываний.
ORG 0 x 004
АЛУ в РIC – контроллерах среднего уровня.
В РIC – контроллерах среднего уровня операции умножения нет. (В некоторых есть, но это отдельный блок).
Состав периферийного оборудования (узлов) для РIC – контроллеров среднего уровня.
-
Параллельные порты.
Количество параллельных портов у РIC – контроллеров среднего уровня от двух до пяти. Разрядность: как правило, восемь, но может быть меньше. Нагрузочная способность: до 20 мА в любом направлении. Поэтому светодиоды можно подключать непосредственно. Выводы портов могут быть независимо друг от друга настроены на ввод или вывод с помощью специальных управляющих регистров, имеющих название TRIS.
PORT A TRISA
PORT B TRISB
PORT C TRISC
PORT D TRISD
PORT E TRISE
Каждому порту соответствует свой регистр. Если бит управляющего TRIS регистра имеет значение единица, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки.
0 → TRISB,0 ; нулевой разряд порта В будет выходом
1 → TRISB,1 ; первый разряд порта В будет входом
По умолчанию все выводы настроены на ввод. Это достигается командой:
BCF TRISB,0
BCF TRISB,1
2.) Ведомый параллельный порт (PSP), мультиплицированный на один из портов ввода/вывода.
Он используется для обмена данными между микроконтроллерами. Обмен данными производится байтами.
Ведомый порт – это порт, в который можно записать резидентную (обычную) информацию, а потом резидентный или другой микроконтроллер, у которого в определенном разряде TRISE записана «1», сможет её оттуда считать.
В режиме ведомого - данные асинхронно читаются или записываются внешними сигналами (RD, WR). PORT начинает работать как 8 – разрядный параллельный порт, когда бит PSPMODE установлен в единицу (к выводам подключены входные буферы ТТЛ). Установка бита PSPMODE в единицу принудительно настраивает выводы –RD, -WR и -CS как входы.
В настоящее время ведомый параллельный порт мультиплицирован только с PORTD, PORTE. Порт микропроцессора становится доступным только, когда бит PSPMODE установлен в единицу. В этом режиме биты TRISE должны быть установлены в «1» (выводы настроены как цифровые входы, АЦП отключено). Для PORTD отменяется действие битов TRISD. В режиме ведомого параллельного порта ко входам PORTD и PORTE подключены буферы ТТЛ. Биты управления PSP расположены в регистре TRISE.
Фактически существуют два 8-разрядных регистра: один регистр для приёма данных, другой – для передачи. Пользователь записывает 8-разрядные данные в выходную защелку PORT, а читает данные со входной защелки. Причем, выходная и входная защелка имеют один и тот же адрес. В этом режиме значение битов регистра TRIS игнорируется, так как направлением данных управляет внешнее устройство.
-
Имеется четыре таймера (TMR0, TMR1, TMR2, WDT).
Во всех микроконтроллерах присутствует таймер на счетчик: таймер считает внутренние сигналы, а счетчик считает внешние сигналы.
Особенности модуля таймера TMR0: наличие предделителя, у которого можно программно задать коэффициент деления.
4.) Иногда USART (синхронно–асинхронный последовательный порт). У него два назначения:
-
Связь с персональным компьютером через com-порт.
-
Связь между контроллерами (при наличии ведомого порта).
5.) Последовательный синхронный порт SSP. Он может работать в двух режимах: SPI или I2C. Режим SPI также служит для синхронного приема/передачи 8-разрядных данных, то есть для передачи, при которой каждый бит информации сопровождается синхросигналом. Режим I2C организует связь с пассивной периферией, имеющей у себя модуль I2C.
-
CCP модуль (захват/сравнение/ ШИМ).
(ШИМ – широтно-импульсная модуляция).
-
Энергонезависимая память данных EEPROM.
-
АЦП (ADC).
-
Компараторы. Компараторы – это сравнивающие устройства, которые используются для разных целей.
-
Программируемые источники опорного напряжения.
-
Специальные контроллеры шиныUSB (в режиме ведомого).
-
Контроллер шины CAN (автомобильный).
-
Возможен радиопередатчик.
Система команд РIC – контроллеров среднего уровня.
Количество команд: 35.
Разрядность: 14.
Разобьем систему команд РIC – контроллеров среднего уровня
по функциональному назначению:
-
Команды передачи данных (команды пересылок).
-
Команды арифметических операций.
-
Команды логических операций.
-
Команды битовых операций.
-
Команды передачи управления.
-
Безадресные команды.
I.) Команды передачи данных (команды пересылок).
1.) Пересылка константы в рабочий регистр W:
MOVLW L L → (W)
Литералы (числа) можно записывать:
-
В десятичной системе: D'53' или .53 Тогда команда будет выглядеть так:
MOVLW .53 53 → (W)
-
В шестнадцатеричной системе: H '9F' или 0x9F
-
В двоичной системе: В'10101011'
-
В АSCII-коде: A 'R' или 'R', где R – символ A '0' или '0' АSCII-код нуля: 30h
2.) Пересылка содержимого W в регистр, с которым производятся действия:
MOVWF F (W) → (F)
Примечание: Под F подразумеваются все регистры (управляющие, регистры общего назначения и специализированные). Например:
MOVWF STATUS (W) → (STATUS)
-
Пересылка содержимого заданного регистра F в регистр, указанный d:
F при d = 1
W при d = 0
MOVF F,d F →
После пересылки устанавливается признак Z.
Это самый простой способ проверки содержимого регистра на ноль.
Запись этой команды для пересылки в тот же регистр может быть:
MOVF FSR,1 (FSR) → (FSR)
MOVF FSR,F
MOVF FSR
Запись этой команды для пересылки в регистр W может быть:
MOVF FSR,0 (FSR) → (W)
MOVF FSR,W
4.) Обмен тетрадами в заданном регистре F. Если d = 0, то результат сохраняется в регистре W. Если же d = 1, то результат сохраняется в регистре F.
SWAPF F,d
Пример: SWAPF REG,1
До выполнения команды: REG = 0xA5
После выполнения команды: REG = 0x5A
II.) Команды арифметических операций.
Сюда входят:
-
Команды сложения (в двух вариантах).
-
Команды вычитания (в двух вариантах).
-
Инкремент.
-
Декремент.
-
Команды очистки (обнуления) (в трёх вариантах).
1. Команды сложения.
1.1. Содержимое регистра W складывается с константой:
ADDLW L (W) + L → (W)
1.2. Сложение содержимого регистра W c содержимым заданного регистра F. Если d = 0, то результат сохраняется в регистре W. Если же d = 1, то результат сохраняется в регистре F.
A
F при d = 1
W при d = 0
DDWF F,d (W) + (F) → После команд сложения вырабатываются все три признака по следующим правилам:
-
Признак C = 1, если результат будет больше 255.
-
Признак DC = 1, если был перенос из младшей тетрады в старшую.
-
Признак Z = 1, если результат равен нулю.
2. Команды вычитания.
2.1. Вычитание из константы содержимого регистра W:
SUBLW L L − (W) → (W)
2.2. Вычитание из заданного регистра содержимого регистра W. Если d = 0, то результат сохраняется в регистре W. Если же d = 1, то результат сохраняется в регистре F.
F при d = 1
W при d = 0
SUBWF F,d (F) − (W) →
После команд вычитания вырабатываются все три признака по следующим правилам:
-
Признак C = 1, если разность положительная.
-
Признак DC = 1, если был заём из старшей тетрады в младшую.
-
Признак Z = 1, если результат равен нулю.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















