Программирование МК на ассемблере ASM-51 и AVR Pascal. Китаев Ю.В. - 80 стр.

UptoLike

Составители: 

80
menu1: DB "0-clear *-menu",0
menu2: DB "#-ADCpusk D-",0e1h,"A",0a8h,0;==0e1h,"A",0a8h - ЦАП
adc_pusk: DB "# - PUSK ADC",0
dac_code: DB "D - vyberite code",0
;================================================
END
V-3) Окончательная проверка работы программы
Скомпилируйте
и загрузите программу. Убедитесь, что
программа работает по назначению. Клавишей “D” выберите любой код
на входе ЦАП. Запишите его. Клавишей “#” несколько раз запустите
АЦП, записывая выходной код. Вычислите среднюю разность между
входным кодом ЦАП и выходным кодом АЦП. Измените значение “k” и
снова проведите ряд измерений. Коды должны отображаться на
светодиодах. На рисунке высвечивается
код 8Ch.
#### Результат покажите преподавателю ####
Для удобства чтения выходного кода самостоятельно напишите
подпрограмму преобразования одного байта кода АЦП, в два байта ASCII
кода - “byte2ASCII” по приведенному алгоритму. В строку с именем
“HEX” запишите ASCII коды 16-ных (hex) цифр.
В следующей таблице - 11 строчек с описаниями команд. Каждой
строчке соответствует одна команда подпрограммы. Список команд
приведен в приложении 1.
Byte2ASCII:
1 В регистр DPTR записать символический адрес таблицы
#HEX
2 В аккумулятор переслать переменную “cnt” – код АЦП
3 Выделить маской #0F младшую тетраду кода (в ней
младшая цифра)
4 Переслать в аккумулятор байт с адресом равным
(a)+(DPTR). Теперь в аккумуляторе ASCII код младшей
цифры кода
5 Поместить его из аккумулятора в регистр R2.
6 Снова в аккумулятор переслать переменную “cnt” – код
АЦП
7 Поменять местами тетрады
8 Выделить маской #0F младшую тетраду кода (в ней