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

      • Ng.Phuong.5
        Khi in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau.
        Không biết có ai sửa được vấn đề này không ạ? Hay đây là mặc định của orcad 9.2 rồi ạ ?
        Các cách em xem trên diễn đàn thử rồi nhưng không được ạ...
        hôm nay, 19:47
      • Ng.Phuong.5
        Khi in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
        Không biết...
        hôm nay, 19:45
      • Ng.Phuong.5
        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
        Không biết...
        hôm nay, 19:45
      • Ng.Phuong.5
        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
        Mấy con...
        hôm nay, 19:44
      • viettinh
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi viettinh
        Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
        Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
        hôm nay, 18:12
      • nguyendinhvan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi nguyendinhvan
        Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
        Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
        Cách đơn giản...
        hôm nay, 00:04
      • Ng.Phuong.5
        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
        Mấy con...
        Hôm qua, 22:44
      • mèomướp
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi mèomướp
        Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
        Hôm qua, 19:02
      • tuyennhan
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi tuyennhan
        Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
        Hôm qua, 15:43
      • tuyennhan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi tuyennhan
        Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
        Hôm qua, 15:28
      Đang tải...
      X