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

115
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР) Кафедра телевидения и управления (ТУ) УТВЕРЖДАЮ Заведующий кафедрой ТУ, профессор _________________И.Н. Пустынский «______»___________________2012 г. МИКРОПРОЦЕССОРЫ В УСТРОЙСТВАХ И СИСТЕМАХ РАДИОСВЯЗИ, РАДИОВЕЩАНИЯ И ТЕЛЕВИДЕНИЯ Учебно - методическое пособие РАЗРАБОТАЛИ _______ В.А. Кормилин _______ А.Г. Костевич «______»_________2012 г.

Upload: others

Post on 08-Aug-2020

32 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»

(ТУСУР)

Кафедра телевидения и управления(ТУ)

УТВЕРЖДАЮЗаведующий кафедрой ТУ, профессор_________________И.Н. Пустынский

«______»___________________2012 г.

МИКРОПРОЦЕССОРЫ В УСТРОЙСТВАХ И СИСТЕМАХ РАДИОСВЯЗИ, РАДИОВЕЩАНИЯ И ТЕЛЕВИДЕНИЯ

Учебно - методическое пособие

РАЗРАБОТАЛИ_______ В.А. Кормилин_______ А.Г. Костевич

«______»_________2012 г.

2012

Page 2: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Кормилин В.А., Костевич А.Г. Микропроцессоры в устройствах и системах радиосвязи, радиовещания и телевидения: Учебное методическое пособие. Томск: кафедра ТУ, ТУСУР, 2012. – 82 с.

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

© Кормилин В.А., Костевич А.Г., 2012© Кафедра Телевидения и управления, ТУСУР, 2012

Page 3: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

СОДЕРЖАНИЕ

1 Введение..................................................................................52 Содержание лекционного курса............................................63 Лабораторный практикум......................................................7

3.1 Требования к персональному компьютеру и программному обеспечению.............................................7

3.2 Установка, настройка, запуск программ.........................83.3 Выполнение лабораторных работ и оформление отчетов9

4 Анализ характеристик ЦФ для обработки одномерных сигналов (Лабораторная работа № 1)..................................10

4.1 Цель работы......................................................................104.2 Вводная часть...................................................................10

4.2.1 Импульсная и переходная характеристики...........114.2.2 Амплитудно-частотная и фазочастотная

характеристики.........................................................124.2.3 Точностные характеристики...................................134.2.4 Шум квантования АЦП...........................................144.2.5 Ошибки неточных значений коэффициентов

фильтра......................................................................144.2.6 Ошибки квантования результатов вычислений....154.2.7 Предельные циклы...................................................17

4.3 Описание программных модулей...................................174.3.1 Запуск программного модуля.................................174.3.2 Программный модуль h(nT).mcd............................184.3.3 Программный модуль g(nT).mcd............................194.3.4 Программный модуль h(j).mcd............................194.3.5 Программный модуль sw.mcd.................................204.3.6 Программный модуль disp.mcd..............................204.3.7 Программные модули graf1.mcd, graf2.mcd,

graf3.mcd...................................................................204.3.8 Выход из программного модуля.............................21

4.4 Особенности выполнения лабораторной работы № 1.......................................................................21

4.5 Лабораторное задание.....................................................224.6 Содержание отчета..........................................................254.7 Список рекомендуемой литературы..............................25

Page 4: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

5 Синтез цифровых фильтров для обработки одномерных сигналов (Лабораторная работа № 2).................................26

5.1 Цель работы......................................................................265.2 Вводная часть...................................................................26

5.2.1 Синтез цифровых устройств для обработки одномерных данных.................................................26

5.2.2 Метод билинейного Z-преобразования.................275.2.3 Метод Z-форм...........................................................295.2.4 Синтез КИХ-фильтров методом временных окон 345.2.5 Частотные преобразования.....................................36

5.3 Ошибки округления коэффициентов фильтра..............385.4 Описание программных модулей...................................395.5 Программы для синтеза режекторного контура...........39

5.5.1 Программный модуль res_1.mcd............................395.5.2 Программный модуль bilin.mcd..............................40

5.6 Программы для синтеза ЦФ НЧ.....................................405.6.1 Программные модули batter.mcd, bessel.mcd,

chebysh.mcd...............................................................405.6.2 Программные модули l_f_filt.mcd, u_f_filt.mcd,

b_f_filt.mcd и r_f_filt.mcd........................................425.7 Программа оценки ошибок при изменении

коэффициентов.................................................................425.7.1 Программный модуль o10.mcd...............................42

5.8 Особенности выполнения лабораторной работы № 2..425.9 Лабораторное задание.....................................................435.10 Содержание отчета..........................................................455.11 Список рекомендуемой литературы..............................45

6 Создание программ для микро-ЭВМ и микроконтроллеров в устройствах и системах радиосвязи, радиовещания и телевидения...........................................................................46

6.1 Определения и термины..................................................466.2 Редактор текста................................................................516.3 Кросс-транслятор программ...........................................536.4 Кросс-компоновщик........................................................566.5 Кросс-отладчик................................................................576.6 Дополнительные функции кросс-отладчика.................64

6.6.1 Полноэкранное редактирование.............................646.6.2 Режим ассемблера....................................................65

Page 5: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

6.6.3 Работа с точками прерывания.................................657 Знакомство с пакетом кросс-программ (лабораторная

работа № 3)............................................................................667.1 Цель работы......................................................................667.2 Программная задержка....................................................677.3 Электронный светофор...................................................697.4 Лабораторное задание.....................................................697.5 Контрольные вопросы.....................................................70

8 Обработка данных в МК (лабораторная работа № 4)........718.1 Цель работы......................................................................718.2 Цифровая фильтрация данных.......................................718.3 Лабораторное задание.....................................................738.4 Контрольные вопросы.....................................................74

Приложение А............................................................................76

ВВЕДЕНИЕ

Page 6: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Курс «Микропроцессоры в устройствах и системах радиосвязи, радиовещания и телевидения» изучается в цикле специальных дисциплин специальности 201100 «Радиосвязь, радиовещание и телевидение» и предназначен для освоения современных методов цифровой обработки сигналов, принципов построения микропроцессорных устройств и применения микропроцессоров в устройствах и системах радиосвязи, радиовещания и телевидения.

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

В процессе обучения студент должен выполнить 4 компьютерных лабораторных работы и две контрольные работы. Изучение дисциплины заканчивается экзаменом.

СОДЕРЖАНИЕ ЛЕКЦИОННОГО КУРСА

1. Анализ цифровых фильтров. Цифровые цепи и сигналы. Дискретное преобразование Фурье. Z-преобразование. Реализа-ция линейных цифровых фильтров. Нелинейные эффекты в ЦФ.

2. Синтез цифровых фильтров. Методы синтеза ЦФ. Частотные преобразования при синтезе ЦФ.

3. Микропроцессоры в устройствах и системах радиосвязи, радиовещания и телевидения. Общие понятия. МП в системах управления. МП в системах обработки сигналов.

4. ОЭВМ семейства MCS-51. Структура, организация памяти, порты ввода и вывода, последовательный порт, таймеры, система прерываний, примеры составления простых программ.

5. RISC МК семейства AVR AT90S. Структура, организация памяти, режимы адресации, порты ввода и вывода, система прерываний, таймеры, UART, ADC, система команд, примеры программ.

6. Микропроцессоры обработки сигналов. Сигнальные микропроцессоры компании Texas Instruments. Сигнальные

Page 7: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

микропроцессоры компаний Analog Devices и Motorola. Пример программы для DSP.

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

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

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

Ниже приведены названия лабораторных работ:№ 1. «Анализ характеристик цифровых фильтров для

обработки одномерных сигналов».№ 2. «Синтез цифровых фильтров для обработки

одномерных сигналов».№ 3. «Знакомство с пакетом кросс-программ».№ 4. «Обработка данных в МК».

Требования к персональному компьютеру и программному обеспечению

Первые две работы выполняются в системе математического моделирования MathCAD 6.0 фирмы MathSoft Inc, поэтому требования к используемому для выполнения лабораторных работ персональному компьютеру обусловлены требованиями этой системы, а именно:

Page 8: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

персональный PC-совместимый компьютер на основе процессоров фирмы Intel (начиная с 80486) или совместимых. Арифметический сопроцессор не обязателен, но его наличие существенно увеличивает производительность ПК;

не менее 8 Мбайт оперативной памяти для работы системы MathCAD и объем оперативной памяти в 16 – 32 Мбайт для нормального функционирования операционной системы Windows, а именно, 8 Мбайт для Windows 95, не менее 16 Мбайт для Windows NT 4.0, как минимум, 32 Мбайта для Windows 98;

жесткий диск емкостью не менее чем 20 Мбайт свободного пространства для файлов системы MathCAD;

дополнительные 3 Мбайта свободного пространства на том диске (или разделе диска), на котором установлена операционная система Windows;

не менее 12 Мбайт виртуальной памяти для свопинга. Задание объема виртуальной памяти описано в руководстве пользователя Windows;

монитор и видеокарта, совместимые с Windows и способные поддерживать палитру не менее 256 цветов;

мышь, работающая под Windows.На используемом компьютере также должно быть

установлено следующее программное обеспечение: Windows 95 или более поздняя версия, или Windows

NT версии 4.0 или более поздней; текстовый процессор Word 7 (Word 95) или более

поздняя версия для чтения электронной версии методических указаний к лабораторным работам;

система MathCAD версии 6.0 или более поздней.

Установка, настройка, запуск программ

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

Page 9: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Внимание! Если копирование файлов производится с CD-ROM, по окончании процедуры копирования необходимо сбросить файловый атрибут «Read only» или «Только для чтения» для всех скопированных файлов, в том числе и файлов, находящихся в поддиректориях. По умолчанию, все файлы, находящиеся на CD-ROM, имеют установленный атрибут, и при копировании на жесткий диск этот атрибут остается установленным.

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

Для упрощения запуска лабораторных работ можно создать на «Рабочем столе» компьютера ярлык для исполняемого файла. Для справки по созданию ярлыка обратитесь к помощи операционной системы.

Выполнение лабораторных работ и оформление отчетов

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

По каждой проделанной лабораторной работе оформляется отдельный отчет. Конкретные требования к отчету приведены в описаниях работ. Общие требования к содержанию отчета:

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

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

Page 10: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

АНАЛИЗ ХАРАКТЕРИСТИК ЦФ ДЛЯ ОБРАБОТКИ ОДНОМЕРНЫХ СИГНАЛОВ (ЛАБОРАТОРНАЯ РАБОТА № 1)

Цель работы

Целью работы является изучение основ анализа характеристик цифровых фильтров.

Вводная часть

Линейный цифровой фильтр (ЦФ) это устройство, в котором текущий отсчет выходного сигнала представлен в виде линейной комбинации текущего отсчета входного сигнала и предыдущих входных и выходных отсчетов. Обработка входных данных линейным ЦФ (без учета эффектов квантования данных) описывается разностным уравнением

,

где x(nT) и y(nT) – отсчеты входного и выходного сигналов фильтра соответственно; и – коэффициенты фильтра; M и N – целые числа, определяющие порядок фильтра; T период дискретизации входных данных.

К основным характеристикам линейных ЦФ относятся: передаточная (системная) функция в Z-форме; импульсная и переходная характеристики; амплитудно-частотная и фазочастотная характеристики; точностные характеристики.

Page 11: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Передаточной функцией H(z) фильтра называют отношение Z-образа выходного сигнала Y(z) к Z-образу входного сигнала фильтра X(z) при нулевых начальных условиях, т.е. при y(–T) = y(–2T) =... = y(–NT) = 0 и, кроме того, x(nT) = 0 при n < 0:

Импульсная и переходная характеристики

Импульсной характеристикой (ИХ) линейного ЦФ называется реакция (выходной отклик) фильтра при нулевых начальных условиях на входное воздействие в виде единичного импульса

Используя выражение для передаточной функции H(z), полагая x(nT) = (nT), и учитывая, что Z{(nT)} = 1, получаем Z{h(nT)} = H(z). Таким образом, передаточная функция фильтра и его импульсная характеристика связаны однозначно через Z-преобразование.

Зная импульсную характеристику h(nT) и входной сигнал х(nT), можно получить выходной сигнал фильтра y(nT) в виде дискретной свертки

Переходной характеристикой (ПХ) линейного ЦФ называется реакция (выходной отклик) фильтра при нулевых начальных условиях на входное воздействие в виде единичной ступенчатой функции

Page 12: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Дискретные сигналы, единичный импульс (nT) и единичная ступенчатая функция U(nT) связаны соотношениями

Амплитудно-частотная и фазочастотная характеристики

Комплексная частотная характеристика (КЧХ) фильтра представляет собой результат подстановки в передаточную функцию H(z).

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

Модуль комплексной частотной характеристики называется амплитудно-частотной характеристикой (АЧХ) фильтра а ее аргумент – фазочастотной характеристикой (ФЧХ)

Функция arg(z) определяется следующим образом (z – комплексное число):

Page 13: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

То есть функция arg(z) изменяется в пределах

Таким образом, если на вход фильтра подан дискретный гармонический сигнал в виде синусоиды – то АЧХ определяет ее амплитуду, а ФЧХ – фазу синусоидального сигнала на выходе фильтра. Поскольку

периодическая функция с периодом по частоте то и

функции имеют тот же период повторения. Частотная характеристика фильтра, как правило,

задается на интервале

Определим еще одну характеристику цифрового фильтра – групповое время запаздывания

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

Точностные характеристики

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

Page 14: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

Шум квантования АЦП

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

Работу АЦП можно представить в виде двухэтапного процесса. На первом этапе формируется последовательность

На втором этапе значение каждого отсчета S(nT) представляется числом, состоящим из конечного числа двоичных разрядов. В результате получается новая последовательность Разность

называется шумом квантования входного сигнала по уровню или шумом аналого-цифрового преобразования.

Ошибки неточных значений коэффициентов фильтра

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

Page 15: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

Ошибки квантования результатов вычислений

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

обычно размещается в регистре с разрядов.Ошибка округления для данного источника

может быть оценена своей верхней границей

где шаг квантования выходных данных умножителя, или может рассматриваться как дискретный стационарный процесс с равномерной спектральной плотностью мощности с нулевым средним и дисперсией, равной

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

Page 16: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

С этой целью следует определить импульсные характеристики частей структуры фильтра от каждого k-го источника шума (выхода k-го умножителя) до выхода фильтра и вычислить свертки

Дисперсия шума округления на выходе фильтра, обусловленная всеми K источниками шума, будет равна

,

где – дисперсия составляющей выходного шума от k-го источника.

Дисперсия шума в выходном сигнале, обусловленная k-м источником

,

где

Используя равенство Парсеваля

,

можно записать эквивалентное выражение для расчета дисперсии от k-го источника шума:

где амплитудно-частотная характеристика для k-го источника шума.

Расчет дисперсии шума округления возможен также с использованием передаточных функций для k-го источника шума

Page 17: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Предельные циклы

Вследствие округления результатов вычисления на выходе ЦФ могут возникнуть специфические периодические колебания. Поясним это примером.

На вход ЦФ первого порядка, описываемого разностным уравнением

y(nT) = x(nT) – 0,9y(nT–T),подадим сигнал

На выходе реального ЦФ, в котором результаты вычислений округляются до целочисленных значений, сигнал будет иметь следующий вид: +10, –9, +8, –7, +6, –5, +5, –5….. Предельные циклы являются очень нежелательным явлением, так как приводят к возникновению паразитных колебаний на выходе ЦФ, уровень которых может значительно превышать уровень шума квантования. Наиболее точным и универсальным методом подавления предельных циклов с одновременным увеличением точности фильтрации входного массива является способ рекурсивных вычислений с учетом остатков от выполнения арифметических операций в ЦФ.

Описание программных модулей

Лабораторная работа состоит из 7 частей, каждая из которых реализована в виде программного документа для MathCAD. По каждой из частей организован программный модуль, который находится в группе LAB1.

Запуск программного модуля

Page 18: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Для запуска программного модуля необходимо указать манипулятором «мышь» на программный модуль (щелкнуть один раз левой кнопкой манипулятора) и нажать клавишу <Enter>. В результате этого действия запустится система MathCAD и автоматически загрузится выбранный программный модуль.

Список программных модулей, используемых в лабораторной работе №1:

h(nT).mcd – импульсная характеристика ЦФ.g(nT).mcd – переходная характеристика ЦФ.h(j).mcd – АЧХ и ФЧХ ЦФ.sw.mcd – дискретная свертка.disp.mcd – нахождение дисперсии ошибок округления

на выходе ЦФ.graf1.mcd – двумерное поле ошибок округления в ЦФ

второго порядка без учета остатков в зависимости от значений коэффициентов фильтрации b1 и b2.

graf2.mcd – двумерное поле ошибок округления в ЦФ второго порядка с учетом остатков в зависимости от коэффициентов фильтрации.

graf3.mcd – двумерное поле относительной дисперсии ошибок для двух вариантов построения ЦФ второго порядка.

Порядок работы с программными модулями приведен ниже.

Программный модуль h(nT).mcd

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

1. Период дискретизации T = 1 с.2. Число отсчетов входного и выходного сигналов L =

20.

Page 19: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

3. Максимальный порядок цифрового фильтра K = 20.Коэффициенты фильтра задаются в разделе «Задание

начальных условий». Выражение 1 (здесь и далее в программных модулях) задает входной сигнал. Выражение 2 определяет отклик на входное воздействие в виде единичного импульса (nT), который собственно и является импульсной характеристикой.

Программный модуль g(nT).mcd

Возможности данного программного модуля заключаются в том, что вы можете задавать коэффициенты рекурсивной и нерекурсивной частей интересующего вас фильтра и получать информацию о переходной характеристике фильтра. В начале программного модуля идет описание переменных, используемых в модуле, с комментариями и ограничениями, описанными в пункте 2.1. Коэффициенты фильтра задаются в разделе «Задание начальных условий». Выражение 3 задает входной сигнал.

Выражение 4 формирует отклик на входное воздействие в виде ступенчатой функции U(nT), который собственно и является переходной характеристикой.

Программный модуль h(j).mcd

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

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

Коэффициенты фильтра задаются в разделе «Задание начальных условий». По выражению 5 рассчитывается передаточная характеристика. Выражение 6 используется для

Page 20: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

построения АЧХ. Выражение 7 используется для построения ФЧХ.

Программный модуль sw.mcd

Программный модуль «Дискретная свертка входного сигнала с импульсной характеристикой фильтра» построен следующим образом.

В начале идет описание переменных, используемых в программном модуле с комментариями, при введенных ограничениях:

1. Период дискретизации T = 1 с.2. Число отсчетов входного сигнала L = 100.3. Число отсчетов ИХ фильтра K = 100.Затем приведены наиболее часто используемые входные

сигналы: единичный импульс x1(n), ступенчатая функция x2(n), гармоническая функция x3(n), прямоугольная функция x4(n), треугольная функция x5(n).

В качестве импульсной характеристики фильтра заданы две функции: и Выражение 8 – формула дискретной свертки. Данный программный модуль имеет следующие возможности: можно выбрать любой из пяти приведенных в модуле входных сигналов либо задать свой; выбрать импульсную характеристику либо задать свою. Выбранные функции необходимо задавать в разделе – «Задание начальных условий» следующим образом:

Программный модуль disp.mcd

Данный программный модуль используется для нахождения дисперсии. В начале программного модуля идет описание переменных, используемых в модуле. Выражение 9 – заданная передаточная функция. Выражение 10 – формула, используемая для нахождения дисперсии.

Page 21: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Программные модули graf1.mcd, graf2.mcd, graf3.mcd

Данные программные модули используются для построения двумерного поля ошибок округления в ЦФ второго порядка.

Во всех трех программных модулях предусмотрена возможность изменения уровня, по которому ограничивается поле ошибок. Задать иное максимальное значение функций можно рядом с трехмерным графиком после записи: «ограничение функции ». Также возможно изменение коэффициентов b1n и b2n в разделе «Коэффициенты фильтрации B1 и B2». Возможно задать сечение и увидеть разрез двумерного поля ошибок округления по этому сечению.

Выход из программного модуля

Для выхода из программного модуля необходимо нажать комбинацию клавиш <ALT+F4>, при этом появится окно, сообщающее о необходимости сохранения измененного модуля. Выберите вариант <НЕТ>, нажав на него левой кнопкой манипулятора «мышь». После этого вы окажетесь в окне MODULAB1 и сможете продолжить работу.

Особенности выполнения лабораторной работы № 1

Собственно работа начинается с пункта 2. Определенную трудность представляет нахождение численных значений коэффициентов цифровых фильтров ai, bj.

Для этого представим системную функцию в виде:

Page 22: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

и сравним соответствующие коэффициенты с заданными в таблице. Не перепутайте знаки у коэффициентов bj !

По пункту 3 проделайте все 5 заданий, то есть исследуйте фильтры Баттерворта, Чебышева, Бесселя, резонатор и режекторный фильтр.

Дискретизировать сигнал по пункту 5 нужно следующим образом. Для примера возьмем инверсный сигнал по варианту 2. Его дискретный аналог на пять точек имеет вид: x(n) = 1/5δ(n–1) +2/5δ(n – 2) + 3/5δ(n – 3) + 4/5δ(n – 4) + +δ(n – 5), n ≥ 0. Шестую точку при n = 0 исключаем, как не значимую. Дискретизируем и исследуем все 5 пять вариантов сигналов.

В пункте 6 сравните рассчитанное и экспериментальное значение дисперсии при одном значении коэффициента сглаживания K = 0,1 … 0,9.

Выполнение остальных пунктов, как правило, не вызывает затруднений.

Лабораторное задание

Варианты заданий

Page 23: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

1 вариант

Фильтр Баттервортаa0=0,01761 a1=0,07044 b1=1,60874a2=0,10566 b2= –1,31517a3=0,07044 b3=0,50437a4=0,01761 b4= –0,07969

2 вариант

Фильтр Чебышеваa0=0,03493 a1=0,13974 b1=2,55456a2=0,20961 b2= –3,03822a3=0,13974 b3=1,85615a4=0,03493 b4= –0,49433

3 вариант

Фильтр Бесселяa0=4,0352810–4 a1=0,00161 b1=3,05674a2=0,00242 b2= –3,55347a3=0,00161 b3=1,85923a4=4,0352810–4 b4= –0,36896

4 вариант

Резонатор Q=5a0=0,251 b1=0,556a1= –0,049 b2= –0,778

5 вариант

Режекторный фильтр Q=5a0=0,749 b1=0,556a1= –0,507 b2= –0,778a2=0,778

1. Изучите блок «Описание программных модулей».2. На основе приведенных ниже передаточных функций

найдите коэффициенты цифровых фильтров и, подставляя их в программные модули, зарисуйте полученные ИХ, ПХ, АЧХ и ФЧХ. Приведите структурные схемы исследуемых цифровых звеньев. Исследование всепропускающего и сглаживающего звеньев начать с АЧХ.

Цифровой интегратор с ограниченным временем суммирования (М = 3; 4; 5;)

Page 24: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Цифровой дифференциатор (В1Р)

Вычислитель 2-й разности (В2Р)

Всепропускающее звено (K = –0,8;...; 0,8)

Сглаживающее звено (K = 0,3;...; 0,9)

3. На основе вашего варианта задания подставьте коэффициенты фильтра в программные модули и зарисуйте полученные АЧХ, ФЧХ, ИХ и ПХ. Опишите особенности характеристик исследованного вами фильтра. Изменяя один из коэффициентов в рекурсивной или нерекурсивной частях цифрового фильтра, опишите изменения, произошедшие с характеристиками фильтра. Объясните эти изменения. Используя прямую форму реализации ЦФ, приведите структурную схему фильтра.

4. В программном модуле sw.mcd в разделе «Задание начальных условий» задайте два любых из данных пяти входных сигналов, получите дискретную свертку и зарисуйте ее. Затем в разделе «Задание начальных условий» задайте одну из импульсных характеристик, данных в программном модуле, и получите дискретную свертку. Повторно зарисуйте дискретную свертку. Запишите выражения для сигналов и импульсных характеристик, участвующих в свертке.

5. Продискретизируйте заданный вам непрерывный сигнал и получите его аналитическое описание x6(n) через единичные импульсы (количество значимых отсчетов не менее пяти). Полученное описание продискретизированного сигнала занесите в раздел «Задание начальных условий». Зарисуйте дискретную свертку данного сигнала с симметричным сигналом x7(n). В разделе «Задание начальных условий» задайте другую формулу импульсной характеристики и зарисуйте дискретную свертку снова. Запишите выражения для сигналов и импульсных характеристик, участвующих в свертке.

Page 25: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

6. Просмотрите программный модуль disp.mcd. Зарисуйте зависимость дисперсии шума квантования АЦП на выходе цифрового фильтра от коэффициента сглаживания K. Запишите выражение для системной функции H(z) и зарисуйте структурную схему ЦФ. Рассчитайте теоретически зависимость дисперсии шума квантования АЦП на выходе цифрового фильтра от коэффициента сглаживания K. Сравните расчет с полученными данными.

7. Просмотрите поля ошибок, вычисленные программными модулями graf1.mcd, graf2.mcd, graf3.mcd. Зарисуйте эти поля ошибок и объясните функциональные зависимости от значений коэффициентов . Задавая сечения по , зарисуйте разрезы двумерного поля ошибок по этим сечениям. По каждому из коэффициентов задайте не менее трех сечений. Всего получится не менее 18-ти сечений.

Содержание отчета

Оформите отчет по данной работе с титульным листом. В отчете укажите цель работы, приведите следующие результаты:

1. Графики ИХ, ПХ, АЧХ и ФЧХ, полученные в пунктах 2, 3 лабораторного задания.

2. Структурные схемы фильтров по пунктам 2, 3.3. Графики дискретных сверток, полученные в пунктах

4, 5 лабораторного задания.4. График зависимости дисперсии от коэффициента K и

теоретический расчет дисперсии по пункту 6 лабораторного задания.

5. Графики характерных «срезов» из двумерных полей оши-бок для рекурсивного ЦФ второго порядка по пункту 7 лабораторного задания.

6. Аналитические выводы по работе. Файл отчета необходимо переслать в Томск для зачета

выполнения лабораторной работы №1.

Page 26: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Список рекомендуемой литературы

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

2. Антонью А. Цифровые фильтры: анализ и проектирование. – М.: Радио и связь, 1983. – 320 с.

3. Гольденберг Л.М., Матюшкин Б.Д., Поляк М.Н. Цифровая обработка сигналов. – М.: Радио и связь,1990.– 256 с.

4. Казанцев Г.Д., Курячий М.И., Пустынский И.Н. Измерительное телевидение. – М.: Высшая школа, 1994. – 288 с.

5. Оппенгейм А.В., Шафер Р.В. Цифровая обработка сигналов: Пер. с англ. – М.: Связь, 1979. – 416 с.

СИНТЕЗ ЦИФРОВЫХ ФИЛЬТРОВ ДЛЯ ОБРАБОТКИ ОДНОМЕРНЫХ СИГНАЛОВ (ЛАБОРАТОРНАЯ РАБОТА № 2)

Цель работы

Целью работы является приобретение студентами навыков проектирования цифровых фильтров и оптимизации их параметров.

Вводная часть

Синтез цифровых устройств для обработки одномерных данных

Проектирование цифровых фильтров включает пять основных этапов.

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

Page 27: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

характеристикам.2. Выбор структуры (формы реализации) цифрового

фильтра.3. Задание разрядностей коэффициентов фильтра,

входного и выходного сигналов и арифметических устройств.4. Проверка с помощью математического либо

имитационного моделирования соответствия характеристик разработанного ЦФ заданным.

5. Аппаратная либо программная реализация цифрового фильтра.

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

Расчет цифровых ЦФ состоит из следующих двух этапов.

1. Получение подходящей передаточной функции аналогового фильтра-прототипа Ha(p).

2. Создание процедуры перехода, которая преобразует функцию Ha(p) в соответствующую передаточную функцию H(z).

Назовем основные методы преобразования аналогового фильтра в цифровой:

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

отображения дифференциалов; билинейного преобразования; Z-форм.Представим краткое описание некоторых из этих

методов.

Метод билинейного Z-преобразования

Билинейное преобразование представляет собой конформное отображение точек p-плоскости в точки на z-плоскости и использует замены вида:

Page 28: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

, (1)

Использование подстановки (1) обеспечивает однозначное преобразование передаточной функции H(p) аналогового фильтра-прототипа в передаточную функцию H(z) цифрового фильтра:

.

Рассмотрим преобразование (1).Каждой точке комплексной p-плоскости (p = + j)

ставится в соответствие определенная точка z-плоскости (z = exp( + j)T).

Мнимая ось p-плоскости (p = j для – < < ) отображается в единичную окружность в z-плоскости (z = exp(jT)).

Левая половина p-плоскости отображается в часть z-плоскости внутри единичного круга ( |z| < 1).

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

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

Во-вторых, так как мнимая ось p-плоскости отображается на единичную окружность z-плоскости, то все максимумы и минимумы АЧХ |H(j)| аналогового фильтра сохранятся и в АЧХ |H(ejT)| цифрового фильтра. Сохраняется также и неравномерность АЧХ для соответствующих диапазонов частот.

Таким образом, избирательные аналоговые фильтры преобразуются в соответствующие цифровые фильтры.

Так, соотношение между «аналоговыми» частотами и «цифровыми» частотами , которое можно получить из (1), является нелинейным:

Page 29: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

где – нормированная цифровая частота.

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

Деформация шкалы частот для частотно-избирательных фильтров (ФНЧ, ФВЧ, ПФ, РФ), аппроксимируемая АЧХ которых имеет вид кусочно-постоянной функции, не приводит к нарушению избирательных свойств фильтра при билинейном преобразовании. Деформацию шкалы частот можно скомпенсировать с помощью уточнения значений отдельных частот в аналоговом фильтре.

Метод Z-форм

По определению Z-преобразования – , и левая полуплоскость p-плоскости отображается внутрь единичного круга z-плоскости (|z| = 1), а правая полуплоскость – вне ее, при этом окружность соответствует мнимой оси j p-плоскости. Преобразование имеет нелинейный характер. Для аппроксимации такого преобразования с целью получения линеаризованных соотношений между операторами z и p были получены приближенные аналитические соотношения, называемые Z-формами.

Суть метода получения Z-форм заключается в следующем. Логарифмируя соотношение , имеем

. (2)

Представляя функцию ln z в виде ряда, получим

. (3)С учетом (3) соотношение (2) принимает вид

Page 30: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

(4)

где .

Учитывая, что ряд (4) быстро сходится, ограничимся его главной частью в виде

. (5)

Выражение (5) и есть Z-форма, соответствующая оператору p–1.

Возводя обе части выражения (4) в соответствующую степень, мы можем получить Z-форму оператора pk более высокого порядка:

, (6)

где Nk(z) – полином от z.Дальнейшая методика преобразования состоит в

следующем. Передаточная функция известного аналогового фильтра записывается по отрицательным степеням p–1 вместо p. Затем каждая степень p–1 заменяется соответствующим рациональным z-выражением из таблицы Z-форм.

Оператор p-плоскости Соответствующая «Z-форма»

p–1

p–2

p–3

Page 31: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Оператор p-плоскости Соответствующая «Z-форма»

p–4

p–5

p–6

Поскольку значительная часть проектируемых цифровых БИХ-фильтров требуют понимания методов расчета фильтров в непрерывном времени, приведем расчетные формулы для нескольких стандартных типов аналоговых фильтров: Баттерворта, Бесселя и Чебышева типа 1.

Фильтры Баттерворта

Квадрат амплитудной характеристики нормированного (т.е. имеющую частоту среза 1 рад/с ) фильтра Баттерворта равен:

, (7)

где n – порядок фильтра.Аналитически продолжая функцию (7) на всю p –

плоскость, получим:

(8)

Все полюсы (8) находятся на единичной окружности на одинаковом расстоянии друг от друга в p-плоскости.

Выразим передаточную функцию H(p) через полюсы, располагающиеся в левой полуплоскости p:

,

Page 32: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

где ,

k0 – константа нормирования.Сформулируем основные свойства нормированного

фильтра Баттерворта нижних частот.1. При любом n справедливы такие соотношения:2. |H(j0)|2 = 1, |H(j1)|2 = 0,5 и |H(j)|2 = 0.3. Отсюда вытекает, что частота среза по уровню 3 дБ

равна 1 рад/ с.4. Функция модуля передачи фильтров Баттерворта

монотонно убывает при 0. Следовательно, |H(j)| имеет максимальное значение при = 0.

5. Фильтры Баттерворта характеризуются тем, что имеют максимально плоскую амплитудно-частотную характеристику в начале координат в p - плоскости.

6. Крутизна АЧХ фильтра Баттерворта n-го порядка на высоких частотах составляет 20n дБ/декаду.

Фильтры Чебышева

Квадрат модуля функции передачи фильтра Чебышева можно записать в виде

,

где представляет собой параметр, который устанавливает величину неравномерности передачи, а Tn() – полином Чебышева, определяемый выражением:

.Нормированный фильтр нижних частот Чебышева n-го

порядка обладает следующими основными свойствами.1. Для || 1 значения функции |H(j)|2 колеблются

между двумя пределами и 1. В общей сложности на

интервале 0 1 имеется n критических точек, в которых функция |H(j)|2 достигает максимального значения,

Page 33: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

равного 1, или минимального значения, равного .

2. При 1 функция |H(j)|2 монотонно убывает и стремится к нулю. Крутизна спада на высоких частотах составляет 20n дБ/декаду.

3. Функция |H(j)|2 удовлетворяет следующим условиям:

|H(j1)|2 = , и

|H(j0)|2 = 1, если n нечетно, или

|H(j0)|2 = , если n четно.

Функция фильтра Чебышева имеет только полюсы – числитель ее представляет собой постоянную величину. Полюсы фильтра Чебышева располагаются на эллипсе. Большая ось этого эллипса проходит по мнимой оси p – плоскости, тогда как малая ось – вдоль вещественной оси.

Передаточную функцию фильтра Чебышева определяют следующим образом:

,

где k0 – константа нормирования, pk – полюсы: .Здесь

,

.

Главным отличием фильтров Чебышева является то, что они обладают свойством оптимальности. Другими словами, если какой-либо фильтр n-го порядка, содержащий только полюсы, имеет в полосе пропускания лучшие характеристики по сравнению с фильтром Чебышева порядка n, то в полосе

Page 34: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

непропускания характеристики этого фильтра наверняка будут хуже.

Фильтры Бесселя

Фильтры Бесселя характеризуются максимально гладкой характеристикой группового времени задержки в начале координат в p-плоскости. Переходная характеристика фильтров Бесселя имеет весьма малый выброс (обычно менее 1 %), причем и импульсная, и амплитудно-частотная характеристики стремятся к гауссовской кривой по мере увеличения порядка фильтра.

Передаточная функция фильтров Бесселя записывается в виде:

,

где Bn(p) – функция Бесселя n-го порядка, а –

константа нормировки.Функцию Бесселя можно представить в виде:

,

где , k=0, 1,..., n.

Фильтры Бесселя имеют только полюсы, которые расположены на окружности с центром на действительной положительной полуоси p-плоскости. В отличие от фильтров Баттерворта частота среза фильтров Бесселя зависит от порядка фильтра n.

Синтез КИХ-фильтров методом временных окон

Page 35: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Поскольку частотная характеристика H(ej) любого ЦФ представляет собой периодическую функцию частоты , она может быть разложена в ряд Фурье:

(9)

Одним из возможных способов получения цифровых КИХ-фильтров является усечение бесконечного ряда (9) до конечного числа членов.

Однако из хорошо известного явления Гиббса следует, что усечение ряда (9) вызывает выбросы и колебания в требуемой частотной характеристике до и после любой точки разрыва. Величина выброса составляет около 9% амплитуды в точке разрыва.

Метод взвешивания используется для получения конечных весовых последовательностей W(n), называемых окнами, которые модифицируют коэффициенты Фурье в уравнении (9) для получения требуемой импульсной характеристики h0(n) конечной длительности.

При этом h0(n) = h(n)W(n),где W(n) – последовательность конечной длительности, т.е.

W(n) = 0 для n < 0 и n > N – 1,а h(n) – коэффициенты ряда Фурье, представляющие собой импульсную характеристику ЦФ

.

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

В завершение приведем некоторые часто используемые на практике функции временных окон.

Окно Дирихле (прямоугольное окно)

Page 36: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Окно Бартлетта (треугольное окно)

где N – 1 – четное число.

Окно Ханна

Окно Хэмминга

Окно Блэкмана

Окно Кайзера

где – модифицированная функция

Бесселя нулевого порядка первого рода, а a – параметр формы окна. Наиболее типичные значения

Page 37: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Частотные преобразования

Выше мы рассматривали только фильтры нижних частот. При расчете цифровых фильтров верхних частот, полосовых и режекторных, используются два подхода, представленных на рисунках 1 и 2.

Рисунок 1 Частотные преобразования фильтров нижних частот. Метод 1

Рисунок 2 Частотные преобразования фильтров нижних частот. Метод 2

Рассмотрим метод 2. Ниже приведены формулы для преобразований ФНЧФНЧ1 (с другой полосой), ФНЧФВЧ, ФНЧПФ, ФНЧРФ.

1. ФНЧ ФНЧ1

,c– частота среза ФНЧ;u– частота среза ФНЧ1.

.

2. ФНЧ ФВЧ

,c– частота среза ФНЧ;u – частота среза ФВЧ.

Page 38: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

.

3. ФНЧ ПФ

,

u, l – верхняя и нижняя частоты среза ПФ соответственно.

,

.

4. ФНЧРФ

,

u, l – верхняя и нижняя частоты среза РФ соответственно.

,

.

Page 39: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Ошибки округления коэффициентов фильтра

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

Описание программных модулей

Программные модули, используемые в лабораторной работе № 2, расположены в каталоге LAB2.

Для запуска программного модуля можно выполнить следующие действия:

1. Запустите среду MathCAD, дважды щелкнув «мышью» по соответствующей пиктограмме в окне Приложения.

2. Войдя в среду MathCAD, выберите пункт Open Document из меню File.

3. В появившемся диалоговом окне выберите необходимый модуль и нажмите <OK>.

4. По окончании работы с модулем выберите пункт Close Document из меню File.

Page 40: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Программы для синтеза режекторного контура

Программный модуль res_1.mcd

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

В программном модуле обозначены:HB, HI, HO, HZ – передаточные функции ЦФ;AB, AI, AO, AZ – амплитудно-частотные характеристики

ЦФ;B, I, O, Z – фазочастотные характеристики ЦФ.Рекомендуемые значения параметров:Q:=(1 5);F0:=(0.5 3)·106 Гц;F:=(5 10)·F0.

Программный модуль bilin.mcd

Данный модуль осуществляет синтез режекторного контура методом билинейного преобразования с коррекцией частоты и без нее. Таким образом возможно наблюдать качественный характер расстройки частоты при БЛП, сравнивая ЧХ ЦФ.

В программном модуле обозначены:HB и Н – передаточные функции ЦФ;AB и A– амплитудно-частотные характеристики ЦФ;B и – фазочастотные характеристики ЦФ.Рекомендуемые значения параметров:Q:=(1 5);F0:=(0.5 3)·106 Гц;

Page 41: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

F:=(5 10)·F0.Программы для синтеза ЦФ НЧ

Программные модули batter.mcd, bessel.mcd, chebysh.mcd

Данные модули реализуют нормированные цифровые фильтры Баттерворта, Бесселя и Чебышева нижних частот. Задавая порядок N аналогового фильтра-прототипа, получаем его ЧХ, а затем, дискретизируя его методом билинейного преобразования, сравниваем АЧХ и ФЧХ синтезированного ЦФ и аналогового фильтра-прототипа.

Далее предлагается найти коэффициенты и построить структуру ЦФ. Для этого запишите системную функцию фильтра в развернутом виде по данному в модуле примеру. Все последующие действия производятся с использованием символьного процессора. Для этого выберите пункт Load Symbolic Processor из меню Symbolic. Выделив преобразуемое выражение синей рамкой, произведите следующие действия, выбирая соответствующие пункты из меню Symbolic:

«Symplify» упрощение всего выражения;«Expand Expression» – разложение выражения, выделив

числитель;«Expand Expression» – разложение выражения, выделив

знаменатель.Полученное выражение будет представлять собой

дробно-рациональное выражение M(z) и N(z)

– полиномы от z в положительных степенях z.Приведите полученную системную функцию к виду,

удобному для реализации ЦФ. Для этого:поделите числитель и знаменатель на zN

, где N – максимальная степень в выражении;

Page 42: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

пронормируйте знаменатель таким образом, чтобы коэффициент при z0 стал равным единице;

поделите число перед всем выражением на значение нормировки;

выделите все выражение синей рамкой и выполните пункт из меню «Symbolic» – «Evaluate» – «Floating Point Evaluation…» при точности представления числа – 10–6;

приведите числитель и знаменатель к удобному виду в порядке убывания степеней z–n.

Программные модули l_f_filt.mcd, u_f_filt.mcd, b_f_filt.mcd и r_f_filt.mcd

В данных программных модулях выполняются частотные преобразования ФНЧ в ФНЧ1, ФВЧ, ПФ и РФ, соответственно задавая коэффициенты, полученные ранее, и частоты рассчитываемого фильтра, можно вычислить АЧХ исходного и преобразованного фильтров.

Нормированные частоты перехода рекомендуется выбирать в пределах 0  .

Программа оценки ошибок при изменении коэффициентов

Программный модуль o10.mcd

Модуль реализует расчет и отображение ошибок в представлении рекурсивных коэффициентов цифрового фильтра в процентном соотношении. Задавая коэффициенты фильтра и погрешность отображения коэффициентов (в %), в результате будем наблюдать изменения АЧХ вследствие погрешности задания одного из коэффициентов и функцию ошибки. В этом же модуле коэффициенты фильтра

Page 43: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

квантуются на определенное число двоичных разрядов после запятой.

Особенности выполнения лабораторной работы № 2

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

В пунктах 4–6 проделайте все пять вариантов заданий, а по пунктам 7, 8 выберете один из синтезированных фильтров НЧ.

Ключевым пунктом лабораторной работы является пункт 5 – синтез цифрового фильтра. Его нужно проделать особенно тщательно! Результатом синтеза являются численные значения коэффициентов ko, ai, bj. Проверка правильности синтеза осуществляется в пункте 6. Частотные характеристики исходного ФНЧ должны совпадать с частотными характеристиками, полученными по пункту 4. Если это не так, проделайте пункт 5 заново!

Изменение и восстановление коэффициентов bj по пункту 7 производится автоматически. Необходимо лишь в случае каждого фильтра подобрать свою величину , первоначально равную = –2,5 %, так, чтобы максимальное отклонение АЧХ от исходной составляло порядка 10 – 20 %. Зарисовать полученные характеристики. Аналогично в пункте 8 выбирается число разрядов дробной части, первоначально равное n = 4.

Page 44: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Лабораторное задание

Варианты заданий

№ варианта Название фильтра НЧ № порядка1 Баттерворта 32 Баттерворта 43 Чебышева 34 Чебышева 45 Бесселя 36 Бесселя 4

1. Изучите блок «Описание программных модулей».2. Произведите синтез режекторного фильтра

различными методами: a) инвариантного преобразования импульсной характе-

ристики;b) отображения дифференциалов;c) билинейного преобразования;d) Z-форм.3. Задайте центральную частоту, добротность контура и

частоту дискретизации. Сделайте выводы об отличии методов синтеза цифровых фильтров и области их применимости.

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

5. Согласно своему коду выберите свой вариант ЦФ НЧ. Произведите синтез заданного ЦФ НЧ 3-го или 4-го порядка методом билинейного преобразования. Зарисуйте амплитудную и фазовую частотные характеристики и характеристику группового времени задержки.

6. Перейдите от H(p) к H(z), заменяя и

подставляя численные значения T и корней знаменателя;

Page 45: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

выполните символьную обработку и рассчитайте коэффициенты ai и bj, нарисуйте структуру фильтра.

7. Выполните все частотные преобразования для заданного фильтра (см. разд. ) и зарисуйте полученные АЧХ исходного и преобразованного фильтров.

8. Произведите анализ влияния ошибок задания коэффициентов цифрового ФНЧ на АЧХ (изменяя один из коэффициентов bj). Опишите характер изменения ЧХ. Сделайте вывод о влиянии изменения одного из коэффициентов на поведение фильтра.

9. Проквантуйте коэффициенты цифрового фильтра на такое число двоичных разрядов, чтобы максимальное отклонение АЧХ от исходной составляло порядка 10–20%. Зарисуйте АЧХ и опишите характер ее изменения.

Содержание отчета

Оформите отчет по данной работе с титульным листом. В отчете укажите цель работы, приведите следующие результаты:

1. Графики АЧХ, ФЧХ и групповой задержки цифровых фильтров.

2. Структурная схема ЦФ НЧ, полученного в п. 5.3. Графики, характеризующие влияние ошибок задания

коэффициентов фильтра на АЧХ.4. Выводы по работе.Файл отчета необходимо переслать в Томск для зачета

выполнения лабораторной работы № 2.

Список рекомендуемой литературы

1. Гольденберг Л.М., Матюшкин В.Д., Поляк М.Н. Цифровая обработка сигналов. – М.: Радио и связь, 1990. – 256 с.

2. Мизин И.А., Матвеев А.А. Цифровые фильтры.– М.: Связь, 1979. – 240 с.

Page 46: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

4. Лэм Г. Аналоговые и цифровые фильтры. Расчет и реализация. – М.: Мир, 1982. – 592 с.

Page 47: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

СОЗДАНИЕ ПРОГРАММ ДЛЯ МИКРО-ЭВМ И МИКРОКОНТРОЛЛЕРОВ В УСТРОЙСТВАХ И СИСТЕМАХ РАДИОСВЯЗИ, РАДИОВЕЩАНИЯ И ТЕЛЕВИДЕНИЯ

Определения и термины

Две последние работы связаны с программированием микроконтроллеров.

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

Этот способ разработки программного обеспечения называется кросс-технологией, в противовес резидентной технологии. При разработке программ на языке ассемблера используют различные служебные программы – редакторы текста, трансляторы, компоновщики, отладчики программ.

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

редактор текста, обеспечивающий ввод программы на языке ассемблера микро-ЭВМ или МК, редактирование и запись файла программы;

Page 48: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

кросс-транслятор, преобразующий исходный текст программы в файл объектного кода, содержащего коды команд управляющей микро-ЭВМ (МК), информацию для редактора связей, предупреждения и сообщения об ошибках;

кросс-компоновщик объектных модулей (кросс-редактор связей). Компоновщик связывает несколько объектных модулей в единую программу, добавляет вызываемые из программы библиотечные файлы, подставляет вместо ссылок на объекты их реальные или относительные адреса и формирует исполняемый файл в кодах микро-ЭВМ или МК;

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

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

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

Вам нужен пример словесного алгоритма? Человек, приехавший из другого города, собрался посетить Вашу любимую дискотеку. Туда нет прямого автобуса, нужны пересадки, остановка находится в стороне, а вы должны объяснить маршрут. Распишите на бумаге по пунктам все действия – это будет словесный алгоритм. Рецепт

Page 49: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

приготовления блюда – другой пример словесного алгоритма.

Далее распишем каждую строку алгоритма в виде команд – текст программы готов. С этого момента нужны специальные программные средства.

Общая процедура создания и отладки программ для микро-ЭВМ или МК включает следующие этапы, показанные на рисунке 1. Кстати, это пример графической формы алгоритма.

Рисунок 1 – Этапы процедуры создания ПО для управляющей микро-ЭВМ

Исходный текст программы с помощью редактора текста вводится в память универсальной ЭВМ и записывается в файл. Затем с помощью кросс-транслятора этот файл переводится в промежуточную форму – объектный файл. Объектный файл требует дополнительной обработки, которая выполняется с помощью программы – кросс-редактора связей. На выходе редактора связей формируется двоичный файл, который может быть выполнен на реальной микро-ЭВМ или МК. Для проверки функционирования созданной программы можно выполнить ее отладку в симуляторе. Отлаженный файл программы в кодах микро-ЭВМ (МК) записывается с помощью программатора в постоянную память (ПЗУ) микропроцессорной системы.

Page 50: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

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

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

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

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

Page 51: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

Ситуация несколько упрощается при использовании программных моделей – симуляторов. Перед записью программы в ПЗУ, ошибки данного этапа можно обнаружить, исследовать и найти пути устранения с помощью программы кросс-отладчика. Программная модель микро-ЭВМ позволяет проводить анализ исполняемого кода с использованием большого числа сервисных возможностей, которые отсутствуют в реально работающей аппаратной ЭВМ.

Перечисленные выше возможности обеспечивают на разных этапах создания и преобразования программ выявление и устранение большинства ошибок. Однако нельзя гарантировать устранение всех ошибок на 100%. Кроме перечисленных, остаются еще динамические ошибки, проявляющие себя лишь при реальной работе аппаратной микро-ЭВМ. Эти ошибки могут быть связаны с реальными режимами прерываний, условиями функционирования портов, таймеров, ячеек памяти. По этой причине достаточно сложные программные модули даже после тщательной отладки могут еще содержать не выявленные ошибки и обычно их содержат.

При создании программ для однокристальной ЭВМ серии MCS-51 КМ1816ВЕ51 мы будем использовать пакет кросс-программ, работающих на компьютере типа IBM PC. Перепишите с рабочего диска на Ваш винчестер рабочий каталог LAB3_4, где записаны программы всего кросс-пакета. Название этого каталога можно заменить любым другим.

Page 52: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Редактор текстаДля создания файла с программой можно использовать

любой редактор, позволяющий вводить и записывать в файл текст в виде ASCII (American Standard Code for Information Interchange) символов. Редактор не должен кодировать вводимые символы, записывать служебные комбинации, производить подстановку и переключение фонтов (наборов символов).

Для наших целей наиболее подходят DOS – редакторы текста, например, Norton Editor, PE2, NE, ME, Lexicon, редакторы, встроенные в оболочку Norton Commander, FAR и т.д. Можно применить и редакторы системы WINDOWS типа Блокнот или WordPad.

При наборе текста программы следует избегать использования символов табуляции. Они не всегда правильно обрабатываются в трансляторах.

В выбранном текстовом редакторе нужно создать символьный файл программы. При закрытии программы редактора текста нужно не забыть записать созданную программу в виде файла с произвольным именем и расширением *.ASM или *.ASS. Эти расширения являются общепринятыми для файлов на языке ассемблера. Само имя должно быть написано английскими буквами и длина его не должна превышать 8 символов, например, Tablic.ASM (Tablic.ASS).

При использовании программы «Блокнот» файл нужно записать в кодировке ANSI. При использовании кодировки Юникод или UTF в файл записываются служебные символы, которые не распознаются транслятором. После вызова в программе «Блокнот» окна сохранения документа «СОХРАНИТЬ КАК…», в поле «ИМЯ ФАЙЛА» необходимо указать английскими буквами желаемое имя с расширением «*.ASM» или «*.ASS». В поле «ТИП ФАЙЛА» желательно указать «ВСЕ ФАЙЛЫ». В этом случае удается сохранить указываемое расширение ASM (ASS). Для файлов с типом

Page 53: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

«Текстовый» будет добавлено расширение *.TXT, которое придется убирать вручную.

Редактор WordPad также позволит создать и записать текст программы. При сохранении тип файла должен быть указан как «Текстовый документ» или «Текстовый документ MS-DOS». У сохраненного файла к предложенному Вами имени и расширению добавится дополнительное расширение *.TXT. С таким дополнительным расширением трансляция программы невозможна. Поэтому после выхода из редактора имя файла придется скорректировать и убрать добавку «.TXT».

При затруднениях в выборе редактора можно использовать несложный в освоении и компактный редактор NE.COM, записанный в рабочем каталоге LANQ. Помните, что данный редактор не поддерживает длинные имена и русские имена файлов и каталогов. Он откажется работать, если в пути его размещения будут русские или длинные имена.

Для вызова редактора наберите в командной строке DOS команду

NEВ ответ на приглашение «Enter file name» введите имя

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

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

Вызов команд редактора потребуется только при записи файла, организации поиска в файле, при работе с блоками текста, при работе с двумя окнами. Клавишей [F1] можно вызвать текст справки о допустимых командах редактора. Почти все команды начинаются с нажатия одной из функциональных клавиш [F3] – [F7] и затем буквы латинского алфавита.

Page 54: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Наиболее важные команды текстового редактора описаны в таблице 1.

Таблица 1 – Наиболее важные команды редактора NE

Файловые команды Блочные команды

F3 E Запись файла и выход в DOS F4 S Установить маркер

начала/конца блокаF3 S Запись файла без выхода F4 R Снять маркер блокаF3 Q Выход без записи файла F4 L Пометить всю строку

F3 A Добавить указанный файл в конец текущего F4 C Копировать блок в

текущую позицию

F3 X Включить другое окно и перейти в него F4 M Переслать блок в

текущую позициюКоманды удаления

Backspace

Удалить символ слева DEL Удалить текущий символ

CTRL U Вернуть удаленное F4 D Стереть выделенный блок

При сохранении файла редактор NE может предложить заменить символы табуляции на пробелы «Should tabs be expanded to spaces? (Y or N)». Остается только согласиться и ввести символ Y.

Кросс-транслятор программ

При преобразовании программы, написанной на языке ассемблера управляющей микро-ЭВМ, используется кросс-транслятор.

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

Для трансляции программ, написанных на языке ассемблера MCS-51, фирмами-разработчиками предложено большое число кросс-трансляторов, работающих на IBM PC

Page 55: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

компьютерах: ASM51.EXE, TASM.EXE, X8051.EXE, PETPO.EXE, COMP51.EXE и другие. Нет смысла знакомиться со всеми кросс-трансляторами. Для наших учебных целей вполне подойдет простой и надежный кросс-транслятор COMP51.EXE. Для его запуска потребуется либо включить режим «Командная строка», либо запустить окно «Эмуляция DOS».

Формат вызова транслятора в командной строке: COMP51 input_file[.ass] [/ключи]

Информация в квадратных скобках является необязательной и должна задаваться пользователем по необходимости. При пропуске этой информации используются значения по умолчанию. Поэтому при запуске транслятора для файла со стандартным расширением *.ASS достаточно указать только имя файла без расширения.

Список ключей кросс-транслятора:/M:nnn – максимальный размер выходного файла, по

умолчанию 4096;/S:nnn – начальный адрес выходного кода, по

умолчанию 0;/D:out_file[.tsk] – имя выходного файла, по умолчанию –

input_file.tsk (или output_file.tsk);/L:list_file[.lst] – имя файла листинга, по умолчанию не

создается;/С:n – тип микроконтроллера, где n имеет возможные

значения:0 – 8x51 (1830ВЕ51) (по умолчанию)1 – 8x522 – 8xC513 – 8xC524 – 8xC51Fx

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

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

Page 56: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Рассмотрим несколько примеров процесса трансляции программы, имеющей имя Tablic.asm.

Вызов несуществующей подпрограммы:C:\LANQ>COMP51 Tablic.asm Проход:2 строк: 1, байт:0ОШИБКА 5 в строке 7: Имя не определеноLCALL DELAU ^

В строке 7 обнаружена ссылка на программу, имя которой не совпадает ни с одной из используемых подпрограмм. В данном примере была допущена описка в имени DELAY. Транслятор не смог сопоставить имя вызываемой подпрограммы с имеющимся набором имен подпрограмм.

Синтаксическая ошибка в тексте:C:\LANQ>COMP51 Tablic.asm Проход:1 строк: 11ОШИБКА 26 в строке 13: Неверная команда или директиваRED ; Возврат из подпрограммы^

Опечатка в команде RET не позволила транслятору опознать команду.

Ошибочный операнд:C:\LANQ>COMP51 Tablic.asm Проход:2 строк: 1, байт:0ОШИБКА 19 в строке 3: Значение выражения > 255MOV R4,#310^

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

Неправильное имя регистра:C:\LANQ>COMP51 Tablic.asm Проход:2 строк: 11, байт:20ОШИБКА 5 в строке 12: Имя не определеноDJNZ R8, HAP ^

Page 57: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

В строке 12 использовано имя регистра R8, который не существует.

Результат правильной трансляции без ошибок.C:\LANQ>COMP51 Tablic.asm Проход:2 строк: 13, байт:20

Транслятор сообщил количество строк кода (13) и длину исполняемой программы в байтах (20).

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

Кросс-компоновщик

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

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

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

Кросс-отладчик

Page 58: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Полноэкранный отладчик-симулятор FD51.EXE для программ, написанных на языке ассемблера однокристальных микро-ЭВМ КР1816ВЕ51/ КМ1816ВЕ31/КM1816ВЕ51, предназначен для логической отладки программ, используемых указанными микро-ЭВМ. Каких-либо аппаратных средств отладчик не поддерживает.

Отладчик работает в DOS-окне на персональных ЭВМ типа IBM PC XT/AT и совместимых с ними ЭВМ, и требует для работы не менее 256 Кбайт оперативной памяти.

Отладчик позволяет: загрузить для отладки 16-ричные файлы,

вырабатываемые имеющимися кросс-средствами (транслятором с языка ассемблера), а также файлы чистого двоичного кода, считанные, например, из ПЗУ;

просмотреть на экране дизассемблированный текст загруженной программы, включая адреса и коды команд, область имитируемого ОЗУ данных, область внешней памяти, памяти программ, содержимое всех регистров ОЭВМ;

выполнить загруженную программу по шагам с просмотром результатов после каждого шага и в непрерывном режиме с остановом по точкам прерывания по достижении задаваемых пользователем адресов;

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

внести изменения в содержимое регистров, флагов и памяти в командном режиме и в режиме полноэкранного редактирования;

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

сохранить содержимое любой области памяти в файле на дисковом носителе;

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

программы и ее частей по встроенному счетчику.

Page 59: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

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

FD51.EXEНа рабочем столе можно создать ярлык для вызова

отладчика. Обычно работа отладчика не имеет особенностей под операционными системами WINDOWS. Под WIN 95/98/ME проблем не возникает. Под WINDOWS NT/2000 в DOS окне возможно отображение некоторых пробельных символов в виде букв. Для устранения этого дефекта необходима тонкая настройка операционной системы. С другой стороны, например, запуск отладчика из окна оболочки FAR сразу ликвидировал недостаток. В целом этот эффект встречается очень редко и просто дает некоторое неудобство в работе.

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

Page 60: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Рисунок 2 – Вид окна программы кросс-отладчика (симулятора)

В верхней части окна программы показаны имена и значения регистров всех 4-х регистровых банков, обозначенных как «Банк 0», «Банк 1», «Банк 2», «Банк 3». Активный банк регистров выделен с помощью увеличенной яркости значений регистров. В правой верхней части окна программы также показаны имена и значения всех доступных регистров специальных функций: таймеров/счетчиков, портов ввода/вывода, регистров последовательного порта, регистров прерываний и других.

В нижней половине окна отладчика слева показан дизассемблированный текст загруженной исполняемой программы с указанием адресов и кодов команд. Каждая строка соответствует одной команде и занимает от 1 до 3 адресов.

В центре нижней части экрана отладчика показано окно значений байтов внутренней/внешней памяти данных. Название окна – INT RAM или EXT RAM. В левой колонке этого окна показаны адреса ячеек памяти с шагом значений по 6 единиц, а справа группами по 6 байтов приведены значения ячеек памяти данных. Внутреннюю и внешнюю память можно отображать только поочередно путем переключения клавишей F4.

Под этим окном находится строка ввода команд отладчика CMD > и окно счетчика времени аппаратного выполнения программы s–ms–mcs. Время выполнения соответствует исполнению на реальной микро-ЭВМ. Время отображается в секундах, миллисекундах и микросекундах. Счетчик настроен на вариант микро-ЭВМ, работающей с тактовой частотой 12 МГц. Для анализа времени выполнения программы на микро-ЭВМ с другой тактовой частотой полученное значение времени выполнения программы нужно умножить на коэффициент отношения k.

(10)

где R – реальная тактовая частота в МГц.

Page 61: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

В правой нижней части экрана в окне PSW показаны названия и значения битов регистра флагов, содержание байтов памяти программ показано в окне PRG ROM, текущее состояние стека приведено в окне СТЕК, состояние входов микро-ЭВМ INT0, INT1, T0 и T1 показано в окне Входы.

В нижней строке экрана имеется меню функциональных клавиш [F1] – [F10]. Они настроены на выполнение наиболее употребительных команд. Остальные команды вводятся пользователем в командной строке с клавиатуры при помощи алфавитно-цифровых клавиш. При вводе этих команд можно применять для редактирования клавиши [Ins], [Del], [BackSpace], [Home], [End], [Esc]. Помните, что после начала ввода команды и до нажатия клавиши [Enter], функциональные клавиши [F1] – [F10] недоступны. Для неверных команд выдается сообщение об ошибке и звуковой сигнал.

Рассмотрим действие команд, активизируемых функциональными клавишами.

F1 – выполнить текущую инструкцию загруженной программы. Текущая инструкция – это инструкция, выделенная в окне дизассемблированного текста светлым прямоугольником. После выполнения на экране можно сразу наблюдать результаты ее выполнения;

F2 – выполнить текущую инструкцию до ее завершения. Эта клавиша позволяет выполнить подпрограмму или цикл как одну инструкцию. Это удобно, так как не нужно просматривать уже отлаженные подпрограммы.

F3 – циклическое переключение представления числовой информации на экране (содержимого регистров и памяти) в десятичную, двоичную или шестнадцатеричную формы;

F4 – переключение большого окна памяти с внутренней (INT RAM) на внешнюю память (EXT RAM) и обратно;

F5 – установка точек прерывания;F6 – переключение формы представления данных из

памяти в окне (INT/EXT RAM) в двоичную или шестнадцатеричную;

Page 62: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

F7 – листать окно памяти данных вверх на одну строку. F8 – вызвать меню команд FD51.F9 – листать окно памяти данных вниз на одну строку.F10 – справочная информация.Для пролистывания в окне INT/EXT RAM памяти данных

вверх на одну страницу используется клавиша [Home], на страницу вниз – клавиша [End]. Просмотр памяти программ в окне PGM ROM можно осуществить с клавишами [PageUp] и [PageDown].

Остальные команды вводятся в командной строке. Для получения справки по командам можно ввести команду «Н» в виде одной буквы без кавычек или нажать комбинацию клавиш «[Ctrl] – [H]».

Все вводимые в программе числовые значения должны иметь шестнадцатеричный формат, при этом не требуется указывать букву «h». Рассмотрим допустимые в отладчике команды (таблица 2).

Таблица 2 – Команды отладчика FD51

L <тип памяти><нач. адрес>, <файл. спец.>Загрузить файл в память. <Тип памяти> может быть I, E или P. Соответственно файл загружается во внутреннюю (Int), внешнюю (Ext) или программную (Pgm) памятьПример 1: L I 01F,С:\PGM\T1 – загрузить двоичный файл С:\PGM\T1 во внутреннюю память данных, начиная с адреса 01FПример 2: L P 0,Tablic.tsk – загрузить двоичный файл программы Tablic.tsk в программную память с адреса 0PRTD <нач. адрес>,<количество команд>[,<файл. спец.>]Распечатать дизассемблированный текст, начиная с <нач. адреса>. Вывод по умолчанию направляется на принтерS <тип памяти><нач. адрес>-<кон. Адрес>,<файл. спец.>Сохранить область памяти в дисковом файле. В качестве <файл. спец.> допускается любая корректная в DOS спецификация файла. Параметры <нач.адрес> - <кон.адрес> указывают соответственно начало и конец сохраняемой области. Сохраненный командой S файл можно потом снова загрузить командой LПример: S P 20-642,C:\PGMLIB\MYFILE – сохранить в двоичном виде область памяти программ с начального адреса 20h до конечного

Продолжение табл. 2

Page 63: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

адреса 642h в файле C:\PGMLIB\MYFILEPRT <тип памяти><нач. адрес>-<кон. адрес>[,<файл. Спец.>]Записать в файл дамп области памяти в шестнадцатеричном формате. Если не указана <файл. спец.>, то дамп выводится на принтер.Пример: PRT P 20-642,C:\PGMLIB\MYFILE – сохранить в шестнадцатеричном формате область памяти программ с 20h по 642h адрес в файле C:\PGMLIB\MYFILER<номер регистра>=<число>Занести число в указанный регистр текущего банка. Число должно быть байтом.

Пример: R4=FF<Имя флага>=<число>

Установить или сбросить указанный флаг в PSW. Можно использовать следующие имена флагов: C, AC, F0, S1, S0, OV, P. Если число=0, то флаг сбрасывается, иначе - устанавливается

Пример: S1=0<Имя регистра>=<число>Занести число в регистр специального назначения. Можно использовать следующие имена: A, B, TH0, TH1, TL0, TL1, DPH, DPL, DPTR, SP, IP, IE, TMOD, TCON, SCON, SBUF, PC. Число для PC и DPTR может быть двухбайтовой величиной. Для остальных регистров указывается один байт в шестнадцатеричной форме

Пример: SP=20 или DPTR=FF00PO<номер порта>=<число> Занести число в порт. Номер порта – это число от 0 до 3

Пример: PO2=12D<адрес> Установить адрес дизассемблированного текста в окне

Пример: D 0240<Тип памяти><адрес>[-<кон. адрес>]=<число>Занести число в память. Если указан <кон. адрес>, то заполняется целая область.

Пример: I 22=55 или P 0-40=FF<Тип памяти><адрес>.<номер бита>=<число>Установить или сбросить бит в памяти. <Номер бита> может быть числом от 7 до 0 (старший бит - 7).

Пример: I 20.6=1M <тип памяти><нач. адрес>Установить начальный адрес памяти в окне.

Примеры: M I 20 или M E 0FF или M P 0

Продолжение табл. 2

Page 64: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

<Имя регистра>.<номер бита>=<число>Установить или сбросить бит в регистре специального назначения (A, B, PO0-PO3, IP, IE, TMOD, TCON, SCON).

Пример: TMOD.3=0G [<нач. адрес>[,<кон. адрес>]]Выполнить программу с <нач. адреса> до <кон. адреса>. Если <нач. адрес> пропущен, выполнение начинается с текущей команды, которая выделена белым прямоугольником. <Кон. адрес> можно не указывать, если используются точки прерывания. Выполняющуюся программу можно остановить нажатием любой клавиши.

Пример: G 10, F0 или G или G ,2ET ON [,<файл. спец.>] Включить трассировку программы. Осторожно! Без имени файла поток данных трассировки направляется на принтер

T OFF Выключить трассировкуINT<0/1>=<число>Имитировать высокий или низкий уровень на входах INT0 или INT1

Пример: INT1=0BA=<адрес>Установить новую «точку отсчета» для дизассемблирования. Эта команда полезна при просмотре таблиц, зашитых в памяти программ, когда при дизассемблировании «назад» неизвестно, откуда вести дизассемблированиеRSTC Сбросить счетчик времени выполнения программы

QUIT Выход в DOSRST Имитируется сброс процессора

N И Вы как будто только что запустили FD51

Почти все команды дополнительно можно активизировать через меню команд, вызываемое с помощью клавиши [F8].

Дополнительные функции кросс-отладчика

Окончание табл. 2

Page 65: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Полноэкранное редактирование

Переход в режим полноэкранного редактирования осуществляется нажатием клавиши [Enter] без ввода команды. Теперь можно перемещать курсор по экрану с помощью клавиш управления курсором и изменять содержимое регистров, памяти и флагов набором чисел на клавиатуре. Можно изменить также начальный адрес дизассемблированного текста (текущей инструкции) и начальные адреса окон памяти (в первых строках окон). Полноэкранное редактирование можно производить и при десятичном, и при двоичном представлении информации на экране. Во время редактирования остаются доступными все команды, вводимые функциональными клавишами. Чтобы вернуться в командную строку, нажмите [Enter] снова. Для быстрого перемещения курсора по экрану можно пользоваться клавишами [Tab] и [Shift]-[Tab].

Режим ассемблера

Для перехода в режим ассемблера (ввода команд отлаживаемой программы в мнемонических обозначениях) нужно в режиме полноэкранного редактирования поместить курсор в поле текущей инструкции загруженной программы. Теперь наберите мнемонику (например, «MOV A,#45») и нажмите [Enter]. Если мнемоника верна, то соответствующие ей коды заносятся в память программ, а окно устанавливается на следующий адрес. Числа набираются только в шестнадцатеричной форме. Для исправления ошибочного набора до нажатия [Enter] переместите курсор с помощью клавиш «» и «» в желаемую позицию и повторите ввод. В этом режиме не поддерживаются клавиши [Ins], [Del], [BackSpace], [Esc].

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

Page 66: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

нулем. Для выхода из режима ассемблера нажмите клавишу [Q] или уведите курсор из поля текущей инструкции.

Работа с точками прерывания

Меню точек прерывания вызывается клавишей [F5]. Можно установить одновременно до 8 точек прерывания. Прерывание (останов) выполняющейся программы происходит при достижении указанного в колонке «PC» адреса при выполнении условия «Счетчик» = «Проход». «Счетчик» – это десятичное число, значение которого определяет номер прохода через заданный адрес, в котором будет выполнен останов. «Проход» показывает, сколько раз программа проходила через указанный адрес.

Для задания точки прерывания в колонке «PC» необходимо записать в шестнадцатеричной форме адрес команды, на которой должен произойти останов, и задать значение в колонке «Счетчик».

Минимальное значение счетчика равно 1. В этом случае прерывание произойдет при первом обращении к этому адресу. Точка прерывания становится пассивной при задании счетчика в 0.

После окончания редактирования текущие значения точек прерывания можно сохранить на диске в виде одного из 10 наборов, используя клавишу F2. У пользователя запрашивается номер набора точек прерывания (0-9). Информация записывается в один файл с именем FD51.BRK. Восстановить таблицу значений точек прерывания можно клавишей F1, также указав номер набора.

Для возврата в основное меню нажмите [F5]. После задания точек прерывания можно запустить программу командой G без параметров. Предварительно требуется установить начальный адрес запуска с помощью команды D <адрес>, иначе программа будет запущена с текущего адреса. При останове программы по прерыванию выдается сообщение с указанием номера точки прерывания.

Page 67: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

ЗНАКОМСТВО С ПАКЕТОМ КРОСС-ПРОГРАММ(ЛАБОРАТОРНАЯ РАБОТА № 3)

Цель работы

Целью работы является знакомство с этапами разработки, написания, трансляции и отладки программ для управляющих микроконтроллеров и однокристальных микро-ЭВМ на примере ОЭВМ КМ1816ВЕ51. В работе используется пакет кросс-программ: редактор текста NE.COM, кросс-транслятор COMP51.EXE, кросс-отладчик FD51.EXE. Для изучения этапов создания, методов отладки программ для управляющих микро-ЭВМ и знакомства со способами формирования выходных управляющих сигналов разработаем программу электронного светофора.

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

Программная задержка

1. Ознакомьтесь с описанием работы всех программ, используемых при создании ПО для ОЭВМ КМ1816ВЕ51.

2. Проанализируйте приведенный ниже алгоритм программы формирования программной задержки. Предложите свои варианты реализации программной задержки.

Головная программа:a) задаем счетчик вызовов подпрограммы задержки;b) вызываем подпрограмму задержки;c) уменьшаем на 1 счетчик вызовов. Выполняем в цикле

пункты (b, c) до обнуления счетчика вызовов;d) организуем «программную ловушку» для останова

программы. Программа включает бесконечный цикл.

Page 68: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Подпрограмма задержки на интервал времени N:a) задаем начальное значение счетчика внешнего цикла;b) задаем начальное значение счетчика среднего цикла;c) задаем начальное значение счетчика внутреннего

цикла;d) уменьшаем на 1 счетчик внутреннего цикла.

Повторяем в цикле пункт (d) до обнуления счетчика внутреннего цикла;

e) уменьшаем на 1 счетчик среднего цикла. Повторяем в цикле пункты (c, d, e) до обнуления счетчика среднего цикла;

f) уменьшаем на 1 счетчик внешнего цикла. Повторяем в цикле пункты (b, c, d, e, f) до обнуления счетчика внешнего цикла;

g) возврат из подпрограммы.3. Введите текст предлагаемой ниже программы

(таблица 3). Не забудьте сохранить введенный текст в виде файла с произвольным именем формата DOS длиной до 8 символов и расширением *.ASS.

Таблица 3 – Программа рабочей задержки на 3 секунды

Начальные условия:Подпрограмма DELAY_1С дает задержку около 1 секунды. Она вызывается

3 раза подрядРезультаты:

Программа выполнит задержку на 3 секунды Метка Команда КомментарийPROBA1: MOV R5,#03 ; Количество вызовов задержки в 1 сек

SNOV: LCALL DELAY_1C ; Вызов задержки в 1 секDJNZ R5, SNOV ; Цикл на 3 повторенияNOP ; Следующие команды программыNOP ; Следующие команды программыNOP ; Следующие команды программыNOP ; Следующие команды программы

STOP: SJMP STOP ; Ловушка – конец всей программы

; Подпрограмма задержки на 1 секунду на основе трех счетчиковDELAY_1C: MOV R4,#10 ; R4 – Счетчик внешнего цикла = 0AH

DEL_01: MOV R3,#216 ; R3 – Счетчик среднего цикла = 0D8H

Page 69: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

HAP: MOV R2,#230 ; R2 – Счетчик внутреннего цикла = 0E6HBH: DJNZ R2,BH ; В цикле обнуляем внутренний счетчик R2

DJNZ R3,HAP ; Цикл до обнуления среднего счетчика R3DJNZ R4, DEL_01 ; Цикл до обнуления старшего счетчика R4RET ; Возврат из подпрограммыEND ; Признак конца текста программы

4. Выполните трансляцию введенной программы с помощью кросс-транслятора COMP51.EXE и исправьте возможные ошибки. При необходимости повторите трансляцию, чтобы получить загрузочный файл без ошибок.

5. Запустите программу отладчика FD51.EXE.6. Командой L P 0, имя_файла.TSK загрузите в

программную память отладчика файл программы задержки.7. Выполните программу по шагам. Учтите, что команд

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

8. Обнулите показания счетчика времени выполнения программы командой RSTC. Командой D 0 установите указатель на начало программы. Установите контрольную точку останова на адресе команды бесконечного цикла (клавишей F5). Запустите программу на выполнение командой G. Программа должна остановиться и выдать сообщение типа Останов.по Breakpoint 1.

9. После останова программы определите по счетчику точное время ее выполнения. Оно должно быть чуть больше 3 секунд. Это признак правильной работы программы.

10. Завершите работу в отладчике командой QUIT.

Электронный светофор

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

Page 70: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

излучателей-цветов светофора. Зеленый и красный сигналы должны быть активны по 15 секунд, а желтый – 5 секунд. Для работы светофора не нужны никакие входные сигналы.

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

Ранее мы создали подпрограмму DELAY_1C задержки на 1 секунду. Необходимо на ее основе получить задержки в 15 и 5 секунд.

Лабораторное задание

Разработайте алгоритм и составьте текст программы, управляющей сигналами светофора. Зеленый свет горит 15 секунд, затем на 5 секунд включается желтый, потом на 15 секунд зажигаем красный. Цикл завершаем желтым сигналом на 5 секунд. Для управления включением и выключением света нужно использовать 3 младших бита порта 1. Бит P1.0 подключен к зеленому сигналу светофора, бит P1.1 управляет желтым сигналом, а P1.2 соединен с красным цветом. Единичное состояние бита включает свечение, а нулевое – выключает.

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

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

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

Файл отчета необходимо переслать в Томск для зачета выполнения лабораторной работы № 3.

Контрольные вопросы

1. Для какой цели в программе используется конструкция

Page 71: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

STOP: SJMP STOP? 2. Какой максимальный объем внешней памяти

программ доступен в однокристальной микро-ЭВМ КМ1816ВЕ51 и при каких условиях?

3. Допустим, мы реализуем алгоритм управляемого пешеходного перехода. В исходном состоянии светофор показывает зеленый свет. На бит порта Р1.7 заведен единичный сигнал от нормально разомкнутой кнопки. Пешеход нажимает на кнопку только тогда, когда желает перейти дорогу. При нажатии на кнопку на бит порта поступает сигнал нулевого уровня.

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

4. Сложно ли модернизировать Вашу программу для управления переключением елочной гирлянды? Что в программе прибавится или убавится?

ОБРАБОТКА ДАННЫХ В МК (ЛАБОРАТОРНАЯ РАБОТА № 4)

Цель работы

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

Цифровая фильтрация данных

Информация, поступающая с датчиков, может быть представлена как в цифровой, так и в аналоговой форме. Однокристальный микроконтроллер может выполнять

Page 72: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

различные виды обработки информации, даже фильтрацию аналоговых сигналов.

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

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

Рисунок 3 – Схема работы цифрового фильтра

Рассмотрим простейший пример цифровой реализации фильтра нижних частот, показанного на рисунке 4.

Рисунок 4 – Фильтр нижних частот

Уравнение фильтра имеет вид

. (11)

Рассмотрим значения входного и выходного сигналов в дискретные моменты времени it, i=0, 1, 2,…. Заменяя производную конечной разностью

,

и обозначая it как n, получаем:

Page 73: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

. (12)По формуле (12) видно, что значения k1+k2=1.

Обозначим Yn=UВЫХ[n], Yn-1=UВЫХ[n–1], Xn=UВХ[n]. . (13)

При условии t<<RC, несложно по формуле (13) реализовать цифровой фильтр в виде программы для МП.

Зададим, например, значения коэффициентов k1=0.177 и k2=0.823. Тогда

(14)

. (15)Формулы (14) и (15) математически эквивалентны, но

требуют разного объема расчетов в вычислителе. Дробные значения чисел можно получить при сдвиге их вправо с учетом знака. Число после сдвига вправо равно 0.5 от исходного значения. Повторный сдвиг даст 0.25 от исходного числа. За счет суммирования, например, можно получить 0.75 от числа. Продолжая далее, можно получать и коэффициенты типа 0.177 и 0.823.

Лабораторное заданиеТаблица коэффициентов

Номер варианта k1 k2

1. 0,125 0,8752. 0,250 0,7503. 0,375 0,6254. 0,625 0,375

Page 74: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

5. 0,750 0,2506. 0,875 0,125

1. Выберите из таблицы свой вариант пары коэффициентов k1 и k2 по стандартному способу для Вашего номера.

2. Составьте текст программы, выполняющей цифровую фильтрацию массива данных Xn размером 100 байтов и создающей выходной массив Yn, с 200-й ячейки памяти. Массив данных Xn размером 100 байтов должен располагаться во внешней памяти данных ОЭВМ, начиная с 0 ячейки. Фильтрованный массив Yn нужно записывать с 200-й ячейки памяти (EXT RAM).

3. Введите программу, выполните ее трансляцию и создайте исполняемый двоичный файл.

4. Загрузите в отладчик FD51.EXE исполняемую программу.

5. Создайте средствами отладчика входной массив данных Xn размером 100 байтов, запишите его с адреса 0. Для проверки работы фильтра наиболее удобно использовать тестовые сигналы в виде короткой положительной и отрицательной (nT) функции и ступенчатой функции произвольного размаха, изменяющейся с положительным и отрицательным знаком. Отрицательные значения ступеней нужно понимать в смысле отрицательности перепада от предыдущего до нового значений. Длина ступеней должна быть больше 20 отсчетов. Массив входных данных перепишите в отчет.

6. Выполните отладку Вашей программы. Получите выходной массив отсчетов. Массив выходных данных перенесите в отчет.

7. Подготовьте отчет о работе по стандартной форме. В отчете приведите цель работы, опишите текст программы с Вашими комментариями. Приведите значения входного и выходного массивов. Нарисуйте в отчете графики входного сигнала и фильтрованного сигнала.

8. Файл отчета необходимо переслать в Томск для зачета выполнения лабораторной работы № 4.

Page 75: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Контрольные вопросы

1. На что влияют значения коэффициентов k1 и k2 в формуле (13)?

2. Почему выходной сигнал ЦФ при входной (nT) функции имеет такой вид?

3. Какой характер выходного сигнала будет для случая плавно нарастающего входного сигнала?

4. Сравните особенности реализации фильтра по формуле (5) и (6).

5. Почему для ступенчатой функции выходной сигнал фильтра не достигает точного значения входного сигнала, т.е. не может сравняться с ним?

6. Если сумма коэффициентов k1 + k2 будет больше единицы, как будет вести себя ЦФ?

7. Определите области применения данной разработки.

Page 76: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

ПРИЛОЖЕНИЕ А(справочное)

Список команд ОЭВМ КМ1816ВЕ51

Мнемокод Название

Бай

тыЦ

иклы

Операция

Группа команд передачи данных

MOV @Ri,#d Пересылка в РПД константы 2 1 ((Ri))#d

MOV @Ri,A Пересылка в РПД байта из аккумулятора 1 1 ((Ri))(А)

MOV @Ri,ad Пересылка в РПД байта, взятого по адресу ad 2 2 ((Ri))(ad)

MOV A,#d Загрузка в аккумулятор константы 2 1 (А)#d

MOV A,@Ri Пересылка в аккумулятор байта из РПД (i=0,1) 1 1 (А)((Ri))

MOV A,ad Пересылка в аккумулятор байта с адреса ad 2 1 (А)(ad)

MOV A,Rn Пересылка в аккумулятор байта из регистра (n=07) 1 1 (А)(Rn)

MOV ad,#d Пересылка по прямому адресу константы 3 2 (ad)#d

MOV ad,@Ri Пересылка по прямому адресу байта из РПД 2 2 (ad)((Ri))

MOV ad,A Пересылка по прямому адресу аккумулятора 2 1 (ad)(А)

MOV ad,Rn Пересылка по прямому адресу регистра (n=07) 2 2 (ad)(Rn)

MOV add,adsПересылка прямоадресуемого байта по прямому адресу

3 2 (add)(ads)

MOV DPTR,#d16 Загрузка указателя данных 3 2 (DPTR)#d16

MOV Rn,#d Загрузка в регистр (n=07) константы 2 1 (Rn)#d

MOV Rn,AПересылка в регистр (n=07) байта из аккумулятора

1 1 (Rn)(А)

MOV Rn,adПересылка в регистр (n=07) прямоадресуемого байта

2 2 (Rn)(ad)

Page 77: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Мнемокод Название

Бай

тыЦ

иклы

Операция

MOVC A,@A+DPTR

Пересылка в аккумулятор байта из ПП 1 2 (А)((А)+(DPTR))

MOVC A,@A+PC Пересылка в аккумулятор байта из ПП 1 2 (А)((А) +(PC))

MOVX @DPTR,A Пересылка в расширенную ВПД из аккумулятора 1 2 ((DPTR))(А)

MOVX A,@DPTR Пересылка в аккумулятор байта из расширенной ВПД 1 2 (А)((DPTR))

MOVX @Ri,A Пересылка в ВПД из аккумулятора 1 2 ((Ri))(А)

MOVX A,@Ri Пересылка в аккумулятор байта из ВПД 1 2 (А)((Ri))

POP ad Извлечь из стека 2 2 (ad)((SP)) (SP)(SP)-1

PUSH ad Загрузить в стек 2 2 (SP)(SP)+1((SP))(ad)

XCH A,@Ri Обмен аккумулятора с байтом из РПД 1 1 (А)((Ri))

XCH A,ad Обмен аккумулятора с прямоадресуемым байтом 2 1 (А)(ad)

XCH A,Rn Обмен аккумулятора с регистром 1 1 (А)(Rn)

XCHD A,@RiОбменять мл. тетраду аккумулятора с мл. тетрадой байта РПД

1 1 (А0-3)((Ri)0-3)

SWAP A Обменять тетрады в аккумуляторе 1 1 (А0-3)(А4-7)

Группа арифметических операций

ADD A,#d Сложить аккумулятор с константой 2 1 (А)(А)+#d

ADD A,@Ri Сложить аккумулятор с байтом из РПД (i=0,1) 1 1 (А)(А)+((Ri))

ADD A,ad Сложить аккумулятор с байтом по адресу ad 2 1 (А)(А)+(ad)

ADD A,Rn Сложить аккумулятор с регистром 1 1 (А)(А)+(Rn)

ADDC A,#d Сложить аккумулятор с константой и переносом 2 1 (А)(А)+#d+(C)

Page 78: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Мнемокод Название

Бай

тыЦ

иклы

Операция

ADDC A,@RiСложить аккумулятор с байтом из РПД (i=0,1) и переносом

1 1 (А)(А)+((Ri))+(C)

ADDC A,adСложить аккумулятор с байтом по адресу ad и переносом

2 1 (А)(А)+(ad)+(C)

ADDC A,RnСложить аккумулятор с регистром (n=07) и переносом

1 1 (А)(А)+(Rn)+(C)

DA A Десятичная коррекция аккумулятора 1 1

SUBB A,#d Вычесть из аккумулятора константу и заем 2 1 (А)(А)-#d-(C)

SUBB A,@Ri Вычесть из аккумулятора байт из РПД (i=0,1) и заем 1 1 (А)(А)-((Ri))-(C)

SUBB A,ad Вычесть из аккумулятора байт по адресу ad и заем 2 1 (А)(А)-(ad)-(C)

SUBB A,Rn Вычесть из аккумулятора регистр (n=07) и заем 1 1 (А)(А)-(Rn)-(C)

INC @Ri Инкремент байта в РПД 1 1 ((Ri))((Ri))+1INC A Инкремент аккумулятора 1 1 (А)(А)+1INC ad Инкремент байта по адр. ad 2 1 (ad)(ad)+1

INC DPTR Инкремент указателя данных 1 2 (DPTR)(DPTR)+1

INC Rn Инкремент регистра 1 1 (Rn)(Rn)+1DEC @Ri Декремент байта в РПД 1 1 ((Ri))((Ri))-1DEC A Декремент аккумулятора 1 1 (А)(А)-1

DEC ad Декремент байта по адресу ad 2 1 (ad)(ad)-1

DEC Rn Декремент регистра 1 1 (Rn)(Rn)-1

MUL AB Умножение аккумулятора на регистр B 1 4 (B)(A)(A)·(B)

DIV AB Деление аккумулятора на регистр B 1 4 (A).(B)(A)/(B)

Группа логических операций

ANL A,#d Логическое И байта из аккумулятора с константой 2 1 (А)(А)#d

ANL A,@Ri Логическое И аккумулятора с байтом из РПД (i=0,1) 1 1 (А)(А)((Ri))

Page 79: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Мнемокод Название

Бай

тыЦ

иклы

Операция

ANL A,ad Логическое И аккумулятора с байтом по адресу ad 2 1 (А)(А)(ad)

ANL A,Rn Логическое И аккумулятора с регистром (n=07) 1 1 (А)(А)(Rn)

ANL ad,#d Логическое И байта по адресу ad с константой 3 2 (ad)(ad)#d

ANL ad,A Логическое И байта по адресу ad с аккумулятором 2 1 (ad)(ad)(А)

ORL A,#d Логическое ИЛИ аккумулятора с константой 2 1 (А)(А)#d

ORL A,@Ri Логическое ИЛИ аккумуля-тора с байтом из РПД (i=0,1) 1 1 (А)(А)((Ri))

ORL A,ad Логическое ИЛИ аккумуля-тора с байтом по адресу ad 2 1 (А)(А)(ad)

ORL A,Rn Логическое ИЛИ аккумуля-тора с регистром (n=07) 1 1 (А)(А)(Rn)

ORL ad,#d Логическое ИЛИ байта по адресу ad с константой 3 2 (ad)(ad)#d

ORL ad,A Логическое ИЛИ байта по адресу ad с аккумулятором 2 1 (ad)(ad)(А)

XRL A,#d Исключающее ИЛИ аккумулятора с константой 2 1 (А)(А)#d

XRL A,@RiИсключающее ИЛИ аккумулятора с байтом из РПД (i=0,1)

1 1 (А)(А)((Ri))

XRL A,adИсключающее ИЛИ аккумулятора с байтом по адресу ad

2 1 (А)(А)(ad)

XRL A,RnИсключающее ИЛИ аккумулятора с регистром (n=07)

1 1 (А)(А)(Rn)

XRL ad,#d Исключающее ИЛИ байта по адресу ad с константой 3 2 (ad)(ad)#d

XRL ad,AИсключающее ИЛИ байта по адресу ad с аккумулятором

2 1 (ad)(ad)(А)

CLR A Сброс аккумулятора 1 1 (А)0CPL A Инверсия аккумулятора 1 1 (А)( )

RL A Сдвиг аккумулятора влево по циклу 1 1 (Аn+1)(Аn), n=06

(А0)(А7)

Page 80: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Мнемокод Название

Бай

тыЦ

иклы

Операция

RR A Сдвиг аккумулятора вправо по циклу 1 1 (Аn)(Аn+1), n=06

(А7)(А0)

RLC A Сдвиг аккумулятора влево через перенос 1 1 (Аn+1)(Аn), n=06

(А0)(C) (C)(А7)

RRC A Сдвиг аккумулятора вправо через перенос 1 1 (Аn)(Аn+1), n=06

(А7)(C) (C)(А0)Группа битовых операций

MOV bit,C Пересылка разряда переноса в бит 2 2 (b)(C)

MOV C,bit Пересылка бита в разряд переноса 2 1 (C)(b)

ANL C,bit Логическое И бита и переноса 2 2 (C)(C)(b)

ANL C,/bit Логическое И инверсии бита и переноса 2 2 (C)(C)( )

ORL C,bit Логическое ИЛИ бита и переноса 2 2 (C)(C)(b)

ORL C,/bit Логическое ИЛИ инверсии бита и переноса 2 2 (C)(C)( )

CLR bit Сброс бита 2 1 (b)0CLR C Сброс переноса 1 1 (C)0SETB bit Установка бита 2 1 (b)1SETB C Установка переноса 1 1 (C)1CPL bit Инверсия бита 2 1 (b)( )CPL C Инверсия переноса 1 1 (C)( )

Группа команд передачи управления

LCALL ad16 Длинный вызов программы 3 2

(PC)(PC)+3, (SP)(SP)+2, (SP-1)(PC0-7), (SP)(PC8-15), (PC)ad16

ACALL ad11Абсолютный вызов подпрограммы в странице 2 Кбайта

2 2

(PC)(PC)+2, (SP)(SP)+2, (SP-1)(PC0-7), (SP)(PC8-15), (PC0-10)ad11

LJMP ad16 Длинный переход 3 2 (PC)ad16

AJMP ad11 Абсолютный переход в странице размером 2 Кбайт 2 2 (PC0-10)ad11

Page 81: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Мнемокод Название

Бай

тыЦ

иклы

Операция

SJMP rel Короткий относительный переход 2 2 (PC)(PC)+2+rel

CJNE A,ad,relСравнение аккумулятора с байтом по адресу ad и переход, если не равно

3 2(PC)(PC)+3, если (А)(ad), то (PC)(PC)+rel

CJNE @Ri,#d,relСравнение байта из РПД с константой и переход, если не равно

3 2(PC)(PC)+3, если ((Ri))#d, то (PC)(PC)+rel

CJNE A,#d,relСравнение аккумулятора с константой и переход, если не равно

3 2(PC)(PC)+3, если (А)#d, то (PC)(PC)+rel

CJNE Rn,#d,relСравнение регистра с константой и переход, если не равно

3 2(PC)(PC)+3, если (Rn)#d, то (PC)(PC)+rel

DJNZ ad,rel Декремент байта по адресу ad и переход, если не нуль 3 2

(PC)(PC)+2, (ad)(ad)-1, если (ad)0, то (PC)(PC)+rel

DJNZ Rn,rel Декремент регистра и переход, если не нуль 2 2

(PC)(PC)+2, (Rn)(Rn)-1, если (Rn)0, то (PC)(PC)+rel

JB bit,rel Переход, если бит равен единице 3 2

(PC)(PC)+3, если (b)=1, то (PC)(PC)+rel

JBC bit,relПереход, если бит установлен, с последующим сбросом бита

3 2

(PC)(PC)+3, если (b)=1, то (b)0, (PC)(PC)+rel

JC rel Переход, если перенос равен единице 2 2

(PC)(PC)+2, если (C)=1, то (PC)(PC)+rel

JMP @A+DPTR Косвенный относительный переход 1 2 (PC)(А)+(DPTR)

JNB bit,rel Переход, если бит равен нулю 3 2

(PC)(PC)+3, если (b)=0, то (PC)(PC)+rel

JNC rel Переход, если перенос равен нулю 2 2

(PC)(PC)+2, если (C)=0, то (PC)(PC)+rel

Page 82: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ...tu.tusur.ru/upload/posobia/k36.doc · Web viewграфики, диаграммы, структурные схемы;

Мнемокод Название

Бай

тыЦ

иклы

Операция

JNZ rel Переход, если аккумулятор не равен нулю 2 2

(PC)(PC)+2, если (А)0, то (PC)(PC)+rel

JZ rel Переход, если аккумулятор равен нулю 2 2

(PC)(PC)+2, если (А)=0, то (PC)(PC)+rel

RET Возврат из подпрограммы 1 2(PC8-15)((SP)) (PC0-7)((SP)-1) (SP)(SP)-2.

RETI Возврат из подпрограммы обработки прерывания 1 2

(PC8-15)((SP)) (PC0-7)((SP)-1) (SP)(SP)-2.

NOP Нет операции 1 1 (PC)(PC)+1