Всем привет. Прошу помощи у форумчан как собственно изменить программу что бы подключить 12 разрядный цап к 2м 8-ми битным портам контроллера. Таблицу синусов для 12 разр ЦАП я сформировал.
Вот прога для 8 битного цап
ORG 0000h
SIN:
MOV DPTR,#TABSIN ; загрузка базового счётчика
MOV R7,#1 ; начальное состояние - без инверсии
MOV R6,#255 ; число точек синуса
K:
CLR A ; очистка индексного регистра
MOVC A,@A+DPTR ; выборка очередного отсчёта
MOV P2,A ; вывод значения точки в порт ЦАП(P3)
MOV A,DPL
ADD A,R7 ; переход к следующей точке таблицы
MOV DPL,A
JNC NC ; если переполнение мл. разр. DPTR
INC DPH ; то увеличиваем DPH
NC:
DJNZ R6,K ; перебираем в цикле все точки синуса
JMP SIN
RET
$INCLUDE (CONST.INC) ; Подключаем таблицу синуса
END
Вот прога для 8 битного цап
ORG 0000h
SIN:
MOV DPTR,#TABSIN ; загрузка базового счётчика
MOV R7,#1 ; начальное состояние - без инверсии
MOV R6,#255 ; число точек синуса
K:
CLR A ; очистка индексного регистра
MOVC A,@A+DPTR ; выборка очередного отсчёта
MOV P2,A ; вывод значения точки в порт ЦАП(P3)
MOV A,DPL
ADD A,R7 ; переход к следующей точке таблицы
MOV DPL,A
JNC NC ; если переполнение мл. разр. DPTR
INC DPH ; то увеличиваем DPH
NC:
DJNZ R6,K ; перебираем в цикле все точки синуса
JMP SIN
RET
$INCLUDE (CONST.INC) ; Подключаем таблицу синуса
END
