Thông báo

Collapse
No announcement yet.

[Hỏi] Kết nối 89c51 với pt2262/2272

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • [Hỏi] Kết nối 89c51 với pt2262/2272

    Mình kết nối trực tiếp 4 chân data 2272 với 4 chân của 89
    Mình ấn nút trên module thu 2262 thì 2272 có sáng nhưng 89 ko nhận lệnh gì cả, mình viết code set port là mức 0 nếu có tín hiệu từ pt2272 mình nghĩ nó lên mức một thì phải nhận lệnh đkhien chứ nhỉ

  • #2
    Nguyên văn bởi minhvn09 Xem bài viết
    Mình kết nối trực tiếp 4 chân data 2272 với 4 chân của 89
    Mình ấn nút trên module thu 2262 thì 2272 có sáng nhưng 89 ko nhận lệnh gì cả, mình viết code set port là mức 0 nếu có tín hiệu từ pt2272 mình nghĩ nó lên mức một thì phải nhận lệnh đkhien chứ nhỉ
    Bạn nên xem lại thử 2272 tích cực ở mức cao hay mức thấp. Và bạn nên thử mạch 2272 trước khi nối vào VDK xem sao. Kết nối chân của 2272 với led, xem thử có tín hiệu ra hay không? Nếu không được thì bạn nên xem lại thêm chip 2262 và 2272 đã được đồng bộ với nhau chưa (set code giống nhau).

    Comment


    • #3
      Nguyên văn bởi lose Xem bài viết
      Bạn nên xem lại thử 2272 tích cực ở mức cao hay mức thấp. Và bạn nên thử mạch 2272 trước khi nối vào VDK xem sao. Kết nối chân của 2272 với led, xem thử có tín hiệu ra hay không? Nếu không được thì bạn nên xem lại thêm chip 2262 và 2272 đã được đồng bộ với nhau chưa (set code giống nhau).
      thank. do dòng ra từ 2272 nhỏ quá ko đủ kích mức 1 cho vi diều khiển, mình thêm con tran c2383 là ngon rồi.

      bạn có biết code ko xem giúp cái PWM cho động cơ, mình muốn tăng tần số xung pwm lên (mình mô phỏng trên protues nó dc 1kHz thôi)
      Code:
      /* Dieu khien robot: tien-lui-trai-phai-len-xuong
      
      Nhom : Nguyen Van Hao
              Nguyen Binh Minh
      
      //p0.0 dk role dong co sau 1
      //p0.1 dk xung dong co sau 1+2
      //p0.2 dk role dong co sau 2
      //p0.3 dk role dong co xich
      //p0.4 dk xung dong co xich	 */
      #include <REGX51.H>
      
                   /* Dinh nghia cac nut nhan*/
      #define data0    P1_0
      #define data1    P1_1
      #define data2    P1_2
      #define data3    P1_3
      
      bit PWM;
      unsigned char dem=0;
      unsigned int phantram_PWM=6;
      
      
                              /* Ham tao thoi gian tre*/
      
      void delay(unsigned int t)
      	 {
      	  unsigned int i,j;
      	  for(i=0;i<100;i++)
      	  for(j=0;j<t;j++);
      	 }
      		
      
       void khoitaohethong()
        {
      		   //ES=1;
      		   EA=0;
      		   TMOD=0x02;  // che do 8 bit tu nap
      		   TH0=0x9b;   // nap gia tri 155 ma hex
      		   TL0=0x9b;
      		   EA=1;
      		   TR0=1;
      		   ET0=1;
         }
                            /* Ngat tao ra PWM*/
      
        void ngat_timer0(void) interrupt 1
         {
      			    TR0=0;
      				TF0=0;
      				dem++;
      
      				if(dem>=phantram_PWM)
      				     {
      				      PWM=1;
      				     }
      				 else
      				     {
      				      PWM=0;
      					  }
      				  if(dem>=12)  dem=0;  
      				 TR0=1;
      				
      	}
      			                    /* Ham dung dong co*/
      void stopdc(void)
       {
      	  		P0_0=1;
      			P0_1=1;
      			P0_2=1;
      			P0_3=1;
      			P0_4=1;
       }
      	   	
      		                   /* Ham chay tien*/
       void  ctien(void)
          {
      		   		    P0_0=1;
      				    P0_1=PWM;
      				    P0_2=1;	
      					P0_2=1;
      					P0_4=1;			
      	 	    		
      	 }
      	    
      		                   /* Ham chay lui*/
      		 	 
      void clui(void)
      	 {		 				 
      				  P0_0=0;
      				  P0_1=PWM;
      				  P0_2=0;
      				  P0_3=1;
      				  P0_4=1;		 
      	     
      	 }
      	  /* Ham quay trai*/
      		 	 
      void quaytrai(void)
      	 {		 				 
      				  P0_0=0;
      				  P0_1=PWM;
      				  P0_2=1;
      				  P0_3=1;
      				  P0_4=1;		 
      	     
      	 }
      	  /* Ham quay phai*/
      		 	 
      void quayphai(void)
      	 {		 				 
      				  P0_0=1;
      				  P0_1=PWM;
      				  P0_2=0;
      				  P0_3=1;
      				  P0_4=1;		 
      	     
      	 }
      	  /* Ham leo len*/
      		 	 
      void leolen(void)
      	 {		 				 
      				  P0_0=1;
      				  P0_1=PWM;
      				  P0_2=1;
      				  P0_3=1;
      				  P0_4=PWM;		 
      	     
      	 }
      	  /* Ham leo xuong*/
      		 	 
      void leoxuong(void)
      	 {		 				 
      				  P0_0=1;
      				  P0_1=1;
      				  P0_2=1;
      				  P0_3=0;
      				  P0_4=PWM;		 
      	     
      	 }
      	                     /* Ham dieu khien tang toc*/
       unsigned char tangtoc(void)
       
           {
      	      if(data0==1&&data1==1&&data2==1&&data3==0) 
      		    {
      			    while(data0==1&&data1==1&&data2==1&&data3==0)
      				{;}
      				phantram_PWM=phantram_PWM-2; 
      			     delay(100);
      			    if(phantram_PWM<1)
      				 
      				   	phantram_PWM=2;
      					
      				
      			 }
      	     return (phantram_PWM);
      	  }
                                /* Ham dieu khien giam toc*/
       unsigned char giamtoc(void)
       
            {
              if(data0==0&&data1==1&&data2==1&&data3==1)
      	        {
      		     while(data0==0&&data1==1&&data2==1&&data3==1)
      			    {;}
      			   phantram_PWM=phantram_PWM+2;
      		        delay(100);
      		        if(phantram_PWM==12)
      		         phantram_PWM=10;
      				 	
                     }
      	    return (phantram_PWM);
      	}
                                   /* Lua chon che do cua dong co*/
      
        void chonchedo(void)
        {
            stopdc();
      	  //chay tien
          while(data0==1&&data1==0&&data2==0&&data3==0)
          {
             ctien();
          }
      	//chay lui
          while(data0==0&&data1==1&&data2==0&&data3==0)
          {
            clui();
          }
      	//re trai
          while(data0==0&&data1==0&&data2==1&&data3==0)
          {
             quaytrai();
          }
      	//re phai
          while(data0==0&&data1==0&&data2==0&&data3==1)
          {
             quayphai();
          }
      	//leo le^n
          while(data0==0&&data1==0&&data2==1&&data3==1)
          {
             leolen();  	
          }
      	//leo xuong
          while(data0==1&&data1==1&&data2==0&&data3==0)
          {
             leoxuong();
          }
      
      }
      
      		/* Chuong trinh chinh*/
      void main()
      	 {
      	    khoitaohethong();
      		P1=0x00 ,P0 = 0xff;
      	    while(1)
      	      {
      		      tangtoc();
      			  giamtoc();
      			  chonchedo();
      			  //hienthi(0,7-phantram_PWM);
      		 }	 
          }

      Comment

      Về tác giả

      Collapse

      minhvn09 Tìm hiểu thêm về minhvn09

      Bài viết mới nhất

      Collapse

      Đang tải...
      X