
- •Федеральное агентство по образованию
- •1. Основы электрических измерений
- •1.1. Основные понятия и определения
- •1.2. Точностные характеристики средств измерений
- •1.3. Анализ статических погрешностей электронных схем
- •2. Простейшие электронные цепи и методы их анализа
- •2.1. Основные понятия и определения
- •2.2. Применение операторного метода к расчету электрических цепей
- •2.2.1. Прямое преобразование Лапласа
- •2.2.2. Обратное преобразование Лапласа
- •3. Типовые структуры электронных устройств и их свойства
- •3.1. Последовательная структура и ее свойства
- •3.2. Параллельная структура и ее свойства
- •3.3. Встречно-параллельное соединение
- •3.4. Задачи
- •4. Пассивные полупроводниковые компоненты электронных цепей
- •4.1. Полупроводниковые диоды и стабилитроны
- •4.2. Примеры применения полупроводниковых диодов
- •4.3. Светодиоды
- •4.4. Фотодиоды
- •5. Активные полупроводниковые компоненты электронных цепей
- •5.1. Биполярные транзисторы и их применение
- •5.1.1. Структура и принцип действия биполярных транзисторов
- •5.1.2. Характеристики и параметры биполярных транзисторов
- •5.1.3. Обеспечение усилительного режима бт в схемах
- •В результате получаем
- •5.1.4. Малосигнальные эквивалентные схемы и усилительные параметры бт
- •5.1.5. Амплитудно-частотные характеристики бт
- •5.1.6. Элементы транзисторной схемотехники
- •5.2. Полевые транзисторы и их применение
- •5.2.1. Классификация и общие особенности полевых транзисторов
- •5.2.2. Статические характеристики и дифференциальные параметры
- •5.2.3. Способы задания смещения в усилительных каскадах на пт
- •5.2.4. Малосигнальные эквивалентные схемы и усилительные параметры пт
- •5.2.5. Температурная стабильность параметров пт
- •5.2.6. Передаточная функция и динамические свойства пт Инерционные свойства пт описываются передаточной функцией вида
- •5.3. Задачи
- •6. Интегральные микросхемы и их классификация
- •7. Аналоговые интегральные микросхемы и их применение
- •7.1. Операционные усилители и их применение
- •7.1.1. Понятие идеального операционного усилителя
- •7.1.2. Принципы и примеры расчета схем с операционными усилителями
- •7.1.3. Динамические свойства устройств на операционных усилителях
- •7.1.4. Точностные характеристики устройств на операционных усилителях
- •7.1.5. Применение операционных усилителей
- •7.1.6. Задачи
- •7.2. Компараторы
- •7.3. Аналоговые ключи и коммутаторы
- •7.4. Устройства выборки-хранения
- •7.5. Интегральный таймер
- •7.5.1. Задачи
- •7.7. Справочные данные на оу
- •8. Цифро-аналоговые и аналого-цифровые преобразователи
- •8.1. Цифро-аналоговые преобразователи (цап)
- •8.2. Аналого-цифровые преобразователи (ацп)
- •9. Цифровые интегральные микросхемы и их применение
- •9.1. Элементы алгебры логики
- •9.2. Основные типы цифровых имс
- •9.3. Параметры цимс
- •9.4. Комбинационные логические цепи
- •9.4.1. Основные разновидности комбинационных логических цепей
- •9.4.2. Синтез комбинационных логических цепей
- •9.5. Последовательностные логические цепи
- •9.5.1. Классификация последовательностных логических цепей
- •9.5.2. Триггеры
- •9.5.3. Регистры
- •9.5.4. Счетчики импульсов
- •9.6. Применение цифровых имс в импульсных цепях
- •9.7. Задачи
- •10. Микросхемы полупроводниковых запоминающих устройств
- •10.1. Классификация полупроводниковых запоминающих устройств
- •10.2. Построение модулей памяти микропроцессорных систем
- •11. Элементы микропроцессорной техники
- •11.1. Общие сведения о микроконтроллерах семейства piCmicro
- •1. Ядро микроконтроллера
- •2. Периферийные модули
- •3. Специальные особенности микроконтроллеров
- •Ядро микроконтроллера
- •Порты ввода-вывода
- •Периферийные модули
- •11.2. Примеры применения микроконтроллеров piCmicro
- •11.2.1. Устройство управления четырьмя светодиодами
- •Incf portb, f ; включить крайний справа светодиод
- •11.2.2. Управление жки с помощью последовательного адаптера
- •11.2.3. Аналого-цифровое преобразование
- •11.3. Общие сведения о микроконтроллерах семейства avr
- •Режимы адресации программ и данных.
- •11.4. Примеры применения микроконтроллеров avr
- •11.4.1. Ик дальномер
- •Библиографический список
- •Оглавление
Периферийные модули
PSP – ведомый параллельный порт. С помощью 8-разрядного ведомого параллельного порта можно организовать интерфейс связи с другим микроконтроллером или персональным компьютером. В микроконтроллерах, выпускаемых в настоящее время, ведомый параллельный порт мультиплицирован только с PORTD, PORTE.
В режиме ведомого порта данные асинхронно читаются или записываются внешними сигналами -RD или -WR соответственно. Установка бита PSPMODE в "1" принудительно настраивает выводы -RD, -WR и -CS как входы.
TMR0 – TMR2 – таймеры-счетчики, которые в зависимости от конкретной модификации МК могут служить счетчиками (внешних тактовых импульсов или импульсов тактового генератора МК) или программируемыми делителями частоты. Обычно таймеры TMR0, TMR2 – 8-разрядные, таймер TMR1 – 16-разрядный.
Модули ССР используются для реализации функций работы с ШИМ сигналами. Обычно МК содержит 2 модуля ССР. Каждый модуль ССР содержит 16-разрядный регистр, который может использоваться в качестве:
16-разрядного регистра захвата данных;
16-разрядного регистра сравнения;
Двух 8-разрядных (ведущий и ведомый) регистров ШИМ.
Модули управляются регистрами CCPxCON.
Модуль SSP – модуль синхронного последовательного порта (SSP) может использоваться для связи с периферийными устройствами, например с другими микроконтроллерами. Периферийными устройствами могут быть: EEPROM память, сдвиговые регистры, драйверы ЖКИ, АЦП и др. Модуль SSP может работать в одном из двух режимов.
1. Последовательный периферийный интерфейс (SPI);
2. Inter-Integrated Circuit (I2C):
- ведомый режим;
- контроль состояния портов ввода/ввода для обнаружения битов START, STOP с целью упрощения программного обеспечения в режиме ведущего и при конкуренции на шине.
Модуль управляется регистрами SSPSTAT и SSPCON. Прием и передача данных SSP осуществляются с помощью приемного/передающего регистра сдвига (SSPSR) и буферного регистра (SSBUF). В регистре SSPSR выполняется сдвиг данных из микроконтроллера или в микроконтроллер старшим битом вперед. В регистре SSPBUF сохраняются записанные данные, пока не будут получены новые. Восемь бит данных, принятые в регистр SSPSR, переписываются в SSPBUF, устанавливается в "1" флаг полного приемного буфера BF (SSPSTAT<0>) и флаг прерывания SSPIF.
Модуль USART – это один из модулей последовательного порта ввода/вывода (имеет существенные отличия от модуля SSP), который может работать в полнодуплексном асинхронном режиме для связи с терминалами, персональными компьютерами или в синхронном полудуплексном режиме для связи с микросхемами ЦАП, АЦП, последовательными EEPROM и т.д.
USART может работать в одном из трех режимов.
Асинхронный, полный дуплекс;
Ведущий синхронный, полудуплекс;
Ведомый синхронный, полудуплекс.
Для управления модулем используются 2 регистра – регистр управления и статуса приемника RCSTA, а также регистр управления и статуса передатчика TXSTA.
Для задания скорости обмена данными используется специальный генератор BRG. Период выходного сигнала BRG задается с помощью регистра SPBRG.
Источник опорного напряжения, как правило, используется совместно с модулем компараторов. Входной ток выводов компаратора очень мал, поэтому ИОН имеет малую нагрузочную способность. Модуль содержит 16 последовательно включенных резисторов, обеспечивающих выбор нужного напряжения. Резисторы разделены на сегменты для организации двух диапазонов напряжений VREF.
В регистре VRCON находятся биты управления источником опорного напряжения.
Модуль компараторов содержит два аналоговых компаратора, выводы которых мультиплицированы с каналами ввода/вывода. Выход интегрированного источника опорного напряжения может быть подключен на вход компараторов.
В регистре CMCON находятся биты управления модулем компараторов.
Модуль 10-разрядного АЦП имеет до восьми входных каналов. Входной аналоговый сигнал через коммутатор каналов заряжает внутренний конденсатор АЦП CHOLD. Модуль АЦП преобразует напряжение, удерживаемое на конденсаторе CHOLD, в соответствующий 10-разрядный цифровой код методом последовательного приближения. Источник верхнего и нижнего опорного напряжения может быть программно выбран с выводов VDD, VSS, AN3/VREF+ или AN2/VREF-.
Допускается работа модуля АЦП в SLEEP режиме микроконтроллера, при этом в качестве источника тактовых импульсов для АЦП должен быть выбран RC-генератор. Для управления АЦП в микроконтроллере используются 4 регистра:
регистр результата ADRESH (старший байт);
регистр результата ADRESL (младший байт);
регистр управления ADCON0;
регистр управления ADCON1.
Модуль LCD (реализован только в микроконтроллерах PIC16C92x (923, 924, 925, 926)) формирует все необходимые сигналы синхронизации для управления статическими или мультиплицированными ЖКИ с поддержкой до тридцати двух сегментов, четырех общих выводов и управления пикселями ЖКИ (вывод информации на ЖКИ).
Для управления модулем LCD используются три регистра (LCDCON, LCDSE и LCDPS), с помощью которых можно настроить параметры работы модуля, и до 16 регистров данных (LCD00 – LCD15), в которых сохраняется массив данных пикселей. В нормальном режиме работы состояние регистров управления должно соответствовать применяемому ЖКИ.
Подробное описание всех МК PICmicro приводится на сайте www.microchip.com. МК среднего семейства описаны также в [12].
Система команд. Каждая команда состоит из одного 14-разрядного слова, разделенного на код операции (OPCODE), определяющий тип команды, и одного или несколько операндов, определяющих операцию команды.
Полный список команд смотрите в табл. 11.2.
Система команд аккумуляторного типа разделена на три основные группы.
Байт ориентированные команды;
Бит ориентированные команды;
Команды управления и операций с константами.
Для байт ориентированных команд "f" – указатель регистра, а "d" – указатель адресата результата. Указатель регистра определяет, какой регистр должен использоваться в команде. Указатель адресата определяет, где сохраняется результат.
Если "d"=0, результат сохраняется в регистре W.
Если "d"=1, результат сохраняется в регистре, который используется в команде.
В бит ориентированных командах "b" определяет номер бита, участвующего в операции, а "f" – указатель регистра, который содержит этот бит.
В командах управления или операциях с константами "к" представляет восемь или одиннадцать бит константы или значения литералов.
Все команды выполняются за один машинный цикл, кроме команд условия, в которых получен истинный результат, и инструкций, изменяющих значение счетчика команд PC (такие команды выполняются за два машинных цикла).
В случае выполнения команды за два машинных цикла, во втором цикле выполняется инструкция NOP.
Таблица 11.2
Мнемоника команды
|
Описание
|
Циклов
|
14-разрядный код |
Флаги
|
Прим.
|
Бит 13 Бит 0 | |||||
Байт ориентированные команды | |||||
ADDWF f, d |
Сложение W и f |
1 |
00 0111 dfff ffff |
C,DC,Z |
1,2 |
ANDWF f, d |
Побитное "И" W и f |
1 |
00 0101 dfff ffff |
|
1,2 |
CLRF f |
Очистить f |
1 |
00 0001 1fff ffff |
Z |
2 |
CLRW |
Очистить W |
1 |
00 0001 0xxx xxxx |
Z |
|
COMF f, d |
Инвертировать f |
1 |
00 1001 dfff ffff |
Z |
1,2 |
DECF f, d |
Вычесть 1 из f |
1 |
00 0011 dfff ffff |
Z |
1,2 |
DECFSZ f, d |
Вычесть 1 из f и пропустить, если 0 |
1(2) |
00 1011 dfff ffff |
|
1,2,3 |
INCF f, d |
Прибавить 1 к f |
1 |
00 1010 dfff ffff |
Z |
1,2 |
INCFSZ f, d |
Прибавить 1 к f и пропустить, если 0 |
1(2) |
00 1111 dfff ffff |
|
1,2,3 |
IORWF f, d |
Побитное "ИЛИ" W и f |
1 |
00 0100 dfff ffff |
Z |
1,2 |
MOVF f, d |
Переслать f |
1 |
00 1000 dfff ffff |
Z |
1,2 |
MOVWF f |
Переслать W в f |
1 |
00 0000 1fff ffff |
|
|
NOP |
Нет операции |
1 |
00 0000 0xx0 0000 |
|
|
RLF f, d |
Циклический сдвиг f влево через перенос |
1 |
00 1101 dfff ffff |
C |
1,2 |
RRF f, d |
Циклический сдвиг f вправо через перенос |
1 |
00 1100 dfff ffff |
C |
1,2 |
SUBWF f, d |
Вычесть W из f |
1 |
00 0010 dfff ffff |
C,DC,Z |
1,2 |
SWAPF f, d |
Поменять местами полубайты в регистре f |
1 |
00 1110 dfff ffff |
|
1,2 |
XORWF f, d |
Побитное "Исключающее ИЛИ" W и f |
1 |
00 0110 dfff ffff |
Z |
1,2 |
Бит ориентированные команды | |||||
BCF f, b |
Очистить бит b в регистре f |
1 |
01 00bb bfff ffff |
|
1,2 |
BSF f, b |
Установить бит b в регистре f |
1 |
01 01bb bfff ffff |
|
1,2 |
BTFSC f, b |
Проверить бит b в регистре f, пропустить, если 0 |
1(2) |
01 10bb bfff ffff |
|
3 |
BTFSS f, b |
Проверить бит b в регистре f, пропустить, если 1 |
1(2) |
01 11bb bfff ffff |
|
3 |
Команды управления и операций с константами | |||||
ADDLW к |
Сложить константу с W |
1 |
11 111x kkkk kkkk |
C,DC,Z |
|
ANDLW k |
Побитное "И" константы и W |
1 |
11 1001 kkkk kkkk |
Z |
|
CALL k |
Вызов подпрограммы |
2 |
10 0kkk kkkk kkkk |
|
|
CLRWDT |
Очистить WDT |
1 |
00 0000 0110 0100 |
-T0,-PD |
|
GOTO k |
Безусловный переход |
2 |
10 Ikkk kkkk kkkk |
|
|
IORLW k |
Побитное "ИЛИ" константы и W |
1 |
11 1000 kkkk kkkk |
Z |
|
MOVLW k |
Переслать константу в W |
1 |
11 00xx kkkk kkkk |
|
|
RETFIE |
Возврат из подпрограммы с разрешением прерываний |
2 |
00 0000 0000 1001 |
|
|
RETLW k |
Возврат из подпрограммы с загрузкой константы в W |
2 |
11 0lxx kkkk kkkk |
|
|
RETURN |
Возврат из подпрограммы |
2 |
00 0000 0000 1000 |
|
|
SLEEP |
Перейти в режим SLEEP |
1 |
00 0000 0110 0011 |
-T0, -PD |
|
SUBLW k |
Вычесть W из константы |
1 |
11 110x kkkk kkkk |
C,DC,Z |
|
XORLW k |
Побитное "Исключающее ИЛИ" константы и W |
1 |
11 1010 kkkk kkkk |
Z |
|
Примечания:
При выполнении операции "чтение-модификация-запись" с портом ввода/вывода (например, MOVF PORTB.1) исходные значения считываются с выводов порта, а не из выходных защелок. Например, если в выходной защелке была записана "1", а на соответствующем выходе "0", то обратно будет записан "0".
2. При выполнении записи в TMR0 (и d=1) предделитель TMR0 сбрасывается, если он подключен к модулю TMR0.