74hc595

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • xuanhung0790
    Thành viên mới
    • Nov 2010
    • 10

    #16
    Chào anh tc8051
    Em đang làm mạch chạy chữ dung 8051 mà phải dùng mạch khuếch đai anh cò thể nói rõ cho em biêt được cách kết nối của chúng như thế nào k anh co mạc ỏcad về nò k gửi cho em cái nghe. cảm on anh nhiêu gmail cua em xuanhung0790@gmail.com

    Comment

    • baoitc
      Banned
      • Jul 2012
      • 52

      #17
      Mấy bác ơi con 74hc595 nạp chương trình cho nó chạy, hay là ic giải mã thôi?
      mình ko biết nên ? mong mấy bác chỉ giáo

      Comment

      • Tuanhonglac
        Moderator
        • Mar 2010
        • 2015

        #18
        Nguyên văn bởi baoitc Xem bài viết
        Mấy bác ơi con 74hc595 nạp chương trình cho nó chạy, hay là ic giải mã thôi?
        mình ko biết nên ? mong mấy bác chỉ giáo
        Bạn đọc từ đầu luồng là sẽ có câu trả lời. Nếu vẫn chưa hiểu xem thêm datasheet vậy.
        Attached Files

        Comment

        • minh_cly
          Thành viên tích cực
          • Mar 2011
          • 595

          #19
          Nguyên văn bởi baoitc Xem bài viết
          Mấy bác ơi con 74hc595 nạp chương trình cho nó chạy, hay là ic giải mã thôi?
          mình ko biết nên ? mong mấy bác chỉ giáo
          Chỉ là IC giải mã bình thường mà thôi.
          Computer Science major - Vietnamese-German University
          Sponsored by

          Comment

          • tranhungtn92
            Thành viên tích cực
            • Feb 2012
            • 114

            #20
            anh nào có đoạn code=C đơn gian dùng 8051 và 595 không

            Comment

            • minh_cly
              Thành viên tích cực
              • Mar 2011
              • 595

              #21
              Nguyên văn bởi tranhungtn92 Xem bài viết
              anh nào có đoạn code=C đơn gian dùng 8051 và 595 không
              Trích một số đoạn cho bạn:
              Code:
              // Hàm viết dữ liệu vào 595
              void writedata(int8 data) {
                 int i;   
                 SCK = 0;
                 for (i = 0; i < 8; i++) {
                    if (data & 0x80) SDO = 1;
                    else SDO = 0;
                    SCK = 1;
                    SCK = 0;
                    data <<= 1;
                 }
              }
              // Hàm xuất dữ liệu từ 595
              void latchdata() {
                 SCL = 1;
                 SCL = 0;
              }
              SCK là chân nối vs chân 11 của 595, SCL nối vs chân 12, SDO nối vs chân 14.
              Computer Science major - Vietnamese-German University
              Sponsored by

              Comment

              • tranhungtn92
                Thành viên tích cực
                • Feb 2012
                • 114

                #22
                thank a.em sẽ ngâm cứu có gì không biết e hỏi nhé

                Comment

                • bienhou
                  Thành viên tích cực
                  • Dec 2011
                  • 971

                  #23
                  Code:
                  #include <REGX52.H>
                  sbit SDO = P2^0;
                  sbit SCK = P2^1;
                  sbit SCL = P2^2;
                  sbit MR =  P2^3;   // reset thanh ghi
                  sbit EN = P2^4;
                  unsigned char m[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
                  int k,i;
                  void delay(long time)
                  {        long n;
                           for(n=0;n<time;n++)
                            {
                             ;
                            }
                  }
                  void quet(unsigned char x)
                  {
                          int tam;
                          for(i=0;i<8;i++)
                             {
                               tam=x;
                               tam=tam&0x80;	 //	 lay tung bit
                               if(tam==0x80)	 //
                               SDO=1; 			 //
                               else			 //
                               SDO=0; 			 //
                               x<<=1; 			 //
                               SCK=0; 			 //	tao xung, moi xung nhet vao 595 1 bit
                               SCK=1;
                               }
                  }
                  void main()
                  {     EN=0;			 // enable 595
                        MR=0;			 // reset thanh ghi
                        MR=1;
                           while(1)	  
                              {
                  			 quet(m[k]);
                  			 k++;
                  			 if(k==8)
                  			 k=0;
                               delay(2000);
                               SCL=0;		   // chot dua du lieu ra 595
                               SCL=1;
                               MR=0;		   // reset thanh ghi
                               MR=1;
                               }
                  }
                  Nguyễn Huy Biên - 01649 802 694
                  gmail :

                  Comment

                  • tranhungtn92
                    Thành viên tích cực
                    • Feb 2012
                    • 114

                    #24
                    Nguyên văn bởi bienhou Xem bài viết
                    Code:
                    #include <REGX52.H>
                    sbit SDO = P2^0;
                    sbit SCK = P2^1;
                    sbit SCL = P2^2;
                    sbit MR =  P2^3;   // reset thanh ghi
                    sbit EN = P2^4;
                    unsigned char m[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
                    int k,i;
                    void delay(long time)
                    {        long n;
                             for(n=0;n<time;n++)
                              {
                               ;
                              }
                    }
                    void quet(unsigned char x)
                    {
                            int tam;
                            for(i=0;i<8;i++)
                               {
                                 tam=x;
                                 tam=tam&0x80;	 //	 lay tung bit
                                 if(tam==0x80)	 //
                                 SDO=1; 			 //
                                 else			 //
                                 SDO=0; 			 //
                                 x<<=1; 			 //
                                 SCK=0; 			 //	tao xung, moi xung nhet vao 595 1 bit
                                 SCK=1;
                                 }
                    }
                    void main()
                    {     EN=0;			 // enable 595
                          MR=0;			 // reset thanh ghi
                          MR=1;
                             while(1)	  
                                {
                    			 quet(m[k]);
                    			 k++;
                    			 if(k==8)
                    			 k=0;
                                 delay(2000);
                                 SCL=0;		   // chot dua du lieu ra 595
                                 SCL=1;
                                 MR=0;		   // reset thanh ghi
                                 MR=1;
                                 }
                    }
                    cho em hỏi cái P2^4 và P2^3 là chân nào của 595 vậy

                    Comment

                    • tranhungtn92
                      Thành viên tích cực
                      • Feb 2012
                      • 114

                      #25
                      uppppppppppppppppppppppppppppppppppppppppp.ai có 1 đoạn hoàn chỉnh cả điều khiển chip+595 share cho mình nghiên cứu với

                      Comment

                      • viboyth.haui
                        Thành viên tích cực
                        • Feb 2012
                        • 300

                        #26
                        Nguyên văn bởi tranhungtn92 Xem bài viết
                        uppppppppppppppppppppppppppppppppppppppppp.ai có 1 đoạn hoàn chỉnh cả điều khiển chip+595 share cho mình nghiên cứu với
                        quét led ma trận dùng 595 Led 3 mau.rar

                        Comment

                        • tranhungtn92
                          Thành viên tích cực
                          • Feb 2012
                          • 114

                          #27
                          nếu dùng thêm 595 có viết đc nhiều hiệu ứng cho led không hay chỉ 1 vài hiệu ứng thôi

                          Comment

                          • minh_cly
                            Thành viên tích cực
                            • Mar 2011
                            • 595

                            #28
                            Nguyên văn bởi tranhungtn92 Xem bài viết
                            nếu dùng thêm 595 có viết đc nhiều hiệu ứng cho led không hay chỉ 1 vài hiệu ứng thôi
                            Hiệu ứng nào cũng đc, đây chỉ là 1 phương pháp để mở chân số chân, còn lại quyết định vào vi điều khiển của bạn và code trong nó.
                            Computer Science major - Vietnamese-German University
                            Sponsored by

                            Comment

                            • tranhungtn92
                              Thành viên tích cực
                              • Feb 2012
                              • 114

                              #29
                              #include"regx52.h"
                              sbit DATA = P1^0;
                              sbit SCK = P1^1;
                              sbit SCL = P1^2;
                              void quet(unsigned char x)
                              {
                              int i,temp;
                              for(i=0;i<8;i++)
                              {
                              temp=x;//gan bien
                              temp=temp&0x80;//lay ra bit dau tien (bit 7)
                              if(temp==0x80)//so sanh bit
                              DATA=1; //bang 1 thi xuat vao chip =1
                              else
                              DATA=0; //nguoc lai bang 0
                              x*=2; //dich bit lay bit trong so thap
                              SCK=0; //tao xung tren chan 11
                              SCK=1; //1 xung dua vào 1 bít
                              }
                              SCL=0; //xuat du lieu ra output
                              SCL=1;
                              }
                              void delay(unsigned int time)
                              {
                              unsigned int i;
                              for(i=0;i<time;i++);
                              }


                              void main()
                              {
                              unsigned int i, k=0;
                              unsigned char ma[]={0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80};


                              for(i=0;i<8;i++)
                              {
                              quet(ma[i]);
                              delay(15000);

                              } }
                              code như này bây giờ mình muốn viết cho nó sáng dần trở lại thì như thế nào nữa.mình làm mãi mà chưa đc

                              Comment

                              • hoangthuanhd
                                Thành viên tích cực
                                • Jan 2012
                                • 402

                                #30
                                ai có thể cho em xem cách kết nối 8051 vs 595 ko giả sử em làm led matrix 8x64 thì như nào hả bác
                                thank
                                Tổng thống + điện = Ăn mày + điện = die => Tổng thống = ăn mày

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...