Page 260 - MDP2020-3
P. 260

254
                      |    인천전자마이스터고등학교  ·············································································································

                                            }
                                            b=0;

                                    }
                            }
            }


            void  Key()  {

                    PORTD  =  0xf0;                                                                            //키  매트릭스  초기값  설정

                    if((PIND&0xf0)!=0xf0){                                                    //스위치가  눌렸을  때만  작동하게  설정
                            cnt+=1;                                                                                //
                            keymatrix  =  0xfe;                                                            //1을  변수에  대입

                            for  (i=0;i<4;i++)                                                            //4번  반복
                            {
                                    PORTD  =  keymatrix;                                          //D포트를  keymatrix으로  열  설정
                                    matrix  =  PIND;                                                //matrix를  입력받은  스위치  값으로  넣음
                                    comparePass[cnt-1]  =  dorelock(matrix);

                                    PORTC  =  fnd[comparePass[cnt-1]];
                                    delay_ms(1);
                                    keymatrix  =  (keymatrix  <<  1)  +  0x01;  //keymatrix을  쉬프트로  열  바꿈
                            }
                            PORTD  =  0xf0;                                                                    //키  매트릭스


                            while(PIND  !=  0xf0);                                                //스위치가  눌렸을  때만  작동하게  설정

                            delay_ms(1);                                                          //잔상효과를  방지하기  위해서  딜레이  설정


                            lcd_gotoxy(cnt+6,0);
                            lcd_puts("*");
                    }
            }



            void  comparePW()  {
                    for(i=0;i<4;i++){                                                                //4번  누르니까  0부터  3까지  1씩  증가
                            if(rightPass[i]==comparePass[i]){                      //누르면  도어락  누른  게  하나씩  카운
                                    count+=1;                                                            //번호를  누르면  1개씩  카운트  됨
                            }

                    }
            }


            void  wrongPW()  {
   255   256   257   258   259   260   261   262   263   264   265