Например TDA7294

Форум РадиоКот • Просмотр темы - Бегущие огни на atmega8
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср июл 30, 2025 23:27:28

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Бегущие огни на atmega8
СообщениеДобавлено: Ср дек 29, 2010 15:01:15 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 07, 2009 06:55:32
Сообщений: 62
Откуда: Asia. Turkmenistan
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Доброго всем времени суток. Это моя первая программка, прошу сильно не пинать. Сделал бегущие огни, по 2 светодиода. один такт в право и один влево. Подскажите пожалуйста, как заставить выполнять определенное количество тактов, к примеру 3 влево и после 3 в право. Просто повторять код, выполняет, но код у меня получается огромный. Заранее благодарен.


Вложения:
led.rar [26.34 KiB]
Скачиваний: 315
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бегущие огни на atmega8
СообщениеДобавлено: Ср дек 29, 2010 19:12:45 
Потрогал лапой паяльник

Карма: 6
Рейтинг сообщений: 17
Зарегистрирован: Пт дек 17, 2010 14:41:25
Сообщений: 310
Рейтинг сообщения: 0
Используйте циклы:
Код:
int i;
   for(i=0;i<10;i++)
    {
        ...
    }

или
Код:
int i=0;
while(i<10){
  .....
  i++;
}


кстати, Вам сюда http://radiokot.ru/forum/viewtopic.php?f=20&t=37190


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бегущие огни на atmega8
СообщениеДобавлено: Ср дек 29, 2010 20:04:57 
Встал на лапы

Зарегистрирован: Вс мар 01, 2009 20:41:19
Сообщений: 125
Рейтинг сообщения: 0
Код:
#define BIT(B)                  (1<<B)// преобр. номера бита в позицию в байте
#define SETBIT(ADDRESS,B)       (ADDRESS |= BIT(B))// установка бита

int main()
{
 unsigned char i=0
 while(true)
      {
       for(i=0;i<3;i++)
          {
           delay(time);
           PORTB=0;
           SETBIT(PORTB,i);
          }

       for(i=0;i<3;i++)
         {
          delay(time);
          PORTB=0;
          SETBIT(PORTB,3-i);
         }
       }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бегущие огни на atmega8
СообщениеДобавлено: Ср дек 29, 2010 20:28:29 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 07, 2009 06:55:32
Сообщений: 62
Откуда: Asia. Turkmenistan
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Спасибо. Слишком уж сложно для меня. Не могли бы вы показать на примере с использованием моего исходника. Спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бегущие огни на atmega8
СообщениеДобавлено: Ср дек 29, 2010 21:10:36 
Потрогал лапой паяльник

Карма: 6
Рейтинг сообщений: 17
Зарегистрирован: Пт дек 17, 2010 14:41:25
Сообщений: 310
Рейтинг сообщения: 0
Цитата:
Код:
       for(i=0;i<3;i++)
          {
           delay(time);
           PORTB=0;
           SETBIT(PORTB,i);
          }

Нужен код трижды бегущего огня а не по трем диодам

Код:
int i;
....
while (1)
{
      // Place your code here
         //if (PIND.0==1) //проверка нажатия кнопки
                       // Сдвиг в право
           
for(i=0;i<3;i++)
 {
  rab=0b11000000;    //запись начального значения 
  while (rab!=0)
   {
   PORTB=rab^0xFF; //запись в порт с инверсией
   rab=rab >> 1;   //сдвиг разрядов
   delay_ms (200); //задержка в 200мсек                                                           
   }
 }   
                   
         //else
                //сдвиг влево
for(i=0;i<3;i++)
 {
  rab=0b00000011;   //запись начального значения
  while (rab!=0)
    {
     PORTB=rab^0xFF; //запись в порт с инверсией
     rab=rab << 1;   //сдвиг разрядов
     delay_ms (200); //задержка в 200мсек
     }
 }     
}; 


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бегущие огни на atmega8
СообщениеДобавлено: Ср дек 29, 2010 22:06:19 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 07, 2009 06:55:32
Сообщений: 62
Откуда: Asia. Turkmenistan
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Спасибо огромное!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y