NewSistems Опубликовано 4 февраля, 2018 Жалоба Поделиться Опубликовано 4 февраля, 2018 Прошу помочь советом!!! Задача стоит изготовить контроллер с шестиканальным управлением нагрузкой, снимая параметры через АЦП. Посему был выбран чип 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< out TCCR1A, temp ldi temp, (0< out TCCR1B, temp ldi temp, (1< sts TCCR3A, temp ldi temp, (0< 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 Читать дальше Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.