pic16f628a даташит



16f628a datasheet на русском

Автор Ёергей Исаев задал вопрос в разделе Другие языки и технологии

Как написать ШИМ для pic16f628a и получил лучший ответ

Ответ от ???????? ????[гуру]
Открываем даташит, смотрим главу "Capture/Compare/PWM (CCP) Module"
Смотрим там таблицу "REGISTERS ASSOCIATED WITH PWM AND TIMER2"
и читаем пункт "SET-UP FOR PWM OPERATION"
Там написан четкий алгоритм:
1) Set the PWM period by writing to the PR2 register. (устанавливаем период ШИМ записав в регистр PR2)
Смотрим в таблице адрес этого регистра 92h.
То есть в ассемблере пишем установить значение по адресу 92h и ваше значение.
2) Set the PWM duty cycle by writing to the CCPR1L register and CCP1CON<5:4> bits. (устанавливаем период повторений записав в регистр CCPR1L и 4-5 биты CCP1CON.)
Адреса CCPR1L и CCP1CON смотрим по таблице - 15h и 17h
3) Make the CCP1 pin an output by clearing the TRISB<3> bit (делаем вывод CCP1 выходом сделав третий бит нулем)
4) Set the TMR2 prescale value and enable Timer2 by writing to T2CON. (устанавливаем масштабный фактор TMR2 таймера записав в T2CON)
5) Configure the CCP1 module for PWM operation (настраиваем модуль CCP1 для работы в качестве ШИМ)
Как писать конкретно в ассемблере я не в курсе. (хотя в даташите приводится множество примерев именно на ассемблере). Я писал прям в машинных кодах. Коды команд даны в главе Instruction Set Summary.
Вобщем мой тебе совет - скачать даташит и как следует его изучить. Занимает это дело дня два, после чего становишься богом контроллера.

Ответ от Кот обыкновенны[гуру]
рукой.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как написать ШИМ для pic16f628a
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*