[AVR 기초] 스탑워치2
*키트는 Atmega128A를 사용하였습니다* //StopWatch SW1 인터럽트 발생시 시간 o #include #include //인터럽트 헤더파일 선언 >> 인터럽트 사용 가능 #define F_CPU 16000000UL #include volatile int currenttime, stoptime = 0; volatile int go = 1;//변수 GO 만듬. GO 의 값 : 1 설정 unsigned char fnd[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67}; unsigned char fnd_pos[4] = {0x01, 0x02, 0x04, 0x08}; volatile int count = 0; ISR(INT4_vec..
[AVR 기초] 스탑워치 1
*키트는 Atmega128A를 사용하였습니다* //StopWatch SW1 인터럽트 발생시 시간X #include #include #define F_CPU 16000000UL//실제 동작 clock Hz -> 16MHz #include //딜레이 헤더파일 선언 volatile int currenttime, stoptime = 0;//변수를 선언할 때 앞에 volatile 을 붙이면 컴파일러는 해당 변수를 최적화에서 제외하여 항상 메모리에 접근하도록 만듬 //currenttime, stoptime 이라는 변수만듬 unsigned char fnd[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67}; unsigned char fnd_pos[4..
[AVR 기초] 스위치를 이용한 FND 4자리 1씩 증가하기
*키트는 Atmega128A를 사용하였습니다* 스위치를 이용해 FND 4자리 스위치 1씩 증가하기 입니다. 예시를 보겠습니다. 코드는 다음과 같습니다. #include #include //인터럽트 헤더파일 선언 #define F_CPU 16000000UL #include unsigned char fnd[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67}; unsigned char fnd_pos[4] = {0x01, 0x02, 0x04, 0x08}; volatile int count = 0;//변수 count =0. 인터럽트와 메인에서 함께 사용하는 변수는 volatile을 선언하는것이 안전 ISR(INT4_vect){//Interrupt..