Выбор элементной базы

Разъем X1 - подключается к параллельному LPT-порту.- кварцевый генератор 24 МГц.- микроконтроллер ADuC812.- DD5 - микросхемы памяти. - микросхема регистра К580ИР27.- операционный усилитель К544УД2.-R3 - резисторы .

С1-С5 - конденсаторы.

Листинг программы

: do;/* программа управления контроллером ретранслятора*/(adu812.dcl)

(adrW, adrR)word,/*текущий адрес памяти при записи и воспроизведении*/

(bankW, bankR)byte,/*выбор банка памяти при записи и воспроизведении*/_datword,/*переменная для работы с ЦАП*/,/*расчетное смещение*/,/*команда, приходящая от ПК*/

(fl_out, fl_in, fl)bit,/* флаг вывода, ввода, номера байта*/(65535) byte auxiliary;/*массив внешнего ОЗУ*/_int:procedure interrupt 0;= 0;/*запрещаем прерывания*/= P3 and 11111011b;/*готовность чтения из LPT*/

if adrW=0 then p_comand;

if fl_in=1 then;/*вводим данные с параллельного порта*/(adrW)=P1;

/*установка адреса для следующей записи*/

if adrW=65535 then ;=0;=bankW+1;;=adrW+1;bankW=0 then P3=11111110b;/*запись в DD2*/bankW=1 then P3=11110111b;/*запись в DD3*/bankW=2 then P3=11101111b;/*запись в DD4*/bankW=3 then P3=11011111b;/*запись в DD5*/bankW=4 then ; =0;

fl_in=0;/*память закончилась*/;;= 1;in_int;_int: procedure interrupt 1; /* interrupt t0 */

/*процедура вывода звука*/fl_out then/*выборка и раскодировка данных*/

do;fl=0 then =(mem(adrR) and 0fh)=ror(mem(adrR) and 0f0h,4);

fl = not(fl);/*учитывается знак приращения*/

if (sm and 8)<>0 then _dat=dac_dat-(sm and 7) _dat=dac_dat+sm; /*вычисл новое значение ЦАП*/

DacoH=dac_dat/0ffh;/*задаем новое знач ЦАП*/

DacoL=dac_dat mod 0ffh;sm = 1 then(adrR)=65535 then /*вычисл перенос*/;=0;= bankR+1;bankR=4 then =0;;= adrR +1;bankR=0 then P3=11111110b;bankR=1 then P3=11110111b;bankR=2 then P3=11101111b;bankR=3 then P3=11011111b;

/*воспроизведение только в границах записанного*/

if (bankR = bankW) and (adrR = adrW) then;= 0;= 0;;;

end;=0;/*сброс флага переполнения таймера*/

end timer_int;_comand: procedure; =P1;comand=0 then fl_p=1;comand=1 then ;_out = 1;_in = 0;= 0;= 0;;/*запускаем вывод звука*/comand=0f4h then fl_out=0;/*останов вывода звука*/comand=0f7h then ;_in = 1;_out = 0;= 0;

adrW = 0;;/*запускаем ввод звука*/

end p_comand;: procedure;/*процедура инициализации*/

ea = 1;/*разрешаем все прерывания*/= 1;/*pазpешаем пpеpывание Т0*/= 1;/*запускаем таймер 0*/= 0;= 00000010b;/*второй режим таймера для 0 таймера частота 10КГц */= 1;/*пpеpывание по фронту сигнала переполнения*/= 155, tl0 = 155;= 1;/*обнуляем счетчики и pазpешаем работу 0-го Таймеpа*/= 0; adrW = 0; fl_out, fl = 0;/*обнуление перемен*/= 1;/*разрешаем прерывание INT0*/ = 0ffh;init;

/* _ тело основной пpогpаммы */init;while 1;/*бесконечный цикл работы*/

end; Вывод:

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

Приложение

Прочтите также:

Синтез системы автоматического управления
1. Описание объекта в переменных состояниях Получили систему В матричном виде А - матрица системы, В - матрица управления ...

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

Разработка сети связи с использованием современных технологий
Технология SDH, разработанная изначально для объединения и синхронной передачи по волоконно-оптическим линиям PDH-потоков, давно получила широкое распространение во всем мире. Такие дос ...

Основные разделы

2019 © Все права защищены! >> www.techeducator.ru