Прошу помочь советом!!!
Задача стоит изготовить контроллер с шестиканальным управлением нагрузкой, снимая параметры через АЦП.
Посему был выбран чип ATmega64A.
С программным кодом, АЦП и Т/С №1 проблем нет.
Не могу запустить Т/С № 3 в режим ШИМ на три канала. Причем Proteus моделирует, а в реальной схеме не работает. Может есть какие то подводные камни? Перелопатил даташит - никаких идей....
Прикладываю блок начальной инициации. Заранее благодарю.
.device ATmega64a
.nolist
.include "C:\m64adef.inc"
.list
.def temp =R16
.dseg
.cseg
.org 0
jmp RESET
RESET: ;Инициализация
;инициация стека
ldi temp, low(RAMEND)
out SPL, temp
ldi temp, high(RAMEND)
out SPH, temp
;Порт B
ldi temp, 0b11111111 ;Запись числа в регистр R16
out DDRB, temp ;назначение порта B выходом
ldi temp, 0b00000000 ;Запись числа в регистр R16
out PortB, temp ;сброс в 0 состояния порта B
;Порт E
ldi temp, 0b11111111 ;запись числа в регистр R16
out DDRE, temp ;назначение порта E выходом
ldi temp, 0b00000000 ;запись числа в регистр R16
out PortE, temp ;Задание начального состояния порта E
;Порт F (вход АЦП)
ldi temp, 0b00000000 ;запись числа в регистр R16
sts DDRF, temp ;назначение порта F входом
ldi temp, 0b00000000 ;запись числа в регистр R16
sts PortF, temp ;Отключение подтягивающих резисторов порта F
; Инициализация АЦП
sbi ADCSRA, ADEN ;АЦП разрешен
cbi ADCSRA, ADATE ;Режим одиночного преобразования АЦП
cbi ADMUX, MUX0 ;Включить
cbi ADMUX, MUX1 ;в АЦП
cbi ADMUX, MUX2 ;только
cbi ADMUX, MUX3 ;вход
cbi ADMUX, MUX4 ;№0
sbi ADMUX, ADLAR ;выравнивание результата АЦП влево
sbi ADMUX, REFS0 ;источник опорного напряжения - напряжение питания
cbi ADCSRA, ADPS0 ;коэфициент деления
sbi ADCSRA, ADPS1 ;частоты преобразования
sbi ADCSRA, ADPS2 ;64
sts ADCSRB, temp
ldi temp, (1<<COM1A1) | (0<<COM1A0) | (1<<COM1B1) | (0<<COM1B0) | (1<<COM1C1) | (0<<COM1C0) | (0<<WGM11) | (1<<WGM10);
out TCCR1A, temp
ldi temp, (0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10);
out TCCR1B, temp
ldi temp, (1<<COM3A1) | (0<<COM3A0) | (1<<COM3B1) | (0<<COM3B0) | (1<<COM3C1) | (0<<COM3C0) | (0<<WGM31) | (1<<WGM30);
sts TCCR3A, temp
ldi temp, (0<<ICNC3) | (0<<ICES3) | (0<<WGM33) | (1<<WGM32) | (0<<CS32) | (0<<CS31) | (1<<CS30);
sts TCCR3B, temp
;Задание начальной скважности импульсов
ldi temp, 0
out OCR1AH, temp
ldi temp, 128
out OCR1AL, temp
ldi temp, 0
out OCR1BH, temp
ldi temp, 128
out OCR1BL, temp
ldi temp, 0
out OCR1CH, temp
ldi temp, 128
out OCR1CL, temp
ldi temp, 0
sts OCR3AH, temp
ldi temp, 128
sts OCR3AL, temp
ldi temp, 0
sts OCR3BH, temp
ldi temp, 128
sts OCR3BL, temp
ldi temp, 0
sts OCR3CH, temp
ldi temp, 128
sts OCR3CL, temp
jmp START