Post bài bên picvietnam mà có vẻ bên đó yên ắng quá mang sang đây đông người hy vọng gặp được cao thủ 
Có ai giúp em với ?! Giao tiếp PIC16F877A - RS232, nó vẫn gửi và nhận dữ liệu từ máy tính bình thường, những mỗi tội là ký tự rờ rờ, chả đúng gì cả, gửi 1 ký tự từ máy tính xuống , nó hiển thị lên LCD và phát trở lại máy tính mà sai bét , hu hu, ai giúp em với

Có ai giúp em với ?! Giao tiếp PIC16F877A - RS232, nó vẫn gửi và nhận dữ liệu từ máy tính bình thường, những mỗi tội là ký tự rờ rờ, chả đúng gì cả, gửi 1 ký tự từ máy tính xuống , nó hiển thị lên LCD và phát trở lại máy tính mà sai bét , hu hu, ai giúp em với

Code:
#include <16f877a.h>
#include <def_877a.h>
#device *=16
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stop=1)
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
#include <lcd_lib_4bit.c>
char c;
char d[]="Test RS232";
int8 i;
#INT_RDA
void Receive_isr()
{
c=getc();
delay_us(10);
//printf(c);
putc(c);
}
/////////////////////////////////////////////
void main()
{
ENABLE_INTERRUPTS(INT_RDA);
enable_interrupts(global);
lcd_init();
for(i=0;i<10;i++)
{
//printf(d[i]);
putc(d[i]);
}
while(1)
{
lcd_putcmd(0xC0);
lcd_putchar(c);
}
}
Có ai giúp em với
một kinh nghiệm để đời. Lúc đầu em cắm lại mạch khác nhưng mà con Xtal cũng chập nên vẫn bị sai, sau đó kiên trì thử lại thì phát hiện ra tại mạch, nhất là phần giao động ấy.
. 

Comment