Thông báo

Collapse
No announcement yet.

LED 7 Segment ?

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

  • LED 7 Segment ?

    Các huynh đệ ơi !
    Có huynh đệ nào biết datasheet cua LED 7 segment 4 digit thi cho chỉ cho tại hạ với . . . . Tại hạ mua nó ở 17 Hàn Thuyên mà ko biết sử dụng như thế nào cả . . . . .
    Troi ko so dat ko so chi so minh ko biet so

  • #2
    Nguyên văn bởi Kesitinh
    Các huynh đệ ơi !
    Có huynh đệ nào biết datasheet cua LED 7 segment 4 digit thi cho chỉ cho tại hạ với . . . . Tại hạ mua nó ở 17 Hàn Thuyên mà ko biết sử dụng như thế nào cả . . . . .
    Here, loại Common Anode
    Attached Files

    Comment


    • #3
      Anh kesitinh thật a'.. sao anh lười thế mà ko ngồi test đi!! cần gì phải datasheet!
      Hi vọng bài viết giúp X được cho bạn.

      Comment


      • #4
        Ừ hơi lười đó, mình thì lười chẳng bao giờ nhớ cả. Mua con nào về, chỉ cần vác đồng hồ số ra đặt thang đo diode xác định xem đâu là anot chung rồi tìm nốt các chân ứng với từng thanh ABCDE... bằng cách dí que đo âm vào đó xem thanh nào sáng là OK

        Comment


        • #5
          H he heheh !
          Cám ơn các huynh đệ đã chỉ bảo giùm.
          Troi ko so dat ko so chi so minh ko biet so

          Comment


          • #6
            quét led

            anh oi anh co thể chỉ cho em em cách quét led 7 thanh.Em dùng 2 con led nhưng chỉ quét được 2 con số giống nhau,còn muốn chạy đếm thì không được a!
            Anh viết cho em đoạn code nhe!em tìm hiểu đã lâu nhưng do kém quá nên chưa tìn được ra chân lý.Anh gừi bài trả lời giúp em cang nhanh càng tốt hay anh gừi vào hộp thư của em a!
            huycanhaiphong@yahoo.com.vn

            Comment


            • #7
              Nguyên văn bởi hocdoi245 Xem bài viết
              anh oi anh co thể chỉ cho em em cách quét led 7 thanh.Em dùng 2 con led nhưng chỉ quét được 2 con số giống nhau,còn muốn chạy đếm thì không được a!
              Anh viết cho em đoạn code nhe!em tìm hiểu đã lâu nhưng do kém quá nên chưa tìn được ra chân lý.Anh gừi bài trả lời giúp em cang nhanh càng tốt hay anh gừi vào hộp thư của em a!
              huycanhaiphong@yahoo.com.vn
              chuong trinh don gian lam,de minh viet cho ban mot chuong trinh don gian nhu vay nhe,copy rui ve paste vao read51 ma dich nhe!


              #include <sfr51.inc>

              #define led1 p1.0
              #define led2 p1.1
              #define data_led p2
              count equ 0x30
              data_show equ 0x31
              data1 equ 0x32
              data2 equ 0x33

              org 0x0000
              sjmp main

              org 0x000b
              sjmp ngat_timer0

              ;**************************************
              main:
              mov sp,#0x5f
              acall init_system
              main_loop:
              acall data_convert
              acall show_led
              sjmp main_loop
              ;***************************************
              init_system:
              mov dptr,#code_led
              mov tmod,#0x01 ;dung timer0,chay o che do 1
              mov th0,#high(-50000)
              mov tl0,#low(-50000)
              mov count,#20 ;bien count dung ket hop voi timer de tang or giam sau 1s
              ;20x50000x1us~1s ,o day dung thach anh 12MHZ,neu dung 19,0592MHZ thi ban nhan voi 1,0592
              mov data_led,#30 ;chuong trinh dem giam tu 30s,ban cho so nao vay day cung dc,nhung cho 2 so thoi
              setb et0
              setb ea
              setb tr0
              ret
              ;****************************************
              ngat_timer0:
              push psw
              push acc
              mov th0,#high(-50000)
              mov tl0,#low(-50000)
              djnz count,exit
              mov count,#20 ;nap lai so bien phu

              dec data_show
              mov r0,data_show
              cjne r0,#0,exit
              mov data_show,#30
              exit:
              pop acc
              pop psw
              reti
              ;****************************************
              data_convert:
              mov a,data_show
              mov b,#10
              div ab
              mov data1,a
              mov data2,b
              ret
              ;*****************************************
              show_led:
              mov a,data1
              movc a,@a+dptr
              mov data_led,a
              clr led1 ;bat led,doi voi led cathod,anode thi ngc lai
              acall delay
              setb led1

              mov a,data2
              movc a,@a+dptr
              mov data_led,a
              clr led2
              acall delay
              setb led2
              ret
              ;*******************************************
              delay:
              mov r1,#100
              loop:
              mov r2,#5
              djnz r2,$
              djnz r1,loop
              ret
              ;*******************************************
              code_led:
              db 01 ;ma so 1 dat o day,so binay or hex
              db
              db ;thay ma so tu 0 den 9 vao day nhe,viet "db" dang trc du cho 10 so
              end

              chương trình chạy bằng read51,có j liên hệ với mình
              mình không biết post kèm file nên mới phải viết ra như thế này,ai biết chỉ dùm với

              Comment


              • #8
                led 7 thanh

                anh oi! em copy vào rồi nhưng ko được. Nỗi nhiều lắm. anh co thể viết lại cho em được không a!

                Comment


                • #9
                  Sao bạn không post file nguyên lý của bạn nên thi mọi người giúp bạn tốt hơn?

                  Comment


                  • #10
                    mach quet led

                    mạch thì đơn giản thôi!Em có 2 con led 7 thanh.đấu chung a...g vào các chân của 8051 là p0.0 đến p0.6.còn 2 chân p2.0 và p2.1 dùng để điều khiển vcc của 2 led 7 thanh thông qua 2 con Tranzisto.

                    Comment


                    • #11
                      Theo mình thì bạn điều khiển hai pin P2.0 và P2.1 không đúng thôi. Bạn phải chắc chắn rằng 2 chân này không được bằng nhau và = 1 khi điều khiển.

                      Comment


                      • #12
                        tôi chỉ cpoy vào reade51 nhưng khi dịch ra thì có quá nhiều lỗi rồi

                        Comment


                        • #13
                          Các bác cho em hoi với. sao em lam mach quet Led no quet bi nhap nhay. chỉnh thời gian cho các vòng lặp mà vẫn bị nhấp nháy. và các led sáng bị yếu.


                          //chuong trinh thu nghiem quet LED 7 tu mot con so dua vao

                          #include<AT89x51.h>


                          #define LED8 P1_0
                          #define LED7 P1_1
                          #define LED6 P1_2
                          #define LED5 P1_3
                          #define LED4 P1_4
                          #define LED3 P1_5
                          #define LED2 P1_6
                          #define LED1 P1_7
                          #define Yes 1
                          #define No 0
                          //dinh nghia cac bien dung cho su ly tach so
                          #define donvi 0
                          #define chuc 1
                          #define tram 2
                          #define nghin 3
                          #define van 4
                          #define tramnghin 5
                          #define trieu 6
                          #define vantrieu 7


                          /*
                          #define a P0_0
                          #define b P0_1
                          #define c P0_2
                          #define d P0_3
                          #define e P0_4
                          #define f P0_5 ....
                          */

                          unsigned long Buffer[8];
                          bit fg=No;
                          //0 , 1 , 2 , 3 ,4 ,5 ,6 ,7 ,8
                          const char LEDi[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,
                          0x98,0x88,0xC6,0x86,0x8E,0x82,0x89,0x7F,0xFF};
                          // 9 , A , B , C , D ,E , F , . , TRANG

                          void delay(unsigned char ms) // tre ms
                          {
                          unsigned char i=121;
                          while(ms--)
                          {
                          while(i--);
                          }
                          }

                          void BCD(unsigned long so)
                          {

                          //tach cac so ra theo don vi tuong ung
                          Buffer[donvi]=so%10; //lay so du
                          Buffer[chuc]=so/10;
                          Buffer[tram]=so/100;
                          Buffer[nghin]=so/1000;
                          Buffer[van]=so/10000;
                          Buffer[tramnghin]=so/100000;
                          Buffer[trieu]=so/1000000 ;
                          Buffer[vantrieu]=so/10000000 ;

                          // tach rieng tung so mot
                          // theo dung hang don vi va tram cua chung
                          if(Buffer[chuc]<=0) Buffer[chuc]=16; //=16 la tat het cac led
                          else if(Buffer[chuc]>=10) Buffer[chuc]%=10;

                          if(Buffer[tram]<=0) Buffer[tram]=16; //=16 la tat het cac led
                          else if(Buffer[tram]>=10) Buffer[tram]%=10;

                          if(Buffer[nghin]<=0) Buffer[nghin]=16; //=16 la tat het cac led
                          else if(Buffer[nghin]>=10) Buffer[nghin]%=10;

                          if(Buffer[van]<=0) Buffer[van]=16; //=16 la tat het cac led
                          else if(Buffer[van]>=10) Buffer[van]%=10;

                          if(Buffer[tramnghin]<=0) Buffer[tramnghin]=16; //=16 la tat het cac led
                          else if(Buffer[tramnghin]>=10) Buffer[tramnghin]%=10;

                          if(Buffer[trieu]<=0) Buffer[trieu]=16; //=16 la tat het cac led
                          else if(Buffer[trieu]>=10) Buffer[trieu]%=10;

                          if(Buffer[vantrieu]<=0) Buffer[vantrieu]=16; //=16 la tat het cac led
                          else if(Buffer[vantrieu]>=10) Buffer[vantrieu]%=10;


                          }

                          void hienthi()
                          {


                          {
                          P0=LEDi[Buffer[donvi]];
                          LED1=0;
                          delay(1);
                          LED1=1;

                          P0=LEDi[Buffer[chuc]];
                          LED2=0;
                          delay(1);
                          LED2=1;

                          P0=LEDi[Buffer[tram]];
                          LED3=0;
                          delay(10);
                          LED3=1;

                          P0=LEDi[Buffer[nghin]];
                          LED4=0;
                          delay(1);
                          LED4=1;

                          P0=LEDi[Buffer[van]];
                          LED5=0;
                          delay(1);
                          LED5=1;

                          P0=LEDi[Buffer[tramnghin]];
                          LED6=0;
                          delay(1);
                          LED6=1;

                          P0=LEDi[Buffer[trieu]];
                          LED7=0;
                          delay(1);
                          LED7=1;

                          P0=LEDi[Buffer[vantrieu]];
                          LED8=0;

                          delay(1);
                          LED8=1;








                          }
                          }

                          void ngat(void)interrupt 2 using 1 // su dung ngat ngoai
                          {

                          if (P3_3==0) fg=Yes;

                          }

                          void main(void)
                          {

                          unsigned long j=0;
                          //TMOD=0x02;

                          EX1=1;
                          P0=1;
                          P1=1;

                          EA=1; //cho phep su dung ngat
                          //TR1=1;

                          while(1)
                          {
                          if (fg==Yes) j=j+1;
                          else fg=No;
                          BCD(j);
                          hienthi();
                          //fg=No;
                          }

                          }
                          n
                          ĐT: 0986 492 489

                          Tham khảo:

                          Comment


                          • #14
                            bac nao biet lap trinh cho con 89s52 de dieu khien 4 led 7 thanh hien thi thoi gian (gio,phut), co nut nhan dieu chinh gio.Bac nao biet thi copy bai nen nhe.thanks!

                            Comment


                            • #15
                              Bài viết của MinhHieu khi dung khi hiển thị thì cho delay(10) va cho 1 led hiển thị thi tắt tât cả các led còn lại như cho led0=0; cho các led con lại led1=..= led8=1; thì đỡ được hiên tương nhiếu đấy và khi quet xong thi xet led0=1, và đưa data lên = 0XFF là ok nên dùng vòng trễ for thì hay hơn:d

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X