본문 바로가기
코스웨어/16년 스마트컨트롤러

20160318_김가연_업무일지_LCD출력

by 알 수 없는 사용자 2016. 3. 22.
728x90
반응형

오늘은 많은 것을 하였습니다.

저번시간에 LCD출력에 이어 그것을 응용한 것을 해보았습니다.

 

Stop & Start & Reset & 1분 증가

이 네가지 응용을 해보았습니다.

일단 Stop & Start 소스를 보면

vector_1 함수에

 

void __vector_1(void//ㅇㅌㄹㅌ
{  
  volatile unsigned int uiCnt;
    if(STOP==uiSstate)
   {  
     TCCR0B=(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(1<<CS01)|(1<<CS00);
    uiSstate=START;
   }
  else
  {
    TCCR0B=(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(0<<CS00);
    uiSstate=STOP;

  }
   for(uiCnt = 030000>uiCnt ; ++uiCnt);

}

이렇게 소스를 짜고 START 와 STOP은 당연히 헤더파일에 추가해야 합니다.

 

다음은 Reset 입니다.

vector_2 함수 내용을 다시 재정비 합니다.

void __vector_2(void
{  
    volatile unsigned int uiCnt;

  TCCR0B=(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(0<<CS00);
  uiSec=0;
  uiSstate=STOP;
  
  for(uiCnt = 030000>uiCnt ; ++uiCnt);
 
}

다음은 1분증가 입니다.

vector_3을 추가하고 헤더파일에도 올립니다.

void __vector_3(void
{  
  volatile unsigned int uiCnt;
  uiSec=uiSec+60;// 1분증가
  for(uiCnt = 030000>uiCnt ; ++uiCnt);
 
}

60s를 더하는 방식으로 1분을 더합니다. 저 수를 바구면 그에따라 증가하는 값도 바뀌겠죠?

 

 

작동영상입니다.

 

728x90