

Пытался собрать по даташиту (7 стр), но что-то он как-то не так работает.
https://www.national.com/ds/DA/DAC0800.pdf
- Вложения
-
- project.rar
- (31.02 КБ) 304 скачивания





Проблема в 147-ой строке Вашей программы...А этот косяк на синусоиде получается из-за того что я неправильно таблицу рассчитал, да?
Да нет, вот кодАlex писал(а): PS: Секретная разработка наверное, да ?
Код: Выделить всё
.include "m128def.inc"
.def zero = R7
.def accumulator_AL = R8
.def accumulator_AH = R9
.def accumulator_BL = R10
.def accumulator_BH = R11
.def accumulator_CL = R12
.def accumulator_CH = R13
.def index_frequency_L = R16
.def index_frequency_H = R17
.def conct_L = R1
.def conct_H = R2
LDI R16,0b11111111
OUT DDRA,R16
OUT DDRB,R16
OUT DDRC,R16
CLR zero
LDI R16,0xFF
MOV conct_L,R16
MOV conct_H,R16
LDI R16,33
MOV accumulator_BH,R16
LDI R16,66
MOV accumulator_CH,R16
CLR R16
LDI index_frequency_L,100
LDI index_frequency_H,0b00000000
DDS_CYCLE:
;PHAZA_A:
LDI ZL,low(MAS1<<1)
LDI ZH,high(MAS1<<1)
ADD ZL,accumulator_AH
ADC ZH,zero
LPM
OUT PORTA,R0
ADD accumulator_AL,index_frequency_L
ADC accumulator_AH,index_frequency_H
;PHAZA_B:
LDI ZL,low(MAS1<<1)
LDI ZH,high(MAS1<<1)
ADD ZL,accumulator_BH
ADC ZH,zero
LPM
OUT PORTB,R0
ADD accumulator_BL,index_frequency_L
ADC accumulator_BH,index_frequency_H
;PHAZA_C:
LDI ZL,low(MAS1<<1)
LDI ZH,high(MAS1<<1)
ADD ZL,accumulator_CH
ADC ZH,zero
LPM
OUT PORTC,R0
ADD accumulator_CL,index_frequency_L
ADC accumulator_CH,index_frequency_H
RJMP DDS_CYCLE
MAS1:
.db 131, 134, 137, 140, ... (массив, 255 элементов)