发布网友
共1个回答
热心网友
首先,串口波特率2400,作为串口波特率来源的定时器1计数方式2初值应为0XF4;而你的初装值
为0Xfd,且PCON中最高位又设置为1,那么波特率实为19200,
其次,PCON=0X80为波特率倍增设置,故而19200又倍增为38400。这已远远超出了51单片机的频
率范围,
第三,虽然设置了串口方式1(T1控波),但未设置串口中断(TI)。所以当发送完一个字符后,CPU并未产生中断信号,无法判断是否已发送完毕 ,故而持续等待中断的发生,造成时间上的占用,延缓了发送速度。追问中断TI确定需要吗?后来我加了一个ip0等于1,就能收到数据了,pcon我已经删掉了,定时器初始值确实设错了,谢谢
追答应该说:设置串口中断,会让CPU的工作变得更有序。