Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Порядок выполнения работы. Выводы по лабораторной работеСодержание книги
Поиск на нашем сайте 3. 3. Порядок выполнения работы 1. Ознакомиться с описанием. 2. Отладить и запустить циклическую программу анализа состояния входов порта Р3. Произвести в программе инкремент ячейки 30Н при наличии «0» на входе Р3.3 и декремент при наличии «0» на входе Р3.2. Вывести содержимое ячейки 30Н на экран в десятичном коде с помощью подпрограмм ACCDEC, CRLF и DSEC. Проверить работу программы, кратковременно подключая Р3.3 и Р3.2 к шине «Общий». Модифицировать программу, добавив вывод в Р3.2 инвертированного состояния входа Р3.3. Подключать к шине «Общий» только вход РЗ.3. Текст программы:
ORG 4000H MOV 30H,#0 ; инициализация счетчика 30H L1: JB P3.2,L2 ; переход, если P3.2=1 DEC 30H L2: JB P3.3,L3 ; переход, если P3.3=1 INC 30H L3: MOV A,30H ; вывод 30H с помощью ACCDEC CALL ACCDEC CALL CLRF CALL DSEG CALL DSEG CALL DSEG CALL DSEG JMP L1 ; зацикливание программы END
Программа работает в цикле, проверяя состояние входов порта P3. Ячейка памяти 30H инкрементируется, если P3.3=0, и декрементируется при P3.2=0, после чего она выводится на экран дисплея. 3. Отладить и запустить циклическую программу вывода в порт Р1 «бегущей единицы». Направление сдвига задавать входом Р3.2. Управлять частотой сдвига входом Р3.5, обнаруживая перепад 1/0. Подключить к Р3.5 сигнал генератора макета. Наблюдать осциллограммы на выводах порта Р1 и выходе ЦАП1, меняя частоту генератора и сигнал на входе Р3.2. Текст программы: ORG 4000H MOV R0,#1 ; «бегущая» единица MOV 20H,P3 ; 20H – предыдущее значение P3 L1: MOV 21H,P3 ; 21H – текущее значение P3 JNB 5,L4 ; поиск среза на P3.5 JB 13,L4 MOV A,R0 JB 10,L2 ; P3.2=0? RL A L2: JNB 10,L3 ; P3.2=1? RR A L3: MOV R0,A MOV P1,A ; вывод «бегущей» единицы в P1 (DAC1) L4: MOV 20H,21H ; запомнить текущее состояние P3 JMP L1 END
Программа циклическая. На входе P3.5 ищется срез, и тогда производится сдвиг единички влево, если P3.2=0, иначе – сдвиг вправо. Так как порт P1 аппаратно подключен к DAC1, то на выходе цифро-аналогового преобразователя формируется напряжение пропорциональное 2n. 4. Составить программу формирования на выходе ЦАП1 частотно-манипулированного сигнала с одинаковой длительностью посылок «0» и «1». Использовать массив TABSIN. Логический «0» передавать одним периодом синусоиды, логическую «1» – двумя. Модулирующую информацию вводить, последовательно опрашивая входы Р3.2 ... Р3.5. Соединить один или два входа с шиной «Общий». Наблюдать сигнал на выходе ЦАП1. Текст программы: ORG 4000H L1: MOV A,P3 ; данные для формирования сигнала RR A RR A MOV R0,A MOV R1,#4 ; счетчик информационных битов L2: MOV A,R0 RRC A MOV R0,A JC L3 MOV R2,#1 ; коэффициент умножения частоты для 0 CALL L5 ; вызов подпрограммы генерации периода синуса JMP L4 L3: MOV R2,#3 ; коэффициент умножения частоты для 1 CALL L5 ; вызов подпрограммы генерации периода синуса CALL L5 CALL L5 L4: DJNZ R1,L2 JMP L1 L5: MOV R3,#0 ; смещение в таблице TABSIN MOV DPTR,#TABSIN L6: MOV A,R3 MOVC A,@A+DPTR MOV P1,A MOV A,R3 ADD A,R2 MOV R3,A JNC L6 RET END
Программа формирует ЧМ-сигнал на выходе DAC1. Модулирующая информация снимается с выводов порта P3.2, P3.3, P3.4, P3.5. Высокий уровень на входе (логическая 1) кодируется тремя периодами синуса, низкий уровень (логический 0) – одним периодом, причем длительность посылок одинаковая.
5. Составить программу формирования фазоманипулированного сигнала на выходе ЦАП1. В качестве элементарной посылки сигнала использовать массив TABMOD. Модуляция – через входы Р3.2 ... Р3.5. Текст программы: ORG 4000H L1: MOV A,P3 ; данные для формирования сигнала RR A RR A MOV R0,A MOV R1,#4 ; счетчик информационных битов L2: MOV A,R0 RRC A MOV R0,A JC L3 MOV 20H,#0 ; указатель 0 CALL L5 ; вызов подпрограммы генерации периода синуса JMP L4 L3: MOV 20H,#1 ; указатель1 CALL L5 ; вызов подпрограммы генерации периода синуса L4: DJNZ R1,L2 JMP L1 L5: MOV R3,#0 ; смещение в таблице TABMOD MOV DPTR,#TABMOD L6: MOV A,R3 MOVC A,@A+DPTR JNB 20H.0,L7 CPL A L7: MOV P1,A MOV A,R3 ADD A,#1 MOV R3,A JNC L6 RET END
Программа формирует ФМ-сигнал на выходе DAC1. Модулирующая информация снимается с выводов порта P3.2, P3.3, P3.4, P3.5. Высокий уровень на входе (логическая 1) кодируется тремя периодами синуса, сдвинутого на 180º по фазе (инверсия – команда CPL A), низкий уровень (логический 0) – периодом синуса. 6. Составить программу формирования амплитудно-манипулированного сигнала с соотношением уровней амплитуд огибающей сигнала 1 : 2. В качестве элементарной посылки сигнала использовать массив TABMOD. Управление модуляцией – через входы Р3.2 ... Р3.5. Текст программы: ORG 4000H L1: MOV A,P3 ; данные для формирования сигнала RR A RR A MOV R0,A MOV R1,#4 ; счетчик информационных битов L2: MOV A,R0 RRC A MOV R0,A JC L3 MOV R2,#1 ; коэффициент деления амплитуды для 0 CALL L5 ; вызов подпрограммы генерации периода синуса JMP L4 L3: MOV R2,#3 ; коэффициент деления амплитуды для 1 CALL L5 ; вызов подпрограммы генерации периода синуса L4: DJNZ R1,L2 JMP L1 L5: MOV R3,#0 ; смещение в таблице TABMOD MOV DPTR,#TABMOD L6: MOV A,R3 MOVC A,@A+DPTR CLR C SUBB A,#127 MOV 20H.0,C JNC L7 CPL A L7: MOV B,R2 DIV AB MOV C,20H.0 JNC L8 CPL A L8: ADD A,#127 MOV P1,A MOV A,R3 ADD A,#1 MOV R3,A JNC L6 RET END Программа формирует АМ-сигнал на выходе DAC1. Модулирующая информация снимается с выводов порта P3.2, P3.3, P3.4, P3.5. Высокий уровень на входе (логическая 1) кодируется периодом синуса, уменьшенного по амплитуде в 3 раза, низкий уровень (логический 0) – периодом синуса с максимальной амплитудой. 7. Вызвать в бесконечном цикле подпрограмму формирования сигнала с линейно-частотной модуляцией (CALL LFM). В ячейку 30Н занести коэффициент изменения частоты формируемого сигнала (3 ... 9). Наблюдать осциллограмму на выходе ЦАП1. Написать комментарии к подпрограмме LFM. Текст программы: ORG 4000H L1: MOV 30H,#6 CALL LFM JMP L1 END
Программа циклически вызывает подпрограмму из ROM макета, генерирующую ЛЧМ-сигнал.
Лабораторная работа посвящена изучению системы ввода-вывода микроконтроллера: программы используют порты ввода-вывода в качестве источников и приемников информации. В работе рассматриваются методы формирования аналоговых сигналов с помощью программного управления цифро-аналоговым преобразователем. Изучены проблемы данного подхода и возможные способы их решения.
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 31; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.214 (0.007 с.) |