Thông báo

Collapse
No announcement yet.

[Help] Đếm số lần bấm nút hiển thị lên LED 7 Đoạn

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

  • [Help] Đếm số lần bấm nút hiển thị lên LED 7 Đoạn

    chào các bạn !!!
    mình đang gặp khó khăn trong vấn đề lập trình cho Vi điều khiển.
    thuật toán hiển thị lên LED 7 đoạn số lần bấm nút ??
    mong các bạn giúp đỡ????
    mình muốn ấn mấy lần thì LED 7 đoạn đếm lên theo số lần nhấn.
    thanks all !!


  • #2
    C hay ASM
    bạn dùng 1 biến lưu số lần đếm nút,chương trình chính đếm số lần nhấn nút rồi gọi hiển thị.
    ĐT: 0972 20 58 68
    Gmail:

    Comment


    • #3
      Nguyên văn bởi hoangnam555 Xem bài viết
      C hay ASM
      bạn dùng 1 biến lưu số lần đếm nút,chương trình chính đếm số lần nhấn nút rồi gọi hiển thị.
      mình dùng C bạn ạ !
      mình chưa xữ lý được nút ấn đó bạn, cụ thể đề tài của mình yêu cầu nhấn button cho nó đếm lên , rồi sau đó nó tự đếm xuống tới 0 thì trở lại giá trị mình bấm lúc nãy rồi lai đếm xuống 0..cứ như vậy ấy ....

      Comment


      • #4
        Nguyên văn bởi lee_trieu Xem bài viết
        mình dùng C bạn ạ !
        mình chưa xữ lý được nút ấn đó bạn, cụ thể đề tài của mình yêu cầu nhấn button cho nó đếm lên , rồi sau đó nó tự đếm xuống tới 0 thì trở lại giá trị mình bấm lúc nãy rồi lai đếm xuống 0..cứ như vậy ấy ....
        mình dùng ASM thôi,như gợi ý của mình đó,sau khi hiển thị rồi lấy giá trị đó để đưa vào ct đếm xuống.
        ĐT: 0972 20 58 68
        Gmail:

        Comment


        • #5
          Nguyên văn bởi hoangnam555 Xem bài viết
          mình dùng ASM thôi,như gợi ý của mình đó,sau khi hiển thị rồi lấy giá trị đó để đưa vào ct đếm xuống.
          mình đẫ viết được chương trình set giá trị ban đầu và hiển thị nó ra LED 7 đoạn
          nhưng mình gặp phải một vấn đè khác, đó là không thể thoát ra khỏi chương trình set giá trị này để nhảy sang chương trình đếm xuống???
          mình nhấn nút thì nó đếm lên 00-99-00 cứ như vậy , không bấm thì nó dừng tại giá trị nào đó, và không thể chuyển sang chương trình đếm xuống???
          bạn giúp mìh vấn đề này với,..

          Comment


          • #6
            #include <REGX51.H>
            char i=0,k=0,m=0;
            unsigned char docphimbam(void)
            {
            if(P1_0==0)
            {
            while(P1_0==0)
            {
            ;
            }
            i++ ;
            if(i==10)
            {
            k++;
            i=0;
            {
            if(k==10)
            {
            m++; k=0;
            {
            if(m==10) { m=0;}
            }
            }
            }}}

            if(P1_1==0)
            {
            while(P1_1==0)
            {
            ;
            }
            i--;
            if(i==-1)
            {
            k--;
            i=9;
            {
            if(k==-1)
            {
            k=9;
            i=9;
            m--;
            if(m==-1)
            {
            i=0;
            k=0;
            m=0;
            }
            }}}}
            return i,k,m;
            }

            //

            unsigned char ma[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
            void main(void)
            {
            while(1)
            {
            docphimbam();
            P3=ma[i];
            P2=ma[k];
            P0=ma[m];
            }
            }

            mô phỏng:
            http://www.mediafire.com/?txz8hs66toiod9k

            Comment


            • #7
              code này nếu bạn đọc ko hiểu thì mai mình giải thích cho, giờ ngủ phát mai đi học

              Comment


              • #8
                Nguyên văn bởi letrongtam90 Xem bài viết
                #include <REGX51.H>
                char i=0,k=0,m=0;
                unsigned char docphimbam(void)
                {
                if(P1_0==0)
                {
                while(P1_0==0)
                {
                ;
                }
                i++ ;
                if(i==10)
                {
                k++;
                i=0;
                {
                if(k==10)
                {
                m++; k=0;
                {
                if(m==10) { m=0;}
                }
                }
                }}}

                if(P1_1==0)
                {
                while(P1_1==0)
                {
                ;
                }
                i--;
                if(i==-1)
                {
                k--;
                i=9;
                {
                if(k==-1)
                {
                k=9;
                i=9;
                m--;
                if(m==-1)
                {
                i=0;
                k=0;
                m=0;
                }
                }}}}
                return i,k,m;
                }

                //

                unsigned char ma[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
                void main(void)
                {
                while(1)
                {
                docphimbam();
                P3=ma[i];
                P2=ma[k];
                P0=ma[m];
                }
                }

                mô phỏng:
                dem san pham.DSN
                vấn đề đếm số lần ấn nút và quét hiển thị lên LED 7 đoạn mình đã hoàn thành xong rồi,...nhưng ứng dụng của mình là làm đèn giao thông có thể set được thời gian ban đầu, phần set thời gian ban đầu thì miinh làm ddwwocj rồi, còn phần lấy giá trị đó cho nó hoạt động , mình vẫn chưa làm được??

                Comment


                • #9
                  Nguyên văn bởi lee_trieu Xem bài viết
                  vấn đề đếm số lần ấn nút và quét hiển thị lên LED 7 đoạn mình đã hoàn thành xong rồi,...nhưng ứng dụng của mình là làm đèn giao thông có thể set được thời gian ban đầu, phần set thời gian ban đầu thì miinh làm ddwwocj rồi, còn phần lấy giá trị đó cho nó hoạt động , mình vẫn chưa làm được??
                  Bạn dùng hàm tách số để lấy giá trị hiển thị thôi
                  vanduc0211@gmail.com

                  Comment


                  • #10
                    Nguyên văn bởi lee_trieu Xem bài viết
                    vấn đề đếm số lần ấn nút và quét hiển thị lên LED 7 đoạn mình đã hoàn thành xong rồi,...nhưng ứng dụng của mình là làm đèn giao thông có thể set được thời gian ban đầu, phần set thời gian ban đầu thì miinh làm ddwwocj rồi, còn phần lấy giá trị đó cho nó hoạt động , mình vẫn chưa làm được??
                    đọc cái #1 và cái này thấy lạ quá
                    ĐT: 0972 20 58 68
                    Gmail:

                    Comment


                    • #11
                      Nguyên văn bởi viboyth.haui Xem bài viết
                      Bạn dùng hàm tách số để lấy giá trị hiển thị thôi
                      Mình hiển thị được rồi, nhưng chưa biết cách phát hiện nút nhấn như thế nào ấy
                      Nguyên văn bởi hoangnam555 Xem bài viết
                      đọc cái #1 và cái này thấy lạ quá
                      đề tài của mình là thiết kế đèn giao thông , có thể set thời gian trước, mình hỏi từ phần ấy mà

                      các bạn cho mình hỏi, mình muốn như thế này:
                      khi mình nhấn nút thì hiển thị việc set thời gian ban đầu, sau đó thì (có thể bấm một nút khác) mạch đèn giao thông sẻ hoạt động với chu kỳ vừa set????
                      các bạn giúp mình phần này với, phần set giá trị ban đầu mình làm được rồi,....

                      Comment


                      • #12
                        Nguyên văn bởi lee_trieu Xem bài viết
                        Mình hiển thị được rồi, nhưng chưa biết cách phát hiện nút nhấn như thế nào ấy

                        đề tài của mình là thiết kế đèn giao thông , có thể set thời gian trước, mình hỏi từ phần ấy mà

                        các bạn cho mình hỏi, mình muốn như thế này:
                        khi mình nhấn nút thì hiển thị việc set thời gian ban đầu, sau đó thì (có thể bấm một nút khác) mạch đèn giao thông sẻ hoạt động với chu kỳ vừa set????
                        các bạn giúp mình phần này với, phần set giá trị ban đầu mình làm được rồi,....
                        Bạn dùng ngắt ngoài,1 hàm cài đặt,1 biến kiểm tra trong chương trình phục vụ ngắt,cái này viết thì hơi dài đấy...hihi
                        vanduc0211@gmail.com

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X