Page 428 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 428

정보통신기기  프로젝트




                   SREG|=0x80; //인터럽트  허용
                      UCSR0A=0x00;  //NFC  시리얼통신에  필요한  설정
                      UCSR0B=0x10;  //NFC  시리얼통신에  필요한  설정
                      UCSR0C=0x06;  //NFC  시리얼통신에  필요한  설정
                      UBRR0H=0x00;  //NFC  시리얼통신에  필요한  설정
                      UBRR0L=103;  //NFC  시리얼통신에  필요한  설정
                      TIMSK=0x01;        //오버플로우  인터럽트  사용
                      TCCR0=0x07;          //노말모드,  1024분주
                   TCNT0=0;         //TCNT값이  0에서  시작함
                   }


              void  open(void){  //문을  여는  함수
                   one=1;  //one  변수  1로 설정
                   PORTF=0xff; //스위치값  1으로  초기화.
                      timer=1;  //타이머  온.(시간  잼)
                      ovfmode=0;//여는  동작중이라고  설정
                      PORTC=0x01;//모터  여는  방향으로  돌게  함.
                        }


              void  close(void){//문을  닫는  함수
                      ovfmode=1;  //닫는  동작이라고  설정.
                      PORTC=0xfe;//모터  닫는  방향으로  돌게  함
                   PORTF=0xff;//스위치값  1으로 초기화

                        }


              interrupt  [TIM0_OVF] void  timer0_OVF (void){ //T/C 오버플로우  발생시
                   TCNT0=0;  //TCNT값  초기화
                      if(ovfmode==0){  //만약  ovfmode가  0인  경우(열리는  경우나  정지인  경우)
                              if(timer==1)check++;}//타이머가  켜져있다면  (열리는  경우)  체크1증가
                   else  if(ovfmode==1){ //만약  ovfmode가  1인  경우(닫히는  경우)
                              if(timer==1){//타이머가  켜져있다면(완전히  닫히지  않은  경우)
                              kcehc++;//케흐 1증가
                              if(kcehc==check){//체크와  케흐가  같다면  (열린시간만큼  닫힌  경우)
                                    fnddis=0;//fnd표시  변수  초기화
                                    ovfmode=0;//ovfmode  초기화  (멈춘상태)
                                                s_f=100;//s_f  초기화(나올  수  없는  값)
                                    PORTC=0x00;//c포트  초기화(동작  x)
                                    timer=0;//타이머  정지
                                    PORTF=0xf0;//스위치  초기화
                                    check=0;//체크  변수  초기화
                                    kcehc=0;//케흐  변수  초기화
                                    PORTD=0x00;//D포트  초기화


                                                                                               정보통신기기과
                                                         -  421  -
   423   424   425   426   427   428   429   430   431   432   433