Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мой отчет2,2.doc
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
74.24 Кб
Скачать

Задание 4. Звуковой излучатель.

Открыть новый проект, набрать программу генерации звука и получить звук. Программно изменить громкость и высоту тона (частоту).

Была набрана программа генерации звука:

org 02000h

dpp data 84h

ena xdata 04h ; адрес регистра ENA

buz BIT acc.3 ; бит для вывода звука

mov r0,#ena ; адрес ENA – в r0

mov a,#20h

loop:

setb buz ; установка buz для вывода единицы

call putbyte ; вывод байта в аккумуляторе

call delay ; подпрограмма задержки

clr buz ; очистка buz для вывода 0

call putbyte ; вывод байта в аккумуляторе

call delay ; подпрограмма задержки

sjmp loop ; бесконечный цикл

delay: ; подпрограмма временной задержки

mov r1,#099h ; записываем в r1 начальное значение счетчика

djnz r1,$ ; в цикле уменьшаем его значение на 1 пока не достигнем 0

ret ; возврат из подпрограммы

putbyte:

push dpp

mov dpp,#08d

movx @r0,A

pop dpp

ret

end

В процессе выполнения программы были слышны звуковые колебания частотой около 3 кГц. Для генерации звука на другой частоте нами было изменено начальное значение цикла подпрограммы delay (на 0ffh). При этом наблюдалась генерация более низкой частоты.

Вывод: Лабораторный стенд SDK 1.1 содержит встроенный пьезоэлектрический звуковой излучатель типа НРА17. Он может использоваться для звуковой индикации различных событий. Генерация звука с помощью этого излучателя производится путем подачи меандра 1-0-1-0-1 на один из битов регистра ENA. В данной программе вывод нового значения (1 или 0) производится после временной задержки, которая реализуется с помощью простого цикла. За счет изменения количества повторений цикла можно менять частоту звука, генерируемого преобразователем. Изменение частоты было зафиксировано экспериментально.

Задание 5. Программирование уапп.

Набрать программу для инициализации УАПП UART_INI, набрать приведенную в методичке головную программу, принимающую байт с линии, передающую этот байт обратно в линию и на светодиодные индикаторы (эхо-печать). Изучить работу монитора T2 в режиме эмуляции терминала. Переключив монитор T2 в режим эмуляции терминала наблюдать передачу данных с клавиатуры компьютера (при нажатии клавиш) через стенд SDK1.1 на экран компьютера. Провести данный эксперимент в двух режимах: при отображении принятых данных в бинарном виде и шестнадцатеричном виде. Изучить режим работы T2 при записи в файл информации, приходящей со стенда (п.2.3). Записать эхо-печать в текстовый файл. Выйдя из монитора T2 (команда bye), просмотреть содержимое этого текстового файла средствами программы Блокнот.

org 02050h

s9600 equ 0fdh ; константа скорости передачи данных UART – 9.6 кбит/с

dpp data 84h

sv xdata 07h

call uart_init ; инициализация UART

loop: ; прием байта с выводом на линейку светодиодов

jnb scon.0,$ ; ожидание прихода байта

mov a,sbuf ; прием байта

clr scon.0 ; сброс флага приемника

call svdisp ; вывод на светодиоды

; передача байта обратно в СОМ порт компьютера

mov sbuf,a ; передача байта обратно

jnb scon.1,$ ; ожидание конца передачи байта

clr scon.1 ; сброс флага передатчика

sjmp loop ; бесконечный цикл

uart_init:

mov th1,#s9600 ; установка скорости UART

orl tmod,#20h ; таймер1 – в режиме автоперезагрузки

anl pcon,#not(80h) ; скорость не удваивать

orl tcon,#40h ; запуск таймера 1

mov scon,#50h ; настройка последовательного канала

clr ie.4 ; запрет прерывания от приемника/передатчика

ret ; возврат из подпрограммы

svdisp:

mov r0,#sv ; адрес регистра светодиодов – в r0

push dpp ; сохранение номера страницы ВПД

mov dpp,#08d ; переходим на восьмую страницу ВПД

movx @r0,A ; вывод байта

pop dpp ; восстановление номера страницы

ret ; возврат из процедуры

end

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

Вывод: Наличие в микроконтроллере ADuC812 встроенного программируемого универ­сального асинхронного приемо-передатчика (УАПП) позволяет организовать эф­фективное взаимодействие c внешними устройствами, другими микроконтроллерами и компьютерами. В данной лабораторной работе обеспечивается взаимодействие стенда SDK 1.1 и компьютера с установленным монитором T2. Для начала работы с последовательным портом необходимо настроить таймер/счетчик1, а также установить значение регистра управления последовательного порта. В приведенной программе не используются прерывания, поэтому их необходимо запретить. В таком случае можно передавать и принимать информацию простой записью и чтением регистра sbuf. В ходе работы была подтверждена полная работоспособность программы в разных режимах работы терминала T2.

org 02000h ; начало SRAM ВПП

dpp data 84h ; указатель страницы ВПД

sv xdata 07h ; адрес регистра светодиодов

svdisp: mov r0,#sv

call putbyte ; вызов подпрограммы putbyte

ret ; возврат из подпрограммы

putbyte:

push dpp ; сохр. номер текущей страницы

mov dpp,#08d ; переход на 8-ю страницу

movx @r0,A ; запись в регистр ПЛИС

pop dpp ; восстановление номера страницы

ret ; возврат из подпрограммы

end

5