Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
CHƯƠNG 6
NGUYÊN LÝ HOẠT ĐỘNG VÀ LƯU ĐỒ GIẢI THUẬT
6.1. NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH QUANG BÁO
Khi khởi động nguồn quang báo, đầu tiên vi điều khiển sẽ cập nhật cấu hình của quang báo
trong đó có thiết lập cổng giao tiếp RS232.
Sau đó quang báo sẽ cập nhật dữ liệu cho hiển thị và chạy chữ mặc định. Trong khi chạy
nếu có ngắt giao tiếp với máy tính thì chương trình sẽ chuyển sang chế độ nhập chữ từ máy tính
thông qua giao tiếp với cổng Com của máy tính với Pic16F877A tùy vào người điều khiển. Nếu
không có sự kiện nào phát sinh thì quang báo sẽ chạy vòng lặp hiển thị là vô tận.
Việc hiển thị trên bảng led là động. Tức là trong một thời điểm chỉ có một cột được sáng.
Nhưng khi quét nhanh ở tần số 50Hz trở thì mắt thường coi như là sáng liên tục trên toàn bảng.
Kỹ thuật quét led :
Là cấp tín hiệu điều khiển theo dạng xung theo kiểu quét cho các cột cần hiển thị tần số
cho mỗi chu kỳ khoảng 50Hz nhằm bảo đảm cho mắt thấy các led sáng đều không nhấp nháy.
Dữ liệu phông chữ, hình được đổ qua hàng.
Khi quét hết 32 cột thì được một hình.
Khi chạy chữ chỉ cần hiển thị một hình khác đã được dịch đi một cột.
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
68
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
6.2 LƯU ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH
BEGIN
Khai báo các biến
Update =0
Tạo các mã chữ và số
Tạo các mã ký hiệu
Khai báo các chương
trình con
N
Update =0
Y
Cho nhập chữ từ
máy tính
Chạy chữ mặc định
Gọi chương trình hiển thị
End
Hình 6.1 Lưu đồ giải thuật chương trình chính
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
69
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
6.2. CODE CHƯƠNG TRÌNH
//****************************************************************************
//****************************************************************************
//*****************************Cấu hình cho Pic*********************************
#include <16f877.h>
#fuses nowdt,noprotect,nolvp,xt,put
#use delay (clock=4000000)
#byte portb = 0x06
#byte portc = 0x07
#bit c0 = portc.0
#bit c1 = portc.1
#bit c2 = portc.2
#bit c3 = portc.3
#bit c4 = portc.4
#bit c5 = portc.5
#bit c6 = portc.6
#bit c7 = portc.7
#byte portd = 0x08
#byte porte = 0x09
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#use fast_io(e)
#use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7,bits=8)
int8 data,cot,md,k,i=0,j=150,x=0,nhan,add=0,y;
int1 update=0;
//truong cdkt cao thang
int8 const a[181]={
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T(114)
0X80,0XB7,0XB3,0XB5,0XCE,0XFF,//R(102)
0x81,0xFE,0xFE,0xFE,0x81,0xFF,//U(120)
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O(84)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
70
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N(78)
0XC1,0XBE,0XBE,0XB6,0XB0,0XFF,//G(36)
0XFF,0XFF,0XFF,
0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,//C(12)
0x80,0xBE,0xBE,0xBE,0xC1,0xFF,//D(18)
0x80,0xF7,0xEB,0xDD,0xBE,0xFF,//K(60)
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T(114)
0XFF,0XFF,0XFF,
0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,//C(12)
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A(0)
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O(84)
0XFF,0XFF,0XFF,
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T(114)
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H(42)
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A(0)
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N(78)
0XC1,0XBE,0XBE,0XB6,0XB0,0XFF,//G(36)
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
//khoa dt_th ,mach quang bao
int8 const md1[231]={
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0x80,0xF7,0xEB,0xDD,0xBE,0xFF,//K
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0xff,0xff,0xff,
0x80,0xBE,0xBE,0xBE,0xC1,0xFF,//D
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0XFF,0XF7,0XF7,0XF7,0XF7,0XFF,//0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
71
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X80,0XDF,0XEF,0XDF,0X80,0XFF,//M
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,//C
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xff,0xff,0xff,
0XC1,0XBE,0XBA,0XBD,0XC2,0XFF,//Q
0x81,0xFE,0xFE,0xFE,0x81,0xFF,//U
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0XC1,0XBE,0XBE,0XB6,0XB0,0XFF,//G
0Xff,0Xff,0Xff,
0x80,0xB6,0xB6,0xB6,0xC9,0xFF,//B
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
//gvhd:dinh thi thanh hoa
int8 const md2[196]={
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XC1,0XBE,0XBE,0XB6,0XB0,0XFF,//G
0X83,0XFD,0XFE,0XFD,0X83,0XFF,//V
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0x80,0xBE,0xBE,0xBE,0xC1,0xFF,//D
0xFF,0xDD,0x88,0xDD,0xFF,0xFF,//:
0Xff,0Xff,0Xff,
0x80,0xBE,0xBE,0xBE,0xC1,0xFF,//D
0xBE,0xBE,0x80,0xBE,0xBE,0xFF,//I
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
72
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0Xff,0Xff,0Xff,
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xBE,0xBE,0x80,0xBE,0xBE,0xFF,//I
0Xff,0Xff,0Xff,
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0Xff,0Xff,0Xff,
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
// SVTH:
int8 const md3[190]={
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XCD,0XB6,0XB6,0XB6,0XD9,0XFF,//S
0X83,0XFD,0XFE,0XFD,0X83,0XFF,//V
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xFF,0xDD,0x88,0xDD,0xFF,0xFF,//:
0Xff,0Xff,0Xff,
0X80,0XDF,0XEF,0XDF,0X80,0XFF,//M
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0xBE,0xBE,0x80,0xBE,0xBE,0xFF,//I
0Xff,0Xff,0Xff,
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
73
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xBE,0xBE,0x80,0xBE,0xBE,0xFF,//I
0Xff,0Xff,0Xff,
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0Xff,0Xff,0Xff,
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0x81,0xFE,0xFE,0xFE,0x81,0xFF,//U
0X8F,0XF7,0XF8,0XF7,0X8F,0XFF,//Y
0x80,0xB6,0xB6,0xB6,0xBE,0xFF,//E
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
int8 const md4[142]={
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
0xBF,0xBF,0x80,0xBF,0xBF,0xFF,//T
0X80,0XB7,0XB3,0XB5,0XCE,0XFF,//R
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0Xff,0Xff,0Xff,
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0XC1,0XBE,0XBE,0XB6,0XB0,0XFF,//G
0Xff,0Xff,0Xff,
0x80,0xDF,0xEF,0xF7,0x80,0xFF,//N
0xE0,0xD7,0xB7,0xD7,0xE0,0xFF,//A
0X80,0XDF,0XEF,0XDF,0X80,0XFF,//M
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0xff,0xff,
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
74
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
#INT_RDA
void Receive_isr()
{
int8 nhan;
x=0;
if(kbhit()) //tra ve 1 neu ky tu da dc nhan
delay_us(100);
nhan = getc();//nhan ky tu
write_eeprom(x,nhan);
x++;
update=1;
}
void hien_thi()
{
for (data=0,cot=0;data<=15;data++,cot++)
{
c0=0;c1=1;
switch(update)
{
case 0: switch(i)
{
case 0:portb=a[data+md];break;
case 1:portb=md1[data+md];break;
case 2:portb=md2[data+md];break;
case 3:portb=md3[data+md];break;
case 4:portb=md4[data+md];break;
}break;
case 1:{for(add=0;add<=x;add++)
y=read_eeprom(add);
portb=y;}break;
}
portd=cot;
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
75
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
delay_us(666);
portc=0xff;
}
for (data=16,cot=0;data<=31; data++,cot=cot+16)
{
c0=1;c1=0;
switch(update)
{
case 0: switch(i){
case 0:portb=a[data+md];break;
case 1:portb=md1[data+md];break;
case 2:portb=md2[data+md];break;
case 3:portb=md3[data+md];break;
case 4:portb=md4[data+md];break;
}break;
case 1: {for(add=0;add<=x;add++)
y=read_eeprom(add);
portb=y;}break;
}
portd=cot;
delay_us(666);
portc=0xff;
}
}
void main()
{
enable_interrupts(int_RDA); //cho phep ngat RAD
enable_interrupts(global);
set_tris_b(0);
set_tris_c(0);
set_tris_d(0);
set_tris_e(0);
portb =0;
portc =0;
portd =0;
porte =0;
c0=c1=1;
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
76
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
GVHD: Đinh Thị Thanh Hoa
md=0;
while (true)
{
for(k=0;k<=4;k++)
{hien_thi();}
//cho chay mac dinh
md++;
if(md==j)//164,199
{md=0;i++;}
switch(i)
{case 1:j=200;break;
case 2: j=165; break;
case 3: j=159; break;
case 4: j=111; break;
case 5: i=0;j=149;break;
}
}}
6.3. CODE VISUAL BASIC
Private Sub CmdEXIT_Click()
Unload Me
End Sub
Private Sub CmdSEND_Click()
Dim S(1 To 10000) As String
Dim S1 As String
Dim i As Long
Dim CodeAscii As Long
S1 = Text1.Text
For i = 1 To Len(S1) Step 1
S(i) = Mid(S1, i, 1) 'Mid(chuoi,vitri,n ky tu)
'cho ra so thap phan
CodeAscii = Asc(S(i)) 'ham tra ve gia tri la ma ASCII cua ky tự
Select Case CodeAscii
Case 32 'Space
MSComm1.Output = Chr$(255)
MSComm1.Output = Chr$(255)
MSComm1.Output = Chr$(255)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
77
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(255)
MSComm1.Output = Chr$(255)
MSComm1.Output = Chr$(255)
Case 33 '!
MSComm1.Output = Chr(255)
MSComm1.Output = Chr(255)
MSComm1.Output = Chr$(125)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 34 '"
MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(112)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr$(112)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
Case 35 '#
MSComm1.Output = Chr$(20)
MSComm1.Output = Chr$(127)
MSComm1.Output = Chr$(20)
MSComm1.Output = Chr$(127)
MSComm1.Output = Chr$(20)
MSComm1.Output = Chr$(0)
Case 36 '$
MSComm1.Output = Chr$(18)
MSComm1.Output = Chr$(42)
MSComm1.Output = Chr$(127)
MSComm1.Output = Chr$(42)
MSComm1.Output = Chr$(36)
MSComm1.Output = Chr$(0)
Case 37 '%
MSComm1.Output = Chr$(98)
MSComm1.Output = Chr$(100)
MSComm1.Output = Chr$(8)
MSComm1.Output = Chr$(16)
MSComm1.Output = Chr$(35)
MSComm1.Output = Chr$(3)
MSComm1.Output = Chr$(0)
Case 38 '&
MSComm1.Output = Chr$(54)
MSComm1.Output = Chr$(73)
MSComm1.Output = Chr$(53)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
78
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(2)
MSComm1.Output = Chr$(5)
MSComm1.Output = Chr$(0)
Case 39 'Dau '
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(104)
MSComm1.Output = Chr$(112)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
Case 40 '(
MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(28)
MSComm1.Output = Chr$(34)
MSComm1.Output = Chr$(65)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
Case 41 ')
MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(65)
MSComm1.Output = Chr$(34)
MSComm1.Output = Chr$(28)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
Case 42 '*
MSComm1.Output = Chr$(42)
MSComm1.Output = Chr$(28)
MSComm1.Output = Chr$(127)
MSComm1.Output = Chr$(28)
MSComm1.Output = Chr$(42)
MSComm1.Output = Chr$(0)
Case 43 '+
MSComm1.Output = Chr$(16)
MSComm1.Output = Chr$(16)
MSComm1.Output = Chr$(124)
MSComm1.Output = Chr$(16)
MSComm1.Output = Chr$(16)
MSComm1.Output = Chr$(0)
Case 44 'Dau ,
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(13)
MSComm1.Output = Chr$(14)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
79
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
Case 45 'Dau MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(8)
MSComm1.Output = Chr$(8)
MSComm1.Output = Chr$(8)
MSComm1.Output = Chr$(8)
MSComm1.Output = Chr$(0)
Case 46 'Dau .
MSComm1.Output = Chr(0)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr$(3)
MSComm1.Output = Chr$(3)
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr(0)
Case 47 'Dau /
MSComm1.Output = Chr$(1)
MSComm1.Output = Chr$(2)
MSComm1.Output = Chr$(4)
MSComm1.Output = Chr$(8)
MSComm1.Output = Chr$(16)
MSComm1.Output = Chr$(0)
Case 48 '0
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(186)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(174)
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(255)
Case 49 '1
MSComm1.Output = Chr$(238)
MSComm1.Output = Chr$(222)
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(255)
Case 50 '2
MSComm1.Output = Chr$(222)
MSComm1.Output = Chr$(188)
MSComm1.Output = Chr$(186)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(206)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
80
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(255)
Case 51 '3
MSComm1.Output = Chr$(221)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(201)
MSComm1.Output = Chr$(255)
Case 52 '4
MSComm1.Output = Chr$(249)
MSComm1.Output = Chr$(245)
MSComm1.Output = Chr$(237)
MSComm1.Output = Chr$(221)
MSComm1.Output = Chr$(160)
MSComm1.Output = Chr$(255)
Case 53 '5
MSComm1.Output = Chr$(141)
MSComm1.Output = Chr$(174)
MSComm1.Output = Chr$(174)
MSComm1.Output = Chr$(174)
MSComm1.Output = Chr$(177)
MSComm1.Output = Chr$(255)
Case 54 '6
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(249)
MSComm1.Output = Chr$(255)
Case 55 '7
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(176)
MSComm1.Output = Chr$(175)
MSComm1.Output = Chr$(159)
MSComm1.Output = Chr$(255)
Case 56 '8
MSComm1.Output = Chr$(201)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(201)
MSComm1.Output = Chr$(255)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
81
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
Case 57 '9
MSComm1.Output = Chr$(207)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(255)
Case 58 ':
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(27)
MSComm1.Output = Chr(27)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 59 ';
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(109)
MSComm1.Output = Chr(110)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 60 '<
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(34)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(0)
Case 61 '=
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(0)
Case 62 '>
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(34)
MSComm1.Output = Chr(20)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(0)
Case 63 '?
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
82
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr(32)
MSComm1.Output = Chr(64)
MSComm1.Output = Chr(69)
MSComm1.Output = Chr(72)
MSComm1.Output = Chr(48)
MSComm1.Output = Chr(0)
Case 64 '@
MSComm1.Output = Chr(62)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(93)
MSComm1.Output = Chr(85)
MSComm1.Output = Chr(60)
MSComm1.Output = Chr(0)
Case 65 'A
MSComm1.Output = Chr$(224)
MSComm1.Output = Chr$(215)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(215)
MSComm1.Output = Chr$(224)
MSComm1.Output = Chr$(255)
Case 66 'B
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(201)
MSComm1.Output = Chr$(255)
Case 67 'C
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(221)
MSComm1.Output = Chr$(255)
Case 68 'D
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(255)
Case 69 'E
MSComm1.Output = Chr$(128)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
83
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(255)
Case 70 'F
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(255)
Case 71 'G
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(176)
MSComm1.Output = Chr$(255)
Case 72 'H
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(255)
Case 73 'I
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(255)
Case 74 'J
MSComm1.Output = Chr$(189)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(129)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(255)
Case 75 'K
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(247)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
84
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(235)
MSComm1.Output = Chr$(221)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(255)
Case 76 'L
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(253)
MSComm1.Output = Chr$(255)
Case 77 'M
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(223)
MSComm1.Output = Chr$(239)
MSComm1.Output = Chr$(223)
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(255)
Case 78 'N
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(223)
MSComm1.Output = Chr$(239)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(255)
Case 79 'O
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(255)
Case 80 'P
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(207)
MSComm1.Output = Chr$(255)
Case 81 'Q
MSComm1.Output = Chr$(193)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(186)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
85
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(189)
MSComm1.Output = Chr$(194)
MSComm1.Output = Chr$(255)
Case 82 'R
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(183)
MSComm1.Output = Chr$(179)
MSComm1.Output = Chr$(181)
MSComm1.Output = Chr$(206)
MSComm1.Output = Chr$(255)
Case 83 'S
MSComm1.Output = Chr$(205)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(190)
MSComm1.Output = Chr$(214)
MSComm1.Output = Chr$(255)
Case 84 'T
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(128)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(191)
MSComm1.Output = Chr$(255)
Case 85 'U
MSComm1.Output = Chr$(129)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(129)
MSComm1.Output = Chr$(255)
Case 86 'V
MSComm1.Output = Chr$(131)
MSComm1.Output = Chr$(253)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(253)
MSComm1.Output = Chr$(131)
MSComm1.Output = Chr$(255)
Case 87 'W
MSComm1.Output = Chr$(129)
MSComm1.Output = Chr$(254)
MSComm1.Output = Chr$(249)
MSComm1.Output = Chr$(254)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
86
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr$(129)
MSComm1.Output = Chr$(255)
Case 88 'X
MSComm1.Output = Chr$(156)
MSComm1.Output = Chr$(235)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(235)
MSComm1.Output = Chr$(156)
MSComm1.Output = Chr$(255)
Case 89 'Y
MSComm1.Output = Chr$(143)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(248)
MSComm1.Output = Chr$(247)
MSComm1.Output = Chr$(143)
MSComm1.Output = Chr$(255)
Case 90 'Z
MSComm1.Output = Chr$(188)
MSComm1.Output = Chr$(186)
MSComm1.Output = Chr$(182)
MSComm1.Output = Chr$(174)
MSComm1.Output = Chr$(158)
MSComm1.Output = Chr$(255)
Case 91 '[
MSComm1.Output = Chr$(0)
MSComm1.Output = Chr$(127)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 92 '\
MSComm1.Output = Chr(32)
MSComm1.Output = Chr(16)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(4)
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(0)
Case 93 ']
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(127)
MSComm1.Output = Chr(0)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
87
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr(0)
Case 94 '^
MSComm1.Output = Chr(16)
MSComm1.Output = Chr(32)
MSComm1.Output = Chr(64)
MSComm1.Output = Chr(32)
MSComm1.Output = Chr(16)
MSComm1.Output = Chr(0)
Case 95 '_
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(0)
Case 96 '`
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(112)
MSComm1.Output = Chr(104)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 97 'a
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(21)
MSComm1.Output = Chr(21)
MSComm1.Output = Chr(21)
MSComm1.Output = Chr(15)
MSComm1.Output = Chr(0)
Case 98 'b
MSComm1.Output = Chr(127)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(0)
Case 99 'c
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(0)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
88
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
Case 100 'd
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(127)
MSComm1.Output = Chr(0)
Case 101 'e
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(11)
MSComm1.Output = Chr(13)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(0)
Case 102 'f
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(63)
MSComm1.Output = Chr(72)
MSComm1.Output = Chr(72)
MSComm1.Output = Chr(32)
MSComm1.Output = Chr(0)
Case 103 'g
MSComm1.Output = Chr(24)
MSComm1.Output = Chr(37)
MSComm1.Output = Chr(37)
MSComm1.Output = Chr(37)
MSComm1.Output = Chr(62)
MSComm1.Output = Chr(0)
Case 104 'h
MSComm1.Output = Chr(127)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(7)
MSComm1.Output = Chr(0)
Case 105 'i
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(17)
MSComm1.Output = Chr(95)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(0)
Case 106 'j
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
89
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(17)
MSComm1.Output = Chr(94)
MSComm1.Output = Chr(0)
Case 107 'k
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(127)
MSComm1.Output = Chr(4)
MSComm1.Output = Chr(10)
MSComm1.Output = Chr(17)
MSComm1.Output = Chr(0)
Case 108 'l
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(127)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 109 'm
MSComm1.Output = Chr(15)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(7)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(7)
MSComm1.Output = Chr(0)
Case 110 'n
MSComm1.Output = Chr(15)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(7)
MSComm1.Output = Chr(0)
Case 111 'o
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(0)
Case 112 'p
MSComm1.Output = Chr(63)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
90
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr(36)
MSComm1.Output = Chr(36)
MSComm1.Output = Chr(36)
MSComm1.Output = Chr(24)
MSComm1.Output = Chr(0)
Case 113 'q
MSComm1.Output = Chr(24)
MSComm1.Output = Chr(36)
MSComm1.Output = Chr(36)
MSComm1.Output = Chr(36)
MSComm1.Output = Chr(63)
MSComm1.Output = Chr(0)
Case 114 'r
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(15)
MSComm1.Output = Chr(4)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(0)
Case 115 's
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(21)
MSComm1.Output = Chr(21)
MSComm1.Output = Chr(18)
MSComm1.Output = Chr(0)
Case 116 't
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(16)
MSComm1.Output = Chr(126)
MSComm1.Output = Chr(17)
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(0)
Case 117 'u
MSComm1.Output = Chr(14)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(14)
MSComm1.Output = Chr(0)
Case 118 'v
MSComm1.Output = Chr(12)
MSComm1.Output = Chr(2)
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
91
Chương 6: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(12)
MSComm1.Output = Chr(0)
Case 119 'w
MSComm1.Output = Chr(14)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(1)
MSComm1.Output = Chr(14)
MSComm1.Output = Chr(0)
Case 120 'x
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(6)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(0)
Case 121 'y
MSComm1.Output = Chr(24)
MSComm1.Output = Chr(5)
MSComm1.Output = Chr(5)
MSComm1.Output = Chr(5)
MSComm1.Output = Chr(30)
MSComm1.Output = Chr(0)
Case 122 'z
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(11)
MSComm1.Output = Chr(13)
MSComm1.Output = Chr(9)
MSComm1.Output = Chr(0)
Case 123 '{
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(8)
MSComm1.Output = Chr(54)
MSComm1.Output = Chr(65)
MSComm1.Output = Chr(0)
MSComm1.Output = Chr(0)
Case 124 '|
MSComm1.Output = Chr(119)
MSComm1.Output = Chr(0)
Case 125 '}
Mạch Quang Báo Giao Tiếp Máy Tính Dùng Pic16F877A
GVHD: Đinh Thị Thanh Hoa
92