рефераты рефераты
Главная страница > Курсовая работа: Обработка сигналов на основе MCS-51  
Курсовая работа: Обработка сигналов на основе MCS-51
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Обработка сигналов на основе MCS-51

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

Чаще всего с помощью MCS51 это делается программно так, как показано на рис. 7 и рис. 8.

Реализация первого метода, количество совпадений задано в R3.

DBNC:                 MOV          R3,#3         ; инициализация счетчика

DBNC1: JB         P3.4, DBNC; если контакт замкнутый,
                                      ; то начать отсчет опрашиваний
                                      ; сигнала сначала

DJNZ  R3, DBNC1       ; повторять, пока значение в R3

; не станет равным 0

JB       P3.4, DBNC; конечная проверка

Временная задержка подбирается экспериментальное (1–10 мс) в зависимости от типа датчика.

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

PULLS:ON:         ANL P1,#11110111B; выдача импульса в линию 3 порта 1

CALL  DELAY    ; временная задержка

OFF:   ORL         Р1,#00001000В; сброс

Пример 45. Считывание данных из таймера. Для устранения возможных сбоев при считывании сначала читается старший байт, потом – младший, после чего подтверждается, что старший байт за это время не изменился.

RDTIME: MOV A, TH0

MOV  R0, TL0

CJNE  A, TH0, RDTIME

MOV  R1, А

RET

Пример 46. Подсчет числа импульсов, например, радиодеталей, которые движутся по конвейеру, зафиксированных фотоэлементом (рис. 9).

MOV  TMOD,#01000000B; настройка счетчика 1

MOV  TH1,#00H         ; сброс счетчика

WAIT0: JB          P3.4, WAIT0; ожидание включения транспортера

SETB  TCON.6   ; запуск счетчика 1

WAITC: JNB       P3.4, WAITC; ожидание отключения транспортера

CLR    TCON.6   ; остановка счетчика 1

MOV  A.TH1      ; A ¬ число деталей

EXIT:                            ; выход

Максимальное число радиодеталей – 255.

Пример 4 Реализация функций времени на основе таймеров.

В MCS-51 при частоте генератора тактовых импульсов 12 МГц таймер / счетчик изменяет свое значение с частотой 1 Мгц (в режиме таймера), или при поступлении сигнала от внешнего источника через счетный вход T0, T1 (в режиме счетчика).

Если использовать таймер / счетчик в режиме 1 полного формата (16 бит), то получим задержки в границах (1 – 65536 мкс).

Программа задержки на 50 мс в MCS-51, прерывание разрешено. Организация перехода к метке NEXT при переполнении Т/С0:

ORG   0ВН          ; адреса вектора прерываний от Т/С0

CLR    TCON.4   ; остановка Т/С0

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

ORG   100H        ; начальный адрес программы

MOV  TMOD, #01Н; настройка Т/С0

MOV  TL0, #LOW (NOT(50000) – 1); загрузка таймера

MOV  TH0, #HIGH (NOT(50000) – 1)

SETB  TCON.4   ; старт Т/С0

SETB  IE.1          ; разрешение прерываний от Т/С0

SETB  PCON.0    ; перевод в режим холостого хода

NEXT:                                    ; продолжение программы.

Пример 48. Организация задержки программным путем:

DELAY: MOV    R2, Х         ; (R2)¬(Х)

COUNT: DJNZ R2, COUNT; декремент R2 и цикл, если не нуль

RET                     ; возвращение из подпрограммы

Пример 49. Подпрограмма задержки на 50 мс, используя Т/С0, погрешность не превышает 2 мкс.

DELAY: MOV    TMOD,#00000001B; настройка Т/С0

MOV  TH0,#HIGH (NOT(50000–16))

MOV  TL0,#LOW (NOT(50000–16))

SETB  TCON.4   ; запуск Т/С0

JNB    TCON.5,$ ; ожидание

ANL    TCON,#NOT(30H); остановка Т/С0, сброс TF0

RET                     ; возвращение из подпрограммы

Пример 50. Подпрограмма задержки на 1 секунду. Погрешность не больше, чем 123 мкс.

OS:     MOV        R3,#20D    ; счетчик циклов

S1:      ACALL DELAY         ; задержка на 50 мс

DJNZ  R3, S1      ; организация цикла

RET                     ; возвращение из подпрограммы

Пример 51. Измерение временных интервалов. При применении таймера используется вход разрешения счетчика (). Тогда измеренный сигнал подается на вход , а измерение продолжительности выполняется в Т/С0.

«Положительный» импульс:

MOV  TMOD,#00001001В; настраивание Т/С0

MOV  TH0,#0     ; сбрасывание таймера

MOV  TL0,#0

SETB  TCON.4   ; запуск Т/С0

WAIT0: JNB       P3.2, WAIT0; ожидание единичного уровня

WAITC: JB          P3.2, WAITC; ожидание нулевого уровня

CLR    TCON.4   ; остановка Т/С0

RET                     ; выход из процедуры

Управление программе должно передаваться при условии =0. Прерывание от Т/С0 и внешние от  – должны быть запрещены. По завершению программы в Т/С0 будет находиться число, пропорциональное продолжительности импульса на входе . Максимальная продолжительность импульса 65536 мкс, погрешность 1 мкс.

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

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

MOV  SBUF, А

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

MOV  A, SBUF.

Пример 54. Преобразование однобайтовых чисел в дополнительный код и наоборот. Числа со знаком можно представить в дополнительном коде в границах от -128 к +12 Алгоритмы перевода чисел из прямого кода со знаком в дополнительный и обратное преобразование одинаковы:

DOD-PR: JNB А.7, EXIT; проверка знакового разряда

CPL    А              ; инверсия аккумулятора

ADD   A, #1        ; добавление единицы

SETB  А.7           ; установление знака

EXIT:                            ; выход

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

Программа перевода двоичного числа в двоично-десятичное.

MOV  R5, А        ; передача начального числа в R5

CLR    А              ; сброс аккумулятора

REV:   ADD         A,#1 ; добавление единицы

DA      A              ; десятичная коррекция

DJNZ  R5, REV   ; декремент начального кода и цикл, если не нуль

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

Пример 56. Подсчет числа импульсов за заданный промежуток времени. Решается 4-я способами:

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

2. Программная реализация временного интервала и аппаратный подсчет числа импульсов (на внутреннем таймере / счетчике).

3. Аппаратная реализация временного интервала и программный подсчет числа импульсов.

4. Аппаратная реализация временного интервала и аппаратная реализация подсчета импульсов.

Реализация на MCS-51: в таймере-счетчике Т/С1 осуществляется подсчет числа импульсов; в Т/С0 заданный временной интервал. Датчик импульсов должен быть подключен к Т1.

TIME: EQU         NOT(10000)+1; определение константы TIME для отсчета времени в 10 мс

MOV  TMOD,#01010001B; настройка таймеров-счетчиков:

1-й – счетчик 16 бит, 0-й – таймер

CLR    A              ; сброс аккумулятора

MOV  ТН1, А     ; сброс Т/С1

MOV  ТL1, А;

MOV  ТН0,#НІGH(ТIМE); загрузка в Т/С0 константы TIME

MOV  TL0,#LOW (TIME);

ORL    TCON,#50H; запуск Т/С1 и Т/С0

WAIT: JBC          TCON.5, EXIT; проверка переполнения Т/С0

SJMP  WAIT       ; цикл, если TF=0

EXIT: MOV         В, ТН1       ; (В) – (А), число импульсов за время 10 мс

MOV  A, TL1

программный команда управление микроконтроллер

6. Реализация ЦАП и АЦП

Пример 5 Преобразование информации из цифровой формы в аналоговую осуществляется с помощью подключения интегральных микросхем цифроаналогового преобразователя (ЦАП) к одному из портов MCS-51. Выдача информации при этом осуществляется с помощью одной команды, например: MOV P1, А.

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

Пример 58. Аналого-цифровой преобразователь (АЦП) последовательного приближения (рис. 10).

Рисунок 10 – Реализация АЦП последовательного приближения

МК выдает через порт P1 байт данных, что превращается в аналоговую форму и сравнивается с входным сигналом компаратора, после чего анализируется результат сравнения. В зависимости от значения сигнала на входе Т0 MCS-51 или оставляет старший бит в единичном состоянии, или сбрасывает в 0. Потом аналогично проверяются все остальные биты.

R4 – регистр цифрового эквивалента;

Страницы: 1, 2, 3, 4, 5, 6

рефераты
Новости