1. Trang chủ
  2. » Giáo Dục - Đào Tạo

vi xử lý 8051, led ma trận hiển thị tiếng việt có dấu

22 197 0

Đ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

Định dạng
Số trang 22
Dung lượng 674,97 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LẬP TRÌNH VI ĐIỀU KHIỂN 8051 Mục tiêu: Hiển thị chữ tiếng việt lên led ma trận sử dụng led ma trận 8x8, chữ chạy từ phải qua trái cho dễ đọc.. Hiệu ứng: Chữ thường dài hơn phần hiển thị

Trang 1

LẬP TRÌNH VI ĐIỀU KHIỂN 8051

Mục tiêu: Hiển thị chữ tiếng việt lên led ma trận

sử dụng led ma trận 8x8, chữ chạy từ phải qua trái (cho dễ đọc)

Hiệu ứng: Chữ thường dài hơn phần hiển thị, nên sau khi hiển thị tất cả các cột, sau khi cột cuối cùng trôi hết thì

mới lặp lại Có thể hiển thị nhiều chuỗi nối tiếp nhau

Điều khiển: Mạch tự động chạy, có 2 nút bấm: 1 nút pause/unPause; và 1 nút next (để sang ngay chuỗi tiếp theo)

nhưng thấy hơi bé để hiển thị tiếng việt

Cuối cùng thì quyết định dùng 2 hàng led8x8 thì mới đủ độ cao để hiển thị tiếng việt có dấu

Mạch thật: chưa làm ^^

Mạch mô phỏng: sử dụng AT89C51 và 5 IC loại 74HC595, 4 con cuối dùng để xác định 1 cột cần quét, con đầu tiên

dùng để đưa dữ liệu các bít cần sáng trong cột đang quét

ở mạch trên, led sáng thì dữ liệu xuất bít 0

clr sh_cp ; dua chan sh xuong muc thap,chan xac nhan bit

clr st_cp ; xoa chan chot

Trang 2

out1byte:

mov b,#8 ; xuat 8 bit trong A ra 1 con 595

loop_out: ; vong lap 2

rlc a ; dua 1 bit trong a vao cy mov dl,c ; chuyen 1 bit vao chan dl

setb sh_cp ; dua xung xac nhan de dua 1 bit vao vdk clr sh_cp ; xac nhan xong 1 bit duoc dua vao vdk djnz b,loop_out; nhay khi khong bang 0 de dua 8 bit vao vdk

ret

XuatDL:

mov a,r4 rlc a mov r4,a mov a,r3 rlc a mov r3,a mov a,r2 rlc a mov r2,a mov a,r1 rlc a mov r1,a mov a,r1 acall out1byte mov a,r2 acall out1byte mov a,r3 acall out1byte mov a,r4 acall out1byte mov a,r0 movc a,@a+dptr acall out1byte setb st_cp ; dua xung vao chan st_cp de xuat du lieu ra led clr st_cp

;db

7h,0ebh,0edh,0ebh,7h,0ffh,1h,0f3h,0e7h,0cfh,9fh,1h,0ffh,1h,0efh,0efh,0efh,1h,0ffh,0f1h,0e0h,0c0h,81h,3h,81h,0c0h,0e0h,0f1h,0ffh,1h,6dh,6dh,6dh,0ffh,1h,0f3h,0e7h,0cfh,0e7h,0f3h,1h,0ffh,0ffh,1h,7fh,7fh,7fh,0ffh,7h,0ebh,0edh,0ebh,7h,0ffh,1h,0f3h,0e7h,0cfh,0e7h,0f3h,1h,0ffh,40h,0ffh

;db 00000111B, 11101011B, 11101101B, 11101011B, 00000111B, 11111111B,

11111111B, 00000001B, 11110111B, 11101011B, 11011101B, 10111111B,01100111B, 11000011B, 11000011B, 11000011B, 11100111B, 11111111B,11111111B, 11110001B, 11100000B, 11000000B, 10000001B, 00000011B,10000001B, 11000000B, 11100000B, 11110001B, 11111111B, 00000001B,01101101B, 01101101B, 01101101B, 11111111B, 00000001B, 11110011B,11100111B, 11001111B, 11100111B, 11110011B, 00000001B, 11111111B,11111111B, 00000001B, 01111111B, 01111111B, 01111111B, 11111111B,00000111B, 11101011B, 11101101B, 11101011B, 00000111B, 11111111B,00000001B, 11110011B, 11100111B, 11001111B, 11100111B, 11110011B,00000001B, 11111111B, 01000000B, 11111111B

Trang 3

Có thể dùng excel để vẽ chữ như hình dưới, sau đó nối các bít theo cột dọc để có dữ liệu cho code asm viết trên keil ở ảnh dưới thử viết chữ có dấu thì k0 ổn lắm, vì chỉ cao 8 đèn nên rất khó thể hiện dấu tiếng Việt

Quyết định dùng 2 hàng led8x8 thì mới đủ độ cao để hiển thị tiếng việt có dấu như sau:

Mạch mô phỏng sử dụng 6 IC loại 74HC595 để điều khiển hàng và cột, 4 con cuối dùng để chọn hàng cần quét, 2 con đầu dùng để đưa dữ liệu ra 2 hàng led

Code asm cho mạch này là:

; DAT TEN CHO CAC CHAN

CHOT595 BIT P2.2

Trang 4

CLR CLOCK595 ; DUA CHAN SH XUONG MUC THAP,CHAN XAC NHAN BIT

JB F0, END_SHOW_STR1

ACALL DISPLAY DJNZ STRING_LENGTH, AGAIN1 DJNZ LOOP_TIME, LOOP_STRING1

JB F0, END_SHOW_STR2 ACALL DISPLAY DJNZ STRING_LENGTH, AGAIN2 DJNZ LOOP_TIME, LOOP_STRING2

JB F0, END_SHOW_STR3 ACALL DISPLAY DJNZ STRING_LENGTH, AGAIN3 DJNZ LOOP_TIME, LOOP_STRING3

CPL PAUSE

Trang 5

IF_NEXT:

JB PAUSE,END_NEXT

WAIT_NEXT:

ACALL DISPLAY JNB P3.3, WAIT_NEXT

MOV B,#8 ; XUAT 8 BIT TRONG A RA 1 CON 595

LOOP_OUT: ; VONG LAP 2

RLC A ; DUA 1 BIT TRONG A VAO CY MOV DU_LIEU,C ; CHUYEN 1 BIT VAO CHAN DU_LIEU SETB CLOCK595 ; DUA XUNG XAC NHAN DE DUA 1 BIT VAO VDK CLR CLOCK595 ; XAC NHAN XONG 1 BIT DUOC DUA VAO VDK DJNZ B, LOOP_OUT ; NHAY KHI KHONG BANG 0 DE DUA 8 BIT VAO VDK RET

MOV A,COUNTER ;LAY GIA TRI BIEN DEM

MOVC A,@A+DPTR ;LAY DATA

CJNE A,#0,FOR_DELAY

END_DELAY:

RET

Trang 6

MYDATA1: ;'DO DUY COP - HOC VI DIEU KHIEN'; LENGTH=240

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

DB 0EFH,0EEH, 0FH,0E0H, 0FH,0E0H,0EFH,0EEH,0CFH,0E6H, 1FH,0F0H, 3FH,0F8H,0FFH,0FFH; 159

DB 0F7H,0F0H, 53H,0E0H, 4BH,0EFH, 63H,0EFH, 47H,0EFH, 53H,0E0H,0FBH,0F0H,0FFH,0FFH; 231

DB 0EFH,0EFH, 0FH,0E0H, 0FH,0E0H,0FFH,0FEH, 7FH,0FFH, 7FH,0E0H,0FFH,0E0H,0FFH,0FFH; 104 H

DB 0FFH,0F0H, 7FH,0E0H, 7FH,0EFH, 7FH, 2FH, 7FH, 2FH, 7FH,0E0H,0FFH,0F0H,0FFH,0FFH; 228

DB 0FFH,0F0H, 7FH,0E0H, 7FH,0EFH, 7FH,0EFH, 7FH,0EFH, 7FH,0E6H,0FFH,0F6H,0FFH,0FFH; 99 C

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH; 32 (SPACE)

DB 0FFH,0FFH, 7FH,0F8H, 7FH,0F0H,0FFH,0E7H,0FFH,0E7H, 7FH,0F0H, 7FH,0F8H,0FFH,0FFH; 118 V

DB 0FFH,0FFH, 7FH,0EFH, 4FH,0E0H, 4FH,0E0H,0FFH,0EFH,0FFH,0FFH,0FFH,0FFH; 105 I

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH; 32 (SPACE)

DB 0FFH,0F1H,0FFH,0E0H, 5FH,0EEH, 5FH,0EFH, 0FH,0F0H, 0FH,0E0H,0DFH,0EFH,0FFH,0FFH; 166

DB 0FFH,0FFH, 7FH,0EFH, 4FH,0E0H, 4FH,0E0H,0FFH,0EFH,0FFH,0FFH,0FFH,0FFH; 105 I

DB 0FBH,0F0H, 53H,0E0H, 47H,0EDH, 6FH,0EDH, 4FH,0EDH, 5FH,0E4H,0FFH,0F4H,0FFH,0FFH; 210

DB 7FH,0F0H, 7FH,0E0H,0FFH,0EFH,0FFH,0EFH, 7FH,0F0H, 7FH,0E0H,0FFH,0EFH,0FFH,0FFH; 117 U

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH; 32 (SPACE)

DB 0EFH,0EFH, 0FH,0E0H, 0FH,0E0H,0FFH,0FDH,0FFH,0F8H, 7FH,0E2H, 7FH,0E7H,0FFH,0FFH; 107 K

DB 0EFH,0EFH, 0FH,0E0H, 0FH,0E0H,0FFH,0FEH, 7FH,0FFH, 7FH,0E0H,0FFH,0E0H,0FFH,0FFH; 104 H

DB 0FFH,0FFH, 7FH,0EFH, 4FH,0E0H, 4FH,0E0H,0FFH,0EFH,0FFH,0FFH,0FFH,0FFH; 105 I

DB 0FFH,0F0H, 5FH,0E0H, 4FH,0EDH, 6FH,0EDH, 4FH,0EDH, 5BH,0E4H,0EBH,0F4H,0F3H,0FFH; 211

DB 7FH,0FFH, 7FH,0E0H,0FFH,0E0H, 7FH,0FFH, 7FH,0FFH, 7FH,0E0H,0FFH,0E0H,0FFH,0FFH; 110 N MYDATA2:

;'Thi tr?c nghi?m trên máy' length=202

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

db 0ffh,0ffh, 8fh,0ffh,0cfh,0efh, 0fh,0e0h, 0fh,0e0h,0cfh,0efh, 8fh,0ffh,0ffh,0ffh; 84 T;//84 T

db 0efh,0efh, 0fh,0e0h, 0fh,0e0h,0ffh,0feh, 7fh,0ffh, 7fh,0e0h,0ffh,0e0h,0ffh,0ffh; 104 h;//104 h

db 0ffh,0ffh, 7fh,0efh, 4fh,0e0h, 4fh,0e0h,0ffh,0efh,0ffh,0ffh,0ffh,0ffh; 105 i;//105 i

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh; 32 (space);//32

db 7fh,0ffh, 7fh,0ffh, 1fh,0f0h, 0fh,0e0h, 7fh,0efh, 7fh,0e7h,0ffh,0f7h,0ffh,0ffh; 116 t;//116 t

db 7fh,0efh, 7fh,0e0h,0ffh,0e0h, 7fh,0eeh, 7fh,0ffh, 7fh,0fch,0ffh,0fch,0ffh,0ffh; 114 r;//114 r

db 0ffh,0f3h, 6fh,0e1h, 4fh,0edh, 57h,0edh, 4bh,0f0h,0ebh,0e0h,0ffh,0efh,0ffh,0ffh; 175 ;//7855 ?

db 0ffh,0f0h, 7fh,0e0h, 7fh,0efh, 7fh,0efh, 7fh,0efh, 7fh,0e6h,0ffh,0f6h,0ffh,0ffh; 99 c;//99 c

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh; 32 (space);//32

db 7fh,0ffh, 7fh,0e0h,0ffh,0e0h, 7fh,0ffh, 7fh,0ffh, 7fh,0e0h,0ffh,0e0h,0ffh,0ffh; 110 n;//110 n

db 0ffh,0d8h, 7fh, 90h, 7fh,0b7h, 7fh,0b7h,0ffh, 80h, 7fh,0c0h, 7fh,0ffh,0ffh,0ffh; 103 g;//103 g

db 0efh,0efh, 0fh,0e0h, 0fh,0e0h,0ffh,0feh, 7fh,0ffh, 7fh,0e0h,0ffh,0e0h,0ffh,0ffh; 104 h;//104 h

db 0ffh,0ffh, 7fh,0efh, 4fh,0e0h, 4fh,0e0h,0ffh,0efh,0ffh,0ffh,0ffh,0ffh; 105 i;//105 i

db 0ffh,0f0h, 5fh,0e0h, 4fh,0edh, 6fh, 2dh, 4fh, 2dh, 5fh,0e4h,0ffh,0f4h,0ffh,0ffh; 214 ;//7879 ?

db 7fh,0e0h, 7fh,0e0h, 7fh,0feh,0ffh,0f0h, 7fh,0feh, 7fh,0e0h,0ffh,0e0h,0ffh,0ffh; 109 m;//109 m

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh; 32 (space);//32

db 7fh,0ffh, 7fh,0ffh, 1fh,0f0h, 0fh,0e0h, 7fh,0efh, 7fh,0e7h,0ffh,0f7h,0ffh,0ffh; 116 t;//116 t

db 7fh,0efh, 7fh,0e0h,0ffh,0e0h, 7fh,0eeh, 7fh,0ffh, 7fh,0fch,0ffh,0fch,0ffh,0ffh; 114 r;//114 r

db 0ffh,0f0h, 5fh,0e0h, 4fh,0edh, 6fh,0edh, 4fh,0edh, 5fh,0e4h,0ffh,0f4h,0ffh,0ffh; 162 ;//234 ê

db 7fh,0ffh, 7fh,0e0h,0ffh,0e0h, 7fh,0ffh, 7fh,0ffh, 7fh,0e0h,0ffh,0e0h,0ffh,0ffh; 110 n;//110 n

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh; 32 (space);//32

db 7fh,0e0h, 7fh,0e0h, 7fh,0feh,0ffh,0f0h, 7fh,0feh, 7fh,0e0h,0ffh,0e0h,0ffh,0ffh; 109 m;//109 m

db 0ffh,0f3h, 7fh,0e1h, 7fh,0edh, 6fh,0edh, 67h,0f0h,0f3h,0e0h,0fbh,0efh,0ffh,0ffh; 170 ;//225 á

db 0cfh,0e7h, 8fh,0e3h, 3fh,0f8h, 7fh,0fch, 3fh,0f8h, 8fh,0e3h,0cfh,0e7h,0ffh,0ffh; 88 X;//88 X

db 0efh,0efh, 0fh,0e0h, 0fh,0e0h,0efh,0efh,0ffh,0efh,0ffh,0e7h,0ffh,0e3h,0ffh,0ffh; 76 L;//76 L

db 0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0ffh; 45 -;//45 -

db 0fh,0fch, 0fh,0f8h,0ffh,0f3h,0ffh,0e7h,0ffh,0f3h, 0fh,0f8h, 0fh,0fch,0ffh,0ffh; 86 V;//86 V

db 0efh,0eeh, 0fh,0e0h, 0fh,0e0h,0efh,0eeh,0cfh,0e6h, 1fh,0f0h, 3fh,0f8h,0ffh,0ffh; 159 ;//272 Ð

db 0efh,0efh, 0fh,0e0h, 0fh,0e0h,0ffh,0feh, 3fh,0f8h, 0fh,0e1h,0cfh,0e7h,0ffh,0ffh; 75 K;//75 K

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

dw 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH

Trang 7

Nảy sinh vấn đề là ngồi tạo hình dáng tiếng việt cho bảng chữ cái tiếng Việt thì thật mệt

Chợt nhớ ra hồi sv có viết 1 chươn trình (sử dụng thư viện có sẵn của VietRes) để tạo tiếng Việt trên Turbo C Chương trình viết trên TC, chạy trên dos và có giao diện tiếng Việt như sau:

Nguyên lý là khi chạy chương trình thì ta sẽ cho BIOS trỏ sang font tiếng Việt, chạy xong thì lại dùng lại font cũ của BIOS

File font.h đó như sau:

Trang 8

/*## */ 0, 0, 0, 0,108,108,254,108,108,108,254,108,108, 0, 0, 0 ,

0, 0, 24, 24,124,198,194,192,124, 6,134,198,124, 24, 24, 0 , /*%% */ 0, 0, 0, 0, 0, 0,194,198, 12, 24, 48,102,198, 0, 0, 0 , /*&& */ 0, 0, 0, 0, 56,108,108, 56,118,220,204,204,118, 0, 0, 0 , /*'' */ 0, 0, 0, 48, 48, 48, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /*(( */ 0, 0, 0, 0, 12, 24, 48, 48, 48, 48, 48, 24, 12, 0, 0, 0 , /* */ 0, 0, 0, 0, 48, 24, 12, 12, 12, 12, 12, 24, 48, 0, 0, 0 , /*** */ 0, 0, 0, 0, 0, 0,102, 60,255, 60,102, 0, 0, 0, 0, 0 , /*++ */ 0, 0, 0, 0, 0, 0, 24, 24,126, 24, 24, 0, 0, 0, 0, 0 , /*,, */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 48, 0, 0 , /* */ 0, 0, 0, 0, 0, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 0 , /* */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0 , /*// */ 0, 0, 0, 0, 2, 6, 12, 24, 48, 96,192,128, 0, 0, 0, 0 , /*00 */ 0, 0, 0, 0,124,198,206,222,246,230,198,198,124, 0, 0, 0 , /*11 */ 0, 0, 0, 0, 24, 56,120, 24, 24, 24, 24, 24,126, 0, 0, 0 , /*22 */ 0, 0, 0, 0,124,198, 6, 12, 24, 48, 96,198,254, 0, 0, 0 , /*33 */ 0, 0, 0, 0,124,198, 6, 6, 60, 6, 6,198,124, 0, 0, 0 , /*44 */ 0, 0, 0, 0, 12, 28, 60,108,204,254, 12, 12, 30, 0, 0, 0 , /*55 */ 0, 0, 0, 0,254,192,192,192,252, 6, 6,198,124, 0, 0, 0 , /*66 */ 0, 0, 0, 0, 60, 96,192,192,252,198,198,198,124, 0, 0, 0 , /*77 */ 0, 0, 0, 0,254,198, 6, 12, 24, 48, 48, 48, 48, 0, 0, 0 , /*88 */ 0, 0, 0, 0,124,198,198,198,124,198,198,198,124, 0, 0, 0 , /*99 */ 0, 0, 0, 0,124,198,198,198,126, 6, 6, 12,120, 0, 0, 0 , /*:: */ 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 24, 24, 0, 0, 0, 0 , /*;; */ 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 24, 24, 48, 0, 0, 0 , /*<< */ 0, 0, 0, 0, 6, 12, 24, 48, 96, 48, 24, 12, 6, 0, 0, 0 , /*== */ 0, 0, 0, 0, 0, 0, 0,126, 0, 0,126, 0, 0, 0, 0, 0 , /*>> */ 0, 0, 0, 0, 96, 48, 24, 12, 6, 12, 24, 48, 96, 0, 0, 0 , /*?? */ 0, 0, 0, 0,124,198,198, 12, 24, 24, 0, 24, 24, 0, 0, 0 , /*@@ */ 0, 0, 0, 0,124,198,198,222,222,222,220,192,124, 0, 0, 0 , /*AA */ 0, 0, 0, 0, 16, 56,108,198,198,254,198,198,198, 0, 0, 0 , /*BB */ 0, 0, 0, 0,252,102,102,102,124,102,102,102,252, 0, 0, 0 , /*CC */ 0, 0, 0, 0, 60,102,194,192,192,192,194,102, 60, 0, 0, 0 , /*DD */ 0, 0, 0, 0,248,108,102,102,102,102,102,108,248, 0, 0, 0 , /*EE */ 0, 0, 0, 0,254,102, 98,104,120,104, 98,102,254, 0, 0, 0 , /*FF */ 0, 0, 0, 0,254,102, 98,104,120,104, 96, 96,240, 0, 0, 0 , /*GG */ 0, 0, 0, 0, 60,102,194,192,192,222,198,102, 58, 0, 0, 0 , /*HH */ 0, 0, 0, 0,198,198,198,198,254,198,198,198,198, 0, 0, 0 , /*II */ 0, 0, 0, 0, 60, 24, 24, 24, 24, 24, 24, 24, 60, 0, 0, 0 , /*JJ */ 0, 0, 0, 0, 30, 12, 12, 12, 12, 12,204,204,120, 0, 0, 0 , /*KK */ 0, 0, 0, 0,230,102,108,108,120,108,108,102,230, 0, 0, 0 , /*LL */ 0, 0, 0, 0,240, 96, 96, 96, 96, 96, 98,102,254, 0, 0, 0 , /*MM */ 0, 0, 0, 0,198,238,254,254,214,198,198,198,198, 0, 0, 0 , /*NN */ 0, 0, 0, 0,198,230,246,254,222,206,198,198,198, 0, 0, 0 , /*OO */ 0, 0, 0, 0, 56,108,198,198,198,198,198,108, 56, 0, 0, 0 , /*PP */ 0, 0, 0, 0,252,102,102,102,124, 96, 96, 96,240, 0, 0, 0 , /*QQ */ 0, 0, 0, 0,124,198,198,198,198,214,222,124, 12, 14, 0, 0 , /*RR */ 0, 0, 0, 0,252,102,102,102,124,108,102,102,231, 0, 0, 0 , /*SS */ 0, 0, 0, 0,124,198,198, 96, 56, 12,198,198,124, 0, 0, 0 , /*TT */ 0, 0, 0, 0,126,126, 90, 24, 24, 24, 24, 24, 60, 0, 0, 0 , /*UU */ 0, 0, 0, 0,198,198,198,198,198,198,198,198,124, 0, 0, 0 , /*VV */ 0, 0, 0, 0,198,198,198,198,198,198,108, 56, 16, 0, 0, 0 , /*WW */ 0, 0, 0, 0,198,198,198,198,214,214,254,124,108, 0, 0, 0 , /*XX */ 0, 0, 0, 0,198,198,108, 56, 56, 56,108,198,198, 0, 0, 0 , /*YY */ 0, 0, 0, 0,102,102,102,102, 60, 24, 24, 24, 60, 0, 0, 0 , /*ZZ */ 0, 0, 0, 0,254,198,140, 24, 48, 96,194,198,254, 0, 0, 0 , /*[[ */ 0, 0, 0, 0, 60, 48, 48, 48, 48, 48, 48, 48, 60, 0, 0, 0 , /*\\ */ 0, 0, 0, 0,128,192,224,112, 56, 28, 14, 6, 2, 0, 0, 0 , /*]] */ 0, 0, 0, 0, 60, 12, 12, 12, 12, 12, 12, 12, 60, 0, 0, 0 , /*^^ */ 0, 0, 16, 56,108,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /* */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0 , /*`` */ 0, 0, 48, 48, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /*aa */ 0, 0, 0, 0, 0, 0, 0,120, 12,124,204,204,118, 0, 0, 0 , /*bb */ 0, 0, 0, 0,224, 96, 96,120,108,102,102,102,124, 0, 0, 0 , /*cc */ 0, 0, 0, 0, 0, 0, 0,124,198,192,192,198,124, 0, 0, 0 , /*dd */ 0, 0, 0, 0, 28, 12, 12, 60,108,204,204,204,118, 0, 0, 0 , /*ee */ 0, 0, 0, 0, 0, 0, 0,124,198,254,192,198,124, 0, 0, 0 , /*ff */ 0, 0, 0, 0, 56,108,100, 96,240, 96, 96, 96,240, 0, 0, 0 , /*gg */ 0, 0, 0, 0, 0, 0, 0,118,204,204,204,124, 12,204,120, 0 , /*hh */ 0, 0, 0, 0,224, 96, 96,108,118,102,102,102,230, 0, 0, 0 , /*ii */ 0, 0, 0, 0, 24, 24, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*jj */ 0, 0, 0, 0, 6, 6, 0, 14, 6, 6, 6, 6,102,102, 60, 0 , /*kk */ 0, 0, 0, 0,224, 96, 96,102,108,120,108,102,230, 0, 0, 0 , /*ll */ 0, 0, 0, 0, 56, 24, 24, 24, 24, 24, 24, 24, 60, 0, 0, 0 , /*mm */ 0, 0, 0, 0, 0, 0, 0,236,254,214,214,214,198, 0, 0, 0 , /*nn */ 0, 0, 0, 0, 0, 0, 0,220,102,102,102,102,102, 0, 0, 0 , /*oo */ 0, 0, 0, 0, 0, 0, 0,124,198,198,198,198,124, 0, 0, 0 , /*pp */ 0, 0, 0, 0, 0, 0, 0,220,102,102,102,124, 96, 96,240, 0 , /*qq */ 0, 0, 0, 0, 0, 0, 0,118,204,204,204,124, 12, 12, 30, 0 , /*rr */ 0, 0, 0, 0, 0, 0, 0,220,118,102, 96, 96,240, 0, 0, 0 , /*ss */ 0, 0, 0, 0, 0, 0, 0,124,198,112, 28,198,124, 0, 0, 0 , /*tt */ 0, 0, 0, 0, 16, 48, 48,252, 48, 48, 48, 54, 28, 0, 0, 0 , /*uu */ 0, 0, 0, 0, 0, 0, 0,204,204,204,204,204,118, 0, 0, 0 , /*vv */ 0, 0, 0, 0, 0, 0, 0,102,102,102,102, 60, 24, 0, 0, 0 , /*ww */ 0, 0, 0, 0, 0, 0, 0,198,198,214,214,254,108, 0, 0, 0 , /*xx */ 0, 0, 0, 0, 0, 0, 0,198,108, 56, 56,108,198, 0, 0, 0 , /*yy */ 0, 0, 0, 0, 0, 0, 0,198,198,198,198,126, 6, 12,248, 0 , /*zz */ 0, 0, 0, 0, 0, 0, 0,254,204, 24, 48,102,254, 0, 0, 0 , /*/* /* */ 0, 0, 0, 0, 14, 24, 24, 24,112, 24, 24, 24, 14, 0, 0, 0 , /*|| */ 0, 0, 0, 0, 24, 24, 24, 24, 0, 24, 24, 24, 24, 0, 0, 0 , /* */ 0, 0, 0, 0,112, 24, 24, 24, 14, 24, 24, 24,112, 0, 0, 0 , /*~~ */ 0, 0, 0, 0,118,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /*•• */ 0, 0, 0, 0, 0, 0, 16, 56,108,198,198,254, 0, 0, 0, 0 ,

Trang 9

/*‚‚ */ 0, 0, 0, 0, 24, 24,126, 24, 24, 0, 0,255, 0, 0, 0, 0 , /*ƒƒ */ 0, 0, 0, 0, 0,118,220,216,216,216,220,118, 0, 0, 0, 0 , /*„„ */ 0, 0, 0, 0, 0,252,198,252,198,198,252,192,192,192, 0, 0 , /*…… */ 0, 0, 0, 0,108,108, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*†† */ 0, 0, 0, 24, 60,102, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*‡‡ */ 0, 0, 0, 0,108,222, 26, 26,126,216,216,218,108, 0, 0, 0 , /*ˆˆ */ 0, 0, 0, 0,204,204, 0,124,198,198,198,198,124, 0, 0, 0 , /*‰‰ */ 0, 0, 0, 48,120,204, 0,204,204,204,204,204,118, 0, 0, 0 , /*ŠŠ */ 0, 0, 0, 0,198,198, 0,198,198,198,198,126, 6, 12,120, 0 , /*‹‹ */ 0, 0, 24, 24, 24,124,198,192,192,198,124, 24, 24, 24, 0, 0 , /*ŒŒ */ 0, 0, 0, 56,108,100, 96,240, 96, 96,102,230,188, 0, 0, 0 , /*•• */ 0, 0, 0,102,102,102, 60, 24,126, 24, 60, 24, 24, 0, 0, 0 , /*ŽŽ */ 1, 31, 63, 31, 7, 7, 15, 1, 3, 3, 5, 5, 9, 9, 17, 17 , /*•• */ 0,248,248,248,192,192,224, 0,128,128, 64, 64, 32, 32, 16, 16 , /*•• */ 0, 0, 0, 0, 0, 0, 54,108,216,108, 54, 0, 0, 0, 0, 0 , /*‘‘ */ 0, 0, 0, 0, 0, 0,216,108, 54,108,216, 0, 0, 0, 0, 0 , /*’’ */ 0, 0, 0, 0, 24, 24, 24,126, 24, 24, 24, 0,126,126, 0, 0 , /*““ */ 0, 0, 0, 0, 96, 48, 24, 12, 24, 48, 96, 0,124,124, 0, 0 , /*”” */ 0, 0, 0, 0, 12, 24, 48, 96, 48, 24, 12, 0,124,124, 0, 0 , /*•• */ 24, 24, 24, 60, 60,126,126,255, 24, 24, 24, 24, 24, 24, 24, 24 , /*–– */ 24, 24, 24, 24, 24, 24, 24, 24,255,126,126, 60, 60, 24, 24, 24 , /*—— */ 0, 0, 0, 0, 0, 64,112,124,255,124,112, 64, 0, 0, 0, 0 , /*˜˜ */ 0, 0, 0, 0, 0, 2, 14, 62,255, 62, 14, 2, 0, 0, 0, 0 , /*™™ */ 0, 0,108, 56, 0, 56,108,198,198,254,198,198,198, 0, 0, 0 , /*šš */ 0, 16, 56,108, 0, 56,108,198,198,254,198,198,198, 0, 0, 0 , /*›› */ 0, 16, 56, 68,254,102, 98,104,120,104, 98,102,254, 0, 0, 0 , /*œœ */ 0, 16, 56, 68, 56,108,198,198,198,198,198,108, 56, 0, 0, 0 , /*•• */ 0, 0, 3, 1, 58,108,198,198,198,198,198,108, 56, 0, 0, 0 , /*žž */ 0, 0, 3, 1,199,198,198,198,198,198,198,198,124, 0, 0, 0 , /*ŸŸ */ 0, 0, 0, 0,248,108,102,102,254,102,102,108,248, 0, 0, 0 , /* aw */ 0, 0, 0, 0,108, 56, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¡¡ aa*/ 0, 0, 0, 0, 56,108, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¢¢ ee*/ 0, 0, 0, 0, 56,108, 0,124,198,254,192,198,124, 0, 0, 0 , /*££ oo*/ 0, 0, 0, 0, 56,108, 0,124,198,198,198,198,124, 0, 0, 0 , /*¤¤ ow*/ 0, 0, 0, 0, 0, 3, 1,126,198,198,198,198,124, 0, 0, 0 , /*¥¥ uw*/ 0, 0, 0, 0, 0, 3, 1,206,204,204,204,204,118, 0, 0, 0 , /*¦¦ dd*/ 0, 0, 0, 0, 12, 62, 12, 60,108,204,204,204,118, 0, 0, 0 , /*§§ af*/ 0, 0,192, 96, 48, 0, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¨¨ ar*/ 0, 0, 56, 8, 16, 0, 0,120, 12,124,204,204,118, 0, 0, 0 , /*©© ax*/ 0, 0, 0,118,220, 0, 0,120, 12,124,204,204,118, 0, 0, 0 , /*ªª as*/ 0, 0, 6, 12, 24, 0, 0,120, 12,124,204,204,118, 0, 0, 0 , /*«« aj*/ 0, 0, 0, 0, 0, 0, 0,120, 12,124,204,204,118, 0, 48, 48 , /*¬¬ awf*/ 0, 0, 96, 16, 76, 56, 0,120, 12,124,204,204,118, 0, 0, 0 , /* awr*/ 0, 0, 7, 1,110, 56, 0,120, 12,124,204,204,118, 0, 0, 0 , /*®® awx*/ 0, 0,118,220,108, 56, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¯¯ aws*/ 0, 0, 12, 16,108, 56, 0,120, 12,124,204,204,118, 0, 0, 0 , /*°° */ 68, 17, 68, 17, 68, 17, 68, 17, 68, 17, 68, 17, 68, 17, 68, 17 , /*±± */ 170, 85,170, 85,170, 85,170, 85,170, 85,170, 85,170, 85,170, 85 , /*²² */ 119,221,119,221,119,221,119,221,119,221,119,221,119,221,119,221 , /*³³ */ 255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /*´´ */ 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255 , /*µµ awj*/ 0, 0, 0, 0,108, 56, 0,120, 12,124,204,204,118, 0, 48, 48 , /*¶¶ aaf*/ 0, 0,192, 96, 56,108, 0,120, 12,124,204,204,118, 0, 0, 0 , /*·· aar*/ 0, 0, 7, 1, 58,108, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¸¸ aax*/ 0, 0,118,220, 56,108, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¹¹ */ 54, 54, 54, 54, 54, 54, 54,246, 6,246, 54, 54, 54, 54, 54, 54 , /*ºº */ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54 , /*»» */ 0, 0, 0, 0, 0, 0, 0,254, 6,246, 54, 54, 54, 54, 54, 54 , /*¼¼ */ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,246, 6,254, 0, 0 , /*½½ aas*/ 0, 0, 6, 12, 56,108, 0,120, 12,124,204,204,118, 0, 0, 0 , /*¾¾ aaj*/ 0, 0, 0, 0, 56,108, 0,120, 12,124,204,204,118, 0, 48, 48 , /*¿¿ */ 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128 , /*ÀÀ */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , /*ÁÁ */ 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,255 , /* */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,255 , /*Ãà */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255 , /*ÄÄ */ 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0 , /*ÅÅ */ 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /*ÆÆ ef*/ 0, 0,192, 96, 48, 0, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÇÇ er*/ 0, 0, 56, 8, 16, 0, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÈÈ */ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 48, 63, 0, 0 , /*ÉÉ */ 0, 0, 0, 0, 0, 0, 0, 63, 48, 55, 54, 54, 54, 54, 54, 54 , /*ÊÊ */ 54, 54, 54, 54, 54, 54, 54,247, 0,255, 0, 0, 0, 0, 0, 0 , /*ËË */ 0, 0, 0, 0, 0, 0, 0,255, 0,247, 54, 54, 54, 54, 54, 54 , /*ÌÌ */ 54, 54, 54, 54, 54, 54, 54, 55, 48, 55, 54, 54, 54, 54, 54, 54 , /*ÍÍ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0 , /*ÍÍ */ 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0 , 0, 0, 0 , /*ÏÏ ex*/ 0, 0, 0,118,220, 0, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÐÐ es*/ 0, 0, 6, 12, 24, 0, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÑÑ ej*/ 0, 0, 0, 0, 0, 0, 0,124,198,254,192,198,124, 0, 24, 24 , /*ÒÒ eef*/ 0, 0,192, 96, 56,108, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÓÓ eer*/ 0, 0, 7, 1, 58,108, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÔÔ eex*/ 0, 0,118,220, 56,108, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÕÕ ees*/ 0, 0, 6, 12, 56,108, 0,124,198,254,192,198,124, 0, 0, 0 , /*ÖÖ eej*/ 0, 0, 0, 0, 56,108, 0,124,198,254,192,198,124, 0, 24, 24 , /*×× if*/ 0, 0,192, 96, 48, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*ØØ ir*/ 0, 0, 56, 8, 16, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*ÙÙ */ 255,192,192,192,192,192,192,207,207,192,192,192,192,192,192,255 , /*ÚÚ */ 254, 6, 6, 6, 6, 6, 6,230,230, 6, 6, 6, 6, 6, 6,254 , /*ÛÛ */ 255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0 , /*ÜÜ ix*/ 0, 0, 0,118,220, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*ÝÝ is*/ 0, 0, 6, 12, 24, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0, 0 , /*ÞÞ ij*/ 0, 0, 0, 0, 24, 24, 0, 56, 24, 24, 24, 24, 60, 0, 24, 24 ,

Trang 10

Trong file này, mảng FontArray có cấu trúc là 16*256 phần tử, xác định hình dạng cho 256 phần tử trong bảng

mã ascii Mỗi phần tử ascii biểu diễn bởi ma trận 16x8 (16 hàng, mỗi hàng 8 bít), mỗi kí tự ascii sẽ gồm 16 con số trong mảng, mỗi số là 1 hàng (số 1 byte có 8 bít) trong ma trận 16x8 này

Trong khi đó, khi đưa dữ liệu ra ma trận led8x8 thì ta phải đưa dữ liệu ở cột dọc, vậy cần xử lý file này để có dữ liệu mong muốn

Code bằng php như sau để dựng cái ma trận này lên, tách ra 2 hàng dữ liệu 8 bít:

Trang 11

0, 0, 0, 0, 0, 0, 0,110,115, 99, 99, 99,222, 0, 0, 0 255,128,129,131,135,143,159,191,128,129,131,135,143,159,128,255

255, 1,129,193,225,241,249,253, 1,129,193,225,241,249, 1,255 255,128,159,143,135,131,129,128,191,159,143,135,131,129,128,255

255, 1,249,241,225,193,129, 1,253,249,241,225,193,129, 1,255

0, 0, 0, 0, 0, 0, 24, 12,254, 12, 24, 0, 0, 0, 0, 0 255,128,129,131,135,143,159,159,131,131,131,131,131,131,128,255

255, 1,129,193,225,241,249,249,193,193,193,193,193,193, 1,255 255,128,131,131,131,131,131,131,159,159,143,135,131,129,128,255

Ngày đăng: 23/11/2017, 07:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w