Thông báo

Collapse
No announcement yet.

cần giúp code led quay chạy chữ

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

  • cần giúp code led quay chạy chữ

    Có bác nào giúp e với, e xin được cái code cho led quay nhưng hiện giờ nó chỉ hiện chữ chứ không chạy ạ. code đây bác nào từng làm rồi giúp e với , liên quan đến viết trương trình e mù tịt.

    #include <at89x52.h>
    #include<stdlib.h>
    unsigned char code mang1[]={ " ma chu hien thi " };

    unsigned int i,k=0;
    unsigned char j,buoc=0;
    void ngat_timer0(void) interrupt 1 using 1
    {
    P0_1=~P0_1;
    TH0=0xFD;
    TL0=0x12;
    }
    void ISR0 (void) interrupt 0 using 2
    {
    TH0=0xFD;
    TL0=0x12;
    TR0=1;
    P0_1=0;
    switch (buoc)
    {
    //================================================== ==============================================
    case 0:

    for(i=0;i<k;i++)
    {
    j=25;
    while(j--)
    {
    P1=~mang1[i];
    }

    }

    k++;
    if(k==200)
    {
    k=0;
    buoc++;
    }
    break;

    //================================================== =====================================
    default:
    {buoc=0;
    k=0;}
    break;
    }
    }
    void delay(unsigned char a)
    {
    while(a--)
    {
    unsigned char b=120;
    while(b--);
    }
    }

    void main()
    {
    TMOD=1;
    P1=0xff;
    P0=0xff;
    EA=1;
    EX0=1;
    ET0=1;
    while(1)
    {
    delay(1000);
    }
    }

  • #2
    Chào bạn!
    Chương trình trên chỉ là xuất chữ dạng "mở nan quạt" thôi. Tớ góp ý 2:
    Cách 1 (với số cột dữ liệu ít hơn số cột trên 1 vòng quay): Chổ xuất dữ liệu "for(i=0;i<k;i++)" chỗ này bạn thay bằng "for(i=k; i<(chiều dài dữ liệu tính bằng cột); i++)" rồi sau mỗi lần xuất dữ liệu bạn cho k tăng lên 1 đơn vị. Cứ như vậy cho đến khi xuất hết dữ liệu thì reset k về 0. Cách này dễ làm.
    Cách 2 (xịn hơn): Bạn cho xuất số cột dữ liệu <= số cột trên 1 vòng quay như cách 1, sau đó thực hiện dịch dữ liệu "for(i=k; i<(số cột đã xuất +k); i++)" để xuất hết các chữ còn lại- chú ý việc sai dữ liệu khi biến i vượt quá dữ liệu đã tạo.
    Góp ý như vậy chắc bạn sẽ khắc phục được, chúc bạn thành công!

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    Đang tải...
    X