본문 바로가기

분류 전체보기

인터럽트 - 상승엣지 #include #include unsigned char led = 0xfe; interrupt [EXT_INT0] void exint0(void) { if(led!=0x7f) led = (led 더보기
여기까지만................. 안녕하세요 숭덕이 박제현 입니다. C언어를 하다보면 포인터까지는 나가야하는데 나머지 부분까지는 필요없을 거 같아 더 이상 연재하지 않습니다. 포인터 and 포인터, 다중배열 까지는 각자 알아서............... 이제 open cv 와 프로테우스로 방향을 잡는 중입니다. 프로테우스로 AVR의 기본기가 다 됬다 싶으면 그때 ARM으로 갈겁니다. 더보기
FND - 99까지 달려라 하니~~ #include #include char seg_pat[10]={0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x03, 0x58, 0x00, 0x18}; void seg2(int); void main(void) { int num=0; DDRD = 0xFF; DDRF = 0xFF; while(1) { seg2(num); num++; if(num > 99 ) num = 0; } } void seg2(int num) { int i, n10, n1; n10 = num / 10; n1 = num % 10; for(i=0; i 더보기
FND - 0 ~ 9 까지 #include #include char seg_pat[10]={0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x03, 0x58, 0x00, 0x18}; void main (void ) { int i; DDRD = 0xFF; while(1) { for(i=0; i 더보기
FND - 깜박이기.... #include #include void main ( void ) { DDRD = 0xFF; while(1) { PORTD=0xff; delay_ms(500); PORTD=0x00; delay_ms(500); } } 더보기
스위치 2개로 LED 제어 #include void main ( void ) { unsigned char in_data; // 입력 받은 값을 저장할 변수 DDRD = 0xFF; // 출력 포트로 설정 DDRB = 0x00; // 입력 포트로 설정 while (1) // 무한루프, 키 입력을 대기 { in_data = PINB & 0X03; // 포트의 입력값을 in_data 변수에 저장 switch ( in_data ) // in_data 값의 상태에 따라, { case 0x01 : PORTD = 0xf0; break; case 0x02 : PORTD = 0x0f; break; } } } 더보기
스위치로 LED 제어 #include #include #define true 1 void main(void) { char i=0xfe; DDRD=0xff; DDRB=0x00; while(1) { if(PINB.0 == 1) PORTD=0xff; else PORTD=0x00; } } 더보기
LED 좌우쉬프트 #include #include void main(void) { char i=0xfe; DDRD=0xff; while(1) { do{ PORTD=i; delay_ms(100); i=1; i|=0x80; } while(i!=0xfe); // ! } } 더보기
LED 좌로 쉬프트 #include #include void main(void) { char i=0xfe; DDRD=0xff; while(1) { PORTD=i; //포트D에 i값 0xfe delay_ms(100); //딜레이 i 더보기
LED 깜박이기... #include #include void main(void) { DDRD=0xff; //D포트 출력 while(1) { PORTD=0x00; //D포트 OFF delay_ms(1000); //1초간 delay PORTD=0xff; //D포트 ON delay_ms(1000);//1초간 delay } } 더보기