RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

LED 7 Segment ?

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • BangHienBKHN
    replied
    Chào các bạn .sang năm mới mình chúc tất cả anh em một năm mới dồi dào sức khỏe với nhiều thành công trong cuộc sống hahaha và đặc biệt là xây dựng diễn đàn là một sân chơi bổ ích cho mọi người tiện đây cho mình hởi một chút có ai dã tưng ghép nối avr với adc theo cổng và bus chỉ giáo cho tại hạ với thank nhé

    Leave a comment:


  • natra2k2
    replied
    Nguyên văn bởi prince Xem bài viết
    Cám ơn anh vậy khi dùng con này rồi thì chân K của con led 7 đoạn phải nối đi đâu ạ (xuống đất? lên nguồn? ... )
    nối xuống đất chứ, như tên gọi của nó mà - K chung!

    Leave a comment:


  • prince
    replied
    Cám ơn anh vậy khi dùng con này rồi thì chân K của con led 7 đoạn phải nối đi đâu ạ (xuống đất? lên nguồn? ... )

    Leave a comment:


  • natra2k2
    replied
    Nguyên văn bởi prince Xem bài viết
    các anh cho em hỏi chút
    Em phải làm bài tập thày cho là thiết kế bộ chuyển mạch 3 bit nhị phân sang 7 đoạn(Catot chung). Để làm bài này em sử dụng con giải mã thông thường là 74ls47, em dùng mấy cái công tắc gạt để tạo mã nhị phân. Vấn đề em gặp khi vẽ protel là em ko bít chân Katot của led 7 đoạn nối đi đâu, các anh giúp em với. Em xin cảm ơn trước
    giải mã led 7 đoạn K chung thì không dùng 74LS47 được đâu, nó giải mã cho loại A chung đấy, loại K chung(như bạn đang dùng) thì dùng con 74LS248 hoặc 74LS48 nhé!

    Leave a comment:


  • prince
    replied
    các anh cho em hỏi chút
    Em phải làm bài tập thày cho là thiết kế bộ chuyển mạch 3 bit nhị phân sang 7 đoạn(Catot chung). Để làm bài này em sử dụng con giải mã thông thường là 74ls47, em dùng mấy cái công tắc gạt để tạo mã nhị phân. Vấn đề em gặp khi vẽ protel là em ko bít chân Katot của led 7 đoạn nối đi đâu, các anh giúp em với. Em xin cảm ơn trước

    Leave a comment:


  • vandungevn
    replied
    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

    Leave a comment:


  • play_out
    replied
    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!

    Leave a comment:


  • minhhieu
    replied
    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;
    }

    }

    Leave a comment:


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

    Leave a comment:


  • Tmoon
    replied
    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.

    Leave a comment:


  • hocdoi245
    replied
    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.

    Leave a comment:


  • Tmoon
    replied
    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?

    Leave a comment:


  • hocdoi245
    replied
    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!

    Leave a comment:


  • vinhsnooker
    replied
    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

    Leave a comment:


  • hocdoi245
    replied
    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

    Leave a 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...