Embedded/마이크로프로세서(7)
-
ATMEGA128 외부 인터럽트
외부 인터럽트 1 #include #include #include #define F_CPU 16000000UL #define I 7 ISR(INT4_vect) { while((PINE & 1
2023.06.01 -
ATMEGA128 포토인터럽트 제어 실험
포토인터럽트 #include #include #include #define I 7 unsigned char seg[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0xC6, 0x86, 0x8E}; volatile int count = 0; ISR (INT0_vect) { count++; if(count == 26) count = 0; } void Initial_set(void){ DDRF = 0xFF; PORTF = 0xC0; DDRB |= 1
2023.06.01 -
ATMEGA128 Roullette 모형 제어
Roullette #include #include #include #define F_CPU 16000000UL #define I 7 unsigned char SEG[16] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E}; void Initial_set(){ DDRA = 0xFF; PORTA = 0xFE; DDRF = 0xFF; PORTF = 0xC0; DDRB |= 1
2023.06.01 -
ATMEGA128 Motor 제어 실험
Motor 1 #include #include #define F_CPU 1000000UL unsigned char SEG[16] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E}; void Initial_set(){ DDRF = 0xFF; PORTF = 0xC0; DDRB |= 1
2023.06.01 -
ATMEGA128 RELAY 제어 실험
RELAY 1 #include #include #define F_CPU 16000000UL void Initial_set(void) { DDRC=DDRC & ~(1
2023.06.01 -
ATMEGA128 FND제어 실험
FND 1 #include #include #define F_CPU 16000000UL unsigned char SEG[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; void Initial_set(){ DDRF = 0xFF; PORTF = 0xFF; DDRB = 0x0F; PORTB = 0x08; } int main(){ Initial_set(); int i = 1; while(1){ PORTB = 0x0E; PORTF = SEG[i%100%10]; _delay_ms(5); PORTB = 0x0D; PORTF = SEG[i%100/10]; _delay_ms(5); PORTB = 0x0B; PORTF = SEG[i/100]; _dela..
2023.06.01