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

//  버튼1.  변수증가  및  LED1  제어

            interrupt  [EXT_INT0]  void  ext_int0_isr(void){
                #asm("cli")

                //  안정화  변수가  0일  때  실행
                if(i==0){
                    /*  모드1(타이머)일  때  :  커서  위치에  따라  타이머  증가  및  타이머  제어

                       모드3(시계  설정)일  때  :  커서  위치에  따라  시계  증가
                       모드4(LED  설정)일  때  :  LED1  on/off              */

                    switch  (mode){
                        case  1:
                            //  커서  위치에  따라  타이머  증가

                            //  c(커서)는  1:시   2:분   3:초   4:기본위치
                            if  (c==1) timer+=3600;

                            if  (c==2)timer+=60;
                            if  (c==3)timer++;
                            //  23:59:59  초과  시  24시간  뺌

                            if  (timer>=86400)  timer-=86400;
                            //  커서가  기본  위치이면  타이머  실행여부  결정

                            if  (c==4){
                                if  (timer>0)timer_flag=~timer_flag;}
                            break;

                        case  3:
                            //  커서  위치에  따라  시계  증가

                            if  (c==1)watch+=3600;
                            if  (c==2)watch+=60;
                            if  (c==3)watch++;

                            //  23:59:59  초과  시  24시간  뺌
                            if  (watch>=86400)  watch-=64000;

                            break;
                        case  4:
                            //  LED  토글

                            if  (!(PORTF&0x01))PORTF|=0x01;
                            else  PORTF&=0xfe;

                            break;}




                                                         -  682  -
   684   685   686   687   688   689   690   691   692   693   694