89579

Микропроцессорный измерительный преобразователь биоэлектрических сигналов

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

На основе МП могут быть построены вычислительные и управляющие устройства, позволяющие автоматизировать практически все процессы в медицине: прием больного на учет в поликлинике и выделение места в больнице; ведение истории болезни; обработка данных осмотра и опроса больного...

Русский

2015-05-13

698 KB

3 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ  ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ  ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Рязанский государственный радиотехнический университет»

Факультет автоматики и информационных технологий в управлении

Кафедра Информационно-измерительной и биомедицинской техники

Пояснительная записка к курсовой работе по дисциплине

«Микропроцессоры и микро-ЭВМ в медико-биологических исследованиях»

на тему:

«Микропроцессорный измерительный преобразователь

биоэлектрических сигналов»

 

 Выполнил: ст. гр. 933

Кузнецов М. Г.

Проверил: доц. каф. ИИБМТ

Виноградов А. Л.

Рязань 2012г.

Содержание

[0.0.0.1] Содержание

[0.0.0.2]
Введение

[0.0.0.3] 1. Структурная схема преобразователя

[0.0.0.4] 2. Функциональная схема преобразователя

[0.0.0.5] 3. Принципиальная схема преобразователя

[0.0.0.6] 4. Архитектура микроконтроллера ADuC816

[0.0.0.7]
5. Описание регистров специальных функций

[0.1] Таймер/счётчик

[0.2] Система прерываний

[0.2.0.1]
6. Описание алгоритма обработки

[0.2.0.2] 7. Моделирование в среде MATHCAD

[0.2.0.3] 8. Блок-схема алгоритма

[0.2.0.4] 9. Текст программы

[0.3] Оптимизирующий кросс-компилятор C51

[0.4] Макроассемблер A51

[0.5] Компоновщик L51

[0.6]
Отладчик/симулятор WinSim51

[0.6.0.1] Заключение

[0.6.0.2]
Список использованных источников:


Введение

Микропроцессор  (МП)  играет такую же роль в вычислительной технике, как и центральный процессор ЭВМ. Высокая серийность и надежность МП при малых габаритных размерах и низкой стоимости аппаратуры, разработанной на их основе, делает возможным их широкое распространение в медицинских приборах и системах.

На основе МП могут быть построены вычислительные и управляющие устройства, позволяющие автоматизировать практически все процессы в медицине: прием больного на учет в поликлинике и выделение места в больнице; ведение истории болезни; обработка данных осмотра и опроса больного; проведение функциональной диагностики и клинико-лабораторного анализа; контроль за состоянием больных и их лечением.

Среди многочисленных применений МП в медицинских приборах и системах можно выделить два основных направления, оказавшихся наиболее плодотворными.

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

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

Большинство медицинских сигналов по своей природе являются непрерывными (аналоговыми). Широкое применение цифровых устройств и компьютеров для обработки медико-биологических сигналов невозможно без применения устройств преобразования аналоговых сигналов в цифровые, то есть без преобразователей биоэлектрических сигналов.

Применение МП позволило решить одновременно задачи обработки биосигналов и взаимодействия персонала с системой. В связи с важностью контроля состояния сердечной деятельности наиболее часто используется автоматический анализ биопотенциал сердца в реальном масштабе времени.

На основе микропроцессоров могут быть построены вычислительные и управляющие устройства, позволяющие автоматизировать практически все процессы в медицине: ведение истории болезни, обработка данных осмотра и опроса больного, проведение функциональной диагностики и клинико-лабораторного анализа, контроль за состоянием больных и их лечением.

Измерительный преобразователь биоэлектрических сигналов.

Измерительный преобразователь биоэлектрических сигналов используется для регистрации физиологических параметров пациента и передачи их в ПК для последующей реализации методик лечения по методу биологической обратной связи (БОС) в центрах реабилитации и профилактики, в учебных заведениях. Диапазоны измерения: ЧСС от 20 до 200 1/мин, погрешность 1 1/мин; ЧД от 10 до 120 1/мин, погрешность 1 1/мин; сопротивления кожного покрова от 10 до 500 кОм, погрешность 5%;  температуры от 34 до 400С, погрешность 0,10С.

В данной курсовой работе в первом разделе описаны схемы преобразователя: структурная, функциональная и принципиальная; во втором разделе архитектура микроконтроллера ADuC816; в третьем – аналитическое описание задания; в четвёртом – модульный принцип программирования; в пятом- отладка системы в целом; в шестом и седьмом рассмотрены  внутрисхемное программирование и подпрограмма конфигурирования контроллера.

1. Структурная схема преобразователя

В данной курсовой работе рассматривается усилитель биоэлектрических сигналов. Структурная схема представлена на рисунке 1.

Для преобразования измеряемой величины нам потребуется преобразователь, микроконтроллер и усилитель мощности. Первичный измерительный преобразователь необходим для того, чтобы преобразовать измеряемую величину (температуру) в напряжение. Затем сигнал поступает на микроконтроллер и проходит необходимую обработку. Обработанный сигнал поступает на усилитель мощности, который необходим для согласования сигнала с последующими устройствами, например, с устройством отображения.

где  АЦП – аналогово-цифровой преобразователь

Порт ввода – по этому порту исходные данные передаются в вычислитель

Вычислитель – производит математическую обработку исходных данных

Порт вывода – по этому порту передаются выходные данные

ЦАП – цифро-аналоговый преобразователь

x(t) – непрерывный входной сигнал

y(t) – непрерывный сигнал на выходе ЦАП

h – интервал (период) дискретизации

2. Функциональная схема преобразователя

Рисунок 2 – функциональная схема преобразователя

       На рисунке 2 представлена функциональная схема типового приложения на ADuC816 для выполнения аналогового измерения.  Здесь резисторы R1-R4 составляют неуравновешенный мост, с которого на входы AIN1 и AIN2 аналогово-цифрового преобразователя поступает дифференциальное напряжение. Ток через мост генерируется встроенными в МК источниками тока UT. Сигналы с АЦП обрабатываются вычислительным ядром (ВЯ) и через последовательный порт обмена UART поступают на программатор, в качестве которого выступает микросхема ADM202. С этой микросхемы сигнал через компорт RS-232 поступает на ЭВМ. На рисунке также изображен PSEN – логический выход разрешения внешней памяти. Вывод остается в высоком логическом состоянии при обращении к внутренней памяти программ. При обычной работе МК ключ K1 разомкнут

3. Принципиальная схема преобразователя

Микропроцессор  ADuC816 используется для решения задач обработки сигналов, принципиальная схема которого  представлена на рисунке 3.

Рисунок 3 – принципиальная схема преобразователя

С вывода 3  микроконтроллера на неуравновешенный мост подается ток возбуждения 400мкА. Неуравновешенный мост находится за пределами печатной платы микроконтроллера (на теле человека), поэтому изображаем его как разъем XS1. Сигналы с моста поступают на положительный и отрицательный аналоговые входы основного АЦП 9 и 10. К входу 15 подключено устройство сброса ADM810, высокий уровень на этом входе в течение 24 циклов тактовой частоты при работающем осцилляторе осуществляет сброс устройства. Через контакты 16 и 17 осуществляется обмен информацией с ADM202 – устройством сопряжения с ЭВМ. ADM202 подключена к ЭВМ через порт RS-232. К контактам 32 и 33 подключен кварцевый резонатор частотой 32.768 КГц, который необходим для стабилизации частоты микроконтроллера.

4. Архитектура микроконтроллера ADuC816

Рассматриваемый в данной курсовой работе микропроцессор хорошо подходит для решения задач обработки сигнала. Он обладает быстрым 12-разрядным АЦП и другими встроенными высокопроизводительными аналоговыми и цифровыми периферийными устройствами, имеет быстрое ядро типа MCS - 52, но оно полностью совместимо с 8051. Архитектура представлена на рисунке 4.

Рисунок 4 – Архитектура  МК ADuC816

  ADuC816 является законченным препроцессором интеллектуального датчика (преобразователя), включающим в себя:

  •  два сигма-дельта АЦП высокого разрешения,
  •  8-разрядное микропроцессорное устройство управления,
  •  встроенную неразрушаемую FLASH/ЕЕ память программ/данных.

     Это малопотребляющее устройство принимает сигналы низкого уровня непосредственно с первичного преобразователя.  Кроме двух независимых АЦП (основного и дополнительного) в составе имеется датчик температуры и усилитель PGA (что позволяет выполнять прямые измерения сигналов низкого уровня). АЦП с встроенным цифровым фильтром предназначены для измерения низкочастотных сигналов в широком динамическом диапазоне таких, как сигналы с устройств взвешивания, тензометров или сигналы с температурных датчиков.

Устройство работает с кварцем 32 КГц, а встроенная система ФАПЧ образует требуемую внутреннюю рабочую частоту 12.58 МГц. Эта частота подается на программируемый делитель, на выходе которого и образуется рабочая тактовая частота ядра. Машинный цикл ядра состоит из 12 циклов выбранной рабочей тактовой частоты. На кристалле содержится 8 Кб неразрушаемой FLASH/ЕЕ памяти программ, 640 байт FLASH/ЕЕ памяти данных и 256 байт оперативной памяти данных с произвольным доступом (RAM).

      В составе ADuC816 имеются дополнительные аналоговые элементы:

  •  12-разрядный ЦАП,
  •  источники тока,
  •  монитор источника питания.

  Встроенная цифровая периферия кристалла включает в себя:

  •  сторожевой таймер,
  •  счетчик временного интервала,
  •  три таймера/счетчика,
  •  последовательные порты.

    Заводское ПЗУ поддерживает режимы последовательной загрузки и отладки (через UART), a также режим эмуляции через единственный внешний контакт ЕА/. Устройство работает от источника питания от +ЗВ до +5В. При работе от источника +ЗВ рассеиваемая мощность составляет менее 10 мВт. Диапазон выходного напряжение с ЦАП при таком питании равен от 0В до 1.28В ADuC816 выпускается в 52-контактном корпусе MQFP.             

 SFR интерфейса к основному  АЦП

Оба канала АЦП управляются и конфигурируются через ряд SFR регистров:

ADCSTAT (статусный регистр АЦП).

Этот регистр отражает состояние обоих каналов АЦП, включая готовность данных, калибровку и различные (относящиеся к АЦП) ошибки и предупреждения, включая ошибку определения наличия ИОН и флаг переполнения.

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

RDY0

-

-

RDY0 – бит готовности основного АЦП

Устанавливается по завершению преобразования АЦП или цикла калибровки. Сбрасывается непосредственно пользователем или косвенно путем записи битов запуска следующего цикла преобразования или калибровки основного АЦП. Основному АЦП запрещается запись результатов в регистры данных или калибровки до тех пор, пока бит RDY0 не сброшен.

.

ADCMODE (регистр режима АЦП).

Используется для управления режимами работы обоих каналов АЦП.

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

-

-

ADC0EN

-

MD2

MD1

MD0

ADC0EN – разрешение основного АЦП

Устанавливается пользователем для того, чтобы разрешить работу основного АЦП и установить его в режим в соответствии с выбранными битами режима MD2-MD0. Сбрасывается пользователем для установки основного АЦП в режим «со снятым питанием» (POWER DOWN).

MD2, MD1, MD0 – биты режима основного и дополнительного АЦП

Эти биты устанавливают режим работы разрешенного АЦП следующим образом:

MD2

MD1

MD0

Режим

0

1

1

4

Режим 4 – циклическое преобразование. В таком режиме регистры данных АЦП постоянно модифицируются с частотой выбранного потока на выходе.

 ADC0CON (регистр управления основным АЦП).

Используется для конфигурации основного АЦП по диапазону, выбору канала, разрешению внешнего ИОН и режиму униполярного или биполярного преобразования.

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

-

XREF0

CH1

CH0

UNI0

RN2

RN1

RN0

XREF0 – бит выбора внешнего ИОН для основного АЦП

Устанавливается пользователем для того, чтобы разрешить использование основным АЦП внешнего ИОН через контакты REFIN(+)/REFIN(-). Сбрасывается пользователем для использования основным АЦП внутреннего ИОН по запрещенной зоне (VREF=1.25В).

CH1, CH0 – биты выбора канала для основного АЦП

Записывается пользователем для выбора пары дифференциальных входов, используемых основным АЦП:

CH1

CH0

Вход(+)

Вход(-)

0

0

AIN1

AIN2

UNI0 – бит униполярного преобразования основного АЦП

Устанавливается пользователем для разрешения униполярного кодирования, т.е. ноль на дифференциальном входе даст 0000HEX на выходе АЦП. Сбрасывается пользователем для разрешения биполярного кодирования, т.е. ноль на дифференциальном входе даст 8000HEX на выходе АЦП.

RN2, RN1, RN0 – биты диапазона основного АЦП

Устанавливаются пользователем для выбора входного диапазона АЦП:

RN2

RN1

RN0

Входной диапазон

основного АЦП

(VREF=2.5В)

0

1

1

±160мВ

 SF (регистр “SINC” фильтра).

Число в этом регистре используется для установки коэффициента деления (децимации) основной частоты, и, таким образом, частоты потока выходных данных основного и дополнительного АЦП. Этот регистр не может быть установлен программным обеспечением пользователя до тех пор, пока любой из АЦП активен. Данный выходной поток одинаков как для основного, так и для дополнительного АЦП.

В нашей задаче SF=13, тогда частота дискретизации 105 Гц

 ICON -  регистр управления источниками тока.

Используется для управления и конфигурации вариантов включения встроенных источников тока возбуждения и контроля целостности внешней цепи (перегорания датчика).

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

-

B0

I2PIN

I1PIN

I2EN

I1EN

BO – бит разрешения источников тока контроля целостности внешней цепи

Устанавливается пользователем для включения обоих источников тока контроля целостности датчика во входной цепи основного АЦП. Сбрасывается пользователем для выключения обоих источников тока контроля.

I2PIN – бит выбора направления источника тока – 2

Устанавливается пользователем для подачи источника тока – 2 (200мкА) на внешний контакт 3 (P1.2/DAC/IEXC1). Сбрасывается пользователем для подачи источника тока – 2 (200мкА) на внешний контакт 4 (P1.3/AIN5/IEXC2).

I1PIN – бит направления источника тока – 1

Устанавливается пользователем для подачи источника тока – 1 (200мкА) на внешний контакт 4 (P1.3/AIN5/IEXC2). Сбрасывается пользователем для подачи источника тока – 1 (200мкА) на внешний контакт 3 (P1.2/DAC/IEXC1).

I2EN – бит разрешения источника тока – 2

Устанавливается пользователем для включения источника тока возбуждения – 2 (200мкА). Сбрасывается пользователем для выключения источника тока возбуждения – 2 (200мкА).

I1EN – бит разрешения источника тока – 1

Устанавливается пользователем для включения источника тока возбуждения – 1 (200мкА). Сбрасывается пользователем для выключения источника тока возбуждения – 1 (200мкА).

 ADC0H/ADC0M – регистры данных основного АЦП.

Эти два 8-битных регистра содержат результат 16-битного преобразования основного АЦП.


5. Описание регистров специальных функций

Таймер/счётчик

В составе микроконтроллера имеются регистровые пары с символическими именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера/счётчика событий (T/C0 и T/C1). При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, то есть через каждые 12 периодов резонатора. При работе в качестве счётчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0, T1) вход микроконтроллера. Опрос сигналов выполняется в каждом машинном цикле. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчёта входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считываемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла.

Для управления режимами работы и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций TMOD и TCON. Для обоих T/C режимы работы 0, 1 и 2 одинаковы. Режимы 3 для T/C0 и T/C1 различны.

Таблица 1. Регистр управления/статуса таймера TCON

Символ

Бит

Имя и назначение

IE0

1

Флаг фронта прерывания 0. Устанавливается по срезу сигнала INT0. Сбрасывается при обслуживании прерывания.

IT0

0

Бит управления типом прерывания 0. Устанавливается/сбрасывается программно для спецификации запроса INT0 (срез/низкий уровень).

Система прерываний

Внешние прерывания INT0 и INT1 могут быть вызваны уровнем или переходом сигнала из 1 в 0 на входах микроконтроллера в зависимости от значений управляющих битов IT0 и IT1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре TCON, которые инициируют вызов соответствующей подпрограммы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по переходу (срезу) сигнала. Если же прерывание вызвано уровнем входного сигнала, то сбросом флага IE управляет соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия им запроса.

Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерывания RI и TI устанавливаются UART аппаратно, но сбрасываться должны программой. Прерывания могут быть вызваны или отменены программой, так как все перечисленные флаги программно доступны.

В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний и уровнями приоритета. Форматы этих регистров, имеющих символические имена IE и IP описаны в табл. 4 и 5.

Таблица 4. Регистр разрешения прерываний IE

Символ

Бит

Имя и назначение

EA

   7

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» все источники прерываний.

EADC

   6

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от АЦП

ET2

   5

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от таймера 2

ES

   4

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от последовательного порта обмена (UART)

ET1

   3

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от таймера 1

EX1

   2

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» внешнее прерывание «1»

ET0

   1

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от таймера 0

EX0

   0

Записывается пользователем для того, чтобы разрешить «1» или запретить «0» внешнее прерывание «0».

Таблица 5. Регистр приоритета прерываний IP

Символ

Бит

Имя и назначение

-

   7

-

PADC

   6

записывается пользователем для выбора приоритета прерывания от АЦП («1» - высокий, «0» - низкий)

PT2

   5

записывается пользователем для выбора приоритета прерывания от Таймера 2 («1» - высокий, «0» - низкий)

PS

   4

записывается пользователем для выбора приоритета прерывания порта последовательного обмена UART («1» - высокий, «0» - низкий)

PT1

   3

записывается пользователем для выбора приоритета прерывания от Таймера 1 («1» - высокий, «0» - низкий)

PX1

   2

записывается пользователем для выбора приоритета прерывания внешнего прерывания 1 («1» - высокий, «0» - низкий)

PT0

   1

записывается пользователем для выбора приоритета прерывания от Таймера 0 («1» - высокий, «0» - низкий)

PX0

   0

записывается пользователем для выбора приоритета прерывания внешнего прерывания 0 («1» - высокий, «0» - низкий)


6. Описание алгоритма обработки

В данной работе в качестве алгоритма обработки рассмотрен  нерекурсивный фильтр третьего порядка.

Прежде всего следует отметить, что в общем случае при вычислении и очередного выходного отсчета у(к) используется информация двух типов: некоторое количество отсчетов входного сигнала и некоторое количество предыдущих отсчетов выходного сигнала. Ясно, что хотя бы один отсчет входного сигнала должен участвовать в вычислениях; в противном случае выходной сигнал не будет зависеть от входного. В противоположность этому, предыдущие отсчеты выходного сигнала могут не использоваться. Уравнение фильтрации в этом случае приобретает вид:

   

Количество используемых предыдущих отсчетов m называется порядком фильтра. Некоторое количество предыдущих отсчетов входного сигнала храниться в ячейках памяти, которые образуют дискретную линию задержки. Эти отсчеты умножаются на коэффициенты bi и суммируются, формируя выходной отсчет у(к).

7. Моделирование в среде MATHCAD

Рис.5 Результат вычисления Ук

8. Блок-схема алгоритма

Рисунок 5. Структура программы микроконтроллера

 

Блок-схема программы интегрирования числовой последовательности методом трапеций.

 

    MYDATA:

  

   START:

 

 

    

                                    Нет                                                                  Да

 

Рисунок 6. Блок-схема программы числовой последовательности методом не рекурсивный фильтр третьего порядка

9. Текст программы

;**********************************************

;программа реализующая не рекурсивный фильтр

;III-го порядка                        

;Выполнил: ст. гр. 933                    

;Кузнецов М. Г.                                    

;Проверил: доц. каф. ИИБМТ

;Виноградов А. Л.                                             

;**********************************************

CSEG  AT 00H   ;абсолютный сегмент кода

LJMP  START   ;первая команда по адресу 0

ORG  000BH    ;вектор внешнего прерывания

JMP  NEXT_DATA   ;переход на подпрограмму

ISEG  AT 60H    ;абсолютный сегмент

STACK:  DS 10H    ;резервируем 16 байтов под стек

MYDATA SEGMENT DATA   ;объявляем перемещаемый сегмент данных

RSEG  MYDATA

ORG 30H     ;переместить локальный счетчик на адрес

Mx:     DS 8     ;резервируем место для данных

b0:     DS 1

b1:     DS 1

b2:     DS 1

b3:     DS 1     

Buf:    DS 4     ;резервируем место для буфера

Pbuf:  DS 1     ;резервируем место для указателя буфера

SUMM: DS 1     ;резервируем место для младшего байта сумм

ST:    DS 1             ;резервируем место для хран. промежуточного значения R0

MYPROG SEGMENT CODE   ;объявляем перемещаемой сегмент с именем MYPROG для кода нашей программы

RSEG  MYPROG            ;активируем этот сегмент

ORG  50H                 ;переместить локальный счетчик на адрес 50H

START:

MOV SP, #STACK-1        ;инициализировать указатель стека

SETB   IT0             ; установление прерываний по срезу

MOV IE, #82H             ; разрешение всех прерываний

SETB  EX0               ; разрешение внешнего прерывания

MOV TMOD, #01H         ; инициализация таймера

MOV   TL0, #0FFH       ;запись кодов начальной задержки

MOV   TH0, #0FFH        ;в таймер

SETB   TR0             ; запуск таймера

MOV   SCON, #052H       ; установка режима 8-битного  UART

Back_gnd:

JMP  Back_gnd           ;организация кольцевого цикла

NEXT_DATA:

MOV  Mx, #1            ;записываем данные в зарезервированные ячейки

MOV  Mx+1, #2

MOV  Mx+2, #3

MOV  Mx+3, #4

MOV  Mx+4, #5

MOV  Mx+5, #6

MOV  Mx+6, #7

MOV  Mx+7, #8

MOV  b0, #Mx-3

MOV  b1, #Mx-2

MOV  b2, #Mx-1

MOV  b3, #Mx

MOV  Pbuf, #0         ;записываем в указатель буфера 0

MOV  R0, Mx           ;записываем в ячейку R0 первое значение Х

MOV  R5, #2            ;счетчик циклов

MOV  R6, #4            ;количество циклов

LOOP:                    ;подпрограмма вычисления Ук=bi*X(k-1)

MOV  A, R0             ;помещаем в аккумулятор R0

MOV  R1, A             ;помещаем аккумулятор в R1

CLR  A                  ;очищение аккумулятора

ANL  Pbuf, #03H        ;ОГРАНИЧЕНИЕ ПРИРАЩЕНИЯ, ОРГАНИЗАЦИЯ КОЛЬЦЕВОГО БУФЕРА

MOV  A, Pbuf          ;ДЛЯ ФОРМИРОВАНИЯ АДРЕСА

ADD  A, #Buf           ;ФОРМИРОВАНИЕ АДРЕСА В БУФЕРЕ

XCH  A, R1              ;ЗАГРУЗКА В R1 АДРЕСА БУФЕРА

MOV  @R1, A           ;поместить число в буфер

MOV  ST, @R1          ;помещаем содержимое R1 в ячейку ST

PUSH  ST                ;сохранение ячейки ST

INC  Pbuf

INC  R0

DJNZ  R6, LOOP

MOV  R1, #Buf         ;указатель на буфер

MOV  R0, #b0          ;указатель на b0

MOV  SUMM, #0         ;очищаем ячейку с младшим байтом суммы

MOV  R6, #4            ;количество циклов

POP  ST                 ;восстановили ST

MOV  R0, #0

MOV  R0, Mx+4        ;приращение R0

MOV  R6, #4

DJNZ  R5, LOOP         ;декрементировать счетчик R5

NOP                      ;прерывание программы

CLR  EA                 ;запрет прерываний

MOV  TH0,#0F8H        ;старший байт дополнительного кода периода цикла

MOV  TL0,#2FH         ;младший байт дополнительного кода периода цикла

JMP   START

RETI                     ;возврат из подпрограммы обработки прерываний

END                      ;директива завершения трансляции


10. Отладка системы
.

В курсовой работе для отладки системы использована программа ProView.

ProView фирмы Franklin Software Inc. – интегрированная среда разработки программного обеспечения для однокристальных микроконтроллеров семейства Intel 8051 и его клонов. Она включает в себя всё, что нужно для создания, редактирования, компиляции, трансляции, компоновки, загрузки и отладки программ:

  1.  стандартный интерфейс Windows;
  2.  полнофункциональный редактор исходных текстов с выделением синтаксических элементов цветом;
  3.  организатор проекта;
  4.  транслятор с языка C;
  5.  ассемблер;
  6.  отладчик;
  7.  встроенную справочную систему.

Первый этап разработки программы – запись её исходного текста на каком-либо языке программирования.

Затем производится компиляция или трансляция его в коды из системы команд микроконтроллера, используя транслятор или ассемблер. Трансляторы и ассемблеры – прикладные программы, которые интерпретируют текстовый файл, содержащий исходный текст программы, и создают объектные файлы, содержащие объектный код.

После компоновки объектных модулей наступает этап отладки программы, устранения ошибок, оптимизации и тестирования программы.

ProView объединяет все этапы разработки прикладной программы в единый рекурсивный процесс, когда в любой момент времени возможен быстрый возврат к любому предыдущему этапу.

ProView имеет следующие компоненты.

Оптимизирующий кросс-компилятор C51

Язык C - универсальный язык программирования, который обеспечивает эффективность кода, элементы структурного программирования и имеет богатый набор операторов. Универсальность, отсутствие ограничений реализации делают язык C удобным и эффективным средством программирования для широкого разнообразия задач. Множество прикладных программ может быть написано легче и эффективнее на языке C, чем на других более специализированных языках.

C51 - полная реализация стандарта ANSI (Американского национального института стандартов), насколько это возможно для архитектуры Intel 8051. C51 генерирует код для всего семейства микроконтроллеров Intel 8051. Транслятор сочетает гибкость программирования на языке C с эффективностью кода и быстродействием ассемблера.

Использование языка высокого уровня C имеет следующие преимущества над программированием на ассемблере:

- глубокого знания системы команд процессора не требуется, элементарное знание архитектуры Intel 8051 желательно, но не необходимо;

- распределение регистров и способы адресации управляются полностью транслятором;

- лучшая читаемость программы, используются ключевые слова и функции, которые более свойственны человеческой мысли;

- время разработки программ и их отладки значительно короче в сравнении с программированием на ассемблере;

- библиотечные файлы содержат много стандартных подпрограмм, которые могут быть включены в прикладную программу;

- существующие программы могут многократно использоваться в новых программах, используя модульные методы программирования.

Макроассемблер A51

Ассемблер A51 совместим с ASM51 Intel для всего семейства микроконтроллеров Intel 8051. Ассемблер транслирует символическую мнемонику в перемещаемый объектный код, имеющий высокое быстродействие и малый размер. Макросредства ускоряют разработку и экономят время, поскольку общие последовательности могут быть разработаны только один раз. Ассемблер поддерживает символический доступ ко всем элементам микроконтроллера и перестраивает конфигурацию для каждой разновидности Intel 8051.

A51 транслирует исходный файл ассемблера в перемещаемый объектный модуль. При отладке или при включенной опции “Include debugging information” этот объектный файл будет содержать полную символическую информацию для отладчика/имитатора или внутрисхемного эмулятора.

Компоновщик L51

Компоновщик объединяет один или несколько объектных модулей в одну исполняемую программу. Компоновщик размещает внешние и общие ссылки, назначает абсолютные адреса перемещаемым сегментам программ. Он может обрабатывать объектные модули, созданные транслятором C51, ассемблером A51, транслятором PL/M-51 Intel и ассемблером ASM51 Intel.

Компоновщик автоматически выбирает соответствующие библиотеки поддержки и связывает только требуемые модули из библиотек. Установки по умолчанию для L51 выбраны так, чтобы они подходили для большинства прикладных программ, но можно определить и заказные установки.


Отладчик/симулятор WinSim51

Отладчик исходных текстов используется с транслятором C51, ассемблером A51, транслятором PL/M-51 Intel и ассемблером ASM51 Intel. Отладчик/симулятор позволяет моделировать большинство особенностей Intel 8051 без наличия аппаратных средств. Можно использовать его для проверки и отладки прикладной программы прежде, чем будут изготовлены аппаратные средства. При этом моделируется широкое разнообразие периферийных устройств, включая последовательный порт, внешний ввод - вывод и таймеры.

Заключение

В данной курсовой работе была написана программа реализующая вычисление числовой последовательности не рекурсивного фильтра третьего порядка, произведена отладка программы  в интегрированной среде программирования ProView. В результате выполнения курсовой работы были получены результаты, соответствующие заданию.  


Список использованных источников:

  1.  Хемминг Р.В. Цифровые фильтры.
  2.  Сергиенко А.Б. Цифровая обработка сигналов.
  3.  Баринов В.В. Основы моделирования стохастических систем. Методические указания к лабораторным работам.
  4.  Мирский Г.Я. Электронные измерения.
  5.  Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов.
  6.  Усатенко С.Т., Каченюк Т.К., Терехова М.В. Выполнение электрических схем по ЕСКД.
  7.  Сайт: http://www.8052.com/codelib.phtml

 


ЦАП

АЦП

Порт

ввода

Вычис-

литель

Порт

вывода

Выходная

величина

y(t)

Источник

сигнала

x(t)

 

величина

Импульсы синхронизации с периодом h

Рисунок 1 – Структурная схема преобразователя

Микроконтроллер

UT

REFIN+

REFIN-

R1

R3

AIN1

ВЯ

АЦП

R4

R2

AIN2

UART

PSEN

ЭВМ

Программатор

K1

R5

Рисунок 3 – принципиальная схема преобразователя

Прерывание от Т/С0

Первая команда. Переход на

блок инициализации

Блок инициализации

Вектор прерывания

по таймеру (03h)

Start_Up:

Back_Gr:

Срочная задача.

Выполнение алгоритма

RETI

DATA

Фоновая задача.

Бесконечный

цикл

NEXT_DATA

Начало

Загрузка начальных данных

Вызов подпрограммы нахождения суммы SUMMIR.

Сложение результата с предыдущей суммой.

Вывод суммы в порты Р0

(мл. байт суммы), Р1

(ст.байт суммы)

Последний входной сигнал Х

Конец


 

А также другие работы, которые могут Вас заинтересовать

81709. Двенадцать А. А. Блока – поэма о революции. Чтение наизусть и разбор отрывка из поэмы 31.47 KB
  Но вместе с тем блоковское понимание революции было ограниченным: поэт слышал в ней по преимуществу одну музыку музыку разрушения старого мира и именно ее громовое звучание он передал в Двенадцати Разумное же организующее созидательное начало пролетарской революции оставалось Блоку как и прежде; в значительной мере неясным. Восприятие Октябрьской революции как мирового пожара явственно сказалось в Двенадцати определив как сильные так и слабые стороны поэмы. Прогнивший старый мир с буржуями барынями попами и витиями осужден...
81710. Испытание любовью как средство характеристики героя в произведениях отечественной классики 19 веке 33.02 KB
  Способность человека любить – это для Т. критерий его состоятельности, и своих героев писатель непременно проводит через это испытание. Любовь в мироощущении Т. всегда отмечена знаком трагедии. Он говорит о чувстве либо отвергнутом, либо неосуществленном, либо оборванном на первой высокой ноте. Любовь трагична, ибо она по сути своей есть стремление к идеалу, идеал же недостижим.
81711. Футуризм как литературное направление. Анализ одного стихотворения поэта-футуриста 38.85 KB
  В творчестве Хлебникова Бурлюка зазвучали отголоски славянофильства свойственного русскому декадентству начала века. Хлебникова посвоему раннего Маяковского. Хлебникова В. Основные положения футуристической программы выразились в творчестве Велимира Хлебникова Виктора Владимировича Хлебникова 1885 1922 ведущего участника группы кубофутуристов или будетлян как назвал их поэт.
81712. Мысль семейная в произведениях отечественной классики 19 веке 32.23 KB
  Писатель считает что основой формирования личности является семья. Семья в понимании Т. Идеалом семейного бытия является семья Ростовых. и княжны Марьи состоявшееся Семья Н.
81713. Фантастические мотивы и образы в произведениях отечественной литературы 46.25 KB
  Петербургские повести с включением Коляски и отрывка Рим были объединены Гоголем в III томе Собрания его сочинений в 1842 г. Три повести Арабесок рассредоточены по всему сборнику чередуясь с историческими и эстетическими этюдами. Портрет является опытом создания романтической фантастической повести на современном материале. В повести она воплощается в образе ростовщика Петромихали его денег его страшного портрета.
81714. Тема России в поэзии А. Блока. Чтение наизусть и разбор одного стихотворения 32.56 KB
  В основе символизма лежит философия Владимира Соловьева, именем которого было ознаменовано для Блока - и не для него одного – начало 90 – х г. г. 19 в., то есть период « Прекрасной Дамы». Учение, теократию В. Соловьева можно довольно точно определить как воплощение духовного в жизненном. Вечная Женственность
81715. Черты социально – бытовой драмы и высокой трагедии в пьесе А. Островского « Гроза». Речевая характеристика персонажей 35.44 KB
  Катерина луч света в темном царстве по выражению Добролюбова появилась не откуда-то из просторов другой жизни другого исторического времени ведь патриархальный Калинов и современная ему Москва где кипит суета или железная дорога о которой рассказывает странница Феклуша это разное историческое время а родилась сформировалась в тех же калиновских условиях. О подробно демонстрирует это уже в экспозиции пьесы когда Катерина рассказывает Варваре о своей жизни в девичестве Главный мотив этого рассказа все пронизывающая любовь к...
81716. Противопоставление героев (Обломов – Штольц, Обломов – Ольга) и его значение в идейном содержании романа И.А.Гончарова «Обломов» 34.08 KB
  В 1849 г в альманахе Литературный сборник с иллюстрациями при журнале Современник был напечатан Сон Обломова. Современник признал мастерскими и правдивыми сцены из усадебной жизни и увидел в Сне Обломова творческий шаг вперед по сравнению с Обыкновенной историей. Но степень объективной моральной ценности Обломова все же невелика. Внутреннее единство барина и опустившегося слуги Захара трагикомическое по своей сути воспринимается как фарсовый вариант морального умирания Обломова.
81717. Лирика С. А. Есенина. Основные темы, идеи, художественное мастерство. Чтение наизусть одного стихотворения 44.16 KB
  Уже первый и единственный вышедший до революции сборник поэта Радуница 1916 содержал в себе эстетически завершенную картину деревенского мира воплощенную в такой же цельной системе неповторимых есенинских образов и интонаций. Так намечается уход поэта из реального мира на поиски какойто заповедной родины нездешних полей и перелесков неразгаданной земли скрытых от его взора синим мраком куда тем не менее влечется его душа. Туда в свою вневременную звездную стихию и устремляется душа поэта. В стихотворении Там где вечно...