|
Бегающие "глаза"
Программные примеры для микроконтроллеров AVR - AVRStudio
(Бегающие "глаза")
К выводам порта В подключены переключатели, а к выводам порта D — светодиодные
индикаторы. Эффект "бегающих глаз" может быть создан путем поочередного
включения двух светодиодов при выключенных остальных или, наоборот,
— поочередного выключения двух светодиодов при включенных остальных.
Один из этих двух типов выбирается с помощью переключателя, подсоединенного
к выводу 7 порта В. Остальные входы этого порта определяют скорость
"бега" (коэффициент от 0 до 127).
Примечание: при компиляции проекта требуется добавить в проект следующие библиотеки: "avr/io.h", "avr/delay.h", "stdio.h".
unsigned long DelayCount;
unsigned long Velocity = 0;
unsigned char EyeType = 0;
void ShowEyes(int i)
{
if(EyeType) PORTD = ~i; else PORTD = i;
_delay_loop_2(DelayCount);
}
int main (void)
{
DDRB = 0x00;
DDRD = 0xFF;
while(1)
{
Velocity = PINB;
if(Velocity > 127)
{
Velocity -= 127;
EyeType = 1;
}
else EyeType = 0;
DelayCount = 500 + (Velocity * 50);
for(int i = 1; i <= 8; i = i*2) ShowEyes(i * 16 + i);
for(int i = 8; i > 1; i -= i/2) ShowEyes(i * 16 + i);
}
}
|
Файлы проекта можно скачать здесь:
|
|
|