#include <avr/io.h>
#include <util/delay.h>
#ifndef __LED_H__
#define __LED_H__
void led_all_onoff(int num,int cycle);
void led_alternating_onoff(int num,int cycle);
void led_shift(int num,int cycle);
#endif
#define F_CPU 16000000UL
void led_all_onoff(int num, int cycle)
{
int i=0;
for(i;i<num;i++)
{
PORTA = 0xFF;
PORTB = 0xFF;
_delay_ms(cycle);
PORTA = 0x00;
PORTB = 0x00;
_delay_ms(cycle);
}
}
void led_alternating_onoff(int num,int cycle)
{
int i=0;
for(i=0;i<num;i++)
{
PORTA = 0xC3;
_delay_ms(cycle);
PORTA = 0x3C;
_delay_ms(cycle);
}
for(i=0;i<num;i++)
{
PORTA = 0xF0;
_delay_ms(cycle);
PORTA = 0x0F;
_delay_ms(cycle);
}
}
void led_shift(int num,int cycle)
{
int i=0;
int temp=0;
while(1)
{
for(i=0;i<num;i++)
{
PORTA=~(0x01<<i);
temp = (0x01<<i);
_delay_ms(cycle);
}
for(i=0;i<num;i++)
{
PORTA=~(temp>>i);
_delay_ms(cycle);
}
}
}
int main(void)
{
DDRA=0xFF; // LED
led_shift(8,1000);
}
'과거에 공부했던 것들(저장용) > 학부생' 카테고리의 다른 글
[2014 한이음 동상수상] Golden Box (0) | 2015.07.23 |
---|---|
[AVR Studio](atmega 128) Timer (0) | 2015.07.23 |
Avr studio) atmega128 계산기 프로그램 _ 인터럽트 사용 (0) | 2015.07.23 |
Huffman 코딩 (구현한 부분까지) (0) | 2015.07.23 |
Sudoku 정답이 맞는지 확인하는 프로그램 (0) | 2015.07.23 |