Микропроцессорный измерительный преобразователь биоэлектрических сигналов (Нерекурсивный фильтр 3 порядка)

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    79,33 Кб
  • Опубликовано:
    2014-12-23
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Микропроцессорный измерительный преобразователь биоэлектрических сигналов (Нерекурсивный фильтр 3 порядка)













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

Введение

микроконтроллер mathcad алгоритм преобразователь

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

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

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

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

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

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

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

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

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

Измерительный преобразователь биоэлектрических сигналов используется для регистрации физиологических параметров пациента и передачи их в ПК для последующей реализации методик лечения по методу биологической обратной связи (БОС) в центрах реабилитации и профилактики, в учебных заведениях. Диапазоны измерения: ЧСС от 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. Функциональная схема преобразователя

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

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

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

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

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

. Архитектура микроконтроллера 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Бит 0RDY0--

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

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

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

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

Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0--ADC0EN-MD2MD1MD00EN - разрешение основного АЦП

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

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

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

MD2MD1MD0Режим0114

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

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

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

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

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

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

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

CH1CH0Вход(+)Вход(-)00AIN1AIN20 - бит униполярного преобразования основного АЦП

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

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

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

RN2RN1RN0Входной диапазон основного АЦП (VREF=2.5В)011±160мВ

SF (регистр «SINC» фильтра)

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

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

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

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

Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0-B0I2PINI1PINI2ENI1EN

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-битного преобразования основного АЦП.

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

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

В составе микроконтроллера имеются регистровые пары с символическими именами 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 различны.

Регистр управления / статуса таймера TCON

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

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

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

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

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

Регистр разрешения прерываний IE

СимволБитИмя и назначениеEA7Записывается пользователем для того, чтобы разрешить «1» или запретить «0» все источники прерываний.EADC6Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от АЦПET25Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от таймера 2ES4Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от последовательного порта обмена (UART)ET1 3Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от таймера 1EX12Записывается пользователем для того, чтобы разрешить «1» или запретить «0» внешнее прерывание «1»ET01Записывается пользователем для того, чтобы разрешить «1» или запретить «0» прерывание от таймера 0EX00Записывается пользователем для того, чтобы разрешить «1» или запретить «0» внешнее прерывание «0».

Регистр приоритета прерываний IP

СимволБитИмя и назначение-7-PADC6записывается пользователем для выбора приоритета прерывания от АЦП («1» - высокий, «0» - низкий)PT2 5записывается пользователем для выбора приоритета прерывания от Таймера 2 («1» - высокий, «0» - низкий)PS4записывается пользователем для выбора приоритета прерывания порта последовательного обмена UART («1» - высокий, «0» - низкий)PT1 3записывается пользователем для выбора приоритета прерывания от Таймера 1 («1» - высокий, «0» - низкий)PX12записывается пользователем для выбора приоритета прерывания внешнего прерывания 1 («1» - высокий, «0» - низкий)PT01записывается пользователем для выбора приоритета прерывания от Таймера 0 («1» - высокий, «0» - низкий)PX00записывается пользователем для выбора приоритета прерывания внешнего прерывания 0 («1» - высокий, «0» - низкий)

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

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

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


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

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


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

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

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

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

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

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

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

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

;**********************************************AT 00H; абсолютный сегмент кодаSTART; первая команда по адресу 0000BH; вектор внешнего прерыванияNEXT_DATA; переход на подпрограммуAT 60H; абсолютный сегмент: DS 10H; резервируем 16 байтов под стекSEGMENT DATA ; объявляем перемещаемый сегмент данныхMYDATA30H; переместить локальный счетчик на адрес: DS 8 ; резервируем место для данных

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

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

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

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

MYPROG ; активируем этот сегмент50H ; переместить локальный счетчик на адрес 50H:SP, #STACK-1 ; инициализировать указатель стекаIT0 ; установление прерываний по срезуIE, #82H ; разрешение всех прерыванийEX0 ; разрешение внешнего прерыванияTMOD, #01H ; инициализация таймераTL0, #0FFH ; запись кодов начальной задержкиTH0, #0FFH ; в таймерTR0 ; запуск таймераSCON, #052H ; установка режима 8-битного UART_gnd:Back_gnd ; организация кольцевого цикла_DATA:Mx, #1 ; записываем данные в зарезервированные ячейки

MOV Mx+1, #2Mx+2, #3Mx+3, #4Mx+4, #5Mx+5, #6Mx+6, #7Mx+7, #8b0, #Mx-3b1, #Mx-2b2, #Mx-1

MOV b3, #MxPbuf, #0 ; записываем в указатель буфера 0R0, Mx ; записываем в ячейку R0 первое значение Х

R5, #2 ; счетчик цикловR6, #4 ; количество циклов: ; подпрограмма вычисления Ук=bi*X (k-1)A, R0 ; помещаем в аккумулятор R0R1, A ; помещаем аккумулятор в R1A ; очищение аккумулятораPbuf, #03H ; ОГРАНИЧЕНИЕ ПРИРАЩЕНИЯ, ОРГАНИЗАЦИЯ КОЛЬЦЕВОГО БУФЕРА

A, Pbuf ; ДЛЯ ФОРМИРОВАНИЯ АДРЕСАA, #Buf ; ФОРМИРОВАНИЕ АДРЕСА В БУФЕРЕA, R1 ; ЗАГРУЗКА В R1 АДРЕСА БУФЕРА@R1, A ; поместить число в буферST, @R1 ; помещаем содержимое R1 в ячейку ST

PUSH ST ; сохранение ячейки STPbufR0R6, LOOPR1, #Buf ; указатель на буфер

MOV R0, #b0 ; указатель на b0SUMM, #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 ; запрет прерыванийTH0,#0F8H ; старший байт дополнительного кода периода цикла

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ассемблер A51 совместим с ASM51 Intel для всего семейства микроконтроллеров Intel 8051. Ассемблер транслирует символическую мнемонику в перемещаемый объектный код, имеющий высокое быстродействие и малый размер. Макросредства ускоряют разработку и экономят время, поскольку общие последовательности могут быть разработаны только один раз. Ассемблер поддерживает символический доступ ко всем элементам микроконтроллера и перестраивает конфигурацию для каждой разновидности Intel 8051.транслирует исходный файл ассемблера в перемещаемый объектный модуль. При отладке или при включенной опции «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.Сергиенко А.Б. Цифровая обработка сигналов.

.Баринов В.В. Основы моделирования стохастических систем. Методические указания к лабораторным работам.

.Мирский Г.Я. Электронные измерения.

.Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов.

.Усатенко С.Т., Каченюк Т.К., Терехова М.В. Выполнение электрических схем по ЕСКД.

.Сайт: http://www.8052.com/codelib.phtml

Похожие работы на - Микропроцессорный измерительный преобразователь биоэлектрических сигналов (Нерекурсивный фильтр 3 порядка)

 

Не нашел материал для своей работы?
Поможем написать качественную работу
Без плагиата!