关于单片机通信问题
本人刚学习到51单片机的串口通信,产生了一点小疑惑,正常由单片机开发出的产品,它们的通信和串口中断是一直开着的吗?如果是的话,它长期占用中断和定时器,会对其他的程序产生影响吗?如果不是的话,下面是我写的简单的小程序,帮忙看一下,如何设置让有信号接收时,再打开中断和设置定时器等。#include <reg52.h>
unsigned char i=0xFF;//设定初值,确保小灯是全灭。
void main()
{
TH1=0xF3; //计时器1设置工作模式2,波特率2400。
TL1=0xF3;
TMOD=0x20;
ES=1; //串口中断开
SCON=0x50; //串行通信模式选择
PCON=0x00; //波特率不加倍
EA=1; //总中断开
TR1=1; //计时器1运行
while(1)
{
P2=i; //控制小灯的亮灭
}
}
void CKZD()interrupt 4 //串口中断函数
{
i=SBUF;
RI=0;
}