Устройство преобразования аналоговых сигналов двоичный код и его преобразование в аналоговый сигнал

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    965,93 Кб
  • Опубликовано:
    2012-06-05
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Устройство преобразования аналоговых сигналов двоичный код и его преобразование в аналоговый сигнал















Курсовая работа

По дисциплине:

Основы микропроцессорной техники

На тему:

«Устройство преобразования аналоговых сигналов двоичный код и его преобразование в аналоговый сигнал»

 

Введение

Цифровая обработка сигналов позволяет выполнять в принципе любое описываемое преобразование сигнала по сколь угодно сложному алгоритму с большой степенью точности.

Чтобы выполнить цифровую обработку необходимо считать код преобразовать его в аналоговый сигнал на входе с помощью цифро-аналогового преобразователя (ЦАП). Алгоритмы цифровой обработки сигналов могут реализовываться как в устройствах на жесткой логике, так и в устройствах с программной логикой - универсальных либо специализированных микропроцессорах и микроконтроллерах.

1.   
Задание

Требуется разработать устройство преобразования аналоговых сигналов, которое будет осуществлять преобразование в последовательность двоичных кодов, обработку кодов и преобразование результатов обработки в аналоговые сигналы. Входное сопротивление устройства должно быть не менее 100 кОм, диапазон изменения входного и выходного сигнала от 0 до 10 В, сопротивление нагрузки должно быть не менее 100 Ом, число входных каналов 8; число выходных каналов 8. Устройство разработать на базе микроконтроллера PIC16F877 и ЦАП AD5346. Этот микроконтроллер относится к семейству PIC контроллеров. Микроконтроллеры PICmicro выпускаются компанией Microchip. Основным назначением этих микроконтроллеров, как следует из аббревиатуры PIC (Peripheral Interface Controller), является выполнение интерфейсных функций. Этим объясняются особенности их архитектуры.

2.    Структурная схема устройства

Устройство имеет 8 каналов преобразования и включает входной буфер, источник опорного напряжения, контроллер и восьмиканальный преобразователь кода в аналоговый сигнал ЦАП.

Микроконтроллер формирует адрес для обработки канала и посылает сигнал запуска. По сигналу от ЦАП (окончание процесса преобразования) Микроконтроллер читает информацию. Затем обрабатывает полученную информацию и выдает его на преобразователь ЦАП. После чего осуществляется формирование сигнала с порта RD, на ЦАП, в выдает сигнал на канал преобразователя ЦАП.


Алгоритм функционирования устройства следующий:

1.       В начале работы входу МК выдает команду на запуск преобразователя кода.

2.       МК подаёт формирует сигнал запуска преобразования, ожидает окончания преобразования, а затем считывает код.

.         МК обрабатывает полученный код и передаёт результат обработки в ПРЕОБРАЗОВАТЕЛЬ ЦАП.

.         В блоке ПРЕОБРАЗОВАТЕЛЯ ЦАП осуществляется вывод сигнала в выбранный канал.

3.    Функциональная схема

В приложении 1 представлена функциональная схема устройства. Входной буфер на ОР285 необходим для согласования с АЦП. АЦП выполнено на внутреннем АЦП микроконтроллера/

Для обеспечения нормальной работы ЦАП в однополярном режиме необходимо подать сигнал ref, от источника опорного напряжения выполненного на AD680, чтобы обеспечить высокую точность преобразования. четырех канального преобразователя кода в аналоговый сигнал.

Микроконтроллер выполняет задачу приема аналогового сигнала преобразования его в код, его обработки и выдачи в порты RD. также микроконтроллер вырабатывает управляющие сигналы, которые поступают на ЦАП.

Также микроконтроллер выполняет функции управления входным. На адресные входы управления подается код запуска ЦАП, в который необходимо выдать преобразованный сигнал, далее сигнал поступает на входной буфер. При поступлении сигнала на ЦАП происходит преобразование его в аналогового сигнал.

4.    Базовые элементы и их параметры

Операционный усилитель выполнен на базе микросхемы ОР285.

Основные параметры ОР285.

аналоговый сигнал двоичный код

рис 2., AD5347, AD5348

Восьмиканальный 8/10/12-разрядный ЦАП с формированием сигналов напряжения, параллельным интерфейсом, питанием от +2,5 до +5,5 В

Характеристики:

·          AD5346: Восемь 8-разрядных ЦАП

·        AD5347: Восемь 10-разрядных ЦАП

·        AD5348: Восемь 12-разрядных ЦАП

·        Малое энергопотребление: не более 1.4 мА при 3 В питания

·        Режим пониженного потребления: 240 нА при 5В, 100 нА при 3 В

·        Гарантируется равномерность характеристик для любых значений входного кода

·        Выходной диапазон напряжений: 0-VREF, 0-2VREF

·        Сброс в ноль выходного напряжения при подаче питания

·        Возможность одновременности обновления выходного напряжения, воздействием на вход LDAC

·        Возможность асинхронного сброса выходов, воздействием на вход CLR

·        Возможность считывания данных

·        Настройка буферизации входа источника опорного напряжения (вкл/выкл)

·        Время записи 20 нс

·        38-выводной TSSOP корпус или 40-выводной CSP корпус с размерами 6 х 6 мм

·        Температурный диапазон: -40°С...+105°С

Область применения:

·          Переносные автономные инструменты

·        Цифровые усилители и регуляторы смещения

·        Программируемые источники тока и напряжения

·        Оптическое сетевое оборудование

·        Автоматическое испытательное оборудование

·        Мобильная связь

·        Программируемые аттенюаторы

·        Управление производственными процессами

Структурная схема:


Расположение выводов:


Описание выводов:

·          VREFAB - Вход ИОН для ЦАП A, B

·        VREFCD - Вход ИОН для ЦАП C, D

·        VREFEF - Вход ИОН для ЦАП E, F

·        VREFGH - Вход ИОН для ЦАП G, H

·        VOUTА -VOUTH- Выходное напряжение ЦАП A-H

·        VDD -Вход питания

·        AGND - Аналоговая земля

·        DGND - Цифровая земля

·        BUF - Вход управление буферизацией входов опорных источников напряжения (вкл/выкл)

·        LDAC - Вход управления обновлением регистра ЦАП из входного регистра

·        А0-A2 - Адресные входы для выбора канала ЦАП (А-Н)

·        CS - Выбор микросхемы

·        WR - Запись

·        RD - Чтение

·        GAIN - Вход задания диапазона изменения выходных напряжений: 0-VREF или 0-2VREF

·        CLR - Вход асинхронного сброса регистров

·        PD - Вход перевода в режим пониженного энергопотребления

Общее описание: ,AD5347,AD5348 - микросхемы, содержащие восемь ЦАП, формирующих выходные напряжения 8/10/12-разрядным двоичным кодом. Они питаются однополярным напряжением от +2.5 В до +5.5 В. Встроенный прецизионный буферный усилитель обеспечивает высокую точность воспроизведения выходного напряжения ЦАП, а микросхемы AD5333 и AD5342 содержат также буферный усилитель на входе источника опорного напряжения (ИОН) с возможностью его включения или выключения.


Для доступа к микросхемам AD5346,AD5347,AD5348 предусмотрен параллельный интерфейс. Вход CS (активный низкий уровень) позволяет активизировать устройство, а положительный фронт на входе WR загружает данные во входной регистр. Предусмотрена также возможность считывания через параллельный интерфейс значения в регистре ЦАП.

Вывод GAIN позволяет задать диапазон изменения выходного напряжения: 0-VREF, 0-2VREF.

Для хранения данных предусмотрено два регистра (двойная буферизация). Перезапись из входного регистра в регистр ЦАП происходит воздействием на вход LDAC. Данная функция позволяет одновременно обновлять выходные напряжения у нескольких ЦАП в одной системе.


Воздействие на вход асинхронного сброса CLR обеспечивает запись лог. «0» во входной регистр и регистр ЦАП, тем самым устанавливая на выходе нулевое напряжение. В состав данной микросхемы входит также схема сброса при подаче питания, которая обеспечивает установку нулевого выходного напряжения с момента подачи питания до выполнения первой действительной операции записи в регистр ЦАП.

Все микросхемы имеют одинаковую разводку, что позволяет варьировать разрядностью преобразования без изменения печатной платы путем установки другой микросхемы.

Источник опорного напряжения AD680

AD680 - это микромощный источник опорного напряжения, основанный на эффекте ширины запретной зоны, который дает фиксированное напряжение 2,5 В для входных напряжений от 4,5 В до 36 В. Архитектура AD680 позволяет этому источнику опорного напряжения работать при очень низком токе покоя, сохраняя при этом отличные статические и шумовые характеристики. Благодаря высокой точности AD680 идеально подходит для использования в качестве источников опорного напряжения ЦАП и АЦП и, как правило, имеет лучшие характеристики по сравнению внутренними источниками опорного напряжения, расположенными на кристаллах АЦП.

Обычный прецизионный источник такого типа состоит из задающей ячейки и буферного усилителя. AD680 построен по новой схеме, в которой функции усилителя и задающей ячейки объединены, что дает компактный прецизионный источник. Центральным элементом схемы является усилитель с высоким коэффициентом усиления.

рис. 7

Электрические параметры AD680


Базовым элементом является микросхема микроконтроллер PIC16F877

Характеристика PIC16F877

·        Высокоскоростная RISC архитектура

·        35 инструкций (все команды выполняются за один цикл,

кроме инструкций переходов, выполняемых за два цикла)

·        Тактовая частота 20МГц

·        8к x 14 слов FLASH памяти программ

·        368 байт памяти данных (ОЗУ)

·        256 байт EEPROM памяти данных

·        Система прерываний (до 14 источников)

·        8-уровневый аппаратный стек

·        Прямой, косвенный и относительный режим адресации

·        Сброс по включению питания (POR)

·        Таймер сброса (PWRT) и таймер ожидания запуска

генератора (OST) после включения питания

·        Сторожевой таймер WDT с собственным RC генератором

·        Программируемая защита памяти программ

·        Режим энергосбережения SLEEP

·        Выбор параметров тактового генератора

·        Высокоскоростная, энергосберегающая CMOS FLASH/EEPROM технология

·        Программирование в готовом устройстве (используется два вывода)

·        Режим внутрисхемной отладки (используется два вывода)

·        Широкий диапазон напряжений питания от 2.0В до 5.5В

·        Повышенная нагрузочная способность портов ввода/вывода (25мА)

·        Малое энергопотребление (менее 0.6 мА при 3В, 4МГц, 20мкА при 3В, 32кГц, менее 1мкА в режиме энергосбережения).

Характеристика периферийных модулей:

·        Таймер 0: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем

·        Таймер 1: 16-разрядный таймер/счетчик с возможностью подключения внешнего резонатора

·        Таймер 2: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем и выходным делителем

·        Два модуля сравнение/захват/ШИМ (CCP):

- 16-разрядный захват (максимальная разрешающая способность 12.5 нс)

16-разрядное сравнение (максимальная разрешающая способность 200 нс)

10-разрядный ШИМ

·        Многоканальное 10-разрядное АЦП

·        Последовательный синхронный порт MSSP

ведущий/ведомый режим SPI

ведущий/ведомый режим I2С

·        Последовательный синхронно-асинхронный приемопередатчик USART

с поддержкой детектирования адреса

·        Ведомый 8-разрядный параллельный порт PSP с поддержкой

внешних сигналов

·        Детектор (BOD) для сброса по снижению напряжения питания (BOR)

Особенности архитектуры PIC16F877

Высокая эффективность микроконтроллеров PICmicro достигается за счет архитектуры ядра, подобная архитектура (гарвардская) обычно применяется в RISC микропроцессорах. В гарвардской архитектуре разделена память программ и память данных. Обращение к памяти происходит по отдельным шинам адреса и данных, что значительно повышает производительность процессора по сравнению с традиционной архитектурой. В микроконтроллерах с традиционной архитектурой ядра команды и данные запрашиваются по одной и той же шине.

В микроконтроллерах с гарвардской архитектурой ядра выборка команды происходит за один цикл (все команды 14 - разрядные). Раздельные шины доступа к памяти программ и к памяти данных позволяют исполнять текущую команду и производить выборку следующей команды, организуя конвейерную обработку команд.

Разделение шин доступа к разным видам памяти позволяет произвольно выбирать разрядность команд микроконтроллера, что в свою очередь дает возможность эффективно использовать память программ и оптимизировать разрядность шины программ к архитектурным требованиям микроконтроллера. Все команды микроконтроллеров однословные 14 - разрядные. 14 - разрядная шина доступа к памяти программ позволят выполнить выборку 14 - разрядной команды за один машинный цикл микроконтроллера. При использовании однословных команд число слов в памяти программ равняется максимальному числу команд программы микроконтроллера. Это означает, что все ячейки памяти имеют силу команды.

Конвейерная обработка команд состоит из двух стадий: выборка команды из памяти, выполнение команды. Выборка команды происходит в первый машинный цикл, а выполнятся команда во втором машинном цикле. Однако из-за одновременной выборки текущей команды и выполнения предыдущей в каждом машинном цикле происходит выборка и выполнение команд. При выполнении команды может возникать задержка в один машинный цикл, если результат команды изменяет содержимое счетчика команд PC. Все команды выполняются за один цикл, кроме команд ветвления. Команды ветвления требуют два машинных цикла, т.к. необходимо удалить предварительно выбранную команду из конвейера. Во время удаления выбирается новая команда, а затем она исполняется в следующем машинном цикле.

Структурная схема PIC16F877

Примечание 1. Старшие биты адреса находятся в регистре STATUS.

Примечание 2. Большинство универсальных выводов портов ввода/вывода

мультиплексированы с одним или более периферийным модулем.

Организация памяти данных банки памяти, регистры общего и специального назначения

Память данных (368 Байт ОЗУ) разделена на четыре банка, которые содержат регистры общего и специального назначения (см. карту памяти).

Регистры общего назначения используются для хранения данных программы. Они размещаются в разных банках памяти данных. Эти регистры не инициализируются при сбросе по включению питания и имеют неизвестное значение, а при всех остальных сбросах микроконтроллера не изменяют своего значения. Обращение к регистрам общего назначения может быть выполнено прямой или косвенной адресацией через регистры FSR и INDF.

Регистры специального назначения используются для управления ядром и периферийными модулями микроконтроллера. Регистры специального назначения размещены в различных банках памяти данных, а некоторые из регистров (которые используются чаще) отображаются во всех банках. Обращение к регистрам специального назначения может быть выполнено прямой или косвенной адресацией. При сбросе по включению питания и других видах сброса микроконтроллера в некоторые регистры специального назначения записывается определенное значение. Существуют регистры, которые содержат неизвестное значение при сбросе по включению питания, а при других видах сброса не изменяются (см. техническую документацию). Описание некоторых регистров специального назначения, требующихся для выполнения лабораторных работ, приведено в этом документе, получить более подробную информацию вы сможете в соответствующей технической документации по данному микроконтроллеру.

В процессорах PIC существует три различных способа адресации данных: непосредственная адресация, прямая и косвенная.

Непосредственная адресация данных означает, что операнд, используемый при операции, является частью команды. Используя непосредственную адресацию, можно загрузить в регистр W (аккумулятор) необходимое число либо изменить содержимое этого регистра, произведя логическую или арифметическую операцию с некоторой константой и W.


Прямая адресация позволяет обращаться к любому регистру, указав в команде его адрес в пределах выбранного банка (предварительно необходимо произвести выбор банка памяти данных, т.е. использовать биты PR1:PR0 регистра STATUS;).

Возможность явного задания адреса регистра является очень важной. Но бывают случаи, когда необходимо использовать косвенную адресацию и модифицировать адрес с помощью арифметических операций. Этот режим адресации может быть полезен при обращении к таблицам (массивам) данных. Для выполнения косвенной адресации необходимо обратиться к физически не реализованному регистру INDF (см. карту памяти данных). Обращение к регистру INDF фактически вызовет действие с регистром, адрес которого указан в регистре FSR. Косвенное чтение регистра INDF (FSR=0) даст результат 00h. Косвенная запись в регистр INDF не вызовет никаких действий (вызывает воздействия на флаги АЛУ в регистре STATUS). 9-бит косвенного адреса IRP сохраняется в регистре STATUS<7> (он указывает, к какой паре банков памяти данных выполняется обращение). Механизмы прямой и косвенной адресации показаны на рисунке 1.4.

Организация памяти программ. Карта памяти программ

Рисунок 1.5 Карта памяти программ и восьмиуровневый аппаратный стек.

PIC16F876 имеют 13-разрядный счетчик команд PC, способный адресовать 8К x 14 слов памяти программ, и 14-разрядную шину данных памяти программ. Все команды состоят из 14-разрядного слова, поэтому микроконтроллер может содержать 8К команд. Это позволяет легко определить достаточность объема памяти программ для желаемого приложения.

Вся память программ разделена на 4 страницы по 2Кслов каждая (0000h-07FFh, 0800h-0FFFh, 1000h-17FFh, 1800h-1FFFh). Для перехода между страницами памяти программ необходимо изменить старшие биты регистра счетчика команд PC, записью в регистр специального назначения PCLATH. Изменив значение PCLATH и выполнив команду ветвления, счетчик команд PC пересечет границу страницы памяти программ.

Сброс приведет к очистке счетчика команд (PC), устанавливая адрес 0000h. Он называется «адресом вектора сброса», т.к. будет выполнен переход по этому адресу при сбросе микроконтроллера. Вместе со счетчиком команд (PC) очищается регистр PCLATH, устанавливая рабочую страницу памяти программ 0.

Когда возникает разрешенное прерывание, в счетчик команд PC записывается адрес 0004h, называемый «адрес вектора прерываний», при этом значение регистра PCLATH не изменяется. Если в подпрограмме обработки прерываний требуется выполнять команды ветвления, то необходимо предварительно записать в регистр PCLATH значение, определяющее нужную страницу памяти программ. Прежде чем регистр PCLATH будет изменен, его значение должно быть сохранено в другом регистре памяти данных, а затем восстановлено перед выходом из подпрограммы обработки прерываний.

Порты ввода/вывода. Общие сведения

Универсальные порты ввода/вывода могут рассматриваться как самые простые периферийные модули. Они позволяют микроконтроллерам PICmicro контролировать работу и управлять другими устройствами. С целью расширения функциональных возможностей некоторые каналы портов ввода/вывода мультиплицированы с другими периферийными модулями. Как правило, когда периферийный модуль включен, вывод не может использоваться как универсальный канал ввода/вывода.

Для большинства каналов портов ввода/вывода регистры TRIS управляют направлением данных на выводе. Бит TRIS<x> управляет направлением данных на канале PORT<x>. Если бит TRIS установлен в '1', то соответствующий канал порта ввода/вывода работает как вход, а если бит TRIS сброшен в '0', то канал работает как выход. Простой способ запомнить направление данных в канале и состояние битов регистров TRIS: '1' - напоминает 'In' (ввод); '0' - напоминает 'Out' (выход).

Регистр PORT - защелка данных, выводимых на порт ввода/вывода. Все операции записи в порт выполняются по принципу "чтение - модификация - запись". Требуется некоторая осторожность при применении подобных команд к регистрам портов ввода/вывода. Поскольку чтение регистра PORT возвращает состояние на выводах порта, а запись выполняется в выходную защелку порта.В - 8-разрядный двунаправленный порт ввода/вывода. Биты регистра TRISB определяют направление каналов порта. Установка в ’1’ бита регистра TRISB переводит выходной буфер в 3-е состояние. Запись ‘0’ настраивает соответствующий канал как выход, содержимое защелки PORTB передается на вывод микроконтроллера. Три вывода PORTB мультиплицированы со схемой низковольтного программирования: RB3/PGM, RB6/PGC, RB7/PGD. Четыре канала PORTB RB7:RB4, настроенные на вход, могут генерировать прерывания по изменению логического уровня сигнала на входе. Прерывания по изменению сигнала на входах рекомендуется использовать для определения нажатия клавиш, когда PORTB полностью задействован для реализации клавиатуры. RB0/INT вход внешнего источника прерываний.

Адрес

Имя

Номер бита

Сброс POR, BOR

Другие сбросы



7

6

5

4

3

2

1

0



06h, 106h

PORTB

RB7

RB6

RB5

RB4

RB3

RB2

RB1

RB0

ХХХХХХХХ

uuuuuuuu

86h, 186h

TRISB

Регистр направления данных PORTB

11111111

11111111

Обозначения: u = не изменяется; x = не известно;

МОДУЛЬ ТАЙМЕРА TMR0- 8-разрядный таймер/счетчик, имеет следующие особенности:

·        возможность чтения и записи текущего значения счетчика;

·        8-разрядный программируемый предделитель;

·        внутренний или внешний источник тактового сигнала;

·        выбор активного фронта внешнего тактового сигнала;

прерывания при переполнении (переход от FFh к 00h).

Когда бит T0CS в регистре OPTION_REG сброшен в ‘0’, TMR0 работает от внутреннего тактового сигнала. Приращение счетчика TMR0 происходит в каждом машинном цикле (если предделитель отключен). После записи в TMR0 приращение счетчика запрещено два следующих цикла. Пользователь должен скорректировать эту задержку перед записью нового значения в TMR0. Если бит T0CS установлен в ‘1’, TMR0 работает от внешнего источника тактового сигнала со входа RA4/T0CKI (вывод PORTA RA4 мультиплицирован с тактовым входом T0CKI). Активный фронт внешнего тактового сигнала выбирается битом T0SE в регистре OPTION_REG (если T0SE = 0, то активным является передний фронт сигнала). Предделитель представляет собой 8-разрядный счетчик, который может быть включен либо перед TMR0, либо перед WDT (сторожевым таймером). Использование предделителя пред WDT означает, что TMR0 работает без предделителя, и наоборот. Коэффициент деления предделителя определяется битами PSA (выбор включения предделителя: 1= предделитель включен перед WDT; 0 = предделитель включен перед TMR0) и PS2:PS0 (установка коэффициента деления предделителя) в регистре OPTION_REG<3:0>. Если PSA=1, то коэффициент деления для TMR0 1:1. Если предделитель включен перед TMR0, любые команды записи в TMR0 (например, CLRF 1, MOVWF 1, BSF 1,x и т.д.) сбрасывают предделитель. Когда предделитель подключен к WDT, команда CLRWDT сбросит предделитель вместе с WDT. Предделитель также очищается при сбросе микроконтроллера. Предделитель недоступен для чтения/записи.

Прерывания от TMR0 возникают при переполнении счетчика, т.е. при переходе его значения от FFh к 00h. При возникновении прерывания устанавливается в ‘1’ бит T0IF в регистре INTCON.

Регистры и биты, связанные с работой TMR0 представлены в таблице:

Адрес

Имя регистра

Номер бита

Сброс POR,BOR



7

6

5

4

3

2

1

0



01h, 101h

TMR0

Регистр таймера 0

ХХХХХХХХ

uuuuuuuu

0Bh, 8Bh, 10Bh,18Bh

INTCON

GIE


T0IE



T0IF



0000000Х

0000000u

81h, 181h

OPTION_REG



T0CS

T0SE

PSA

PS2

PS1

PS0

11111111

11111111

Обозначения: u = не изменяется; x = не известно; пустые биты на работу не влияют.

Система прерываний. Общие сведенияF876 имеет 14 источников прерываний:

• Внешний источник прерываний INT;

• Переполнение таймера TMR0;

• Изменение уровня сигнала на входах PORTB (выводы RB7:RB4);

• Прерывание от ведомого параллельного порта;

• Прерывания от USART;

• Прерывание от приемника:

• Прерывание от передатчика;

• Завершение преобразования АЦП;

• Прерывания от LCD;

• Завершение цикла записи в EEPROM память данных;

• Переполнение таймера TMR1;

• Переполнение таймера TMR2;

• Прерывания от модуля CCP;

• Прерывания от модуля SSP.

Для управления прерываниями существуют регистры INTCON, PIR1, PIR2, PIE1 и PIE2. Регистр INTCON содержит флаги отдельных прерываний, биты разрешения этих прерываний и бит глобального разрешения прерываний GIE. В регистрах PIR1, PIR2 содержатся флаги прерываний периферийных модулей микроконтроллера, а в регистрах PIE1, PIE2 соответствующие биты разрешения прерываний. В регистре INTCON находится бит разрешения прерываний от периферийных модулей.

Обработка прерываний

Флаги прерываний устанавливаются при возникновении условий прерываний вне зависимости от состояния соответствующих битов маски и бита GIE. Это позволяет выполнять программный контроль возникновения условия прерываний.

При переходе на подпрограмму обработки прерываний бит GIE аппаратно сбрасывается в ‘0’, запрещая прерывания, адрес возврата из подпрограммы обработки прерываний помещается в стек, а в счетчик команд PC загружается вектор прерывания 0004h. Поскольку в стеке сохраняется только содержимое программного счётчика, то содержимое остальных регистров, необходимое для выполнения основной программы (например, регистр W и STATUS), должно быть сохранено программно.

Источник прерываний может быть определен проверкой флагов прерываний. Важно заметить, что флаг запроса должен быть сброшен в ноль программно перед возвратом из прерывания; если он не будет сброшен, то после выполнения команды возврата RETFIE сразу же последует переход к той же самой подпрограмме обработки прерывания. Рекомендуется производить сброс битов запроса в обработчике прерываний как можно раньше, поскольку при обработке текущего прерывания могут поступить другие запросы.

При возвращении из подпрограммы обработки прерывания, по команде RETFIE, адрес возврата восстанавливается из стека, а бит GIE аппаратно устанавливается в ‘1’ разрешая все немаскированные прерывания.

Процесс обработки прерывания можно условно представить следующим образом:


5.    Алгоритм программы для микроконтроллера

Пояснение к алгоритму функционирования МК.

1.       На этапе инициализации необходимо проинициализировать порты следующим образом:

·        RA - ввод

·        RС - ввод/вывод

·        RD - ввод/вывод

2.       прием сигнала во внутренний АЦП МК подает через порты RА и RE.

3.       Обработка данных.

.         Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал А

.         Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал В

6.       Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал С

7.       Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал D

.         Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал F

9.       Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал E

10.     Вывод данных происходит следующим образом: МК выдает данные c порта RD, для преобразования кода в ЦАП в аналоговый сигнал и вывод его на канал G


Поз.обозначение

 Обозначение наименование

Кол

Примечание


Резисторы



 R1, R2

С2-33-0,125-100 Ом ±10%

2


R19

С2-33-0,125-10 кОм ±10%

1


R3… R18

С1-4-0,125-10 кОм ±10%

16


R20… R35

С1-4-0,125-10 кОм ±10%

16



Конденсаторы



С1, С2

К10-17А-М47-0,1 мкФ ±20%

2



Микросхемы






Аналоговые

DA17,

AD680

1


DA1…DA8

OP285

8


DA9…DA16

OP285

8





Цифровые

DD1

PIC16F877

1


DD2

AD5346

1



Разъемы



X1, X2

Разъем Bh-20R

2







КП.200400.09 ПЭ2







Изм.

Лист

№ докум.

Подп.

Дата


Разраб.

 Власов А.С.



Устройство преобразования аналоговых сигналов Перечень элементов

Лит.

Лист

Листов

Пров.

 Вершинин В. А.







1

1






РГАТА ЗПП-09

Н.контр.






Утв.







Используемые источники.

1.         Вершинин В.А. Применение микро-ЭВМ в системах автоматики. Учебное пособие, РГАТА - Рыбинск: 1994 г.

2.       Балашов Е.П., Пузанков Д.В. Микропроцессоры и микропроцессорные системы - М.,«Радио и связь», 1981 г.

.         Интегральные микросхемы. Микросхемы для аналого-цифрового преобразования и средств мультимедиа. Под ред. Перебаскина А.В. Выпуск 1 - М. ДОДЭКА, 1996 г.

4.         Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. - М.: Энергоатомиздат, 1990 г.

5.       Яценков В.С. Микроконтроллеры MICROCHIP. Практическое руководство. Москва: Горячая линия - Телеком, 2002. - 296с

.         Ульрих В.А. Микроконтроллеры PIC16C7X. Москва: Наука и техника 2000

Похожие работы на - Устройство преобразования аналоговых сигналов двоичный код и его преобразование в аналоговый сигнал

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!