Code giao tiếp máy tính cho led ma trận

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • wish_blue07
    Thành viên tích cực
    • Dec 2008
    • 126

    #1

    Code giao tiếp máy tính cho led ma trận

    Mình mới viết đoạn code cho viêch giao tiếp máy tính để hiển thị lên led ma trận. Mình dùng Hyper Teminal để gởi dữ liệu từ PC sang led. Chương trinh của mình không báo lổi nhưng khi gởi 1 kí tự nó kô hiển thị được , nhờ các bạn xem giúp đoạn code có phải do thuật toán sai không, hay vấn đề khác .
    CODE :
    #include <REGX52.H> // Su dung 89c52 quet hang
    #define SHIFT P2_2
    #define LATCH P2_1
    #define DATA P2_0
    unsigned int byte_cot,che_bit,hang,chay,cot,toc_do;
    unsigned char chay_gia_tri_bang,ki_tu, uart_data;
    void delay(unsigned char time);
    void dich_bit();
    void hien_thi();
    void giai_ma();
    void khoi_tao();
    void receive_data_pc ();
    unsigned char code ma_che_bit[]=
    {0xFF,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
    unsigned char code font[]={
    0xFF,0x8F,0x77,0x77,0x07,0x77,0x77,0x77,//65(A)
    0xFF,0x0F,0x77,0x77,0x0F,0x77,0x77,0x0F,//66(B)
    0xFF,0x8F,0x77,0x7F,0x7F,0x7F,0x77,0x8F//;67(C)
    };
    void delay(unsigned char time )
    {
    unsigned char i,j;
    for(i=0;i<time;i++)
    for(j=0;j<121;j++);

    }
    void khoi_tao()
    {
    SCON =0X50;// UART CHE DO 1 (8 BIT), REN 1
    TMOD=0X20; // TIMER 1 MODE 2, TIMER 0 MODE 1
    TH1=0XFD; // BAUD 9600
    TH1=0XFD; // BAUD 9600 TA: 11.0592
    TR1=1; // KHOI DONG TIMER 1
    IE=0X90;// CHO PHEP NGAT TOAN CUC VA NGAT NOI TIEP DE XU LY DU LIEU DEN
    TI=0;
    RI=0;
    }
    void receive_data_pc () interrupt 4
    {
    if(RI==1)
    {
    RI=0; // Xoa RI de xac dinh du lieu co duoc truyen tu PC xuong ?
    uart_data =SBUF; // Khi Goi du lieu tu PC --> COM thi lay tu SBUF
    // Dua du lieu vao chan DATA cua IC 595
    }
    }
    void chon_hang(unsigned char hang)
    {
    switch(hang)
    {
    case 1:
    {
    P0=0x7F;// HANG 1
    break;
    }
    case 2:
    {
    P0=0xBF;//hang 2
    break;
    }
    case 3:
    {
    P0=0xDF;//hang3
    break;
    }
    case 4:
    {
    P0=0XEF;//hang 4
    break;
    }
    case 5 :
    {
    P0=0xF7;// HANG 5
    break;
    }
    case 6:
    {
    P0=0xFB;// hang 6
    break;
    }
    case 7:
    {
    P0=0xFD;//hang 7
    break;
    }
    case 8 :
    {
    P0=0xFE;// hang 8
    break;
    }

    }
    }
    void dich_bit()
    {
    for(cot=24;cot>0;cot--)
    {

    che_bit=ma_che_bit[hang];
    byte_cot=font[(ki_tu-32)*8+hang+cot];// quet led
    DATA=(bit)(byte_cot&che_bit);
    SHIFT=1;// dich cot
    SHIFT=0;
    DATA=1;
    }
    }
    void hien_thi()
    {
    for(hang=0;hang<8;hang++)
    {
    dich_bit();
    chon_hang(hang);
    LATCH = 1;
    LATCH = 0;
    delay(1);
    P0=0xff;
    }

    }
    void main(void)
    {

    P0=0xff;
    ki_tu=uart_data;
    khoi_tao();
    while(1)
    {

    hien_thi();

    }
    }


    Mong các bạn xem giúp mình chút nha. thanks trước .
    Học hỏi là trên hết .
  • wish_blue07
    Thành viên tích cực
    • Dec 2008
    • 126

    #2
    Máy anh cao thủ đâu hết rồi, giúp em chút đi, em đang làm đò án, giờ bí quá phải nhờ đến sự giúp đỡ của anh em. Mong giúp mình .
    Học hỏi là trên hết .

    Comment

    • wish_blue07
      Thành viên tích cực
      • Dec 2008
      • 126

      #3
      pro ơi la pro , đi đâu hết rồi , giúp em đoạn code trên cái . Chả thấy ai ghi gì hết vậy.
      Học hỏi là trên hết .

      Comment

      • lhthuong81
        Thành viên mới
        • May 2010
        • 5

        #4
        ko co mach, ko co mo phong lam sau toi biet ban viet gi. lam sau giup duoc day. add code va mo fong len luon di.

        Comment

        • hoangphat
          Thành viên tích cực
          • Mar 2009
          • 369

          #5
          hehe C em chịu rồi ko giúp dc pác
          pác post file mô phỏng lun để anh em còn giúp
          good luck!!!1
          8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
          liên lạc với em qua địa chi email: Mob: 01882.076.989

          Comment

          Về tác giả

          Collapse

          wish_blue07 10_9 Tìm hiểu thêm về wish_blue07

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

          Collapse

          Đang tải...