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

e ls e  if(a rd u in o = = re tu rn _rig h t)       //우 회 전
                                                    b e g in
                                                          if(re a d y )    s ta tu s <= re tu rn _rig h t;
                                                           e ls e     s ta tu s <= re tu rn ;
                                                     e n d
                                              e n d
                                      e n d c a s e
                            en d
                     e n d
             //- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- -상 태 의   따 른   출 력
                      a lw a y s   @ (p o s e d g e  clk,  n eg ed g e   res et)
                     b e g in
                              if(!res et)
                             b e g in
                                      m otor_ l<= 2 'b 0 ;      m otor_ r< = 2 'b 0 ;
                                     l_s p e e d < = 0 ;        r_s p e e d <= 0 ;
                                      s ta tu s _le d <= 3 'b 111;
                                     l_le d < = 1;
                                      r_le d <= 1;
                             e n d
                             e ls e
                             b e g in
                                      c as e (s tatu s )
                                             s to p   :                              //정 지
                                             b e g in         //왼 쪽   바 퀴 와  오 른 쪽  바 퀴 의   속 도   0 .
                                                      s ta tu s _ le d <= ~ s ta tu s ;
                                                      m otor_l< = 2 'b 0 ;
                                                      m otor_r<= 2 'b 0 ;
                                                      l_s p e e d <= 0 ;
                                                      r_ s p eed <= 0 ;
                                                      l_le d <= le d _fla g ;
                                                      r_ le d <= le d_flag;
                                             e n d
                                               s tra ig h t :                        //직 진
                                              b e g in         //왼 쪽   바퀴 와  오 른쪽  바퀴의   속 도   같음 .
                                                      s ta tu s _ le d <= ~ s ta tu s ;
                                                      m otor_l< = {l_s ta tu s ,  1'b 0 };
                                                      m o to r_r<= {r_s ta tu s ,  1'b 0 };
                                                      l_s p e e d <= (p a rk )? 2 5 0 00:5 0 00 0;
                                                      r_ s p e e d <= (p a rk )? 2 5 0 00 :5 00 0 0 ;
                                                      l_le d <= 0 ;
                                                     r_ le d <= 0 ;
                                             e n d
                                             re tu rn   :                            //후 진
                                             b e g in
                                                    //왼 쪽   바퀴 와  오 른쪽  바퀴의   속 도   같음 .< B U T   방 향이  다름.>
                                                      s ta tu s _ le d <= ~ s ta tu s ;
                                                      m otor_l< = {1'b 0 ,  l_s ta tu s };




                                                         -  446  -
   448   449   450   451   452   453   454   455   456   457   458