Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
pic 12f629 и команда PWM
Uncle_Dizel Дата: Чт, 04.08.2011, 01:14  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 40
Репутация: 2   ±
Замечания:   ±
На сайте с 09.06.2011

Статус: Offline

Пытаюсь написать программу которая могла бы одновремено на двух выводах микроконтроллера pic 12f629 выдавать ШИМ с помощью команды PWM

текст

WHITE var GPIO.1
RED var GPIO.4

y var byte
x var byte

TRISIO = %000101
CMCON = %00000111
GPIO = 0
CLEAR

start:
For X = 0 to 255
pwm GPIO.1, X, 5 (запустился цикл светодиод плавно включается)
next x
For y = 0 to 255 (второй светодиод плавно включился)
pwm GPIO.5, y, 5
next y
end

вот они включаются по очереди , как сделать сделать чтобы одновремено 2 порта выдавало шим?
ЯНДЕКС Дата: 04.08.2011
Matrix252005 Дата: Чт, 04.08.2011, 09:04  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!

Uncle_Dizel, а Вы поместите "pwm GPIO.5, y, 5" в первый "For". Примерно так:

For X = 0 to 255
pwm GPIO.1, X, 5 (запустился цикл светодиод плавно включается)
pwm GPIO.5, X, 5
next x


THE TRUTH IS OUT THERE.

С уважением, Николай.
Uncle_Dizel Дата: Чт, 04.08.2011, 11:13  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 40
Репутация: 2   ±
Замечания:   ±
На сайте с 09.06.2011

Статус: Offline

Matrix252005 я так уже писал программу, да она работает! но светодиоды очень сильно моргают ((
Matrix252005 Дата: Чт, 04.08.2011, 11:46  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Uncle_Dizel, поиграйтесь с

PWM GPIO.1, X, количество

Переменная количество определяет, сколько раз должна быть передана такая последовательность импульсов, то есть число периодов.

Попробуйте увеличить "количество" и посмотрите, что получится!!!

Если не поможет, перед "next x" сделайте паузу "PAUSE ХХХ"


THE TRUTH IS OUT THERE.

С уважением, Николай.
Uncle_Dizel Дата: Чт, 04.08.2011, 14:18  |                                                                                                                Сообщение # 5
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 40
Репутация: 2   ±
Замечания:   ±
На сайте с 09.06.2011

Статус: Offline

Matrix252005 я попробовал уменьшить количество импульсов до 2 моргание пропало ,увлечение количества импульсов приводит к еще большему морганию
For X = 0 to 255
pwm GPIO.1, X, 2
pwm GPIO.5, X, 2

next x
но теперь плавность включения ограничена , уменьшить я ее могу а увеличить теперь нет иначе появляется моргание

Если не поможет, перед "next x" сделайте паузу "PAUSE ХХХ" смысл ее сюда включать она же даст задержку на ХХХ время что собственно увеличит моргание

Добавлено (04.08.2011, 14.18.55)
---------------------------------------------
интересно как тогда на 629 реализую RGB свет?

Сообщение отредактировал Uncle_Dizel - Чт, 04.08.2011, 14:19
Matrix252005 Дата: Чт, 04.08.2011, 15:47  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Uncle_Dizel, а почему Вы решили, что там реализовано при помощи "pwm"????

THE TRUTH IS OUT THERE.

С уважением, Николай.
Uncle_Dizel Дата: Пт, 05.08.2011, 00:21  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 40
Репутация: 2   ±
Замечания:   ±
На сайте с 09.06.2011

Статус: Offline

а как тогда еще можно это сделать?
Techno-holst Дата: Пт, 05.08.2011, 06:12  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 13.07.2011

Статус: Offline

On_Interrupt - хоть на всех ногах
Matrix252005 Дата: Пт, 05.08.2011, 09:23  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!

Quote (Uncle_Dizel)
а как тогда еще можно это сделать?


Ну например так:


З.Ы. Кусок кода на Proton IDE!!!!!!!!!


THE TRUTH IS OUT THERE.

С уважением, Николай.
Uncle_Dizel Дата: Вт, 23.08.2011, 23:36  |                                                                                                                Сообщение # 10
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 40
Репутация: 2   ±
Замечания:   ±
На сайте с 09.06.2011

Статус: Offline

мне просто не понятно по какому алгоритму реализуется RGB
ivan_fd Дата: Ср, 24.08.2011, 20:45  |                                                                                                                Сообщение # 11
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Нужно трехканальный ШИМ, и все.

Вот пример программного ШИМ, не помню где взял, может пригодится.
Прикрепления: Untitled.bas (6.5 Kb)
ЯНДЕКС Дата: 24.08.2011
  • Страница 1 из 1
  • 1
Поиск: