#include<reg52.h> unsigned char flag,a; void inter(); void main() { inter();
while(1) { if(flag==1) { ES=0; //關(guān)閉中斷 flag=0; SBUF=a; while(TI==1) TI=0; ES=1;
} } } void ser() interrupt 4 //中斷方式 {
RI=0; P0=SBUF; a=SBUF; flag=1;
} void inter() { TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; //啟動(dòng)t1 REN=1; //允許串行接收 SM0=0; //設(shè)定串行工作方式 SM1=1; EA=1; ES=1; }
這是我寫的一個(gè)串口的程序,有點(diǎn)問(wèn)題一直找不出來(lái)。這是實(shí)現(xiàn)單片機(jī)和pc的數(shù)據(jù)傳送,但是用串口調(diào)試助手的時(shí)候,向單片機(jī)發(fā)送命令,單片機(jī)可以收到,但是在串口調(diào)試助手的接受區(qū),收不到單片機(jī)發(fā)回來(lái)的命令。請(qǐng)高手解答 |