하드웨어/0. 기본 개념
2. Atmega(AVR) 인공호흡 (심폐소생술)
건앤로즈
2012. 8. 14. 00:23
AVR Studio4에서 Atmega162에 프로그램을 하다가 퓨즈비트를 외부 오실레이터로 설정하고 작동을 시켰는데, 멈춰버렸다.(ㄱ-)
외부 크리스탈을 연결을 했지만 제대로 연결이 안되었나보다..
그래서 Atmega가 하나더 있으면 프로그램으로 외부펄스를 주어서 살릴수 있다는 이야기를 듣고 ATmega162 하나더 구입..
방법을 아래와 같다.
1. 준비물
- Atmega162 ( Atmega128을 쓰시는분은 동일한 것 하나더 구매하세요)
- AVR Studio4, IAR
2. 방법
-새로 구입한 Atmega에 아래의 소스를 컴파일해서 플래시 메모리에 프로그램을 입력합니다.
#include <iom162.h> #include <ina90.h> void Delay(unsigned int time) { unsigned int i,j; __disable_interrupt(); for(i=0;i<time;i++) { for(j=0;j<80;j++); // 8MHz = 일때 80*1000하면 1초가 된다. } __enable_interrupt(); } void main(void) { DDRD=0xff; // Port D를 출력 포트로 설정 while(1) { PORTD=0xFF; PORTD=0x00; } }
-위의 프로그램을 Write한 ATmega의 PD0 핀을 죽은 Atmega162의 Xtal 1번에 연결한 후에 AVR Studio4에서 죽은 ATmega를 다시 로드해보면 로드가
되는데 거기에서 다시 내부 오실레이터로 퓨즈비트를 설정하면 인공호흡 완료!
위에서 빨간색 부분의 맨 아래것을 선택하면 됩니다.