Показать сообщение отдельно
Старый 22.04.2010, 04:13   #311 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Это исходный текст прошивки:
Код:
/*
 */
#include <avr/io.h>
#include <math.h>
#include <avr/delay.h>
#define SEC (60*60) //время одного цикла в секундах (всего 4 цикла)

static inline void delay() //задержка в одну секунду. При смене тактовой частоты нужно изменять коэффициенты
{
    unsigned int k;
    for(k=0;k<500;k++)
    {
        _delay_loop_2(500); //вызов задержки на 4 такта
    }
}

int main(void)
{
    PORTB=6+1;
    DDRB=1+2+4+8+16+32;
    unsigned int i;
    unsigned int j;
    for(i=8;i<128;i*=2)                         //перебор циклов
    {
        for(j=0;j<SEC;j++)
        {
            delay();
            PORTB=(PORTB&(~2))|((~PORTB)&2);    //переключение D1 из включенного состояния в выключенное и наоборот
        }
        PORTB=PORTB|i;                          // включение следующего светодиода
    }
    PORTB=PORTB&(2+4+8+16+32);                  //команда на исполнительное устройство
    while(1)                                    //зацикливание
    {
        PORTB=(PORTB&(~(2+4+8+16+32)))|((~PORTB)&(2+4+8+16+32));
        delay();
    }
    return 0;
}
Компилировать его нужно в AvrStudio, установив перед этим пакет программ WinAvr.
Long Cat вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070