Page 333 - MDP2020-3
P. 333

················································································  명장양성프로젝트  【MDP】  과제발표회  자료집  Ⅲ    |  327


            -  DC모터의  정회전,  역회전  제어  실습  소스코드를  응용하는  방법도  구상



            //  초기상태와  SW  OFF:  모터  정지,  FND  ‘0’표시
            //  SW0  ON:  모터  정회전,  FND  ‘F’표시
            //SW1  ON:  모터  역회전,  FND  ‘r’표시


            #include  <mega128a.h>

            #include  <delay.h>


            unsigned  char  fnd[3]  =  {0xc0,0x8e,0xaf};      //  0,F,r  FND  표시  배열
            void  main(void)
            {

                    DDRA=0xff;  //핀A를  FND  TR로  사용
                    DDRC=0xff;  //핀C를  FND  a~dp까지  사용
                    DDRB=0x00;  //핀B를  SW로  사용
                    DDRF=0xff;  //핀F를  모터로  사용



            while  (1)
                    {
                            if  (PINB.0==0){//sw0이  눌리면
                            PORTA=0xfe;    //F1  켜기
                            PORTC=fnd[1];  //F표시

                            PORTF=0x01;    //(=0b00000001)정회전으로
                            delay_ms(500);
                            }
                            else  if  (PINB.1==0)  //sw1이  눌리면
                            {

                                    PORTA=0xfe;  //F1  켜기
                                    PORTC=fnd[2];  //r표시
                                    PORTF=0x02;      //(=0b00000010)역회전으로
                                    delay_ms(500);
                            }

                            else
                                  {  //초기  설정(아무것도  안할때)
                                    PORTA=0xfe;  //F1  켜기
                                    PORTC=fnd[0];//0표시
                                    PORTF=0x00;    //모터  정지

                                    delay_ms(2);
                                  }
                    }
            }
   328   329   330   331   332   333   334   335   336   337   338