#include <avr/io.h>
#include <util/delay.h>
void main(void)
{
DDRA = 0xFF;
while(1){
PORTA = 0b01010101;
_delay_ms(5000);
PORTA = 0b10101010;
_delay_ms(5000);
}
}
2번
#include <avr/io.h>
#include <util/delay.h>
void main(void)
{
DDRA=0xff;
int i;
while(1)
{
PORTA=0xFE; //0
for(i=0;i<8;i++)
{
PORTA=PORTA<<1;
PORTA=PORTA|0x01;
_delay_ms(2000);
if(PORTA==0x7F)
{
for(i=0;i<8;i++)
{
PORTA=PORTA>>1;
PORTA=PORTA|0x80; //128
_delay_ms(2000 < ));
if(PORTA==0xfe) //0
{
for(i=0;i<8;i++);
}
}
}
}
}
}
3번
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRA = 0xFF;
while (1) {
PORTA = 0xFF;
_delay_ms(500);
PORTA = 0x00;
_delay_ms(500);
}
return 0;
}
4번
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRA = 0xFF;
uint8_t data[] = {0x77, 0x01, 0x41, 0x02, 0x3B, 0x04, 0x5B, 0x08, 0x4D, 0x10, 0x5E, 0x20, 0x7C, 0x40, 0x8D};
int i;
while(1)
{
for(i = 0; i < 14; i++)
{
PORTA = data[i];
_delay_ms(1500);
}
for(i = 15; i >= 0; i--)
{
PORTA = data[i];
_delay_ms(1500);
}
}
return 0;
}
|