각각의 FND 숫자 표시
#define F_CPU 16000000UL // 16Mhz에서 동작하는 ATmega128A를 실제시간으로 동작을 맞추기 위해 사용
#include <avr/io.h>
#include <util/delay.h>
#define FND (*(volatile unsigned char*)0x8000)
void io_init(void) //입력, 출력 초기화시키는 함수
{
MCUCR|=(1<<SRE)|(1<<SRW10);
XMCRA|=(1<<SRL2)|(0<<SRL1)|(0<<SRL0)|
(1<<SRW01)|(1<<SRW00)|(1<<SRW11);
XMCRB|0x00;
}
int main(void) // 넘버안에 6자리를 정하고 FND에 표현하기
{
int number[6]= {3,7,5,2,9,5};
io_init();
while (1)
{
FND=(number[0]<<3)+0;
_delay_ms(1);
FND=(number[1]<<3)+1;
_delay_ms(1);
FND=(number[2]<<3)+2;
_delay_ms(1);
FND=(number[3]<<3)+3;
_delay_ms(1);
FND=(number[4]<<3)+4;
_delay_ms(1);
FND=(number[5]<<3)+5;
_delay_ms(1);
}
return ;
}
'Cadence Certificate Specialist > AVR' 카테고리의 다른 글
AVR ATmega128A 를 이용한 신호등 동작 구현 - 2 - (0) | 2014.06.18 |
---|---|
7SEGMENT를 이용한 숫자 이동 (0) | 2014.06.17 |
ATmega128 Datasheet /AVR KIT (0) | 2014.06.15 |