Thông báo

Collapse
No announcement yet.

Các phương pháp quét LED

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

  • Các phương pháp quét LED

    Bạn nào biết kỹ thuật quét LED không ? Minh cần biết giải thuật của kỹ thuật quét LED !

  • #2
    Nguyên văn bởi nole_tdofanh Xem bài viết
    Bạn nào biết kỹ thuật quét LED không ? Minh cần biết giải thuật của kỹ thuật quét LED !
    Bạn định quét led gì?7 thanh hay là ma trận led?
    Dùng timer quét là tối ưu nhất.

    Comment


    • #3
      sau đây là chương trình quet 4 led 7 thanh:
      -----------------------------------------------------------------
      Code:
      #include <REGX52.H>
      //=======a....d la cac bit dau vao cua 74HC47
      #define a P2_0
      #define b P2_1
      #define c P2_2
      #define d P2_3
      //========thu tu led tinh tu phai qua trai
      #define led1 P2_4 
      #define led2 P2_5
      #define led3 P2_6
      #define led4 P2_7
      //********Khai báo các biến******************
      unsigned char t1,t2,t3,t4,thu_tu_led;
      //*********Ham tao do tre*******************
      void delay(unsigned int ms)
        { 
          unsigned int i,j;
          for (i=0; i<ms; i++)
      	  { for (j=0; j<120; j++) ;
      //----------------led 7 thanh-------------------------
      void display(unsigned char number)
      //hiển thị 1 số trên led 7 thanh.
      //đổi số number thành mã BCD
       { char x,y;
      x=number/8;y=number-x*8;d=x;
      x=y/4;y=y-x*4;c=x;
      x=y/2;y=y-x*2;b=x;
      a=y;
      
      
      }
      void display_led(unsigned int number,led)
      {
       if(led==1)
          {P2=0xff;led1=0;}
       else if (led==2)
       	{P2=0xff;led2=0;}
       else if (led==3)
       	{P2=0xff;led3=0;}
       else if (led==4)
       	{P2=0xff;led4=0;}
       else 
       	{P2=0xff;}
       display(number);
      }
      void timer0_init()//dung cho ngat timer 0
       {
         TMOD&=0xF0;//0xFO=1111.0000
         TMOD|=0x01;//timer0 in mode 1(16bit)
         ET0=1;
         EA=1;   //tham khao "ho vi dieu khien 8051"
         TH0=0x00;       //Phai chu y
         TL0=0x00;     //Phai chu y
         TR0=1;
        }
      void chuongtrinh_timer0 (void) interrupt 1//chuong trinh phuc vu ngat timer0
      {	unsigned char hh;
      	if      (thu_tu_led==1){hh=t1;}
      	else if (thu_tu_led==2){hh=t2;}
      	else if (thu_tu_led==3){hh=t3;}
      	else                   {hh=t4;}
      	display_led(hh,thu_tu_led);
      	thu_tu_led= thu_tu_led+1;
      	if (thu_tu_led>4){thu_tu_led=1;}
      //giu nguyen	
      	TH0=0xf0;
      	TL0=0xf0;
      	TF0=0;
      	TR0=1;
      }
      	    
      	  }
        }
      main()
      {//làm gì thì làm
      //lưu ý:t1,t2,t3,t4 là các giá trị hiển thị trên led 7 thanh
      //còn việc bạn lấy giá trị của nó ở đâu thì tùy bạn
      
      }
      -----------------------------------------------------------------
      Last edited by VNarmy; 12-03-2007, 23:22.

      Comment


      • #4
        Tham khảo 2 cái này nha!
        1 cái quét ma trận LED!
        1 cái quét n led 7 đoạn!
        Phương pháp rất rỗ ràng!
        Attached Files

        Comment


        • #5
          Thuật toán cơ bản để quét mọi loại Led:
          1. Xuất ra mã
          2. Cấp nguồn cho led
          3. Trễ 1 khoảng thời gian
          4. Cắt nguồn cho led

          Mọi bài toán quét led thường giải quyết chủ yếu theo phương pháp này. Ngay cả khi bạn quét một ma trận led cũng thế. Tại mỗi thời điểm thực tế là chỉ có một hàng hoặc cột(tùy theo cách mắc phần cứng) là được cấp nguồn. Nhưng do tần số quét nhanh nên mắt ta nhìn thành chữ mà thôi.

          Comment


          • #6
            Khi quét LED như vậy do tần số cao LED sẽ sáng mờ hơn bình thường (tôi dùng loại LED cỡ lớn cao khoảng 4cm, áp đặt lên mỗi thanh ~3V). Nếu không dùng IC để chốt dữ liệu thì có cách nào cho LED sáng hơn không? Tôi đã thử bỏ trở hạn dòng nhưng vẫn chưa đủ độ sáng. Trường hợp quét 4 LED thì nên đặt thời gian quét cho từng LED khoảng bao nhiêu?

            Comment


            • #7
              Không có cách nào khác hơn nếu không có ic chốt data. Vì vậy phải đánh đổi hoặc độ sáng hoặc phần cứng. Tối ưu phần cứng thì độ sáng phải giảm và ngượic lại.

              Comment


              • #8
                phamduy

                híc anh ơi!sao thấy mấy anh viết lập trình cho 8951 bnằg ngôn ngữ gì thế.em dg học ở trường chỉ là ngôn ngữ asembler kô àh.mấy cái này em ko bít.chỉ giúp em với.

                Comment


                • #9
                  tôi cần một C.trình điều khiển LED đơn 10 led dùng cổng P0 và P1.0;p1.1 . led sáng lần lượt dạng thanh. ai biết xin viết mẫu giúp đỡ cho, xin viết đầy đủ cả phần khai báo.
                  -Xin cảm ơn nhiều!
                  Tôi thích cái cầu kỳ của kỹ thuật
                  Nhưng ghét mọi phức tạp trong tính cách con người

                  Comment


                  • #10
                    quet 22 con led - Sơ đồ nguyên lí :http://dientuvietnam.net/forums/show...467#post167467
                    code....

                    unsigned char ma_bcd[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; // Common Anode

                    .............

                    void scan_led(char dataout)
                    {
                    for(i=0;i<8;i++)
                    {
                    temp=dataout;
                    temp=temp&0x80;
                    if(temp==0x80)
                    {
                    DATALINE = 1;
                    }
                    else
                    {
                    DATALINE = 0;
                    }
                    dataout *=2;
                    SCKLINE=1;
                    SCKLINE=0;
                    }
                    }

                    void scan_3led(unsigned char data1,unsigned char data2, unsigned char data3)
                    {
                    scan_led(data1);
                    scan_led(data2);
                    scan_led(data3);
                    }

                    void scan_22led(void)
                    {
                    for(j=0;j<9;j++)
                    {
                    STROBELINE = 0;
                    switch (j)
                    {
                    case 0: scan_3led(secl,a2minl,a4minl);P0 = 0x7F;break;
                    case 1: scan_3led(sech,a2minh,a4minh);P0 = 0xBF;break;
                    case 2: scan_3led(secl,a2hourl,a4hourl);P0 = 0xDF;break;
                    case 3: scan_3led(sech,a2hourh,a4hourh);P0 = 0xEF;break;
                    case 4: scan_3led(minl,a1minl,a3minl);P0 = 0xFE;break;
                    case 5: scan_3led(minh,a1minh,a3minh);P0 = 0xFD;break;
                    case 6: scan_3led(hourl,a1hourl,a3hourl);P0 = 0xFB;break;
                    case 7: scan_3led(hourh,a1hourh,a3hourh);P0 = 0xF7;break;
                    case 8: scan_3led(0XFF,0XFF,0XFF);P0 = 0xFF;break;
                    }
                    STROBELINE = 1;
                    STROBELINE = 0;
                    LED = SQW;
                    delay(50);
                    }
                    }
                    ..............
                    Chúc bạn thành công.

                    Comment


                    • #11
                      Các anh cho hỏi tí.
                      Ở SG có chổ nào bán led matrix 8x8 và 16hangx 8cot loại siêu sáng ko vậy?

                      Comment


                      • #12
                        Nguyên văn bởi digital83 Xem bài viết
                        Các anh cho hỏi tí.
                        Ở SG có chổ nào bán led matrix 8x8 và 16hangx 8cot loại siêu sáng ko vậy?

                        Có chứ bạn ra 158B Lý Thường Kiệt đó.

                        Comment


                        • #13
                          Lại nhờ các anh cho tiếp ý kiến đây.
                          Em mới làm bảng quang báo 64 cột 8 hàng.Em quét led theo cột.
                          Cấp dữ liệu (mức 0)trực tiếp cho led bằng các chân của 89c51 luôn
                          Nhưng em thấy sao mà chữ sáng mờ quá
                          Không biết là lấy trực tiếp mức 0 từ 89 như thế có nên ko?và nó có đủ dòng để cấp cho led ko nữa?
                          Mong các anh chỉ giáo!

                          Comment


                          • #14
                            Lại nhờ các anh cho tiếp ý kiến đây.
                            Em mới làm bảng quang báo 64 cột 8 hàng.Em quét led theo cột.
                            Cấp dữ liệu (mức 0)trực tiếp cho led bằng các chân của 89c51 luôn
                            Nhưng em thấy sao mà chữ sáng mờ quá
                            Không biết là lấy trực tiếp mức 0 từ 89 như thế có nên ko?và nó có đủ dòng để cấp cho led ko nữa?
                            Mong các anh chỉ giáo!

                            Comment


                            • #15
                              Nguyên văn bởi digital83 Xem bài viết
                              Lại nhờ các anh cho tiếp ý kiến đây.
                              Em mới làm bảng quang báo 64 cột 8 hàng.Em quét led theo cột.
                              Cấp dữ liệu (mức 0)trực tiếp cho led bằng các chân của 89c51 luôn
                              Nhưng em thấy sao mà chữ sáng mờ quá
                              Không biết là lấy trực tiếp mức 0 từ 89 như thế có nên ko?và nó có đủ dòng để cấp cho led ko nữa?
                              Mong các anh chỉ giáo!

                              Bạn post sơ đồ mạch : Điều khiển + Hiển thị Led lên đi. Có gì mọi người xem rồi mới giúp đỡ bạn được. Theo mình được biết thì nếu bạn quét nhiều Led matrix thì mạch điều khiển phải tính toán công suất thì mới đủ sáng được. cố gắng lên nha.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Cám ơn những lời chúc tốt đẹp của em.

                                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                hôm nay, 02:00
                              • nhathung1101
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi nhathung1101
                                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                Hôm qua, 22:18
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                Hôm qua, 14:51
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                Hôm qua, 14:39
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                Hôm qua, 14:28
                              • bqviet
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi bqviet
                                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                21-02-2025, 20:26
                              • mèomướp
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi mèomướp
                                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                21-02-2025, 12:32
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                20-02-2025, 21:31
                              • bqviet
                                Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                bởi bqviet
                                Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                20-02-2025, 17:22
                              Đang tải...
                              X