Cần giúp đỡ viết code 89c51 + 74hc595

Collapse
This topic is closed.
X
X
 
  • Giờ
  • Show
Clear All
new posts
  • jqk1234
    Thành viên tích cực
    • Nov 2011
    • 194

    #1

    Cần giúp đỡ viết code 89c51 + 74hc595

    mọi người cho mình hỏi mình có mạch như hình vẽ ( sử dụng 89c51 ghép nối với 2 con 74hc595 điều khiển 16 led đơn) sáng dần dưới lên và sáng đuổi dưới lên. Viết bằng Assembly?
    mọi người giúp mình nhé.
    <bấm vào hình để phóng to>
    Click image for larger version

Name:	Untitled.png
Views:	1
Size:	34.4 KB
ID:	1414406
  • jqk1234
    Thành viên tích cực
    • Nov 2011
    • 194

    #2
    làm như thế nào đây mọi người?

    Comment

    • maingochoc
      Thành viên tích cực
      • Jan 2010
      • 501

      #3
      Nguyên văn bởi jqk1234 Xem bài viết
      mọi người cho mình hỏi mình có mạch như hình vẽ ( sử dụng 89c51 ghép nối với 2 con 74hc595 điều khiển 16 led đơn) sáng dần dưới lên và sáng đuổi dưới lên. Viết bằng Assembly?
      mọi người giúp mình nhé.
      <bấm vào hình để phóng to>
      [ATTACH=CONFIG]52554[/ATTACH]
      Mình chỉ biết viết bằng C thui.

      Comment

      • jqk1234
        Thành viên tích cực
        • Nov 2011
        • 194

        #4
        Có thể dịch sang ASM đc không bạn?

        Comment

        • quangkien11
          Thành viên mới
          • Jun 2013
          • 9

          #5
          bạn có thể Up code C lên đc ko bạn

          Comment

          • hoang_3i
            Thành viên tích cực
            • Jun 2012
            • 455

            #6
            Nguyên văn bởi jqk1234 Xem bài viết
            Có thể dịch sang ASM đc không bạn?
            được con voi, đòi thêm cô tiên
            (^_^) hoangnv.3i@gmail.com

            Comment

            • tramng
              Thành viên chính thức
              • Jan 2014
              • 90

              #7
              Nguyên văn bởi quangkien11 Xem bài viết
              bạn có thể Up code C lên đc ko bạn
              Code C cho bạn tham khảo nhé ! Sơ đồ mạch như của chủ thớt.

              PHP Code:
              /*/==========================================BO TIEN XU LI============================================/*/ 
              #include <reg52.h>                         //Dinh kem file thu vien 
              /*======================================KHAI BAO BIEN TOAN CUC=========================================*/ 
              sbit    SCK = P2^0;
              sbit    DATA = P2^1;
              sbit    SCL = P2^2;
              
              unsigned int a,j;
              /*===========================================KHAI BAO HAM==============================================*/ 
              /*--------------------------------------------HAM DELAY------------------------------------------------*/ 
              void delay(unsigned long time8us)
              {
                  while(time8us--);
              }
              /*-----------------------------------------GHI DICH 595------------------------------------------------*/ 
              void nap_1_bit()
              {
                  SCK = 1;
                  SCK = 0;
              }
              
              void xuatdata595()
              {
                  SCL = 1;
                  SCL = 0;
              }
              
              void ghidich595(unsigned int dat)
              {
                  unsigned char i;
                  for (i = 0; i < 16; i++)
                  {
                      DATA = dat&0x8000;
                      dat = dat << 1;
                      nap_1_bit();
                  }
                  xuatdata595();
              }
              /*----------------------------CHUONG TRINH CON SANG DAN TU DUOI LEN----------------------------------*/
              void sangdan()
              {
                  a = 0x8000;
                  ghidich595(0x0000);               //clear buffer 595
                  delay(8000);
                  for    (j=0;j<16;j++)
                  {
                      ghidich595(a);
                      delay(8000);
                      a = a|(a>>1);
                  }
              }
              /*----------------------------CHUONG TRINH CON SANG NHAY TU DUOI LEN-----------------------------------*/
              void sangnhay()
              {
                  a = 0x8000;
                  ghidich595(0x0000);               //clear buffer 595
                  delay(8000);
                  for    (j=0;j<16;j++)
                  {
                      ghidich595(a);
                      delay(8000);
                      a = a>>1;
                  }
              }
              /*--------------------------------------CHUONG TRINH CHINH---------------------------------------------*/
              void main()
              {
              
                  while(1)
                  {
                      sangdan();
                      sangnhay();
                  }
              
              } 
              

              Comment

              • tramng
                Thành viên chính thức
                • Jan 2014
                • 90

                #8
                Chẳng hiểu do virus hay sao nửa, post 1 bài thành 2 bài ! Load trang lâu thiệt.
                Last edited by tramng; 04-03-2014, 19:13.

                Comment

                • Ng. Tu Quyet
                  Thành viên mới
                  • Oct 2014
                  • 4

                  #9
                  Bạn cho mk hỏi thêm tí là chẳng hạn mk có 4 con 595 chép với nhau mà mk muốn cho nó độc lập với nhau, giả dụ lúc thì từng con hoạt động, lúc thì 2 con...thì làm sao hả bạn. Chỉ giùm mk với, Thank!

                  Comment

                  • PDEL
                    Thành viên tích cực
                    • Aug 2012
                    • 112

                    #10
                    Nguyên văn bởi Ng. Tu Quyet Xem bài viết
                    Bạn cho mk hỏi thêm tí là chẳng hạn mk có 4 con 595 chép với nhau mà mk muốn cho nó độc lập với nhau, giả dụ lúc thì từng con hoạt động, lúc thì 2 con...thì làm sao hả bạn. Chỉ giùm mk với, Thank!
                    Chân 13 của 74HC595 là chân OE cho ra, ban co thể tận dụng chân này

                    Comment

                    • myth-coder
                      Thành viên tích cực
                      • Aug 2011
                      • 303

                      #11
                      Nguyên văn bởi jqk1234 Xem bài viết
                      Có thể dịch sang ASM đc không bạn?
                      Có thể đó bạn, tự tìm trong tùy chọn biên dịch của keilC sẽ có chỗ nó dịch từ code C sang code ASM nhưng đảm bảo code đó bạn sẽ không đọc được . Bạn đang học thì phải tự làm chứ, hỏi người ta chỉ cho hướng làm là tốt quá rồi, còn muốn đòi thêm nữa thì ai mới là người đang học????

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...