cho mình hỏi về phương pháp quét led 7 đoạn

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • failure
    Thành viên mới
    • Nov 2009
    • 19

    #1

    cho mình hỏi về phương pháp quét led 7 đoạn

    mình dùng atmega8,led 7 đoạn x4,dùng 4 transistor điều khiển sơ đồ như hình sau:các bạn xem hộ mình nối transistor với led và atmega8 đã đúng chưa?và mình lập trình c code vision nhưng ko quét dc.các bạn có thể viết 1 đoạn code cho minh hiển thị số 1234 dc ko? thanks!
    đây là code c:
    #include <mega8.h>
    #include <delay.h>
    //cổng D xuất dữ liệu ra led
    #define led PORTD
    // k1 k2 k3 k4 dùng điều khiển 4 transistor
    #define k1 PORTB.3
    #define k2 PORTB.2
    #define k3 PORTB.1
    #define k4 PORTB.0
    void main(void)
    {
    while (1)
    {
    led=0xf9; //so 1
    k1=0;
    k1=1;
    delay_ms(300);
    led=0x24; //so 2
    k2=0;
    k2=1;
    delay_ms(300);
    led=0x30; //so 3
    k2=0;
    k2=1;
    delay_ms(300);
    led=0x19; //so 4
    k2=0;
    k2=1;
    delay_ms(300);


    };
    }
    cảm ơn!
    Attached Files
  • elevco
    Thành viên mới
    • May 2010
    • 17

    #2
    //Chương trình của bạn không quét là do bạn lại đặt thời gian trễ khi LED tắt, tức là thời gian sáng không đủ cho mắt người nhìn.
    Mình sửa lại chương trình của bạn như sau nha:
    #include <mega8.h>
    #include <delay.h>
    //cổng D xuất dữ liệu ra led
    #define led PORTD
    // k1 k2 k3 k4 dùng điều khiển 4 transistor
    #define k1 PORTB.3
    #define k2 PORTB.2
    #define k3 PORTB.1
    #define k4 PORTB.0
    void main(void)
    {
    while (1)
    {
    led=0xf9; //so 1
    k1=0;
    delay_ms(3);
    k1=1;

    led=0x24; //so 2
    k2=0;
    delay_ms(3);
    k2=1;

    led=0x30; //so 3
    k3=0;
    delay_ms(3);
    k3=1;

    led=0x19; //so 4
    k4=0;
    delay_ms(3);
    k4=1;



    };
    }

    //Nếu bạn dùng chương trình mô phỏng để quét LED thì bạn nên để ý, mình thấy một số vision cũ của protues thì transistor không hoạt động, bạn nên dùng cổng NOT ý để mô phỏng.
    Đây là chương trình quét led cơ bản, còn muốn làm chương trình trong các ứng dụng thì bạn nên tìm hiểu thêm nha.

    Comment

    • quynhnb
      Thành viên tích cực
      • Aug 2009
      • 696

      #3
      Thường thì mô phỏng cho phương pháp quét hay dính vấn đề thời gian. Mình làm một cái thử cũng bị như vậy, nó sáng lung tung hết cả.
      Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

      Mr.Quỳnh 0978706839

      Comment

      • failure
        Thành viên mới
        • Nov 2009
        • 19

        #4
        cho mình hỏi về phương pháp quét led 7 đoạn

        mình sửa lại code rồi mà ko dc.hay là mạch mô phỏng protues của mình sai.bạn nào có mạch mô phỏng và code ko cho mình tham khảo với.thanks

        Comment

        • hoangdai
          Thành viên tích cực
          • Nov 2005
          • 2720

          #5
          protuse nói chung là lúc đc lúc ko_nó phụ thuộc nhiều vào phần cứng bạn thiết kế_Riêng với mấy con BJT thì mô phỏng chán èo_Tốt nhất làm luôn cái phần cứng thật đi-Hay hơn nhiều_Mình thì dùng 74HC595 để hiển thị( Cách này tiết kiệm chân cho VDK nhưng tốn phần cứng tí).


          Add: 97 Quán Nam - Lê Chân - Hải Phòng.
          Tel: 031 518648 Phone: 0904 283 505

          Comment

          • failure
            Thành viên mới
            • Nov 2009
            • 19

            #6
            có ai biết phần mền nào mô phỏng mạch khác ko?dùng protues transistor chán wa
            mình dùng phương pháp quét led bằng transistor các bạn xem hộ mình mạch nguyên lý sau dc chưa
            thanks
            Attached Files
            Last edited by failure; 07-11-2010, 15:02.

            Comment

            • nguoinhen2
              Thành viên mới
              • Dec 2009
              • 7

              #7
              quet led 7 thanh

              minh cung lam quet led..nhung sao ko chay duoc.. co bac nao pro chi dum minh voi.

              Comment

              • thi tran
                Thành viên tích cực
                • Oct 2010
                • 210

                #8
                help mình con ATMEGA16 với ! việc là em mới mua con avr16L , mình viết 1 đoạn code để test các port của nó . các port # thì ok , nhưng port C thì 4 chân 23 _24_25_26 lại ko nháy như đoạn code mình viết . đoạn code mình viết cho tất cả các chân trong 4 port xuất tín hiệu cho led sáng và delay 100ms rùi tắt . 4 chân nói trên ko làm việc , nó sáng " rất rất " mờ và ko chớp tắt như ý muốn ! xin các pác cho em ý kiến về trường hợp nỳ ! thanks các pác trước nhá !
                ................. Pleiku .................... GIA LAI ...................

                Comment

                • failure
                  Thành viên mới
                  • Nov 2009
                  • 19

                  #9
                  bạn post sơ đồ lên cùng tham khảo mình cũng đang làm mà ko dc

                  Comment

                  • hoangdai
                    Thành viên tích cực
                    • Nov 2005
                    • 2720

                    #10
                    Chắc khai báo port có vấn đề nên xuất mới ko đúng_Biết đâu code sai đâu đó


                    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                    Tel: 031 518648 Phone: 0904 283 505

                    Comment

                    • manh89
                      Thành viên tích cực
                      • Oct 2009
                      • 440

                      #11
                      Nguyên văn bởi thi tran Xem bài viết
                      help mình con ATMEGA16 với ! việc là em mới mua con avr16L , mình viết 1 đoạn code để test các port của nó . các port # thì ok , nhưng port C thì 4 chân 23 _24_25_26 lại ko nháy như đoạn code mình viết . đoạn code mình viết cho tất cả các chân trong 4 port xuất tín hiệu cho led sáng và delay 100ms rùi tắt . 4 chân nói trên ko làm việc , nó sáng " rất rất " mờ và ko chớp tắt như ý muốn ! xin các pác cho em ý kiến về trường hợp nỳ ! thanks các pác trước nhá !
                      Do chưa fuse bit lại cho nó. VDK khi mua về nhiều con phải set bit lại cho nó mới chạy đúng được, bạn tìm hiểu cách set bit lại cho nó là được.
                      Nhận làm mạch, ĐAMH sử dụng vđk Pic & AVR tại tp.HCM
                      Liên hệ sđt: 0902.808.371

                      Comment

                      • hungtrinh36
                        Thành viên tích cực
                        • Apr 2011
                        • 346

                        #12
                        Nguyên văn bởi elevco Xem bài viết
                        //Chương trình của bạn không quét là do bạn lại đặt thời gian trễ khi LED tắt, tức là thời gian sáng không đủ cho mắt người nhìn.
                        Mình sửa lại chương trình của bạn như sau nha:
                        #include <mega8.h>
                        #include <delay.h>
                        //cổng D xuất dữ liệu ra led
                        #define led PORTD
                        // k1 k2 k3 k4 dùng điều khiển 4 transistor
                        #define k1 PORTB.3
                        #define k2 PORTB.2
                        #define k3 PORTB.1
                        #define k4 PORTB.0
                        void main(void)
                        {
                        while (1)
                        {
                        led=0xf9; //so 1
                        k1=0;
                        delay_ms(3);
                        k1=1;

                        led=0x24; //so 2
                        k2=0;
                        delay_ms(3);
                        k2=1;

                        led=0x30; //so 3
                        k3=0;
                        delay_ms(3);
                        k3=1;

                        led=0x19; //so 4
                        k4=0;
                        delay_ms(3);
                        k4=1;



                        };
                        }

                        //Nếu bạn dùng chương trình mô phỏng để quét LED thì bạn nên để ý, mình thấy một số vision cũ của protues thì transistor không hoạt động, bạn nên dùng cổng NOT ý để mô phỏng.
                        Đây là chương trình quét led cơ bản, còn muốn làm chương trình trong các ứng dụng thì bạn nên tìm hiểu thêm nha.
                        anh cho em hoi ý nghĩa của dòng led=0xf9.k=.delay.....
                        sao lai ra được số 1.em đang bắt đầu học cai vxl này sao khó hiểu wá.mong các bác chỉ bảo. Cho em hỏi thêm dùng cái này quyét led matric được ko ạ

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...