Giải thích giùm em câu lệnh này với (Keil C)

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • student_dtvt
    Thành viên tích cực
    • Jan 2010
    • 184

    #1

    Giải thích giùm em câu lệnh này với (Keil C)

    Câu lệnh em tô màu đỏ ý! Em ko hiểu làm sao nó tìm đc chữ từ bảng font. Đây là code matran 8x32 dùng 595

    #include <REGX52.H>
    #include <string.h>
    #include <math.h>
    //******************BANG MA ASCII on LED matrix font 5x7 ****************
    unsigned char code font[97][6]={
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//SPACE 0
    0xFF,0xFF,0xA0,0xFF,0xFF,0xFF,//! 1
    0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 2
    0xEB,0x80,0xEB,0x80,0xEB,0xFF,//# 3
    0xDB,0xD5,0x80,0xD5,0xED,0xFF,//$ 4
    0xD8,0xEA,0x94,0xAB,0x8D,0xFF,//% 5
    0xC9,0xB6,0xA9,0xDF,0xAF,0xFF,//& 6
    0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 7
    0xFF,0xE3,0xDD,0xBE,0xFF,0xFF,//( 8
    0xFF,0xBE,0xDD,0xE3,0xFF,0xFF,//) 9
    0xD5,0xE3,0x80,0xE3,0xD5,0xFF,//* 10
    0xF7,0xF7,0xC1,0xF7,0xF7,0xFF,//+ 11
    0xFF,0xA7,0xC7,0xFF,0xFF,0xFF,//, 12
    0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,//- 13
    0xFF,0x9F,0x9F,0xFF,0xFF,0xFF,//x 14
    0xFF,0xC9,0xC9,0xFF,0xFF,0xFF,// / 15
    0xC1,0xAE,0xB6,0xBA,0xC1,0xFF,//0 16
    0xFF,0xBD,0x80,0xBF,0xFF,0xFF,//1 17
    0x8D,0xB6,0xB6,0xB6,0xB9,0xFF,//2 18
    0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,//3 19
    0xE7,0xEB,0xED,0x80,0xEF,0xFF,//4 20
    0xD8,0xBA,0xBA,0xBA,0xC6,0xFF,//5 21
    0xC3,0xB5,0xB6,0xB6,0xCF,0xFF,//6 22
    0xFE,0x8E,0xF6,0xFA,0xFC,0xFF,//7 23
    0xC9,0xB6,0xB6,0xB6,0xC9,0xFF,//8 24
    0xF9,0xB6,0xB6,0xD6,0xE1,0xFF,//9 25
    0xFF,0xC9,0xC9,0xFF,0xFF,0xFF,//: 26
    0xFF,0xA4,0xC4,0xFF,0xFF,0xFF,//// 27
    0xF7,0xEB,0xDD,0xBE,0xFF,0xFF,//< 28
    0xEB,0xEB,0xEB,0xEB,0xEB,0xFF,//= 29
    0xFF,0xBE,0xDD,0xEB,0xF7,0xFF,//> 30
    0xFD,0xFE,0xAE,0xF6,0xF9,0xFF,//? 31
    0xCD,0xB6,0x8E,0xBE,0xC1,0xFF,//@ 32
    0x83,0xF5,0xF6,0xF5,0x83,0xFF,//A 33
    0xBE,0x80,0xB6,0xB6,0xC9,0xFF,//B 34
    0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,//C 35
    0xBE,0x80,0xBE,0xBE,0xC1,0xFF,//D 36
    0x80,0xB6,0xB6,0xB6,0xBE,0xFF,//E 37
    0x80,0xF6,0xF6,0xFE,0xFE,0xFF,//F 38
    0xC1,0xBE,0xB6,0xB6,0xC5,0xFF,//G 39
    0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H 40
    0xFF,0xBE,0x80,0xBE,0xFF,0xFF,//I 41
    0xDF,0xBF,0xBE,0xC0,0xFE,0xFF,//J 42
    0x80,0xF7,0xEB,0xDD,0xBE,0xFF,//K 43
    0x80,0xBF,0xBF,0xBF,0xFF,0xFF,//L 44
    0x80,0xFD,0xF3,0xFD,0x80,0xFF,//M 45
    0x80,0xFD,0xFB,0xF7,0x80,0xFF,//N 46
    0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O 47
    0x80,0xF6,0xF6,0xF6,0xF9,0xFF,//P 48
    0xC1,0xBE,0xAE,0xDE,0xA1,0xFF,//Q 49
    0x80,0xF6,0xE6,0xD6,0xB9,0xFF,//R 50
    0xD9,0xB6,0xB6,0xB6,0xCD,0xFF,//S 51
    0xFE,0xFE,0x80,0xFE,0xFE,0xFF,//T 52
    0xC0,0xBF,0xBF,0xBF,0xC0,0xFF,//U 53
    0xE0,0xDF,0xBF,0xDF,0xE0,0xFF,//V 54
    0xC0,0xBF,0xCF,0xBF,0xC0,0xFF,//W 55
    0x9C,0xEB,0xF7,0xEB,0x9C,0xFF,//X 56
    0xFC,0xFB,0x87,0xFB,0xFC,0xFF,//Y 57
    0x9E,0xAE,0xB6,0xBA,0xBC,0xFF,//Z 58
    0xFF,0x80,0xBE,0xBE,0xFF,0xFF,//[ 59
    0xFD,0xFB,0xF7,0xEF,0xDF,0xFF,//\ 60
    0xFF,0xBE,0xBE,0x80,0xFF,0xFF,//] 61
    0xFB,0xFD,0xFE,0xFD,0xFB,0xFF,//^ 92
    0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,//_ 63
    0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 64
    0xDF,0xAB,0xAB,0xAB,0xC7,0xFF,//a 65
    0x80,0xC7,0xBB,0xBB,0xC7,0xFF,//b 66
    0xFF,0xC7,0xBB,0xBB,0xBB,0xFF,//c 67
    0xC7,0xBB,0xBB,0xC7,0x80,0xFF,//d 68
    0xC7,0xAB,0xAB,0xAB,0xF7,0xFF,//e 69
    0xF7,0x81,0xF6,0xF6,0xFD,0xFF,//f 70
    0xF7,0xAB,0xAB,0xAB,0xC3,0xFF,//g 71
    0x80,0xF7,0xFB,0xFB,0x87,0xFF,//h 72
    0xFF,0xBB,0x82,0xBF,0xFF,0xFF,//i 73
    0xDF,0xBF,0xBB,0xC2,0xFF,0xFF,//j 74
    0xFF,0x80,0xEF,0xD7,0xBB,0xFF,//k 75
    0xFF,0xBE,0x80,0xBF,0xFF,0xFF,//l 76
    0x83,0xFB,0x87,0xFB,0x87,0xFF,//m 77
    0x83,0xF7,0xFB,0xFB,0x87,0xFF,//n 78
    0xC7,0xBB,0xBB,0xBB,0xC7,0xFF,//o 79
    0x83,0xEB,0xEB,0xEB,0xF7,0xFF,//p 80
    0xF7,0xEB,0xEB,0xEB,0x83,0xFF,//q 81
    0x83,0xF7,0xFB,0xFB,0xF7,0xFF,//r 82
    0xB7,0xAB,0xAB,0xAB,0xDB,0xFF,//s 83
    0xFF,0xFB,0xC0,0xBB,0xBB,0xFF,//t 84
    0xC3,0xBF,0xBF,0xDF,0x83,0xFF,//u 85
    0xE3,0xDF,0xBF,0xDF,0xE3,0xFF,//v 86
    0xC3,0xBF,0xCF,0xBF,0xC3,0xFF,//w 87
    0xBB,0xD7,0xEF,0xD7,0xBB,0xFF,//x 88
    0xF3,0xAF,0xAF,0xAF,0xC3,0xFF,//y 89
    0xBB,0x9B,0xAB,0xB3,0xBB,0xFF,//z 90
    0xFB,0xE1,0xE0,0xE1,0xFB,0xFF,//^ 62
    0xE3,0xE3,0xC1,0xE3,0xF7,0xFF,//-> 93
    0xF7,0xE3,0xC1,0xE3,0xE3,0xFF,//<- 94
    0xEF,0xC3,0x83,0xC3,0xEF,0xFF,// 95
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//BLANK CHAR 96
    };
    sfr DataPort = 0x90;
    sfr Dataport2= 0xB0;
    sbit sdi = P1^0;
    sbit str = P1^2;
    sbit clk = P1^1;
    #define Tien 1
    #define Lui 0
    //-------------------------------------------
    //-------------------------------------------
    unsigned char Temp_code,a[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};
    unsigned int Pos=0,do_dai_chuoi,j,do_rong;
    unsigned char t,i;
    #define With_of_font 6
    void wait(unsigned int n){ while(n--); }
    void chaychu(unsigned char che_do,unsigned char *f)
    {
    int bat_dau,ket_thuc,do_dai_chuoi;
    do_dai_chuoi=strlen(f)*6;
    if(che_do==Tien){ bat_dau=0; ket_thuc= do_dai_chuoi-31; }
    if(che_do==Lui ){ bat_dau=-do_dai_chuoi-32; ket_thuc= -31; }
    do
    {
    for(t=0;t<10;t++)
    {
    sdi=1;
    for(i=0;i<32;i++)
    {
    clk=1;clk=0;
    str=1;str=0;
    do_rong=abs(bat_dau+i);
    if(che_do==Tien) {do_rong=bat_dau+i;}
    if(che_do==Lui) {do_rong=abs(bat_dau-i);}
    Temp_code=font[f[(do_rong%do_dai_chuoi)/6] -32][do_rong%6];
    P0=Temp_code;
    wait(60);
    sdi=0;
    }
    }
    bat_dau++;
    } while(bat_dau!=ket_thuc);
    P0=0xff;P2=0xff;wait(8000);
    }
    void main ()
    {
    while(1)
    {
    chaychu(Tien,"NGUYEN VAN BINH DT6-K5");
    chaychu(Lui,"NGUYEN THUY NGA KINH TE K12");
    }
    }
  • phamthuchung
    Thành viên mới
    • Jan 2013
    • 4

    #2
    unsigned char code Mchar[36][7]={
    48,0,126,129,129,129,126,/*0*/
    49,0,0,33,65,255,1,/*1*/
    50,0,99,135,137,145,97,/* 2 */
    51,0,66,129,145,145,110,/* 3 */
    52,0,24,40,72,255,8,/* 4 */
    53,0,226,145,145,145,142,/* 5 */
    54,0,118,137,137,137,70,/* 6 */
    55,0,128,135,136,144,224,/* 7 */
    56,0,110,145,145,145,110,/* 8 */
    57,0,102,145,145,145,110,/* 9 */
    65,0,63,72,136,72,63,/* A */
    66,0,255,145,145,145,110,/* B */
    67,0,126,129,129,129,70,/* C */
    68,0,255,129,129,129,126,/* D */
    69,0,255,145,145,145,129,/* E */
    70,0,255,144,144,144,128,/* F */
    71,0,126,129,129,137,78,/* G */
    72,0,255,16,16,16,255,/* H */
    73,0,129,129,255,129,129,/* I */
    74,0,2,129,130,252,128,/* J */
    75,0,255,24,36,66,129,/* K */
    76,0,255,1,1,1,1,/* L */
    77,0,255,64,32,64,255,/* M */
    78,0,255,96,24,6,255,/* N */
    79,0,126,129,129,129,126,/* O */
    80,0,255,144,144,144,96,/* P */
    81,0,126,129,133,130,125,/* Q */
    82,0,255,144,144,144,111,/* R */
    83,0,98,144,144,144,78,/* S */
    84,0,128,128,255,128,128,/* T */
    85,0,254,1,1,1,254,/* U */
    86,0,252,2,3,2,252,/* V */
    87,0,255,12,3,12,255,/* W */
    88,0,199,40,16,40,199,/* X */
    89,0,224,16,15,16,224,/* Y */
    90,0,131,133,153,161,193/* Z */
    };
    minh cung ko hieu cai nay
    co ai giup minh ko

    Comment

    • maingochoc
      Thành viên tích cực
      • Jan 2010
      • 501

      #3
      Reply

      Đó là bảng font.

      Comment

      • vuthehiep
        Thành viên tích cực
        • Aug 2010
        • 253

        #4
        Đây là code led ma trận 16x32 hả bạn

        Comment

        • ngochai1992
          Thành viên mới
          • Aug 2012
          • 8

          #5
          đó là mã code của led thôi chứ có j đâu.

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...