1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

lập trình led matrix | Program led matrix p10 dip p10 smd red p10 pull color p5 full color

111 134 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Program Led Matrix Module P10 One Color - P10 Pull Color - P5 Full Color And Led Matrix Display Effect
Tác giả Nguyen Van Anh
Trường học Hanoi University of Industry
Chuyên ngành Led Technology
Thể loại project
Năm xuất bản 2024
Thành phố Ho Chi Minh
Định dạng
Số trang 111
Dung lượng 2,26 MB

Cấu trúc

  • 1. Tìm hiểu chung về các loại module led (3)
  • 2. Module led matrix P10 DIP RED LED SCAN 1/4 (3)
  • 3. Module led matrix P10 SMD RED LED SCAN 1/8 (28)
  • 4. Module led matrix P10 SMD FULL COLOR SCAN ẳ (48)
  • 5. Module led matrix P5 SMD FULL COLOR SCAN 1/16 (84)
  • 6. Liên hệ công việc, hợp tác (110)

Nội dung

lập trình các loại module led ma trận P10, P5 loại 1 màu và loại full màu. trong bài viết là full code của một phần dự án mình làm, nhưng nó đầy đủ tính năng để có thể hiển thị yêu cầu mong muốn như ảnh đính kèm. nếu bạn cần hỗ trợ hoặc hợp tác công việc thì hãy liên hệ với mình qua zalo: 097752155ba

Tìm hiểu chung về các loại module led

- Hiện trên thị trường có nhiều loại module Led matrix,…

- Cách đọc thông số 1 tấm module LED matrix: hàng cột, kiểu quét,…

(xem video trong danh sách phát “LED MATRIX” trên kênh youtube :

Nguyễn Văn Anh_HaUI link:https://youtube.com/playlist?list=PLWPDXLoOSNer48ude91XM_8kKG gYh8Uvm&si=uceVvIYSdousvASh)

Module led matrix P10 DIP RED LED SCAN 1/4

- Cách kiểm tra hướng dịch dữ liệu và kiểu quét của tấm led để code phù hợp: trên kênh Youtube

- Dưới đây là code mẫu hiển thị “tĩnh” 1 tấm Led P10 kiểu quét 1/4 : ảnh minh họa loại led chứ code ko hiển thị như ảnh

AVR Core Clock frequency: 16 MHz

#define B PORTB.1 //**********board LED MATRIX

#define DATA PORTB.3 int MatrixX; int MatrixY; flash unsigned char font_ASCII[][16]= //Van Anh tao //font 8x16

{0x00,0x20,0x10,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Af 1

{0x00,0x08,0x10,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //As 2

{0x30,0x08,0x10,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Ar 3

{0x00,0x24,0x58,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Ax 4

{0x00,0x00,0x00,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x18,0x18}, //Aj 5

{0x00,0x44,0x38,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aw 6

{0x20,0x10,0x44,0x38,0x00,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Awf 7

{0x08,0x10,0x44,0x38,0x00,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aws 8

{0x30,0x10,0x44,0x38,0x00,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Awr 9

{0x64,0x98,0x42,0x3C,0x00,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Awx 10

{0x00,0x44,0x38,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x18,0x18}, //Awj 11

{0x10,0x28,0x44,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aa 12

{0x04,0x12,0x29,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aaf 13

{0x02,0x04,0x10,0x28,0x44,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aas 14

{0x03,0x01,0x12,0x28,0x44,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aar 15

{0x39,0x46,0x10,0x28,0x44,0x38,0x6C,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x00,0x00,0x00}, //Aax 16

{0x00,0x10,0x28,0x00,0x38,0x38,0x6C,0x6C,0x44,0xC6,0xFE,0xC6,0xC6,0x00,0x18,0x18}, //Aaj 17

{0x20,0x50,0x88,0x00,0xFC,0xC0,0xC0,0xC0,0xF8,0xC0,0xC0,0xC0,0xFC,0x00,0x00,0x00}, //Ee 24

{0x10,0x08,0x04,0x30,0x48,0x00,0xFC,0xC0,0xC0,0xFC,0xC0,0xC0,0xFC,0x00,0x00,0x00}, //Eef 25

{0x01,0x02,0x04,0x30,0x48,0x00,0xFC,0xC0,0xFF,0xFC,0xC0,0xC0,0xFC,0x00,0x00,0x00}, //Ees 26

{0x07,0x01,0x02,0x30,0x48,0x00,0xFC,0xC0,0xFF,0xFC,0xC0,0xC0,0xFC,0x00,0x00,0x00}, //Eer 27

{0x32,0x4C,0x00,0x30,0x48,0x00,0xFC,0xC0,0xFF,0xFC,0xC0,0xC0,0xFC,0x00,0x00,0x00}, //Eex 28

{0x00,0x30,0x60,0x60,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x60,0x60,0x30,0x00,0x00,0x00}, //( 40

{0x00,0x00,0x00,0x00,0x38,0x60,0xC0,0xF8,0xCC,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00}, // 6 54

{0x00,0x00,0x00,0x00,0x78,0xCC,0xCC,0xCC,0x78,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00}, // 8 56

{0x00,0x00,0x00,0x00,0x3C,0x62,0xC0,0xC0,0xC0,0xC0,0xC0,0x62,0x3C,0x00,0x00,0x00}, //C 67

{0x00,0x00,0x00,0x00,0xF8,0xCC,0xC6,0xC6,0xC6,0xC6,0xC6,0xCC,0xF8,0x00,0x00,0x00}, //D 68

{0x00,0x00,0x00,0x00,0xFC,0xC0,0xC0,0xC0,0xF8,0xC0,0xC0,0xC0,0xFC,0x00,0x00,0x00}, //E 69

{0x00,0x00,0x00,0x00,0xFC,0xC0,0xC0,0xC0,0xF8,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00}, //F 70

{0x00,0x00,0x00,0x00,0x3E,0x61,0xC0,0xC0,0xCF,0xC3,0xC3,0x63,0x3E,0x00,0x00,0x00}, //G 71

{0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00}, //H 72

{0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00}, //I 73

{0x00,0x00,0x00,0x00,0xC6,0xCC,0xCC,0xD8,0xF0,0xD8,0xCC,0xCC,0xC6,0x00,0x00,0x00}, //K 75

{0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xF8,0x00,0x00,0x00}, //L 76

{0x00,0x00,0x00,0x00,0xC3,0xC3,0xE7,0xFF,0xDB,0xDB,0xC3,0xC3,0xC3,0x00,0x00,0x00}, //M 77

{0x00,0x00,0x00,0x00,0xC6,0xE6,0xE6,0xF6,0xDE,0xCE,0xCE,0xC6,0xC6,0x00,0x00,0x00}, //N 78

{0x00,0x00,0x00,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //O 79

{0x00,0x00,0x00,0x00,0xF8,0xCC,0xCC,0xCC,0xCC,0xF8,0xC0,0xC0,0xC0,0x00,0x00,0x00}, //p 80

{0x00,0x00,0x00,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xCB,0x66,0x3E,0x03,0x00,0x00}, //Q 81

{0x00,0x00,0x00,0x00,0xF8,0xCC,0xCC,0xCC,0xF8,0xD8,0xCC,0xCC,0xCE,0x00,0x00,0x00}, //R 82

{0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00}, //U 85

{0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x6C,0x38,0x38,0x00,0x00,0x00}, //V 86

{0x00,0x00,0x00,0x00,0xC3,0xC3,0xC3,0xDB,0xDB,0xFF,0xE7,0xC3,0x81,0x00,0x00,0x00}, //W 87

{0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0xFF,0xDB,0xDB,0xDB,0xDB,0xDB,0x00,0x00,0x00}, //m 109

{0x00,0x30,0x18,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Of 130

{0x00,0x0C,0x18,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Os 131

{0x1C,0x04,0x08,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Or 132

{0x00,0x32,0x4C,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Ox 133

{0x00,0x00,0x00,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x18,0x18}, //Oj 134

{0x00,0x18,0x24,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Oo 135

{0x80,0x58,0x24,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Oof 136

{0x01,0x1A,0x24,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Oos 137

{0x03,0x19,0x25,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Oor 138

{0x1D,0x22,0x18,0x24,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //OOX 139

{0x00,0x18,0x24,0x00,0x3C,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x18,0x18}, //OOJ 140

{0x00,0x00,0x03,0x01,0x3F,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //OW 141

{0x20,0x10,0x0B,0x01,0x3F,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //OWF 142

{0x04,0x08,0x13,0x01,0x3F,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //Ows 143

{0x38,0x08,0x13,0x01,0x3F,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //OWR 144

{0x32,0x4C,0x03,0x01,0x3F,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //OWX 145

{0x00,0x00,0x03,0x01,0x3F,0x66,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x18,0x18}, //OWJ 146

{0x60,0x30,0x18,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //UF 147

{0x06,0x0C,0x18,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //US 148

{0x1C,0x04,0x08,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //UR 149

{0x00,0x32,0x4C,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00}, //UX 150

{0x00,0x00,0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x00,0x18,0x18}, //UJ 151

{0x00,0x00,0x03,0x01,0xC7,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00}, //UW 152

{0x60,0x30,0x1B,0x01,0xC7,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00}, //UWF 153

{0x0C,0x18,0x33,0x01,0xC7,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00}, //UWS 154

{0x18,0x08,0x13,0x01,0xC7,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00}, //UWR 155

{0x32,0x4C,0x03,0x01,0xC7,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00}, //UWX 156

{0x00,0x00,0x03,0x01,0xC7,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x18,0x18}, //UWJ 157

}; unsigned char Buffer_display[16][4]; void Matrix_chonvitri(char x,char y)

} void chuyen(unsigned char dat) //SHIFT IC595

} void hang(unsigned char sohang)

{ case 1:{A=0;B=0;OE=1;break;} case 2:{A=1;B=0;OE=1;break;} case 3:{A=0;B=1;OE=1;break;} case 4:{A=1;B=1;OE=1;break;}

} void delay(unsigned int t) //delay_us { unsigned int i; for(i=0;i31 || y>15 || x> (x%8)); else Buffer_display[y][x/8] &= ~(0x80 >> (x%8));

} void Matrix_guikitu(unsigned char txt)

{ if ( (font_ASCII[txt][y-MatrixY] & (0x80>>(x-MatrixX))) != 0)

MatrixX+=8; //sau khi in xong thi tang con tro vi tri len

} void Matrix_guichuoi(unsigned char *s)

//=================== HIEU UNG==========================//*****************TREN XUONG DUOI********************* void chu_VART_tren_xuong()

Buffer_display[0][3]=font_ASCII['T'][17-c]; for(b=0;b (x%8)); else Buffer_display[y][x/8] &= ~(0x80 >> (x%8));

} void Matrix_guikitu(unsigned char txt)

{ if ( (font_ASCII[txt][y-MatrixY] & (0x80>>(x-MatrixX))) != 0) Matrix_setpx(x,y,1); else

MatrixX+=8; //sau khi in xong thi tang con tro vi tri len

} void Matrix_guichuoi(unsigned char *s)

//=================== HIEU UNG==========================//*****************TREN XUONG DUOI********************* void chu_tren_xuong()

Matrix_guichuoi("VART"); for(b=0;b>(x-MatrixX))) != 0) { if (x>d && x> (x%8));

} void Matrix_guikitu(unsigned char txt)

{ if ( (font_VNArialH[txt][y-MatrixY] & (0x80>>(x-MatrixX))) != 0) Matrix_setpx(x,y,1); else

MatrixX+=4; //sau khi in xong thi tang con tro vi tri len else

MatrixX+=6; //sau khi in xong thi tang con tro vi tri len

} void Matrix_guichuoi(unsigned char *s)

#asm("sei") //set bit I cho phep ngat toan cuc while (1)

This program was created by the

Automatic Program Generator © Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l http://www.hpinfotech.com

Project : p10 full color hiem thi full mau

AVR Core Clock frequency: 16 MHz

#define D PORTC.5 //**********board LED MATRIX HUB12 HUB75

#define CLK PORTB.5 // SCK(CPU)

#define B2 PORTC.2 //MOSI(CPU) //L1(LINE) //DATA

//khai báo các byte m?t n? d? l?y ra t?ng thành ph?n màu

#define B_MASK 0x04 //blue int MatrixX; int MatrixY; flash unsigned char font_VNArialH[][16]= //FONT NHO HON //TAO CHO VMS //font 6x16

81 unsigned char Buffer_display[3][16][4]; unsigned char Buffer_display_change[3][16][4]; void change_buffer()

{ unsigned char i,j,k; for (k=0;k (x%8)); //clear R if((color&G_MASK)!=0)Buffer_display[1][y][x/8] |= (0x80 >> (x%8)); //set

G else Buffer_display[1][y][x/8] &= ~(0x80 >> (x%8)); //clear G if((color&B_MASK)!=0)Buffer_display[2][y][x/8] |= (0x80 >> (x%8)); //set

} void Matrix_guikitu(unsigned char txt, unsigned char color)

{ if ( (font_VNArialH[txt][y-MatrixY] & (0x80>>(x-MatrixX))) != 0) Matrix_setpx(x,y,color); else

MatrixX+=4; //sau khi in xong thi tang con tro vi tri len else

MatrixX+=6; //sau khi in xong thi tang con tro vi tri len

} void Matrix_guichuoi(unsigned char *s, unsigned char color)

} void Matrix_guichuoi_nhieu_mau(unsigned char *s, unsigned char *color)

// Matrix_guichuoi_nhieu_mau((unsigned char *)"VART",(unsigned char []){RED,WHITE,YELLOW,GREEN});

#asm("sei") //set bit I cho phep ngat toan cuc while (1)

Module led matrix P5 SMD FULL COLOR SCAN 1/16

This program was created by the

Automatic Program Generator © Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l http://www.hpinfotech.com

Comments: chay 1 tam p5, chay 1 mau

AVR Core Clock frequency: 8.000000 MHz

#define D PORTC.5 //**********board LED MATRIX HUB12 HUB75

#define CLK PORTB.5 // SCK(CPU)

//khai báo các byte m?t n? d? l?y ra t?ng thành ph?n màu

//#define B_MASK 0x04 int MatrixX; int MatrixY; flash unsigned char font_VNArialH[][32]{

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0xA8,0x00,0x00,

}; unsigned char Buffer_display[32][8]; unsigned char Buffer_display1[32][8];

104 unsigned char Buffer_display2[32][8]; void OR_buffer()

Buffer_display[i][j] = Buffer_display1 [i][j] | Buffer_display2 [i][j] ; } void Matrix_chonvitri(char x,char y)

} void chuyen(unsigned char x1,unsigned char x2)

CLK = 0;CLK = 1; // Tao xung dich du lieu

} void hang(unsigned char sohang)

{ case 0:{A=0;B=0;C=0;D=0;break;} case 8:{A=0;B=0;C=0;D=1;break;} case 4:{A=0;B=0;C=1;D=0;break;} case 12:{A=0;B=0;C=1;D=1;break;}

105 case 2:{A=0;B=1;C=0;D=0;break;} case 10:{A=0;B=1;C=0;D=1;break;} case 6:{A=0;B=1;C=1;D=0;break;} case 14:{A=0;B=1;C=1;D=1;break;} case 1:{A=1;B=0;C=0;D=0;break;} case 9:{A=1;B=0;C=0;D=1;break;} case 5:{A=1;B=0;C=1;D=0;break;} case 13:{A=1;B=0;C=1;D=1;break;} case 3:{A=1;B=1;C=0;D=0;break;} case 11:{A=1;B=1;C=0;D=1;break;} case 7:{A=1;B=1;C=1;D=0;break;} case 15:{A=1;B=1;C=1;D=1;break;}

} void delay(unsigned int t) //delay_us

{ chuyen(Buffer_display[16-x][a],Buffer_display[32-x][a]); }

} interrupt [TIM1_OVF] void timer1_ovf_isr(void)

//==============================hien thi dong 1================================= void Matrix_setpx1(int x,int y,unsigned char color)

{ if(x>63 || y>32 || x> (x%8)); //set R else Buffer_display1[y][x/8] &= ~(0x80 >> (x%8)); //clear R

// if((color&G_MASK)!=0)Buffer_display[y][x/8] |= (0x80 >> (x%8)); //set G // else Buffer_display[y][x/8] &= ~(0x80 >> (x%8)); //clear G //

// if((color&B_MASK)!=0)Buffer_display[y][x/8] |= (0x80 >> (x%8)); //set B // else Buffer_display[y][x/8] &= ~(0x80 >> (x%8)); //clear B }

107 void Matrix_guikitu1(unsigned char txt)

{ if ( (font_VNArialH[txt-32][y-MatrixY] & (0x80>>(x-MatrixX))) ! 0)Matrix_setpx1(x,y,1); else Matrix_setpx1(x,y,0);

MatrixX+=6; //sau khi in xong thi tang con tro vi tri len

} void Matrix_guichuoi_MAKE_COLOR1(unsigned char *s)

//==========================================================================//=====================hien thi dong 2===================================== void Matrix_setpx2(int x,int y,unsigned char color)

{ if(x>63 || y>32 || x> (x%8)); //set R else Buffer_display2[y][x/8] &= ~(0x80 >> (x%8)); //clear R

// if((color&G_MASK)!=0)Buffer_display[y][x/8] |= (0x80 >> (x%8)); //set G // else Buffer_display[y][x/8] &= ~(0x80 >> (x%8)); //clear G //

// if((color&B_MASK)!=0)Buffer_display[y][x/8] |= (0x80 >> (x%8)); //set B // else Buffer_display[y][x/8] &= ~(0x80 >> (x%8)); //clear B } void Matrix_guikitu2(unsigned char txt)

{ if ( (font_VNArialH[txt-32][y-MatrixY] & (0x80>>(x-MatrixX))) ! 0)Matrix_setpx2(x,y,1); else Matrix_setpx2(x,y,0);

MatrixX+=6; //sau khi in xong thi tang con tro vi tri len

} void Matrix_guichuoi_MAKE_COLOR2(unsigned char *s)

DDRB=0xFF; //board VAN ANH

// TCCR1B=0x02; // dung timer // = 0x02 de kich hoat timer /8 // TIMSK1=0x01;

Matrix_guichuoi_MAKE_COLOR1("Van Anh");

Matrix_guichuoi_MAKE_COLOR2("HaUI");

#asm("sei") //set bit I cho phep ngat toan cuc while (1)

Liên hệ công việc, hợp tác

- Nếu bạn cần một thiết kế phần cứng hoặc hỗ trợ, kết nối hiển thị data cho các loại led trên thông qua truyền thông thì mình có nhận code và thiết kế nha, ngoài ra mình còn nhận thiết kế các loại mạch khác, ứng dụng Iot, cần liên hệ :

- fb: https://www.facebook.com/anhhungtanbinh/

Ngày đăng: 16/02/2024, 14:00

TỪ KHÓA LIÊN QUAN