Thay đổi nội dung, lưu nội dung cho bảng tin Để thay đổi nội dung làm như sau:

Một phần của tài liệu Tài liệu thực hành LMD_ Matrix LED (Trang 57 - 64)

II. THIẾT BỊ SỬ DỤNG

3. Thay đổi nội dung, lưu nội dung cho bảng tin Để thay đổi nội dung làm như sau:

Để thay đổi nội dung làm như sau:

- Sau khi khởi động động phần mềm, ô message có nội dung là “Hello! LMD” kích chuột vào ô message gõ nội dung cần hiển thị (không được bỏ qua, bắt buộc phải gõ gì đó dù một dấu cách rồi lại xóa đi)

- Kích vào Capture, Preview, cửa sổ Preview sẽ hiển thị như hình dưới với thông tin về kích thước ảnh

- Nối dây truyền thông RS232 của bảng tin điện tử với cổng COM của máy tinh

- Kích Bit2Byte, Out Array, Bảng điện tử sẽ hiển thị nội dung như Preview - Kích Roll, để thực hiện hiệu ứng cuộn ngang

- Kích Stop để thực hiện dừng hiệu ứng

- Kích Save để lưu trạng thái hiện tại của bảng vào ROM (trạng thái này sẽ được giữ lại trong ROM ngay cả khi mất điện)

- Kích Load để lấy lại trạng thái đã ghi vào ROM trước đó

Để thay đổi Font làm như sau:

- Chọn Font, Font style, Size để thay đôi font, kiểu cách, và cơ chữ như mong muốn, sau đó chọn OK

- Kích Capture, Preview, xem lại kết quả chỉnh sửa và thông báo về kích thước trong ô Dimension Inf

- Để hiển thị kết quả mới chọn Bit2byte, Out Array

- Nếu sau khi capture thông báo kích thước ảnh lớn hơn kích thước bảng tin hiện có thì nội dung hiển thị sẽ bị mất đi phần trên của bức ảnh xem trong Preview

- Dùng các điều chỉnh Top cutting, và Bottom Cutting để cắt đinh phần trên và dưới của bức ảnh

- kích Capture để xem thông báo về kích thước ảnh sau mỗi lần chỉnh sửa, lưu ý kích thước thật của bảng hiện có là cao 16 điểm và có thể hiển thị bản tin rộng 256 điểm, một kích thước ảnh rộng hơn sẽ hiển thị bị mất đi phần trên và phần bên phải.

- kich Preview để xem qua

Chú ý sau mỗi lần chỉnh sửa nội dung phải kích vào Capture để có nội dung mới, chọn Preview để xem lại nội dung mới, chọn Bit2Byte và Out Array để truyền bản tin ra bảng điện tử

Mã nguồn chương trình Bài 1:

/* Chuong trinh mau lmd1 NTL – viet tren Keil C */

#include <reg51.h>

sbit clkIN = 0xB3;//tao xung dich vao bo dem ghi dich sbit DuLieu = 0x97;

sbit clkOUT = 0xB4;//tao xung xuat ra dong thoi cua cac bo dem

sbit DongBo = 0xB5;//tao xung dong bo hang dau tien, chan nay noi toi dau vao bo ghi dich quet hang void main (void){

char data X[8] = {0xC0,0xD2,0xDA,0xD6,0xD2,0xC0,0xFC,0xFC};// Chữ L và n char TrungGian; int i,j; P1 = 0; while (1){ DongBo = 1; for (i = 0; i <= 7; i++ ) { TrungGian = X[i]; for (j=0; j<=7; j++) {

DuLieu = TrungGian%2; //phat bit LSB TrungGian = TrungGian/2; //dich phai

clkIN = 1; //tao mot xung vuong kich vao bo dem ghi dich clkIN = 0;

}

clkOUT = 1; //tao mot xung vuong de bo dem xuat ra dong thoi mot hang clkOUT = 0; //dich xung dong bo hang xuong hang tiep theo

DongBo = 0; //tat xung dong bo o cac hang sau }

}} }

dung hai ngat ngoai de dieu khien thay doi du lieu trong mang hien thi. khi co ngat o chan 12 hien thi chu A

khi co ngat o chan 13 hien thi chu Z mang char dc khai bao o ngoai ---

Viet tren Keil C NTL

*/

#include <reg51.h>

sbit clkIN = 0xB3;//tao xung dich vao bo dem ghi dich sbit DuLieu = 0x97;

sbit clkOUT = 0xB4;//tao xung xuat ra dong thoi cua cac bo dem

sbit DongBo = 0xB5;//tao xung dong bo hang dau tien, chan nay noi toi dau vao bo ghi dich quet hang sbit Ngat = 0xAF; //EA

sbit Ngatchan12= 0xA8; //EX0 sbit Ngatchan13= 0xAA; //EX1

char data X[8] = {0x41,0x63,0x36,0x1c,0x1c,0x36,0x63,0x41}; //du lieu hien thi /*---*/

#pragma NOAREGS // ko su dung cac ky hieu thanh ghi tuyet doi cho cac // ham duoc goi tu dich vu ngat

static void XuLiNgatChan12 (void) { //chuyen du lieu thanh chu A X[0] = 0x10; //nap du lieu chu A cho bang X

X[1] = 0x38; X[2] = 0x6c; X[3] = 0xc6; X[4] = 0xfe; X[5] = 0xc6; X[6] = 0xc6; X[7] = 0xc6; }

static void XuLiNgatChan13 (void) { //chuyen du lieu thanh chu Z X[0] = 0x7f; //nap du lieu chu Z cho bang X

X[1] = 0x7f; X[2] = 0x06; X[3] = 0x0c; X[4] = 0x18; X[5] = 0x30; X[6] = 0x7f; X[7] = 0x7f; }

#pragma AREGS

/*---*/void ngatchan12 (void) interrupt 0 using 1{ void ngatchan12 (void) interrupt 0 using 1{

XuLiNgatChan12 (); //hien thi chi A }

void ngatchan13 (void) interrupt 2 using 1{ XuLiNgatChan13 (); //hien thi chi Z }

/*---*/void main (void){ void main (void){

char TrungGian; int i,j;

Ngat = 1; //cho phep ngat toan cuc Ngatchan12 = 1;//cho phep ngat chan 12 Ngatchan13 = 1;//cho phep ngat chan 13 P1 = 0; while (1){ DongBo = 1; for (i = 7; i >= 0; i-- ) { TrungGian = X[i]; for (j=0; j<=7; j++){

DuLieu = TrungGian%2; //phat bit LSB TrungGian = TrungGian/2; //dich phai

clkIN = 1; //tao mot xung vuong kich vao bo dem ghi dich clkIN = 0;

}

clkOUT = 1; //tao mot xung vuong de bo dem xuat ra dong thoi mot hang clkOUT = 0; //dich xung dong bo hang xuong hang tiep theo

DongBo = 0; //tat xung dong bo o cac hang sau }

}} }

#include <reg51.h>

//cac chan tin hieu dieu khien

sbit clkIN = 0xB3;//tao xung dich vao bo dem ghi dich sbit DuLieu = 0x97;

sbit clkOUT = 0xB4;//tao xung xuat ra dong thoi cua cac bo dem

sbit DongBo = 0xB5;//tao xung dong bo hang dau tien, chan nay noi toi dau vao bo ghi dich quet hang //cac bit cho phep ngat

sbit Ngat = 0xAF; //EA sbit Ngatchan12= 0xA8; //EX0 sbit Ngatchan13= 0xAA; //EX1 sbit NgatDinhthoi0 = 0xA9; // bang du lieu khoi tao //day la bang du lieu toan cuc

char data X[24] = { 0xFF,0xEF,0xD7,

0xBB,0x83,0xBB, 0xBB,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF }; int hang,cot; bit msb,lsb; void main (void){

char TrungGian; int i,j; hang = 0; cot = 2; P1 = 0; while (1) { DongBo = 1; for (i = 0; i <= 23; i++ ) { TrungGian = X[i]; for (j=0; j<=7; j++) {

DuLieu = TrungGian%2; //phat bit LSB TrungGian = TrungGian/2; //dich phai

clkIN = 1; //tao mot xung vuong kich vao dem ghi dich clkIN = 0;

}

clkOUT = 1; //tao mot xung vuong de bo dem xuat ra dong thoi mot hang clkOUT = 0; //dich xung dong bo hang xuong hang tiep theo

DongBo = 0; //tat xung dong bo o cac hang sau

}

Bài 4:

/*chuong trinh thu nghiem lmd4 */

#include <reg51.h>

//cac chan tin hieu dieu khien sbit clkIN = 0xB3; sbit DuLieu = 0x97; sbit clkOUT = 0xB4; sbit DongBo = 0xB5; //cac bit cho phep ngat // bang du lieu khoi tao //day la bang du lieu toan cuc

char data X[64] = { 0x00,0x00,0x00,0x00, 0x00,0x01,0x00,0x00, 0x80,0x01,0x00,0x00, 0xc0,0x01,0x00,0x00, 0xe0,0x01,0x00,0x00, 0xb0,0xff,0xff,0x3f, 0x98,0xff,0xff,0x3f, 0x0c,0x00,0x00,0x30, 0x0c,0x00,0x00,0x30, 0x98,0xff,0xff,0x3f, 0xb0,0xff,0xff,0x3f, 0xe0,0x01,0x00,0x00, 0xc0,0x01,0x00,0x00, 0x80,0x01,0x00,0x00, 0x00,0x01,0x00,0x00, 0x00,0x00,0x00,0x00 }; /*---*/ /*sau day la chuong trinh chinh

Một phần của tài liệu Tài liệu thực hành LMD_ Matrix LED (Trang 57 - 64)

w