
- •Глава 1: Микропроцессор. Основные сведения
- •1.1 Основные характеристики мп
- •1.2 Структура мп устройства
- •1.3 Запоминающие устройства
- •1.4 Оперативное запоминающее устройство
- •1.5 Постоянные зу
- •Глава 2: Восьмиразрядный мп кр580
- •2.2 Система и формат команд. Способы адресации
- •2.3 Словосостояние мп
- •2.4 Работа устройства управления в режиме прерывания
- •2.5 Работа устройства управления в режиме прямого доступа к памяти (пдп)
- •Глава 3: Интерфейс Общие сведения
- •3.1Организация прерывания. Арбитраж
- •3.2 Программируемый периферийный адаптер
- •3.3 Программируемый связной адаптер
- •3.3.1 Работа пса в асинхронном режиме
- •3.3.2 Работа пса в синхронном режиме
- •3.4 Программируемый контроллер прерывания
- •3.5 Контроллер прямого доступа к памяти
- •Глава 4: 16-разрядный мп кр1810вм86
- •4.1 Структура мп кр1810
- •4.1.1 Устройство сопряжения с шиной
- •4.1.3 Устройство управления
- •4.2 Система и формат команд
- •4.2.1 Формат команд
- •4.2.2 Система команд
- •Глава 5: Микроконтроллеры
- •5.1 Классификация мкс
- •Глава 6: мк семейства Microchip
- •6.1 Процессорное ядро
- •6.1.1 Организация памяти
- •6.1.1 Организация памяти данных.
- •6.2 Организация периферийных модулей
- •6.2.1 Порты ввода/вывода
- •6.2.2 Модуль прерывания
- •Структурная схема модуля ацп
- •6.3 Периферийные модули специального назначения
- •6.3 Система и формат команд. Способы адресации
- •6.4 Средства разработки семейства Microchip
- •Глава 7: мк mcs 51
- •7.1 Организация памяти
- •7.2 Режим общего напряжения и электропитания
- •7.3 Модули ацп
- •7.4 Модуль цап
- •7.5 Периферийные модули
- •7.5.1 Последовательные порты ввода
- •7.5.2 Таймеры
- •7.5.3 Программируемый массив счетчиков (pca)
- •7.6 Модули захвата сравнения pca
- •7.7 Порты ввода
- •7.8 Система и формат команд
- •7.9 Способы адресации
- •7.10 Типы команд мк
- •Глава 7: применение програмируемых цифровых устройств в системах безопастности
- •8.1 Организация передачи информации
- •8.2 Параллельный интерфейс периферии lpt
- •8.3 Интерфейс rs232 (com порт)
- •8.4 Интерфейс Токовая петля
- •8.5 Интерфейс i2c
- •Глава 9: Применение мп техники
- •9.1 Разработка алгоритма управления.
- •9.2 Разработка структуры аппаратных и программных средств.
- •9.3 Совместная отладка
- •9.4 Сертификация
- •9.6 Измерительные системы
- •9.7 Системы управления
Структурная схема модуля ацп
Содержит коммутатор мультиплексоров, непосредственно модуль преобразования (ADC), модуль выравнивания результата и буфер.
Работа заключается в следующем: входной аналоговый сигнал с одной из внешних линий через коммутатор заряжает внутренний конденсатор АЦП (Сзар). Далее модуль АЦП преобразует напряжения, удерживаемое на конденсаторе в соответствующий ему 10-разрядный код методом последовательного приближения.
Для организации работы модуля АЦП используется регистр специального назначения ADCON0, который содержит следующие биты управления:
--ADFM
--VCFG
--CHS1,0
--GO/DONE
--ADON
В данном МК в качестве аналогового порта могут выступать линии AN0-AN3, выбор которых осуществляется с помощью битов CHS0,1.
С помощью разряда VCFG осуществляется выбор источника опорного напряжения преобразования АЦП. В качестве которого может быть текущее напряжения питания и внешнее напряжение, подаваемое на линии AN1 (в этом случае в качестве аналогового сигнала линия использоваться не может).
Сигнал ADON разрешает работу АЦП. Для инициализации преобразования осуществляется установка в 1 бита GO/DONE программно, который находится в таком состоянии до завершения преобразования. После завершения преобразования данный бит аппаратно сбрасывается в 0, тем самым фиксируя завершение работы АЦП.
10-разрядный результат преобразования сохраняется в спаренном регистре ADRES емкостью 16 разрядов в области регистровой памяти (ADRESH – старший разряд, ADRESL – младший разряд).
В модуле преобразования результат может формироваться с правым и левым выравниванием (определяет бит ADFM). При правом выравнивании 8 младших разрядов записывается в младший буферный регистр, 2 старших хранятся в 0ом и 1ом разряде старшего регистра. При левом выравнивании старшие 8 разрядов хранятся в старшем буферном регистре, младшие разряды хранятся в 7ом и 6ом разрядах младшего буферного регистра. Первый способ используется при необходимости получения полного 10-разрядного результата измерения (в программе используются 16-разрядные операнды). Второй способ используется при достаточной точности преобразования 8 разрядов.
Для организации работы аналогового модуля используется дополнительный регистр ANSEL, который содержит 2 модуля битов:
1)ADCS2..0 – определяет источник тактового сигнала, задающий режим работы АЦП. Время получения одного бита результата определяется параметром «период преобразования одного разряда». Для получения 10-разрядного результат требуется как минимум 11 периодов. Для получения корректного результата преобразования необходимо выбрать источник тактового сигнала АЦП, обеспечивающего время периода преобразования не менее 1 мкс. В качестве источника тактового сигнала может использоваться системная тактовая частота/2, /8, /32, а также собственный отдельный внутренний RC генератор.
2)ANS3..0 – осуществляет настройку выводов как аналоговые входы (0 определяет цифровой канал, 1 – аналоговый). По умолчанию линии находятся в аналоговом состоянии.
Если на модуль АЦП мультиплексируется большее количество портов ввода/вывода, то в блоке регистров присутствуют дополнительные регистры ANSEL0,1 и т.д. В ряде МК регистр ANSEL заменен на регистр ADCON1. В этом случае 0 заменен на аналоговый вход, 1 – цифровой.
Модуль завершения работы преобразования модуля АЦП формирует знак события, который при разрешенном прерывании (общий и от АЦП) может переходить по вектору прерывания.
Модуль АЦП может работать в режиме sleep при условии, что источников импульсов преобразования АЦП является собственный RC генератор (не системная тактовая частота). Если разрешено прерывание от АЦП, то МК выходит из режима энергосбережения. В случае, если был выбран другой источник тактового сигнала АЦП, то выполнение программой инструкции режима sleep прерывает процесс преобразования и выключает модуль АЦП.
Регистры, которые необходимо настраивать при работе с АЦП:
--регистр управления ADCON
--регистр настройки портов ввода/вывода и выбор тактового сигнала ANSEL
--определение направления портов ввода/вывода GPIO/TRISIO
--буферные регистры модуля АЦП ADREL, ADRESH.
--регистры прерывания от АЦП INTCON, PIR1, PIE1.
Постоянная память данных (EEPROM память данных)
Представляет собой отдельный периферийный модуль и является энергонезависимой памятью данных, которая доступна для чтения и записи в нормальном режиме работы МК, т.е. при выполнении программы. Содержимое данной памяти не отображается на адресное пространство регистровой памяти данных и памяти программ. Доступ к данным памяти осуществляется через регистры специального назначения косвенным образом.
Для организации доступа к EEPROM памяти данных используются 4 регистра специального назначения:
--EECON1
--EECON2
--EEDATA
--EEADR
Чтение и запись EEPROM памяти выполняется побайтно. В регистре EEDATA сохраняются 8-разрядные данные записи/чтения, а регистр EEADR содержит адрес ячейки EEPROM памяти данных. PIC12F675 содержат 128 байт EEPROM памяти данных (диапазон адресов 00h-7Fh).
При записи байта происходит автоматическое стирание ячейки и запись новых данных (стирание перед записью). При установке защиты на доступ к EEPROM памяти данных, программа микроконтроллера имеет возможность выполнить запись/чтение EEPROM памяти данных. Доступ закрыт для записи/чтения программатором. После завершения записи в EEPROM память данных возможно генерирование прерывания.
Регистр EECON2 не реализован физически, читается как 00h. Он используется в операциях записи в EEPROM память данных для реализации обязательной последовательности команд.
Регистр EECON1 организует чтение и запись в соответствующую запись. Содержит следующие биты:
WRERR |
Флаг ошибки (сбойя) записи в EEPROM память данных |
WREN |
Разрешение записи в EEPROM память данных |
WR |
Инициализировать запись в EEPROM память данных |
RD |
Инициализировать чтение из EEPROM памяти данных |
Чтение из EEPROM памяти данных
Для чтения EEPROM памяти данных необходимо записать адрес в регистр EEADR и установить бит RD (EECON1) в 1. В следующем машинном цикле данные доступны для чтения из регистра EEDATA. Прочитанное значение из EEPROM памяти данных будет храниться в регистре EEDATA до следующего чтения или записи в этот регистр по команде микроконтроллера.
Запись в EEPROM память данных
Для записи в EEPROM память данных необходимо записать адрес в регистр EEADR, данные в регистр EEDATA и установить бит WR и WREN (EECON1) в 1. Рекомендуется запрещать прерывания при выполнении записи в EEPROM память. Если во время записи произойдет переход по вектору прерывания, запись байта выполнена не будет.
Чтобы разрешить запись в EEPROM память данных, необходимо перед началом записи установить бит WREN в 1, защищающий от случайной записи.
После выполнения операции записи в EEPROM память данных рекомендуется производить контрольное чтение.