PDA

View Full Version : Rất mong các bạn chú thích giúp mình các lệnh trong chương trình này


samuenvn85
17-09-2012, 12:15 AM
#include <16f877a.h>
#include <def_877a.h>
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP, NOCPD, NOWRT
// Khai báo sử dụng giao tiếp nối tiếp RS232
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=9)

#include <lcd_lib_4bit.c>

int8 count=0; //...
char string_in[16]; //...

#INT_RDA // Hàm xử lý ngắt nối tiếp
Receive_isr() { //...
char c; //...
int8 i; //...
count++; //...
c = getc(); //...
putc(c); //...
if (c==ʹcʹ | c==ʹCʹ) //...
{
LCD_putcmd(0x01); //Clear Screen
c=ʹcʹ; //...
count=0; //...
}
if ((count<=16) && (c!=ʹcʹ)) LCD_putchar(c); //...
if (count > 16) //...
{
count=0; //...
LCD_putcmd(0xC0); //...
}
}
void main() //...
{

anhtuanhoang
17-09-2012, 12:57 AM
chú thích cái chi chứ bạn, cả bài code này luôn á

samuenvn85
18-09-2012, 12:48 AM
chào bạn, bạn vui lòng giúp mình chú thích các câu lệnh dùng trong bài code này với, mình mới học nên không hiểu được tác dụng của các câu lệnh trong bài, mình muốn viết một chương trình nhận một chuỗi dữ liệu rs 232 gửi từ máy tính '' FF 01 04 25 (byte đồng bộ - byte địa chỉ - byte comand - byte checksum) '' nếu byte địa chỉ bằng 1 thì pic tiếp tục nhận hết chuỗi, sau đó so sánh byte comand(04) nếu = 4 thập phân thì pic đưa byte 04(00000100) ra port b của pic, rất mong nhận được sự giúp đỡ của bạn!Cảm ơn bạn!