JP3接P0口。
#include<reg51.h>
#define uchar unsigned char
uchar flag,num;
//
void initSer();
void main()
{
//
initSer();
while(1)
{
//从计算机接收到的数据立即发送给计算机
if(flag==1)
{
//关闭中断,否则又要进入中断服务程序,会引起恶性循环
ES = 0;
flag = 0;
//发送数据。向发送缓存器中写入数据
SBUF = num;
while(!TI);
TI = 0;
ES = 1;
}
}
}
//
void initSer()
{
//T1工作在方式2
TMOD = 0x20;
//装初值---9600波特率SMOD = 0
TH1 = 0xfd;
TL1 = 0xfd;
//启动定时器
TR1 = 1;
//串口工作在方式1下
SM0 = 0;
SM1 = 1;
//同意单片机接收数据
REN = 1;
//开中断
ES = 1;
EA = 1;
}
//
void ser() interrupt 4
{
//软件清零
RI = 0;
//读取数据
P0 = SBUF;
num = SBUF;
flag = 1;
}