#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void init()
{
TMOD=0x20;//定时器1工作方式2
TH1=0xfd;
TL1=0xfd;//初值波特率9600
TR1=1;//开启定时器1
REN=1;//允许串口中断
SM0=0;
SM1=1;//SCON 方式1
EA=1;//开总中断
ES=1; //开串口中断
}
void main()
{
init();//初始化函数
while(1);
}
void ser() interrupt 4 //串口中断
{
RI=0; //取消中断申请
P1=SBUF; //把接收到的值赋给P1 即发光二极管
}
看了好久,可能是遗漏了某个细节了
上位机发送值给SBUF 然后P1 ,为啥这个程序只能发送一次????中断不是任何时候都能申请吗?小弟求大神
|