Thông báo

Collapse
No announcement yet.

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

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

  • 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

  • #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


    • #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


      • #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


        • #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


          • #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


            • #7
              quet led 7 thanh

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

              Comment


              • #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


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

                  Comment


                  • #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


                    • #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


                      • #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...
                        X