em đã thử mô phỏng nhưng ko chạy,em ko biết sai ở đâu nữa.
CODE của bài viết cho 89C51, max232,com9
--------------------------------------------------------------------------
#include <REGX51.H>
#include <stdio.h>
int t;
void SetupSerial()
{
SCON = 0x52; // Che do 1: 8-bit UART, cho phep truyen
TMOD = 0x20; // timer 1 che do 2: 8-Bit tu dong nap lai.
TH1 = 0xfd ; // toc do 9600 baud
TL1 = 0xfd ;
TI = 0; // co ngat nha^n.=0
RI=0; //co ngat' truye^n =0
TR1 = 1; // timer 1 run
ES =1; // cho phep ngat noi tiep
}
void truyenthong(void) interrupt 4 //Chuong trinh con dung ngat noi tiep
{
int t;
if(RI)
{
RI=0;
t=SBUF; //nhan ky tu ve
SBUF=t; // truyen nguoc lai
}
}
void main()
{
SetupSerial(); //Khoi tao cac thong so cho truyen thong noi tiep
EA = 1; //Cho phep ngat nhung chi? có ngat noi tiep duoc dung trong code nay
if (SBUF==68){ //68 la ma~ cua chu*~ D
P1_0=1; // tat LED
P1_1=0; } // bat LED
if(SBUF==88){ //88 la ma~ cua chu*~ X
P1_0=0; // bat LED
P1_1=1; // tat LED
}
}


Trả Lời Với Trích Dẫn