Thông báo

Collapse
No announcement yet.

Xin giúp đở 74hc595 suất dữ liệu

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

  • Xin giúp đở 74hc595 suất dữ liệu

    Xin chào các bác !
    Tình hình là như thế này, em đang làm một cái đồng hồ với 32 led đơn được nối dạng trái tim bên trong lè led đươn được gép thành led đoạn để làm hiển thị cho đồng hồ mọi việc đã xong phần cứng rồi nhưng bấy giờ mới bắtddaaud đã gặp sự cố mà không hiểu nguyên nhân gì cả mong được các bác có kinh nghiệm làm qua chỉ em nguyên nhân .
    Em dùng 595 để đẩy dữ liệu ra led đơn em điều khiển 32 led đơn nên dùng 4 con 595, các chân đã kết nối đùng như datashee, mô phỏng đã chạy ngon lành nhưng khi nạp vào mô hinhg thực tế thì tất cả các led đều sáng (các led đơn của em một đầu kto được nối mat một đầu nối với 1 em điện trở 330 ôm ).Nếu về lí thuyết khi chưa gọi chương trình để điều khiển xuất dữ liệu ra các chân của hc595 thì tất cả các chân của nó phải mang giá trị 0 V thì tất cả các led phải tắt đường này em cứ nguồn vào là các led đều sáng rồi, nên không hiểu nguyên nhân tại sao. Em đưa chương trình mà mạch nguyên lí lên ai đã từng làm qua xin cho em ti kinh nghiệm.

    Code:
      #include <REGX52.H>
    sbit SCK=P2^0;
    sbit DATA=P2^1;
    sbit LACH=P2^2;
    unsigned char ma[]={
                          0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
    
    					  
                          };
    void delay(unsigned char t)
    {unsigned int i,j;
    for(i=0;i<=t;i++)
    {for (j=0;j<=200;j++)
    {;}
    }}
    void hienthi(unsigned long x)
    {
      unsigned long temp;
       unsigned int i;
       for(i=0;i<32;i++)
         {
          temp=x;
           temp=temp%2;
             if(temp==1)
              DATA=1;
               else
                 DATA=0;
                   x=x>>1;
                     SCK=0;
                      SCK=1;
             }
    }
    void nhay1()
    {
     int i;unsigned long t=0xFFFFFFFF;
      for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t<<1;
          LACH=0;
         LACH=1;		
        delay(10);
      }
    	t=0xFFFFFFFF;	 
       for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t>>1;
          LACH=0;
         LACH=1;		
        delay(10);
      }
       	t=1;	 
       for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t<<1;
          LACH=0;
         LACH=1;		
        delay(10);
      }
      t=0x80000000;
        for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t>>1;
          LACH=0;
         LACH=1;		
        delay(10);
      }
       	t=3;	
     	 for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t<<1;
          LACH=0;
         LACH=1;		
        delay(50);
      }
      t=0xC0000000;
        for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t>>1;
          LACH=0;
         LACH=1;		
        delay(30);
      }
       t=5;	
     	 for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t<<1;
          LACH=0;
         LACH=1;		
        delay(20);
      }
       t=0xB0000000;
        for (i=0;i<32;i++)
      {
       	
          hienthi(t); 
    	  t=t>>1;
          LACH=0;
         LACH=1;		
        delay(20);
      } 
      
      }
      
    void main()
    {
    delay(500);
    while(1)
    { 
    nhay1();
    
     while(1);
    }}
    mo phong.rar

  • #2
    sao mô phỏng phần led đơn chân MR bị bỏ trống, phải nối Vcc chân MR

    Comment


    • #3
      àh cái này mô phỏng nên không có nó củng chạy, còn ở ngoài mạch thực tế đã nối rồi

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X