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

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

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

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

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

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

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

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

PWM_chanel[16] это тот буфер с которого считывается значение PWM в прерывании .
И у тебя же 16 каналов и 16 букв вместе с восклицательным знаком ?
Или переиграл уже ?
Реклама:
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 19:50  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

#define TMR 65380L //0xFF64 : 78 мкс (при тактовой 16МГц и делителе : 1 такт 128-разрядного ШИМ
#define sbi(p,m) ((p) |= 1‹‹(m)) //установить бит m порта p
#define cbi(p,m) ((p) &= ~(1‹‹(m))) //сбросить бит m порта p
//#define Kanal_0 =0;
volatile unsigned int Tic; //счетчик тиков/прерываний/шагов ШИМ
volatile unsigned int i,m,n,nn,mm,q,qq;
volatile unsigned char Ch_0,Ch_1,Ch_2,Ch_3,Ch_4,Ch_5,Ch_6,Ch_7,Ch_8,Ch_9, Ch_10,Ch_11,Ch_12,Ch_13,Ch_14,Ch_15;
volatile unsigned char Kanal_0,Kanal_1,Kanal_2,Kanal_3,Kanal_4,Kanal_5,Ka nal_6,Kanal_7;
volatile unsigned char Kanal_8,Kanal_9,Kanal_10,Kanal_11,Kanal_12,Kanal_1 3,Kanal_14,Kanal_15;
//volatile unsigned int random1[] = {10,4,1,6,5,3,7,8,2,9};


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

/*
void Kanal_0up(int n1)
{
for(i=0;i‹128;i++) {
Kanal_0=i;
delay_ms(n1);
}}

*/

//Прерывание по переполнению таймера 1
ISR(SIG_OVERFLOW1)
{
TCNT1 = TMR; //начальное значение таймера
// Канал 0
if (Tic ‹ Ch_0) sbi(PORTA,0);
else cbi(PORTA,0);
// Канал 1
if (Tic ‹ Ch_1) sbi(PORTA,1);
else cbi(PORTA,1);
// Канал 2
if (Tic ‹ Ch_2) sbi(PORTA,2);
else cbi(PORTA,2);
// Канал 3
if (Tic ‹ Ch_3) sbi(PORTA,3);
else cbi(PORTA,3);
// Канал 4
if (Tic ‹ Ch_4) sbi(PORTA,4);
else cbi(PORTA,4);
// Канал 5
if (Tic ‹ Ch_5) sbi(PORTA,5);
else cbi(PORTA,5);
// Канал 6
if (Tic ‹ Ch_6) sbi(PORTA,6);
else cbi(PORTA,6);
// Канал 7
if (Tic ‹ Ch_7) sbi(PORTA,7);
else cbi(PORTA,7);
// Канал 8 - здесь переходим к следующему порту
if (Tic ‹ Ch_ sbi(PORTC,7);
else cbi(PORTC,7);
// Канал 9
if (Tic ‹ Ch_9) sbi(PORTC,6);
else cbi(PORTC,6);
// Канал 10
if (Tic ‹ Ch_10) sbi(PORTC,0);
else cbi(PORTC,0);
// Канал 11
if (Tic ‹ Ch_11) sbi(PORTD,7);
else cbi(PORTD,7);
// Канал 12
if (Tic ‹ Ch_12) sbi(PORTD,5);
else cbi(PORTD,5);
// Канал 13
if (Tic ‹ Ch_13) sbi(PORTD,6);
else cbi(PORTD,6);
// Канал 14
if (Tic ‹ Ch_14) sbi(PORTC,1);
else cbi(PORTC,1);
// Канал 15
//if (Tic ‹ Ch_15) sbi(PORTC,7);
//else cbi(PORTC,7);

Tic++; //увеличиваем счетчик тиков
if(Tic==12 {
Tic=0; //начинаем все сначала
//и только теперь переходим к новым значениям яркости
Ch_0=Kanal_0;
Ch_1=Kanal_1;
Ch_2=Kanal_2;
Ch_3=Kanal_3;
Ch_4=Kanal_4;
Ch_5=Kanal_5;
Ch_6=Kanal_6;
Ch_7=Kanal_7;
Ch_8=Kanal_8;
Ch_9=Kanal_9;
Ch_10=Kanal_10;
Ch_11=Kanal_11;
Ch_12=Kanal_12;
Ch_13=Kanal_13;
Ch_14=Kanal_14;
// Ch_15=Kanal_15;
//Да, я знаю, что такое массивы, но так получается быстрее по времени выполнения
}
}

//************************************************** *
// Начало программы
//************************************************** *
int main(void)
{
DDRA=0xFF; //порты - на выход
DDRC=0xFF;
DDRD=0xFF;

//DDRC=0xFF;
PORTA=0x00;
PORTC=0x00;
PORTD=0x00;

delay_ms(1000);

//DDRA=0xFF;

//PORTC=0x0;
//Kanal_0 = 0;
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(i=0;i‹128;i++) {
Kanal_0=i;
delay_ms(n);
}
delay_ms(m);

for(i=0;i‹128;i++) {
Kanal_1=i;
delay_ms(n);
}

delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_2=i;
delay_ms(n);
}

delay_ms(m);

for(i=0;i‹128;i++) {
Kanal_3=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_4=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_5=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_6=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_7=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_8=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_9=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_10=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_11=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_12=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_13=i;
delay_ms(n);
}
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_14=i;
delay_ms(n);
}
delay_ms(3000);

// */
//
//Гашение

if(q==0){

delay_ms(2000);
for(i=128;i›0;i--) {
Kanal_0=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_1=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_2=i;
delay_ms(nn);
}
delay_ms(mm);

for(i=128;i›0;i--) {
Kanal_3=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_4=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_5=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_6=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_7=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_8=i;
delay_ms(nn);
}
delay_ms(m);
for(i=128;i›0;i--) {
Kanal_9=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_10=i;
delay_ms(nn);
}
delay_ms(m);
for(i=128;i›0;i--) {
Kanal_11=i;
delay_ms(nn);
}
delay_ms(mm);

for(i=128;i›0;i--) {
Kanal_12=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_13=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_14=i;
delay_ms(nn);
}

}
delay_ms(m);
if(q==1){
delay_ms(2000);
for(i=128;i›0;i--) {
Kanal_14=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_13=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_12=i;
delay_ms(nn);
}
delay_ms(mm);

for(i=128;i›0;i--) {
Kanal_11=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_10=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_9=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_8=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_7=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_6=i;
delay_ms(nn);
}
delay_ms(m);
for(i=128;i›0;i--) {
Kanal_5=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_4=i;
delay_ms(nn);
}
delay_ms(m);
for(i=128;i›0;i--) {
Kanal_3=i;
delay_ms(nn);
}
delay_ms(mm);

for(i=128;i›0;i--) {
Kanal_2=i;
delay_ms(nn);
}

delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_1=i;
delay_ms(nn);
}
delay_ms(mm);
for(i=128;i›0;i--) {
Kanal_0=i;
delay_ms(nn);

q=-1;
}
}
delay_ms(m);
////////////////////////////
for(i=0;i‹128;i++) {
Kanal_0=i;
Kanal_1=i;
Kanal_2=i;
Kanal_3=i;
Kanal_4=i;
Kanal_5=i;
Kanal_6=i;
Kanal_7=i;
Kanal_8=i;
Kanal_9=i;
Kanal_10=i;
Kanal_11=i;
Kanal_12=i;
Kanal_13=i;
Kanal_14=i;
delay_ms(100);
}
delay_ms(3000);
for(i=128;i›0;i--) {
Kanal_0=i;
Kanal_1=i;
Kanal_2=i;
Kanal_3=i;
Kanal_4=i;
Kanal_5=i;
Kanal_6=i;
Kanal_7=i;
Kanal_8=i;
Kanal_9=i;
Kanal_10=i;
Kanal_11=i;
Kanal_12=i;
Kanal_13=i;
Kanal_14=i;
delay_ms(100);
}
delay_ms(m);
q=q+1;

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

нет скорей запарился насчитал 15 букв а когда сделал плату и поставил полевики подключил и оказалось 16, оказывается восклицательный знак забыл в итоге соединил восклицательный знак с 15 буквой.
SAHA_T вне форума  
Непрочитано 10.03.2012, 20:02  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
Ну смотри сейчас эти циклы всю страницу займут
Чтобы не занимало всю страницу, выложи отдельным файлом. Я ж просил именно об этом в предыдущем сообщении. Под окошком, куда ты пишешь комменты, есть справа кнопочка - "Расширенный режим". Нажми ее, и там будет написано, "Управление вложениями". Нажми ее, и вставишь файл с прогой, или картинку, или что угодно со своего компа. И всем от этого будет легче.
Alex9797 вне форума  
Непрочитано 10.03.2012, 20:07  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
так как его нужно передавать в другой город, а возить туда-назад это бессмыслица
...вот, вот ..я это как раз то и понимаю, потому и в посту N106 и подкинул готовый рабочий проект - заливаешь, подбираешь эффекты и вуаля - подарок готов... ну а потом спокойненько так, от простого к сложному и грызёшь для началы основы, ну а потом уже можно попробовать и посолидней чего - типа 16ти канального софтвенного шима..
PS ..всё, не буду больше капать на мозг ..ухожу, ухожу

Последний раз редактировалось Pajatel; 10.03.2012 в 20:10.
Pajatel вне форума  
Непрочитано 10.03.2012, 20:07  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

так это я понимаю но на мой взгляд так проще сразу видишь и пишешь, просто если будет замечание от администратора тогда уже буду ссылкой делать

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

Вот скажи мне -что ЭТО ???
Код:
Ch_0=Kanal_0;
Ch_1=Kanal_1;
Ch_2=Kanal_2;
Ch_3=Kanal_3;
Ch_4=Kanal_4;
Ch_5=Kanal_5;
Ch_6=Kanal_6;
Ch_7=Kanal_7;
Ch_8=Kanal_8;
Ch_9=Kanal_9;
Ch_10=Kanal_10;
Ch_11=Kanal_11;
Ch_12=Kanal_12;
Ch_13=Kanal_13;
Ch_14=Kanal_14;
//	Ch_15=Kanal_15;
//Да, я знаю, что такое массивы, но так получается быстрее по времени выполнения
Да еще с таким нелепым утверждением ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2012, 20:11  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

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

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

)) так это я забыл фразу убрать, сразу говорю, фраза не моя
это пустяки, для меня понятней вот как написано
SAHA_T вне форума  
 

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

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

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, время: 10:31.


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