Программа формирования прямоугольного напряжения со скважностью импульса, не равной 2:
VOLT: MVI A,81H ;Программирование ППА 7
OUT 0FBH ;На вывод через порт В 10
MVI А,0 ;3агрузка в А уровня а = 0 7
Ml: OUT 0F9H ;Вывод в порт уровня а 10
ADI 00 ;Пустая команда 7
JNZ МЗ ;Проверка а ¹ 0 10
MVI С,К ;3агрузка в С числа К 7
М2: DCR С ;Декремент С 5
JNZ M2 ;Организация внутреннего цикла 10
СМА ;3агрузка в А нового уровня а 4
JMP Ml ;Организация внешнего цикла 10
МЗ: MVI C,L ;3агрузка в С числа L 7
JMP М2 ;Переход к М2 10
(справа приведено число тактов, за которое выполняется каждая команда).
Длительности импульса и паузы при fт = 2 МГц соответственно:
tИ = (1/fт)(10 + 7 + 10 + 7 + 10 + (5 + 10)L + 4 + 10) = 19 + 7,5L (мкс),
tп = (1/fт)(10 + 7 + 10 + 7 + 10 + (5 + 10)K + 4 + 10) = 29 + 7,5L (мкс)
откуда
где tи и tп —в микросекундах; f - в килогерцах.
Для получения f = 1 кГц при q = T/tИ = 1,67 необходимо иметь К = 50 = 32(16), L = 76 = 4C(16).
P8.11. Клавиатуру из восьми клавиш подключим к порту С (адрес FA) ППА (адрес регистра управляющего слова ППА FB), динамик — к младшему разряду порта В (адрес F9). Будем считать, что нажатие клавиши соответствует 1, отжатие 0. Особенностью задачи является то, что входная информация подается в виде унитарного кода. Поэтому в алгоритме и программе необходимо предусмотреть преобразование унитарного кода в двоичный 4-2-1 (см. задачу 8.5). Программа синтезатора звука представлена ниже. Число тактов во внешнем цикле при формировании 1-го сигнала
N = 65 + 29l+15K1 , откуда при тактовой частоте МП 2 МГц получаем
где fl - в килогерцах и [х] обозначает ближайшее к х целое число.
Рассчитанные по последней формуле значения К, приведены в табл. Р8.1.
Таблица Р.8.1.
l |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Kl |
252 |
221 |
194 |
184 |
158 |
138 |
119 |
110 |
Kl(16) |
FC |
DD |
C2 |
B5 |
9E |
8A |
77 |
6E |
Программа синтезатора звуков:
SOUND: MVI А,81Н ;Программирование ППА 7
OUT 0FBH ;(режим 0, порт С —ввод, порт В — вывод) 10
LXI В,00 ;Обнуление регистров В, С 10
MOV D,B ;Обнуление регистра D 5
INP: LXI H, ODO1H ;3агрузка в HL начального адреса массива 10
IN 0FAH ;Ввод числа l в унитарном коде 10
MOV С,В ;Обнуление регистра С 5
ADD 00 ;Формирование признака Z в А 7
JZ INP ;Повторный ввод, если 10
Ml: RAR ;Сдвиг lунит вправо на один разряд с переносом 4
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.