Giúp mạch đếm sản phẩm từ 0-99

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • Ck33spkt
    Thành viên tích cực
    • Apr 2010
    • 616

    #16
    Nguyên văn bởi romance_qt Xem bài viết
    Cái này mà xài VDK thì đếm thì củng đơn gian mà, đại khái là bạn xài 1 port thôi cung đc, sau đó đếm tăng p đó lên, byte thấp quan IC giải mã 4 bit ta sẽ có số đơn vị, byte cao sẽ có số hàng chục. đếm tràn thì tự động lặp lại, mới học nên làm như vậy củng đc.
    Đã dùng đến VĐK thì còn sài tới IC giải mã làm gì hả bác?

    Comment

    • Ck33spkt
      Thành viên tích cực
      • Apr 2010
      • 616

      #17
      Nguyên văn bởi lonelyboy26 Xem bài viết
      Bác nói em hiểu gì em chết liền, em đang lò mò tìm hiểu mà mãi chả bik dc j, k dc học vất vả quá, bác nào giúp em định hướng code thế nào vs, em pót mach nguyên lý lên cho cac bác xem này[ATTACH=CONFIG]52630[/ATTACH]
      Bạn vào tham khảo luồng này đi:

      Comment

      • romance_qt
        Thành viên tích cực
        • Sep 2007
        • 183

        #18
        Nguyên văn bởi Ck33spkt Xem bài viết
        Đã dùng đến VĐK thì còn sài tới IC giải mã làm gì hả bác?
        Ý mình nói là cho những ng mới học vdk chứ đã làm về vdk rồi thì cần j IC giải mã nữa, mình nói đó là cho những ng chưa quen vdk, chưa lập trình đc nhiều, nên mới xai IC giải mã cho thuật toán đơn gian, chú hiểu chưa???????
        _--------------------------------------------------

        **** ------------------------------------------***

        Comment

        • Ck33spkt
          Thành viên tích cực
          • Apr 2010
          • 616

          #19
          Nguyên văn bởi romance_qt Xem bài viết
          Ý mình nói là cho những ng mới học vdk chứ đã làm về vdk rồi thì cần j IC giải mã nữa, mình nói đó là cho những ng chưa quen vdk, chưa lập trình đc nhiều, nên mới xai IC giải mã cho thuật toán đơn gian, chú hiểu chưa???????
          Hóa ra là bác nói ý như thế. Xin lỗi bác vì em hiểu lầm ý bác! Nhưng bác cũng nên xem lại, vì bác diễn đạt bằng những câu chữ như trên thì em chắc rằng không chỉ em mà sẽ có rất nhiều người hiểu lầm ý bác đấy!
          Thân !

          Comment

          • tan0710
            Thành viên tích cực
            • Mar 2010
            • 471

            #20
            chưa chắc đâu bác ơi...!!
            có người làm chỉ cần 1 port mà đk đc 8 led 7 vạch đấy.!! còn có thể mở rộng lên đến 16 led đấy ạ..
            mà cái này chỉ có người làm nhiều mới làm thôi.
            họ cho 4 bít thấp xuất dữ liệu 7447.
            3 bít tiếp chọn kênh cho 138.
            bít trọng số cao nhất làm tín hiệu điều khiển enable cho 138.
            cái này xử lý nhiều nhưng toàn là xử lý bit nên tốc độ vẫn ok..

            Comment

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

              #21
              Code:
              #include <REGX51.H>
              sbit Aled1=P1^0;
              sbit Aled2=P1^1;
              sbit Aled3=P1^2;
              unsigned char maled7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
              unsigned long x;
              void delay(long time)
              {long n;
              for(n=0;n<time;n++)	
              {
              ;
              }
              }
              void quetled()
              {/////////////////////////led hang tram///////////
              Aled1=1;
              P2=maled7[x/100];
              delay(100);
              Aled1=0;
              P2=0xff;
              ////////////////////////led hang chuc/////////////
              Aled2=1;
              P2=maled7[(x/10)%10];
              delay(100);
              Aled2=0;
              P2=0xff;
              //////////////////////////led hang don vi//////////////
              Aled3=1;
              P2=maled7[x%10];
              delay(100);
              Aled3=0;
              P2=0xff;
              }
              void ngatngoai0(void) interrupt 0
              {
              x++;
              }
              void main()
              {
              x=0;
              EA=1;
              EX0=1;
              IT0=1;
              while(1)
              {
              quetled();
              if(x>999)
              x=0;
              }
              }
              mình mới làm cho đứa em hôm qua. bạn thêm bớt vào là ok
              Nguyễn Huy Biên - 01649 802 694
              gmail :

              Comment

              • lonelyboy26
                Thành viên chính thức
                • Apr 2011
                • 48

                #22
                Nguyên văn bởi bienhou Xem bài viết
                Code:
                #include <REGX51.H>
                sbit Aled1=P1^0;
                sbit Aled2=P1^1;
                sbit Aled3=P1^2;
                unsigned char maled7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
                unsigned long x;
                void delay(long time)
                {long n;
                for(n=0;n<time;n++)	
                {
                ;
                }
                }
                void quetled()
                {/////////////////////////led hang tram///////////
                Aled1=1;
                P2=maled7[x/100];
                delay(100);
                Aled1=0;
                P2=0xff;
                ////////////////////////led hang chuc/////////////
                Aled2=1;
                P2=maled7[(x/10)%10];
                delay(100);
                Aled2=0;
                P2=0xff;
                //////////////////////////led hang don vi//////////////
                Aled3=1;
                P2=maled7[x%10];
                delay(100);
                Aled3=0;
                P2=0xff;
                }
                void ngatngoai0(void) interrupt 0
                {
                x++;
                }
                void main()
                {
                x=0;
                EA=1;
                EX0=1;
                IT0=1;
                while(1)
                {
                quetled();
                if(x>999)
                x=0;
                }
                }
                mình mới làm cho đứa em hôm qua. bạn thêm bớt vào là ok
                TKS nhé, để tớ tham khảo, mà code này có chạy dc k bợn, tớ nhìn sơ qua tớ k hiểu vài thứ rồi đấy @@, để tớ suy nghĩ xong lên hỏi. Pác nào cho em yahoo em liên lạc cho dễ ợ, tks các bác

                Comment

                • lonelyboy26
                  Thành viên chính thức
                  • Apr 2011
                  • 48

                  #23
                  sbit Aled1=P1^0;
                  sbit Aled2=P1^1;
                  sbit Aled3=P1^2;

                  void quetled()
                  {/////////////////////////led hang tram///////////
                  Aled1=1;
                  P2=maled7[x/100];
                  delay(100);
                  Aled1=0;
                  P2=0xff;
                  Bác nào giải thix hộ em code trên vs, tại sao lại cho aled1=1 rồi lại cho aled1=0, p2= 11111111 là thế lào

                  Comment

                  • tan0710
                    Thành viên tích cực
                    • Mar 2010
                    • 471

                    #24
                    Nguyên văn bởi lonelyboy26 Xem bài viết
                    sbit Aled1=P1^0;
                    sbit Aled2=P1^1;
                    sbit Aled3=P1^2;

                    void quetled()
                    {/////////////////////////led hang tram///////////
                    Aled1=1;
                    P2=maled7[x/100];
                    delay(100);
                    Aled1=0;
                    P2=0xff;
                    Bác nào giải thix hộ em code trên vs, tại sao lại cho aled1=1 rồi lại cho aled1=0, p2= 11111111 là thế lào
                    làm thế để xóa led...khỏi bị sáng mờ

                    Comment

                    • lonelyboy26
                      Thành viên chính thức
                      • Apr 2011
                      • 48

                      #25
                      code này thì liên quan j đến port2 hả bác tan. Hay bác cho em xin yahoo em trao đổi cho tiện, em gần hiểu code này rồi

                      Comment

                      • tan0710
                        Thành viên tích cực
                        • Mar 2010
                        • 471

                        #26
                        @@
                        p2 xuất mã led 7 vạch còn mấy cái
                        sbit Aled1=P1^0;
                        sbit Aled2=P1^1;
                        sbit Aled3=P1^2;
                        là để xuất tín hiệu chọn led ( giống như enable cho led nào sáng ấy.)

                        Comment

                        • lonelyboy26
                          Thành viên chính thức
                          • Apr 2011
                          • 48

                          #27
                          rồi tks bác, đã sáng tỏ. Em đang tìm hiểu truyền thông nối tiếp mà khó nuốt quá
                          Em hỏi thêm bác phát nữa, nếu như em mún đếm đến 100 thì nó sẽ báo chuông và reset về 0 thì ta lập trình làm sao

                          Comment

                          • tan0710
                            Thành viên tích cực
                            • Mar 2010
                            • 471

                            #28
                            @@ thì cho if else vào chứ còn sao..
                            trong code có cái biến đếm là x đấy...
                            if (x==100)
                            {
                            đổ chuông;
                            x=0;
                            }

                            Comment

                            • lonelyboy26
                              Thành viên chính thức
                              • Apr 2011
                              • 48

                              #29
                              Đổ chuông : chết là ở cái này bác ợ

                              Comment

                              • tan0710
                                Thành viên tích cực
                                • Mar 2010
                                • 471

                                #30
                                cái này thì cho chương trình con tạo PWM cho ra loa chứ sao (nếu thầy giáo bắt)
                                nếu k thì cho 1 chân nào đấy cho ra mức cao lấy đèn thay loa...

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...