- •1. Цель работы.
- •2. Описание используемых аппаратных и программных средств.
- •2.1. Макет устройства для воспроизведения экг.
- •2.2. Методика подготовки исходных данных.
- •2.3. Способы программного управления внешними устройствами.
- •2.4. Применение таймера и портов для программирования сигналов.
- •2.5. Методика физического моделирования экг.
- •Incf count2 ;текущий адрес массива
- •2.6. Программатор, его программное обеспечение и порядок работы с ним.
- •3. Содержание работы.
- •4. Порядок выполнения работы.
- •4.1. Домашняя подготовка к работе.
- •4.2. Домашнее задание.
- •4.3. Аудиторное задание.
- •4.3.1. Отладка программ.
- •4.3.2. Работа с программатором .
- •4.3.3. Исследование работы макета.
- •5. Отчет по работе.
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