Курсовая работа: Розробка схеми електричної принципової музичного дзвоника
portB equ 06h ; адрес порта В
org 0h ; резервування 100 байт починаючи з адресу 0h
reset:
mov r31, 1Fh ; задаємо направлення роботи портів
out portB, r31 ; PB0, PB1, PB2, PB3, PB4 - виходи, PB5, PB6 - входи
mov r31, 61h ; виводимо в порт В код зупинки двигунів,
out portB, r31 ; і вмикаємо резистори на входах РВ5, РВ6
mov r31, bigpause ; записуэмо в регістр r31 значення великої паузи
call pause ; викликаємо підпрограму паузи
jmp start ; переходимо на мітку старт
start:
mov r31, 00000011b ; установлюємо на виході РВ1 лог. 1,
out portB, r31 ; що зумовлює ввімкнення лівого двигуна
mov r31, 00001011b ; установлюємо на виході РВ3 лог. 1,
out portB, r31 ; що зумовлює ввімкнення правого двигуна
mov r31, 00001010b ; установлюэмо на виходіРВ0 лог. 0,
out portb, r31 ; що і гасить світлодіод
scan:
in r31, portB ; читаємо стан порту В
test r31, 01000000b ; перевіряємо чи натиснута права кнопка
jz left ; якщо натиснута, переходимо на мітку left
test r31, 00100000b ; перевіряємо чи натиснута ліва кнопка
jz right ; якщо натиснута, переходимо на мітку right
jmp scan ; якщо ні одна кнопка не натиснена, повторяємо цикл перевірки стану кнопок
left:
mov r30, 63h ; записуємо в регістр r30 код повороту наліво, який буде виводиться в порт в
callstop ; визиваємо підпрограму stop
jmp start ; повертаємся на мітку start
right: