Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 10.03.2012, 22:04  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
правильно я понимаю
while(1)
{
PWM_buffer[15]=64;
}
все светодиоды - не горят
Нет не правильно :
Код:
PWM_buffer[0]=64;
PWM_buffer[1]=64;
PWM_buffer[2]=64;
PWM_buffer[3]=64;
PWM_buffer[4]=64;
PWM_buffer[5]=64;
PWM_buffer[6]=64;
PWM_buffer[7]=64;
PWM_buffer[8]=64;
PWM_buffer[9]=64;
PWM_buffer[10]=64;
PWM_buffer[11]=64;
PWM_buffer[12]=64;
PWM_buffer[13]=64;
PWM_buffer[14]=64;
PWM_buffer[15]=64;
  while(1)
{
}
Пусть пока будет 16 каналов.
Реклама:
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 22:05  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Так это я изменял но бес толку результат тот же ни 1 светодиод не горит
SAHA_T вне форума  
Непрочитано 10.03.2012, 22:06  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
Так это я изменял но бес толку результат тот же ни 1 светодиод не горит
Код давай .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 22:13  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

сейчас изменял значения от 128 до 8 яркость меняется
следовательно ШИМ работает
SAHA_T вне форума  
Непрочитано 10.03.2012, 22:16  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
сейчас изменял значения от 128 до 8 яркость меняется
следовательно ШИМ работает
Все каналы ?
То есть в PWM_buffer[ ] ты заносил от 8 до 128 и все работает ?
Если так , то все ок .
Надо копать с циклами .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 22:22  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

смотри что получается
цикл работает
for(PWM_value=0;PWM_value‹128;PWM_value++)
{
PWM_buffer[0]=PWM_value;
PWM_buffer[1]=PWM_value;
PWM_buffer[2]=PWM_value;
PWM_buffer[3]=PWM_value;
PWM_buffer[4]=PWM_value;
PWM_buffer[5]=PWM_value;
PWM_buffer[6]=PWM_value;
PWM_buffer[7]=PWM_value;
PWM_buffer[8]=PWM_value;
PWM_buffer[9]=PWM_value;
PWM_buffer[10]=PWM_value;
PWM_buffer[11]=PWM_value;
PWM_buffer[12]=PWM_value;
PWM_buffer[13]=PWM_value;
PWM_buffer[14]=PWM_value;
PWM_buffer[15]=PWM_value;
delay_ms(m);
}

а вот если я применяю цикл по массиву тогда не канает, до 4-й буквы и назад
SAHA_T вне форума  
Непрочитано 10.03.2012, 22:24  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Пробуй , что получается ?

Код:
while(1)
{

     for(Counter_chanel=0;Counter_chanel‹14;Counter_chanel++)
     {
          for(PWM_value=0;PWM_value‹128;PWM_value++)
           {
            PWM_buffer[Counter_chanel]=PWM_value;
            delay_ms(n);
          }	
          delay_ms(m);
    }


  while(1);
}
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 22:30  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

результат тот же до 4-й буквы и также во время загорания 3-й начинают моргать 12-13-14
SAHA_T вне форума  
Непрочитано 10.03.2012, 22:37  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

И так еще раз :
Запусти этот код обязательно . Должны гореть все одинаково.

Код:
#define TMR	65380L	//0xFF64 : 78 мкс (при тактовой 16МГц и делителе : 1 такт 128-разрядного ШИМ
volatile unsigned int i,m,n,nn,mm,q,qq;

#define PWM_PORTC_MASK 0xC3
#define PWM_PORTD_MASK 0xE0

volatile unsigned char PWM_buffer[16] ;

void delay_ms(int n)
{
int i;
for(i=0;i‹n;i++){ _delay_ms(1);}
}



//Прерывание по переполнению таймера 1
ISR(SIG_OVERFLOW1)
{
static unsigned char Tic;
static unsigned char PWM_portA;
static unsigned char PWM_portD;
static unsigned char PWM_portC;


TCNT1 = TMR;	//начальное значение таймера

PORTA=PWM_portA;
// PWM_portA|=PORTA&~PWM_PORTD_MASK;

PORTC=PWM_portC;
PWM_portC|=PORTC&~PWM_PORTC_MASK;

PORTD=PWM_portD;
PWM_portD|=PORTD&~PWM_PORTC_MASK;

if((Tic++)›=12 Tic=0;
PWM_portA=0;
PWM_portC=0;
PWM_portD=0;


// Канал 0
if (Tic ‹ PWM_buffer[0])PWM_portA|=0x01;
if (Tic ‹ PWM_buffer[1])PWM_portA|=0x02;
if (Tic ‹ PWM_buffer[2])PWM_portA|=0x04;
if (Tic ‹ PWM_buffer[3])PWM_portA|=0x08;
if (Tic ‹ PWM_buffer[4])PWM_portA|=0x10;
if (Tic ‹ PWM_buffer[5])PWM_portA|=0x20;
if (Tic ‹ PWM_buffer[6])PWM_portA|=0x40;
if (Tic ‹ PWM_buffer[7])PWM_portA|=0x80;


// Канал 8 - здесь переходим к следующему порту
if (Tic ‹ PWM_buffer[8])PWM_portC|=0x80;
if (Tic ‹ PWM_buffer[9])PWM_portC|=0x40;
if (Tic ‹ PWM_buffer[10])PWM_portC|=0x01;
if (Tic ‹ PWM_buffer[11])PWM_portD|=0x80;
if (Tic ‹ PWM_buffer[12])PWM_portD|=0x20;
if (Tic ‹ PWM_buffer[13])PWM_portD|=0x40;
if (Tic ‹ PWM_buffer[14])PWM_portC|=0x02;

}

//************************************************** *
// Начало программы
//************************************************** *
int main(void)
{

unsigned char Counter_chanel=0;
unsigned char PWM_value=0;
DDRA=0xFF;	//порты - на выход
DDRC=0xFF;
DDRD=0xFF;

PORTA=0x00;
PORTC=0x00;
PORTD=0x00;

delay_ms(1000);


n=5;	//задержка в мс между шагами яркости
q=0;

nn=1; // гашение
mm=2; //гашение
m=50;	//задержка в мс между "кадрами"

TCNT1 = TMR;	 //начальное значение счетчика

TIMSK &= ~(1‹‹TOIE1);	//запрещаем Ovf1
cli();	 //запрещаем прерывания

TIMSK |= 1‹‹TOIE1;	 //Разрешить Ovf1


TCCR1B |= 0x2;	 //включить таймер 1 с делителем 8

sei();	 //разрешить прерывания

PWM_buffer[0]=64;
PWM_buffer[1]=64;
PWM_buffer[2]=64;
PWM_buffer[3]=64;
PWM_buffer[4]=64;
PWM_buffer[5]=64;
PWM_buffer[6]=64;
PWM_buffer[7]=64;
PWM_buffer[8]=64;
PWM_buffer[9]=64;
PWM_buffer[10]=64;
PWM_buffer[11]=64;
PWM_buffer[12]=64;
PWM_buffer[13]=64;
PWM_buffer[14]=64;
PWM_buffer[15]=64;




while(1)
{

}
}
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 22:40  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Так, покой ты Counter_chanel объявляешь глобальной да и еще int ????
Цитата:
volatile unsigned int i,m,n,nn,mm,q,qq,Counter_chanel;
__________________
Осторожно , злой кот
dosikus вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова о коллекционировании. Roshens Делимся опытом 0 13.12.2010 19:43
СНОВА ЖКИ Gladkih Микроконтроллеры, АЦП, память и т.д 0 27.12.2009 23:48
И снова блютуз! Haulpak Ремонт оргтехники 0 10.03.2009 05:06
Снова DNA1001 R666 Информация по радиокомпонентам 0 25.01.2008 16:39
И снова температура ua_gruzin Поиск схем. Делимся схемами 0 14.02.2007 01:18


Часовой пояс GMT +4, время: 14:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot