Курсовая работа: Микропроцессорная система дрессировочного стана
CALLWRITE;
CALLCHECK123;
CJNE A,#00H,SCAN; если клавиша 3 не нажата, перейти на; метку SCAN
CALLWAIT_CHECK3; проверка на "залипание" клавиши 2
MOVSBUF,#01111010b; записываем в буфер значение символа; "z", бит TI устанавливается в 1,; инициируя прерывание по посл. порту
CALLDELAY; задержка
JMP SCAN; переход на метку SCAN
CHECK123:; функция определения, нажата ли клавиша (1,2 или 3)
CALL READ; читаем байт по адресу 080000Н
ANLA,#10H
RET
WAIT_CHECK1:
CALL READ;
CJNE A,#0FEH,WAIT_CHECK1; ждать, есликлавиша 1 зажата
RET
WAIT_CHECK2:
CALL READ;
CJNE A,#0FDH,WAIT_CHECK2; ждать, есликлавиша 2 зажата
RET
WAIT_CHECK3:
CALL READ;
CJNE A,#0FBH,WAIT_CHECK3; ждать, есликлавиша 3 зажата
RET
BUZZ:; Для управления динамиком в процедуре использованы таймер и регистр ПЛИС ENA (адрес;080004h).;2-4 биты регистр ENA управляют величиной напряжения на динамике, т.е. позволяют; задавать громкость звука. ;Для формирования звука генерируются прямоугольные импульсы с заданным периодом.
MOVPLLCON,#5;
MOVR1,#255; задаем продолжительность сигнала
MOVR2,#5;
AGAIN:
CLRTR0; выключаем таймер