Перейти к содержанию
bbh_blocked_dnftl

Dx Portal Rgb Светодиод К Atmega8


Рекомендуемые сообщения

Всем привет. Решил подключить RGB  светодиод к Atmega8. И возникла проблема.

 

Сперва опишу как подключил:

 

К пинам порта D, подключил через PNP транзисторы ножки светодиода

 

PD0 - Blue

 

PD1 - GREEN

 

PD3 - RED

 

 

 

Что бы светодиод работал как нужно, мне нужно использовать ШИМ.

 

Для этого я использовал прерывания от таймера T0. И в нем веду счетчик ШИМ и управляю ножками светодиода.

 

; PD0 = RED; PD1 = GREEN; PD2 = BLUET0:push r25push r26push r27in r25, PORTDlds r26, COUNT_PWM ; Счетчик ШИМcpi r26, 0brne T0_redcbr r25, 0x0B ; Если счетчик ШИМ на нуле включаем все светодиоды; Если значение счетчика ШИМ достигло LED1_*** то выключаем нужные светодиодыT0_red:lds r27, LED1_REDcp r26, r27brne T0_greensbr r25, 0x01 ; Отключам REDT0_green:lds r27, LED1_GREENcp r26, r27brne T0_bluesbr r25, 0x02 ; Отключам GREENT0_blue:lds r27, LED1_BLUEcp r26, r27brne T0_exitsbr r25, 0x08 ; Отключам BLUET0_exit:out PortD, r25; Увеличиваем счетчик ШИМinc r26sts COUNT_PWM, r26pop r27pop r26pop r25reti

 

Этот код отлично работает!  Светодиод горит как нужно.

 

 

 

Проблема заключается в том что у меня еще на контроллере висит дисплей, датчик температуры, и еще кое какие фентиплюшки.

 

 

 

И из за того что я использую регистры в таймере T0, у меня временами глючит дисплей, так как для передачи данных дисплею эти регистры используются.

 

 

 

1. Так вот, в программе часто используется delay, соответственно, код из таймера я ни как не могу перенести в программу, потому что из за задержки светодиод гаснет!

 

2. Я не могу перенести выводы светодиода на встроенные ШИМ контроллера, так как они уже заняты.

 

3. Я пробовал все регистры от r16 до r31. Все равно, дисплей глючит.

 

 

 

Как мне сделать такой ШИМ что бы не трогать регистры?

Раздел: AVR

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...