User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 5 của 5

Chủ đề: Chương trình hiển thị Led 7 đoạn

  1. #1
    svBK's Member
    Tham gia ngày
    Aug 2004
    Bài gửi
    25

    Mặc định Chương trình hiển thị Led 7 đoạn

    Các bác check hộ em nhé..Nó hiện thông báo lỗi
    // chuong trinh hien thi den Led 7 doan

    #include<REG8252.h>
    void hienthi(void);
    void khoitao()
    {
    EA=0;
    ET0=0;//
    TMOD=0x01;//16 bit Timer 0
    P2=0;
    TR0=0;
    }
    void delay1s(unsigned char giay)
    {
    unsigned char i;
    unsigned int j;
    for(i=0;i<giay;i++)
    {
    TR0=0;
    for(j=0;j<1000;j++)// Vong lap tre 1s
    {
    TH0=0xFC;
    TL0=0x17;
    TR0=1;
    while(TF0!=1);
    }
    TF0=0;
    }
    }
    // void hien thi len den Led
    void hienthi(void)
    {
    // Hien thi dem den 9
    khoitao();
    while(1)
    {
    P2=0xC0;
    delay1s(1);
    P2=0xC1;
    delay1s(1);
    P2=0xC2;
    delay1s(1);
    }
    }
    Nó hiện thông báo lỗi
    Warning L 16: Uncalled Segment,Ignored for overlay process
    warning L 10: Can not determine root Segment

  2. #2
    dientuK41
    Guest

    Mặc định

    void main() thiếu->Thiếu root segment

  3. #3
    svBK's AntiFan
    Tham gia ngày
    Dec 2004
    Bài gửi
    13

    Mặc định Jacky đây mà

    Quote Nguyên văn bởi teleman
    Các bác check hộ em nhé..Nó hiện thông báo lỗi

    Nó hiện thông báo lỗi
    Warning L 16: Uncalled Segment,Ignored for overlay process
    warning L 10: Can not determine root Segment
    Cậu cũng dùng trễ hai vòng for đấy thôi, mà theo trễ của bác lanthanginternet cung dung hai vong for day chu .
    Cau da chay thanh cong mach dieu khien led nao chua chi cho tui di . viet chuong trinh chay gia lap duoc sao ma nap song chang chay gi ca cay mui the. :a03 :a03 :a03 :a03

  4. #4
    svBK's Newbie
    Tham gia ngày
    Nov 2005
    Bài gửi
    11

    Mặc định

    Cái này hay đấy !!!

  5. #5
    Want to change the world Avatar của Inuyasha
    Tham gia ngày
    Nov 2005
    Bài gửi
    606

    Mặc định Chương trình

    Chương trình hiển thị trực tiếp ra LED 7 đoạn.
    Sử dụng loại ANOD chung, các chân như sau:
    g -> P0.0
    f -> P0.1
    a -> P0.2
    b -> P0.3
    dp -> P0.4
    c -> P0.5
    d -> P0.6
    e -> P0.7

    (Thứ tự chân sắp xếp như trên chỉ để dễ làm mạch in.)

    #include <AT89x52.H>

    unsigned char count, num;

    //Hàm hiển thị một số ra LED
    void display(unsigned char number)
    {
    unsigned char digit[] = {0x11, 0xD7, 0x32, 0x92, 0xD4, 0x98, 0x18, 0xD1, 0x10, 0x90};
    P0 = digit[number];
    }

    //Định thời hiển thị số ra LED sau mỗi giây
    void timer0() interrupt 1 using 2
    {
    TH0 = 0xDC; //10ms
    TL0 = 0x00;
    if (++count == 100)
    {
    display(num);
    num = (num + 1) % 10;
    count = 0;
    }
    }

    main()
    {
    count = num = 0;
    TMOD = 0x21; //TIMER0 chế độ 16-bit
    TH0 = 0xDC;
    TL0 = 0x00;
    TR0 = 1; //Khởi động TIMER
    IE = 0x82; //Cho phép ngắt TIMER0

    while (1);
    }
    .



+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube