Thông báo

Collapse
No announcement yet.

Chương trình đếm sản phẩm hiển thị Led 7 đoạn!

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

  • Chương trình đếm sản phẩm hiển thị Led 7 đoạn!

    em đang viết chương trình đếm sản phẩm hiển thị trên led 7 đoạn, yêu cầu:1 sản phẩm 1 đi qua cảm biến (ở đây là nút nhấn) thì led hiển thị sẽ giảm 1 đơn vị.1 cảm biến dùng cho 4 led 7 đoạn, hiển thị với với 2 port khác nhau. Port 0, hiển thị số ban đầu là 10, sau khi sản phấm 1 đi qua thì giảm xuống đến 0. hết sản phẩm 1 thì sản phẩm 2 đi qua thì led hiển thị số 5, rồi giảm về 0 khi có sản phẩm đi qua. hết 5 sản phẩm, thì sản phẩm 3 đến, lúc này led hiển thị 10 (sản phẩm). rồi giảm về 0 khi sản phẩm 3 đi qua. sau đấy sản phẩm 1 đi qua thì led hiển thị trở lại 10. Còn Port 1 lại hiển thị gần giống như vậy, nhưng ban đầu là 15-0-10-0-5-0-quay lai 15 để tiếp tục. em có mô phỏng bằng Protues,Link: Mo Phong.rar. mong các anh giúp em code chương trình, em đang cần gấp cho cty. cám ơn các anh nhiều!

  • #2
    Kô biết 4 led 7 đoạn hiển thị như thế nào đây.Chưa hiểu cái hiển thị lắm.
    , , ,

    Comment


    • #3
      Nguyên văn bởi anhpham009 Xem bài viết
      em đang viết chương trình đếm sản phẩm hiển thị trên led 7 đoạn, yêu cầu:1 sản phẩm 1 đi qua cảm biến (ở đây là nút nhấn) thì led hiển thị sẽ giảm 1 đơn vị.1 cảm biến dùng cho 4 led 7 đoạn, hiển thị với với 2 port khác nhau. Port 0, hiển thị số ban đầu là 10, sau khi sản phấm 1 đi qua thì giảm xuống đến 0. hết sản phẩm 1 thì sản phẩm 2 đi qua thì led hiển thị số 5, rồi giảm về 0 khi có sản phẩm đi qua. hết 5 sản phẩm, thì sản phẩm 3 đến, lúc này led hiển thị 10 (sản phẩm). rồi giảm về 0 khi sản phẩm 3 đi qua. sau đấy sản phẩm 1 đi qua thì led hiển thị trở lại 10. Còn Port 1 lại hiển thị gần giống như vậy, nhưng ban đầu là 15-0-10-0-5-0-quay lai 15 để tiếp tục. em có mô phỏng bằng Protues,Link: Mo Phong.rar. mong các anh giúp em code chương trình, em đang cần gấp cho cty. cám ơn các anh nhiều!
      cần gấp thì pm riêng

      Comment


      • #4
        cái này tôi chỉ cần 5 nốt nhạc, xong.


        Lạc mất mùa xuân - Bằng Kiều

        Comment


        • #5
          anh "chung68", em có gửi thư cho anh rồi nhưng không thấy anh hồi âm lại. em chỉ biế về plc thôi, em viết chương trình chạy băng truyền trên plc rồi. chỉ muốn thêm led 7 đoạn để hiển thị thôi. vì vdk em chỉ biết sơ qua,chủ yếu là tự học nên mới đưa lên đây nhờ các anh giúp.

          Comment


          • #6
            em có mô phỏng đấy anh, 2 led hiển thị trái ngược nhau. một cái hiển thị 15-0-10-0-5-0-quay lai 15, còn một cái hiển thị 10-0-5-0-15. anh "chung1608" đã giúp em viết được hiển thị trên 2 led, còn 2 led nữa em ko biết viết (hôm nọ em chỉ nhờ anh ấy viết trên 2 led thôi

            Comment


            • #7
              Bạn tham khảo bài viết này nha : Mạch đếm sản phẩm đơn giản ! - Mach dem san pham don gian ! - MachDienTu.Net - Mạch điện tử ứng dụng | mạch điện tử lý thú | led trái tim | led cube |khoa học - công nghệ ...

              Comment


              • #8
                Anh avr nói quá.5 nốt nhạc chắc mới mở được cái phần mềm.Nhưng nói chung bạn ấy nói chẳng rõ chút nào.Cái này thì hầu như ai cũng biết.Chỉ cái hiển thị 15-0-10-0-5-0 là chịu.Tôi hiểu thế này đúng kô 2 led lần 1 hiển thị 15 khi có sp đi qua nó hiển thị 14 rồi đến khi sp thứ 15 thì lần 2 hiển thị số 10 khi có sp đi qua nó giảm 1 cho đến khi về 0 thì lần 3 ...
                , , ,

                Comment


                • #9
                  ah`, em ghi như vậy thì các anh không hiểu. em viết 15-0-10-0-5-0, có nghĩa là số đặt trước là 15, sau đấy 1 sản phẩm đi qua thì giảm xuống còn 14, sản phẩm tiếp theo thì còn 13, 12, 11...về đến 0. khi đang ở 0 mà có sp đi qua tiếp thì hiển thị 10, rồi xuống 9, 8...về 0. sản phẩm 3 đi qua cảm biến thì đang ở 0 thì chuyển sang 5, tiếp tục giảm xuống 4,3,2,1,0. đang ở 0 mà có sp đi qua tiếp theo lại quay lại 15, và cứ thế lặp lại. đấy là 2 led hiển thị bên trái, còn 2 led bên phải thì chỉ thay đổi khác số thôi,10 xuống 0, lên 5 rồi xuống 0, rồi lên 15 rồi xuống 0 và lặp lại. 2 led bên trái và bên phải hiển thị cùng 1 lúc, có cùng chung cảm biến để đếm giảm. em viết như thế có rõ không ạ

                  Comment


                  • #10
                    Quá rõ rồi.
                    , , ,

                    Comment


                    • #11
                      có anh nào viết dùm em code được không a, hay hướng dẫn em viết với. em đang cần

                      Comment


                      • #12
                        qua day anh viet cho.
                        Tư vấn thiết kế hệ thống điện-điện tử theo yêu cầu.
                        Tel: 0903 702 417. Email: web:

                        Comment


                        • #13
                          Nếu được vậy thì tốt quá
                          l l

                          Comment


                          • #14
                            Chán quá!... cả diễn đàn mà chẳng có ai bỏ chút time để viết dùm hay hướng dẫn đôi chút. giờ phải tự mò vậy.

                            Comment


                            • #15
                              Nguyên văn bởi anhpham009 Xem bài viết
                              Chán quá!... cả diễn đàn mà chẳng có ai bỏ chút time để viết dùm hay hướng dẫn đôi chút. giờ phải tự mò vậy.
                              đôi khi tự mình mò mới thấy hay.
                              Code:
                                  #include"reg51.h"
                                  char maled[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
                                  char bien_dat=15,bien_dem=15,so_luong=0;
                                  char bien_dat_dv,bien_dat_chuc,bien_dem_dv,bien_dem_chuc;
                                  sbit phim =P3^2;
                                  sbit led1=P2^0;
                                  sbit led2=P2^1;
                                  sbit led3=P2^2;
                                  sbit led4=P2^3;  
                                  void delay(unsigned long int t)
                              {
                                  unsigned long int l;
                                  for(l=0;l<t;l++);
                              }
                               void tach_so()
                              {
                              bien_dat_chuc=bien_dat/10;
                              bien_dat_dv=bien_dat%10;
                              bien_dem_chuc=bien_dem/10;
                              bien_dem_dv=bien_dem%10;
                              }
                              
                              void hienthi()
                              {
                              led1=0;
                              P0=maled[bien_dem_chuc];
                              delay(10);
                              P2=0xff;
                              led2=0;
                              P0=maled[bien_dem_dv];
                              delay(10);
                              P2=0xff;
                              led3=0;
                              P1=maled[bien_dat_chuc];
                              delay(10);
                              P2=0xff;
                              led4=0;
                              P1=maled[bien_dat_dv];
                              delay(10);
                              P2=0xff;
                              }
                                 void int0_ISR (void) interrupt 0 {
                                delay(10) ;
                                bien_dem--;
                                if(bien_dem==0)
                                 {
                                  bien_dat=bien_dem=0;
                                 }
                                 else
                                 {
                                if(bien_dem<0)
                                 {
                                 so_luong++;
                                  if(so_luong==1)
                                   {
                                    bien_dat=bien_dem=10;
                                   }
                                   else if(so_luong==2)
                                    {
                                    bien_dat=bien_dem=5;
                                    }
                                     else if(so_luong>=3)
                                    {
                                      bien_dat=bien_dem=15;
                                        so_luong=0;
                                    }
                                     else
                                     {
                                     }
                              
                                 }
                                 }
                              // code
                              }
                                      void main (void)
                                      {
                                      P3 =0xff;
                                      P2 =0xff;
                                      P0 =0xff;
                                      P1 =0xff;
                                      EX0=1;
                                      EA=1;
                                      IT0=1;/* Edge Trigerred*/
                                    //  IE0=0;
                                      while(1)
                                       {
                                        tach_so();
                                       hienthi();
                                       }
                                      }
                              |

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X