Помогите с ШИМ на 12f509

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Аватара пользователя
Sederic
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср ноя 23, 2011 18:30:57

Помогите с ШИМ на 12f509

Сообщение Sederic »

Здравствуйте!
Помогите с написанием одноканального ШИМ на 12f509. Сколько искал в интернете - очень мало. Можно ли написать для него программный шим?
Увы, есть только этот процессор...
Очень хотелось бы увидеть алгоритм формирования, думаю с кодом я справлюсь. Как именно формируется, например, 80% заполнения?
Сколько перечитал - не понимаю. Пишут как правило, для RGB светодиодов.
Плавное загорание и потухание. А как заставить его дискретно менять процент заполнения?
Как я понимаю, используется прерывание по таймеру, и скорее всего счётчик ещё один нужен, в который и заливается значение заполнения ШИМ.
Очень прошу "C" и и прочие языки не использовать, я их почти не знаю, в универе чуть ассемблер давали. Так что из программ делал только динамическую индикацию на 16f84А:)
Буду очень благодарен за разъяснения и куски кода. Надеюсь на вашу помощь.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15562
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Помогите с ШИМ на 12f509

Сообщение BOB51 »

"Можно ли написать для него программный шим?"
Можно.
Почитай, что такое ШИМ вообще и по какому алгоритму этот процесс выполняется (в приложении аналоговых устройств) и сочини подобие для МК... :tea:
Реклама
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Помогите с ШИМ на 12f509

Сообщение urry »

а чем обусловлен выбор именно этого чипа ? насколько мне не изменяет склероз -там отсутствие прерываний и 1 8 битный таймер - все это не особенно вдохновляет... и как этим шимом управлять...
Аватара пользователя
korsaj
Потрогал лапой паяльник
Сообщения: 330
Зарегистрирован: Чт июн 23, 2011 07:55:51

Re: Помогите с ШИМ на 12f509

Сообщение korsaj »

Для организации ШИМ необходимо два таймера. Один генерирует одинаковые промежутки времени (допустим формирует начало импульса), второй, в зависимости от заполнения, формирует конец импульса.
В 509 один таймер TMR0 - его используем для формирования конца импульса, а еще один таймер делаем программно. В программе проверяем процент заполнения, если он больше нуля, устанавливаем единицу на выходе одного из портов и заносим в регистр таймерa TMR0 нужный коэф. ТМR0 инкриментируясь сгенерирует прерывание. В прерывании устонавливаем лог 0 на выходе порта и выходим из прерывания. Цикл повторяется.
Вот и весь алгоритм.

См. тоже на форуме другом.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Помогите с ШИМ на 12f509

Сообщение urry »

у 509 нет прерываний, если чо.
Реклама
Аватара пользователя
korsaj
Потрогал лапой паяльник
Сообщения: 330
Зарегистрирован: Чт июн 23, 2011 07:55:51

Re: Помогите с ШИМ на 12f509

Сообщение korsaj »

Значит просто проверяем флаг переполнения таймера
Реклама
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Помогите с ШИМ на 12f509

Сообщение urry »

Так и флага переполнения таймера там нет :)
мой вопрос состоял в том, зачем применять это камень ....
Аватара пользователя
Sederic
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср ноя 23, 2011 18:30:57

Re: Помогите с ШИМ на 12f509

Сообщение Sederic »

Это да, была бы возможность взял бы с аппаратным ШИМом. Но не найти у нас другого. А то что есть, стоит дорого. Есть 16F84, но жалко его для одноканального ШИМа,жаба душит. Хотя подскажите, может знаете 8-ми выводной PIC с аппаратным ШИМ?
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Помогите с ШИМ на 12f509

Сообщение urry »

микрочип знает :)
Выдало для 8 биток 7 результатов
http://www.microchip.com/maps/microcontroller.aspx
Ну там действительно аппаратный не так нужен, достаточно таймеров с прерыванием.
Наиболее распространенные из 8 ножек 12f675 629
Аватара пользователя
Sederic
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср ноя 23, 2011 18:30:57

Re: Помогите с ШИМ на 12f509

Сообщение Sederic »

Вот чёрт... Ну раз такому новичку, как я на этом МК не написать ШИМ, придётся 12F675 искать.
Аватара пользователя
korsaj
Потрогал лапой паяльник
Сообщения: 330
Зарегистрирован: Чт июн 23, 2011 07:55:51

Re: Помогите с ШИМ на 12f509

Сообщение korsaj »

urry писал(а):Так и флага переполнения таймера там нет :)
:) Точно нет. Это все долбаные опечатки в переведенных даташитах )))
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15562
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Помогите с ШИМ на 12f509

Сообщение BOB51 »

на 509-м спокойненько программный ШИМ сообразится и без всяких аппаратных примочек 8)
А с аппаратным - pic12f683 в лапы 8)
(Инет какой-то пакостный, все "повиснуть"пытается :kill: )
Ответить

Вернуться в «PIC»