AVR 1 include mega 128 h include stdio

  • Slides: 10
Download presentation

AVR 프로그램(1) #include <mega 128. h> #include <stdio. h> #asm. equ __lcd_port=0 x 15

AVR 프로그램(1) #include <mega 128. h> #include <stdio. h> #asm. equ __lcd_port=0 x 15 ; PORTC #endasm #include <lcd. h> float mm; interrupt [EXT_INT 4] void ext_int 4_isr(void) { if(PINB. 0==PINB. 1) mm=mm+0. 48; else mm=mm-0. 48; } interrupt [EXT_INT 5] void ext_int 5_isr(void) { if(PINB. 0==PINB. 1) mm=mm-0. 05; else mm=mm+0. 05; } LCD를사용 빛이 반사될 때마다 이 부분이 실행 되어 값이 증가한다

AVR 프로그램(2) void main(void) { PORTB=0 x 00; DDRB=0 x 00; // INT 4

AVR 프로그램(2) void main(void) { PORTB=0 x 00; DDRB=0 x 00; // INT 4 Mode: Any change // INT 5 Mode: Any change EICRA=0 x 00; EICRB=0 x 05; EIMSK=0 x 30; EIFR=0 x 30; ACSR=0 x 80; SFIOR=0 x 00; lcd_init(16); #asm("sei") while (1) { char back[16]; lcd_gotoxy(0, 0); lcd_puts(back); sprintf(back, "%. 2 f", mm); }; } 각 포트와 INT부분을 설정하는 구문 LCD로 화면에 출 력하는 구문