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");
}
}
#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");
}
}
Comment