51单片机串口接收中断法
51单片机串口接收中断法?
51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。但当串口中断处于开放状态时,单片机都会进入串口中断处理程序。
在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。即:每当收到一个新数据,就在中断函数中,把 RI 清零,并用一个变量,通知主函数,收到了新数据。
要想发送不产生中断也不是不可以,你可以这样处理,发送前,屏蔽中断,发送完后再打开。 如下:
SENDCOM: CLR ES CLR TI MOV SBUF,A JNB TI,$ CLR TI SETB ES RET