하드웨어/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를 다시 로드해보면 로드가


 되는데 거기에서 다시 내부 오실레이터로 퓨즈비트를 설정하면 인공호흡 완료!

                                 위에서 빨간색 부분의 맨 아래것을 선택하면 됩니다.