Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медприборы_лб2.doc
Скачиваний:
20
Добавлен:
09.04.2015
Размер:
143.87 Кб
Скачать

2.3. Способы программного управления внешними устройствами.

В простейших микроконтроллерах семейства PIC16 управление внешними элек­тро­н­­ными схемами со стороны микроконтроллера МК возможно только через его встроенные порты. Для PIC16F84 это порты А и В. В МК с более сложной структурой электрические сигналы управления могут формироваться на выходах ШИМ - модуля, модулей USART, SSP и других. Программное воспроизведение сигналов сложной формы предполагает передачу на внешний ЦАП кодов мгновенных значений воспроиз­води­мого сигнала. В большинстве случаев при управлении внешними устройствами приходится переключать режимы его работы, в частности, – масштаб усиления в усилительных узлах, часто­ту генерации в RC-гене­раторах, частоту среза в активных фильтрах и т.п. Для реализации этих функций нет необходимости в преобразовании цифрового кода в аналоговый сигнал, а сами цифровые сигналы, снимаемые с выходов портов МК, используются непосред­ст­венно для управления аналоговыми коммутаторами, дешифраторами, дискретными эле­ментами (например, триггерами). Очевидно, что выполнение тех или иных управляющих действий должно быть организовано во времени по задаваемому алгоритму. Требуемые временные интервалы могут задаваться как стандартными методами формирования вре­менных задержек (например, с помощью счетчиков, организованных программно), а также путем использования программируемых таймеров. В PIC- контроллерах могут при­сутствовать таймеры TMR0, TMR1, TMR2. В PIC16F84 – только один таймер, TMR0.

2.4. Применение таймера и портов для программирования сигналов.

Все разряды порта В настраиваются на запись данных. Таймер TMR0 используется для задания временного промежутка Toтсч между соседними точками отсчета ЭКГ. Если дели­тель таймера настроить на коэффициент деления 1:1 и установить режим внутренней син­хронизации, то несложно вычислить необходимое значение частоты тактирования ми­кро­контроллера Fosc. Принимая во внимание значение R-R равным 1,1с (нормальный ритм работы сердца 64 удара в минуту), получаем Toтсч = 1,1с/171 = 6,4мс. Время счета тай­мера от нулевого значения до его переполнения должно быть равно этому значению. Тогда пе­ри­од тактирования микроконтроллера составит Тosc = Toтсч / (28·4) = = 12,5 мкс, что соот­вет­ствует частоте тактирования fosc = 1/12,5 мкс = 160 кГц. Размещая таблицу кодов для ЦАП в памяти программы и пересылая поочередно ее значенияв в порт В микрокон­трол­лера с интервалами 6,4мс между посылками, отсчитываемыми по таймеру, получим решение поставленной задачи. Только предварительно следует настроить все разряды порта В на запись данных.

2.5. Методика физи­чес­­кого моделирования экг.

Програ­мма физического моделирования ЭКГ приведена на рис.2. Для краткости из нее изъяты значения отсчетов ЭКГ за исключением первого и последнего, которые остав­лены, чтобы не нарушать структуру программы (эти значения соответствуют изолинии ЭКГ и потому совпадают).

В целом методика физического моделирования сводится к следующему.

1. Разбиение изображения эталонной ЭКГ на дискреты по амплитуде и по времени и вычисление кодов для массива данных c отсчетами(мгновенными значениями)ЭКГ ;

2. Выбор типа микроконтроллера и распределение его памяти под размещение собственно программы и данных ;

3. Выбор исполнительных устройств для программного управления и воспроизведения ЭКГ ;

4. Разработка текста программы на макроассемблере для вывода эначений отсчетов ЭКГ из массива данных в порт контроллера ;

5. Компиляция,отладка и проверка работы программы с контролем времени исполнения цикла ЭКГ в среде симулятора ;

6. Разработка электрической схемы, монтаж и сборка макета ;

7. Подключение и запуск программатора; запись объектного модуля программы в буфер программатора ;

8. Запись кода программы из буфера программатора в ППЗУ контроллера ;

9. Чтение результата записи и контроль ее правильности ;

10. Установка микроконтроллера в макет, включение питания макета и проверка функционирования контроллера путем контроля частоты его тактирования по осциллографу ;

11. Проверка частоты дискретизации по выходу младшего разряда порта контроллера и сигнала ЭКГ на выходе схемы макета с помощью осциллографа ;

12. Подстройка тактовой частоты контроллера и корректировка формы сигнала ЭКГ.

Текст программы написан на макроассемблере PIC-контролле­ров семейства PIC16. Ввод исходного текста, компиляция и отладка программы выполнялась средствами отладчика-симулятора MPLAB фирмы Microchip, установленного в среде WINDOWS – XP SP2 на персональный компьютер PENTIUM-4. Проверка времени ис­пол­нения о­т­де­ль­ных фрагментов программы и в целом также осуществлялась средствами симулятора. Програ­мма физического моделирования ЭКГ приведена на рис.2. Для краткости из нее изъяты значения отсчетов ЭКГ за исключением первого и последнего, которые остав­ле­ны,чтобы не нарушать струк­туру программы (эти значения соответствуют изолинии ЭКГ и потому совпадают). В процессе компиляции исходного модуля программы *.asm созда­ются: объектный модуль *.obj, исполнимый модуль *.exe, а также абсолютный код*.hex.

Последний необходим для его записи в кристалл микроконтроллера.

;Программа Mod_EKG.asm. Физическое моделирование ЭКГ.

# INCLUDE "P16F84.INC"

LIST P=16F84

__CONFIG 3FFBh

ORG 20H

COUNT2 DB 1

COUNT3 DB 1

COUNT1 DB 1

CODE

ORG 00H

GOTO START

START: MAIN PROC

CLRF PORTB

BSF RP0

CLRF TRISB

MOVLW 88H

MOVWF OPTION

BCF RP0

MOVLW 0FFH

MOVWF COUNT3 ;ЧИСЛО ЦИКЛОВ

M10: CLRF COUNT2

MOVLW 0ACH

MOVWF COUNT1 ;РАЗМЕР МАССИВА

M20: MOVF COUNT2,0

CALL MASSIV

MOVWF PORTB