Билет 6
16. К порту вывода МПС подключен ЦАП .Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Составить программу генерации на выходе ЦАП сигнала вида Y=Sin(wT) с регулируемой частотой w. Функция Y = Sin(T) заданна таблично в виде массива отсчетов в последовательных ячейках памяти.
mov DPTR,#Table ; загрузка указателя на таблицу
mov R1,#0 ; обнуление индекса элемента таблицы
Next: mov A,R1 ; загрузка текущего индекса
inc R1 ; инкремент индекса
movc A,@A+DPTR ; извлечение очередного элемента
mov P1,A ; вывод в ЦАП
acall Delay ; пауза для регулирования частоты
sjmp Next ; продолжение работы
; Таблица отсчетов синуса
Table: DB 0, Sin(π/256), Sin(2π/256), Sin(3π/256), … Sin(π)
17.К порту вывода МПС подключен ЦАП .Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Составить программу генерации на выходе ЦАП сигнала указанной формы с регулируемыми параметрами.
t1 t2 t3 t4
Start: mov P1,#0 ; формирование нулевого состояния участка t4
acall Delay4 ; реализация интервала t4
Next1: inc P1 ; формирование очередного шага участка t1
acall Delay1 ; реализация интервала t1
mov A,P1
cjne A,#Amplitude1, Next1 ; проверка на ампл. Значения
acall Delay2 ; реализация интервала t2
mov P1,# Amplitude2 ; формирование нач. сост. участка t3
Next3: dec P1 ; формирование очередного шага участка t3
acall Delay3 ; реализация интервала t3
mov A,P1
cjne A,#0, Next3 ; проверка на ампл. Значения
sjmp Start
18.К порту ввода МПС подключен восьмиразрядный АЦП, принимающий сигнал с аналогового датчика температуры со шкалой 0-1000 С . Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Составить программу, обеспечивающую прием отсчетов температуры с заданным интервалом времени, процесс измерения прекращается по достижении одного из условий:
- получено значение равное 105 С;
- всего принято 500 отсчетов температуры.
Характеристика датчика
Код Температура С
0 0
255 1000
(255/1000)*105?27 105
Start: acall Delay ; интервал между отсчетами
mov A,P1 ; прием очередного значения
cjne A,#27,L1 ; проверка на 105 С
sjmp Exit ; на выход если 105
L1: inc DPTR ; инкремент счетчика отсчетов
cjne DPL,#Low(500),Start ; проверка на
cjne DPH,#High(500),Start ; 500 отсчетов
Exit: