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

Все разряды порта В настраиваются на запись данных. Таймер 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