Thông báo

Collapse
No announcement yet.

Nhờ mọi người giúp

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

  • Nhờ mọi người giúp

    chào mọi người.
    mình hiện đang là sinh viên
    bữa nay mình đang tập tành vi xử lý, và muốn thực hành một cái gì đó. mình được biết bài tập với led là đơn giản nhất nên mình bắt đầu từ thiết kế cái bảng led .
    và sau 1 tháng đọc , tìm kiếm trên mạng thì mình có vẽ được cái mạch nguyên lý, hiển thị led đơn .
    mình post lên hy vọng được sự góp ý của mọi người.
    và mình có 1 số thắc mắc muốn nhờ mọi người giải thích dùm.
    1. cái mạch nguyên lý của mình có bị vấn đề gì không
    2. mình dùng led siêu sáng trên mạch hiển thị, vậy cách tính led như mình vẽ có đủ cho led sáng hay không
    mình tính như sau: led siêu sáng 2-3v, nên mình có thể dùng 12v cho 5 -6 led.
    mình nối led theo nguyên tắc: 12v-anot led1-katot led1-anot led2..........header

    Last edited by vibration; 26-05-2011, 22:24.

  • #2
    tiếp theo là tới phần lập trình xin mọi người giúp đỡ
    đầu tiên mình muốn làm 1 đoạn code cho tất cả các led sáng để mình kiểm tra
    đoạn code mình có tham khảo ( copy trên mạng là chính hihi) như sau

    #include "reg52.h"//khai bao thu vien ho 89
    #include "intrins.h"
    void delay(unsigned int ms) //ham delay ms
    {
    unsigned int i,j; //vong for chay mat 8us
    for (i=0;j<125;j++);//tre 1s thi viet delay (1000)
    }
    main ()
    {
    while(1)//vong lap vo tan
    }
    P1=0; //led sang muc 0
    delay(1000);
    P1=1;
    delay(1000); //led tat

    nhưng khi mình ấn F7 tạo file hex thì bị lỗi như sau, mình đọc cũng không hiểu nó bị lỗi gì nên không biết sửa làm sao

    Build target 'Target 1'
    compiling sang led.c...
    SANG LED.C(1): warning C500: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))
    SANG LED.C(3): warning C280: 'ms': unreferenced local variable
    SANG LED.C(11): error C141: syntax error near '}'
    SANG LED.C(12): error C231: 'P1': redefinition
    SANG LED.C(12): error C231: 'P1': redefinition
    SANG LED.C(13): error C141: syntax error near '1000'
    SANG LED.C(13): error C231: '_delay': redefinition
    SANG LED.C(14): error C279: 'P1': multiple initialization
    SANG LED.C(14): error C231: 'P1': redefinition
    SANG LED.C(14): error C231: 'P1': redefinition
    SANG LED.C(15): error C141: syntax error near '1000'
    SANG LED.C(15): error C231: '_delay': redefinition
    Target not created

    cám ơn mọi người nhiều, chúc một buổi tối vui vẻ

    Comment


    • #3
      về mạch nguyên lý :
      bạn nối 6 led như thế là hơi nhiều so với nguồn 12v.mình toàn nối như thế này +12v-> 4led đỏ -> trở 330 header của bạn.hoặc +12v-> 3led xanh(trắng) -> R470 -> header.
      chạy gần được 1 năm vẫn ok.chưa em nào ăn tỏi cả.
      mạch như thế này dùng 7812 thì không ổn lắm.vì minh tính dòng qua 6 cặp ở lên 12v đã mất gần 300mA+74245+89 =??????? mà 7812 chỉ có 1A là tối đa thì phải
      Port0 bạn nên treo trở lên dương nên dùng trở thanh cho gọn
      chương trình :
      hàm delay(unsigned int ms) để làm gì khi trong hàm không dùng
      như ý bạn thì nên làm như thế này
      void delay(unsigned int ms) //ham delay ms
      {
      unsigned int i,j; //vong for chay mat 8us
      for(j=0;j<=ms;j++)
      {
      for (i=0;i<125;i++);//tre 1s thi viet delay (1000)
      }}
      cái nữa port1 của bạn là 8bit mà bạn chỉ gán giá trị 1 bit thì báo lỗi là đúng
      bạn có thể sửa P1=0x00;/tắt cả Port
      P1=0xff;//sáng cả Port

      Comment


      • #4
        Nguyên văn bởi bgdientu Xem bài viết
        về mạch nguyên lý :
        bạn nối 6 led như thế là hơi nhiều so với nguồn 12v.mình toàn nối như thế này +12v-> 4led đỏ -> trở 330 header của bạn.hoặc +12v-> 3led xanh(trắng) -> R470 -> header.
        chạy gần được 1 năm vẫn ok.chưa em nào ăn tỏi cả.
        mạch như thế này dùng 7812 thì không ổn lắm.vì minh tính dòng qua 6 cặp ở lên 12v đã mất gần 300mA+74245+89 =??????? mà 7812 chỉ có 1A là tối đa thì phải
        Port0 bạn nên treo trở lên dương nên dùng trở thanh cho gọn
        chương trình :
        hàm delay(unsigned int ms) để làm gì khi trong hàm không dùng
        như ý bạn thì nên làm như thế này
        void delay(unsigned int ms) //ham delay ms
        {
        unsigned int i,j; //vong for chay mat 8us
        for(j=0;j<=ms;j++)
        {
        for (i=0;i<125;i++);//tre 1s thi viet delay (1000)
        }}
        cái nữa port1 của bạn là 8bit mà bạn chỉ gán giá trị 1 bit thì báo lỗi là đúng
        bạn có thể sửa P1=0x00;/tắt cả Port
        P1=0xff;//sáng cả Port
        cám ơn bạn
        sau khi tìm hiểu lại
        mình chọn cách nối led như sau
        4 led nối tiếp 12VDC, suy ra r= (12-8)/20ma = 200 ohm --> 4led nói tiếp với r=200ohm
        còn nếu dùng 7812 mà không ổn định thì mình có thể thay bằng con nào vậy
        phần mạch điều khiển mình đã in ra và hàn linh kiện hết rồi, nên hơi khó thay đổi.
        chúc mọi người vui vẻ

        Comment


        • #5
          co ai co so do ic tóhiba 8853CPng ko cho minh voi
          Điện Tử Minh Dũng

          Comment


          • #6
            led thì tùy từng loại led mà nối.áp trên từng led cũng thế.thường là led đỏ là 1.8v.xanh va trắng là 2.2v.dong thi tối đa nhất nên cho là 25mA.còn về nguồn nếu bạn đã làm mạch rồi ko muốn thay đổi thì bạn thêm 1 em 7812 song song với con 7812 cũ là được.nhưng tốt nhất bạn nên dùng biến áp 12v hoặc 1 nguồn máy tính cũ là ok nhất

            Comment


            • #7
              Nguyên văn bởi đungltinh Xem bài viết
              co ai co so do ic tóhiba 8853CPng ko cho minh voi
              cái này bạn lên thằng google.com nó có.hoặc vào alldatasheet.com con gì cũng có

              Comment


              • #8
                Nguyên văn bởi bgdientu Xem bài viết
                led thì tùy từng loại led mà nối.áp trên từng led cũng thế.thường là led đỏ là 1.8v.xanh va trắng là 2.2v.dong thi tối đa nhất nên cho là 25mA.còn về nguồn nếu bạn đã làm mạch rồi ko muốn thay đổi thì bạn thêm 1 em 7812 song song với con 7812 cũ là được.nhưng tốt nhất bạn nên dùng biến áp 12v hoặc 1 nguồn máy tính cũ là ok nhất
                cám ơn bạn góp ý
                phần lập trình mình đã sử lại như sau, khong còn bị lỗi nữa


                #include "reg52.h"//khai bao thu vien ho 89

                void delay(unsigned int ms) //ham delay ms
                {
                unsigned int i,j; //vong for chay mat 8us
                for (j=0;j<=ms;j++);//tre 1s thi viet delay (1000)
                {
                for (i=0;i<125;i++);//tre 1s thi viet delay (1000)
                }
                }
                void main ()
                {
                while(1)//vong lap vo tan
                {
                P1=0; //led sang muc 0
                delay(1000);
                P1=1;
                delay(1000); //led tat
                }
                }

                nguồn ở đây mình dùng là Adapter 12vdc.
                vậy là mình cần nối song song 1 con 7812 là ok pải không
                Last edited by vibration; 27-05-2011, 15:45.

                Comment


                • #9
                  bạn có thể nối 2 con 7812 song song là được.bạn dùng adapter nếu dùng adapter 12v rồi thì dùng 7812 làm gì nữa cho phí ra.

                  Comment


                  • #10
                    nhờ mọi nguơi xem lại dùm, cái mạch nguyên lý đó của mình
                    khi mình lập trình và chạy trên boart test thì ok
                    nhưng khi gắn mạch vào thì mạch hiển thị led sáng toàn bộ, chứ không nhấp nháy theo ý mình
                    mình nghĩ có lẽ nó bị chạm mass
                    nhờ mọi nguơi giúp
                    đây là mạch hiện thị mới, mình đã lấy nguồn 12v dc test thì ok rồi.
                    phần lạp trình mình test trên board test thì ok luôn.
                    nhưng khi gắn vào thì không chạy, có lẽ là do mạch nguyên lý mình sai, mong mọi người giúp dùm
                    Last edited by vibration; 29-05-2011, 11:14. Lý do: them

                    Comment


                    • #11
                      bạn nối led thế này thì không vấn đề gì.nhưng phải có tran kích nhé không như thế này nối thẳng vào vdk thì không chạy được đâu.và bạn phải xem lại mạch xem có bị chạm chập đâu không thôi và nguồn đủ không. nối có ngược led không hay con led nào tỏi rồi

                      Comment


                      • #12
                        Nguyên văn bởi bgdientu Xem bài viết
                        bạn nối led thế này thì không vấn đề gì.nhưng phải có tran kích nhé không như thế này nối thẳng vào vdk thì không chạy được đâu.và bạn phải xem lại mạch xem có bị chạm chập đâu không thôi và nguồn đủ không. nối có ngược led không hay con led nào tỏi rồi
                        hi, cám ơn bạn nhiều
                        mạch nguyên lý ở trên mình có dùng con tip41c rồi.
                        nguồn mình dùng:
                        adapter 12vdc chia ra 2 đầu dây,
                        1 đầu mình vào mạch vi điều khiển, 1 đầu vào mạch led hiển thị.
                        lúc mình nối mạch thì toàn bộ mạch led sáng hết, và mình thấy 2 con 7812 và 7805 bị nóng
                        không biết có vấn đề j không

                        Comment


                        • #13
                          nếu mà 7805-7812 nóng thì bạn xem mạch lại đi.chắc chắn chạm chập chỗ nào rồi

                          Comment


                          • #14
                            Con IC có khả năng là chết rồi đó bạn
                            Mình cũng hay thường bị tình trạng IC chết => 7805 nóng vô cùng

                            Comment


                            • #15
                              IC ổn áp 78.. nóng là chuyện bình thường, vì đặc điểm của nó là vậy mà. Mình làm mạch gồm 21IC, 2 con led 7 đoạn, vài con led nữa, con 7805 nóng muốn bỏng cả tay, mình cắm cái quạt vô---7805 lạnh tanh. Nhưng nếu không muốn tản nhiệt cồng kềnh thì dùng 2576 đi, đảm bảo dùng vô tư. thí nghiệm thì bạn dùng nguồn máy tính cho OK!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X