Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

#byte PORT_B =6 /* Вывод RA5 — 5-й бит порта А

#bit RA5 =5.5 /* Порт В — регистр 06

#int_rtcc

void ecg_isr(void)

{

       unsigned int analog;

       static unsigned long int threshold = 0;

       static unsigned int maximum;

       analog = read_adc();

       if (analog > threshold»8)

      {

           maximum = analog; /* Новое максимальное значение */

            PORT_B = analog; /* Выдаем наружу */

            threshold = maximum << 8; /* Новый 2-байтный порог */

            RA5 =1; /* Сообщаем об этом */

       }

       else

            if(threshold >= 0x0004) /* ЕСЛИ порог не менее h’0004’, */

            {

                threshold = threshold — 0x0004; /* ТО уменьшаем на 1/64 */

                RA5 =0; /* Сообщаем об отсутствии обновления */

            }

}

Переменная threshold имеет тип long int, поэтому компилятор CCS будет интерпретировать ее как 16-битное число. Обнуление переменной threshold выполняется единожды при запуске программы, поскольку переменная объявлена как static. И опять же, такое поведение отличается от поведения автоматических переменных, создаваемых по умолчанию.

При занесении в переменную threshold нового максимального значения последнее умножается на 256 путем сдвига на восемь разрядов влево. Хороший компилятор автоматически преобразует выражение N*256 к виду N << 8 или же, что еще лучше, просто возьмет в качестве результата операции старший байт пары.

Пример 14.3

Микроконтроллер используется для вычисления энергии разряда двухфазного дефибриллятора, приведенного на Рис. 14.5. Когда микроконтроллер обнаруживает начало разряда, он должен сделать 256 выборок с частотой 20 000 выборок в секунду. При этом энергия определяется как сумма квадратов отклонений сигнала от базового уровня — предполагается, что сопротивление цепи «грудная клетка пациента — электроды» остается постоянным на протяжении всего разряда.

Для получения опорного напряжения используется внешний ИОН с выходным напряжением 4.096 В, что при 8-битном преобразовании даст нам разрешение, равное 16 мВ. После начала разряда на выводе RA4 необходимо сформировать импульс для запуска развертки запоминающего осциллографа, позволяющего сохранить осциллограмму сигнала для архивных целей. А после окончания разряда старший байт значения энергии должен быть выведен в порт В для отображения на дисплее.

Покажите, как можно с помощью микроконтроллера PIC16F87XA с 20-МГц резонатором реализовать указанную измерительную систему. Можете считать, что на ИОН можно подавать смещение наподобие стабилитрона. На практике для достижения более точных результатов может использоваться дополнительный переменный резистор, с помощью которого осуществляется подстройка выходного напряжения ИОН в небольших пределах.

Решение

Подходящая схема показана на Рис. 14.20. Собственно сигнал, изменяющийся в диапазоне +1.8…+3.6 В (см. Рис. 14.5), подается на вход 0-го аналогового канала RA0/AIN0. Резистор сопротивлением 10 кОм защищает аналоговый вход от перегрузки, одновременно выполняя, совместно с конденсатором 3300 пФ, роль фильтра, устраняющего эффект наложения спектров, с частотой среза около 450 кГц. Поскольку реальные дефибрилляторы работают с очень большими напряжениями (порядка 25 кВ), для защиты микроконтроллера от высоковольтных выбросов используется два диода 1N4004, дополняющие внутренние защитные диоды (см. Рис. 14.12).

Рис. 14.20.Измерение энергии разряда дефибриллятора

Внешний ИОН напряжением 4.096 В подключен непосредственно к выводу RA3, который является входом внешнего опорного напряжения (конфигурация АЦП — Ь’0101’). Чтобы снизить уровень помех на линиях VDD и Vref+, к ним подключены развязывающие танталовые конденсаторы емкостью 1 мкФ.

Для определения начального момента разряда используется внутренний аналоговый компаратор, как было показано на Рис. 14.5. При работе компаратора в режиме Ь’1110’ для формирования внутреннего опорного напряжения может использоваться модуль CVREF, как было описано на стр. 501. При сброшенном бите CIS (см. Рис. 14.6) компаратор 1 может использовать 0-й аналоговый канал совместно с модулем АЦП.

И, наконец, вывод RA4 и все выводы порта В должны быть сконфигурированы как выходы. Первый из указанных выводов используется для формирования синхроимпульса, а порт В — для вывода полученного результата.

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника