MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN CHƯƠNG LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNGTRÌNH HOẠT ĐỘNG Ý TƯỞNG THIẾT KẾ PHẦN MỀM: Bảng quang báo chạy text với font tiếng Việt tiếng Anh, chạy từ trái sang phải, từ phải sang trái, chạy từ xuống dưới, từ lên Tạo font chữ giải mã Vi điều khiển lưu vào vùng nhớ ROM sau vi điều khiển lấy liệu điều khiển hiển thị hình led ma trận thông qua mạch công suất mạch hiển thị 8.1 LƯU ĐỒ GIẢI THUẬT Quy trình hoạt động hệ thống: Hình 8.1 Quy trình hoạt động hệ thống - 54 - MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN 2.Lưu đồ chươngtrình chính: Hình 8.2: Lưu đồ chươngtrình Lưu đồ chương trình: chạy_chữ - 55 - MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN Hình 8.5: Lưu đồ chươngtrình chạy_chữ - 56 - MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN 8.2 CHƯƠNGTRÌNH HOẠT ĐỘNG #include #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=12000000) //khai bao mang int const quet[]={0b11111110,0b11111101,0b11111011,0b11110111,0b11101111,0b11011111 ,0b10111111,0b01111111}; int const mang0[]={0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,128,190,72,72,72,72,136, 0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,156,162,130,186,34,28, 0,0,0,0,0,145,83,85,89,81,145, 0,0,0,0,0,145,81,95,81,81,145, 0,0,0,0,152,164,132,152,160,36,24, 0,0,0,0,0,2,2,2,2,2,94, 0,0,0,0,0,145,83,85,89,81,145, 0,0,0,0,0,0,0,0 }; int const mang1[]={0,0,0,0,0,0,0,0, 0,128,142,82,87,82,82,142, 0,0,0,17,10,251,36,36,36,36,35, 0,0,0,0,206,81,65,225,65,81,206, 0,0,0,0,0,40,40,232,40,37,34, 0,0,0,0,0,147,148,144,151,148,99, 0,0,0,0,0,147,180,212,148,148,147, 0,0,0,0,232,136,136,136,136,133,130, 0,0,0,0,0,145,83,85,89,81,145, 0,0,0,0,0,195,36,32,39,36,203, 0,0,0,0,0,0,0,0 }; - 57 - MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN int const mang2[]={0,0,0,0,0,0,0,0, 5,10,131,68,68,196,68,67, 0,0,0,0,0,68,76,84,100,68,68, 0,0,0,0,243,20,20,125,20,20,243, 0,0,0,0,0,122,138,139,138,138,122, 0,0,0,0,0,162,162,156,136,136,136, 0,0,0,0,0,28,34,2,58,34,28, 0,0,0,0,139,136,136,248,136,136,136, 0,0,0,0,0,227,20,16,23,20,227, 0,0,0,0,0,137,138,248,136,138,137, 0,0,0,0,0,0,0,0 }; int const mang3[]={0,0,0,0,0,0,0,0, 4,2,137,154,170,203,138,138, 0,0,0,0,0,78,81,193,89,81,78, 0,0,0,0,62,9,9,9,9,9,8, 0,0,0,0,0,0,2,0,0,2,0 , 0,0,0,0,0,151,176,211,144,144,151, 0,0,0,0,0,78,209,81,95,81,81, 0,0,0,0,0,4,0,0,0,4,0, 0,0,0,0,0,56,69,5,5,69,56, 0,0,0,0,0,242,66,66,66,66,66, 0,0,0,0,0,0,0,0 }; int const mang4[]={0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,64,160,234,42,235,42,42,234,64, 0,0,0,28,162,162,162,162,162,28, 0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,124,16,16,16,16,16, 0,0,0,0,0,20,20,245,22,20,20, 0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,34,162,190,162,162,162, - 58 - MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN 0,0,0,0,0,157,162,162,190,162,162, 0,0,0,0,0,0,0,0 }; int const mang5[]={0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,29,36,36,28,4,5, 0,0,0,0,7,8,0,7,8,8,7, 0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,81,81,95,81,81,81, 0,0,0,0,0,1,1,1,1,1,1 , 0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,147,180,212,151,148,148 , 0,0,0,0,0,8,13,10,8,8,8 , 0,0,0,0,0,0,0,0 }; void chot0() { output_high(pin_c0); output_low(pin_c0); } void chot1() { output_high(pin_c1); output_low(pin_c1); } void chot2() { output_high(pin_c2); output_low(pin_c2); } void chot3() { - 59 - MẠCH QUANG BÁO HIỂN THỊ LED MA TRẬN output_high(pin_c3); output_low(pin_c3); } void chot4() { output_high(pin_c4); output_low(pin_c4); } void chot5() { output_high(pin_c5); output_low(pin_c5); } void main(void) { int m,i,a; set_tris_b(0x00); set_tris_c(0x00); set_tris_d(0x00); output_b(0x00); output_c(0x00); output_d(0x00); while(1) { for(m=0;m