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

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

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

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

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

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

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

 
Опции темы
Непрочитано 10.03.2012, 21:28  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

и вот эта запись как читается ? PWM_portA|=PORTA&~PWM_PORTD_MASK; и как ее можно по другому более понятно написать ?
Реклама:
SAHA_T вне форума  
Непрочитано 10.03.2012, 21:29  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

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

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

Сообщение от SAHA_T Посмотреть сообщение
PWM_portA|=PORTA&~PWM_PORTD_MASK;
Нет там такой записи . Есть с портом С и D , с А нет.

PWM_portD=PWM_portD |(PORTD &(~PWM_PORTD_MASK)
1) ~PWM_PORTD_MASK - инвертирование маски
2) PORTD & - побитовое И с портом и инвертированной маской
3) PWM_portD | побитовое ИЛИ с буферной переменной и предыдущим результатом
4) PWM_portD= сохранение результата с буферную переменную
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 21:40  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

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

Так тот же самы только я всякие ошибки поубирал


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

#define PWM_PORTC_MASK 0xC3
#define PWM_PORTD_MASK 0xE0

volatile unsigned char PWM_buffer[15] ;

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(); //разрешить прерывания

while(1)
{

for(Counter_chanel=0;Counter_chanel‹15;Counter_cha nel++)
{
for(PWM_value=0;PWM_value‹128;PWM_value++)
{
PWM_buffer[Counter_chanel]=PWM_value;
delay_ms(n);
}
delay_ms(m);
}
delay_ms(3000);

}
}
SAHA_T вне форума  
Непрочитано 10.03.2012, 21:47  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

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

Сначала давай сам ШИМ проверим .
Занеси во весь буфер половину яркости 64 ( к примеру)
Оставь в главном цикле только while(1)
{
}

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

правильно я понимаю
while(1)
{
PWM_buffer[15]=64;
}

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

[HTML]volatile unsigned char PWM_buffer[15] ;[/HTML]

Зачем изменил ??? Там именно должно быть 16 . 16 каналов .
__________________
Осторожно , злой кот
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, время: 08:51.


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