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

//  안정화  변수  1로  토글하여  0.3초간  입력받지  못하게  함

                    i=1;}
                #asm("sei") }



            //  버튼2.  변수감소  및  LED2  제어
            interrupt  [EXT_INT1]  void  ext_int1_isr(void)  {

                   #asm("cli")  //  이  인터럽트  실행동안  다른  인터럽트  허용하지  않음
                   //  안정화  변수  0일  때  실행

                   if  (i==0){
                    /*  모드1(타이머)일  때  :  커서  위치에  따라  타이머  감소
                       모드3(시계  설정)일  때  :  커서  위치에  따라  시계  감소

                       모드4(LED  설정)일  때  :  LED2  on/off              */
                    switch  (mode){

                        case  1:
                            /*  커서  위치에  따라  타이머  감소
                               c(커서)는  1:시   2:분   3:초   4:기본위치   */

                            if  (c==1)timer-=3600;  //  커서가  '시'면  3600초(1시간)  감소
                            if  (c==2)timer-=60;  //  커서가  '분'이면  60초(1분)  감소

                            if  (c==3)timer--;    //  커서가  '초'면  1초  감소
                            if  (c==4)break;
                            if  (timer<0)timer+=86400;  //  커서가  기본위치면

                            break;
                        case  3:

                            /*  커서  위치에  따라  시계  감소
                                c(커서)는  1:시   2:분   3:초   4:기본위치   */
                            if  (c==1)watch-=3600;

                            if  (c==2)watch-=60;
                            if  (c==3)watch--;

                            //  00:00:00  미만시  24시간  더함
                            if  (watch<=0)watch+=86400;
                            break;

                        case  4:
                            //  LED2 토글

                            if  (!(PORTF&0x02))PORTF|=0x02;




                                                         -  683  -
   685   686   687   688   689   690   691   692   693   694   695