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