Cái code z sai chỗ nào mấy bác, sao mình mô phỏng mà nó ko chạy!
Cái này là code của bên diễn đàn SPKT, mình thử nhưng nó ko chạy, protues,hyper terminal đều ok hết đó!
Code:
#include <at89x51.h> #include <stdio.h> //========================= #define leddo P1_0 #define ledxanh P1_1 //========================= unsigned char ch,abc; //========================== 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 { char ch; if(RI) { RI=0; ch=SBUF; //nhan ky tu ve SBUF=ch; // 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~ DEC cua chu*~ D leddo=0; ledxanh=1; } if(SBUF==88){ //88 la ma~ DEC cua chu*~ X leddo=1; ledxanh=0; } }
Comment