当前位置: 首页 > 新闻中心 > 常见问答
返回
列表

51系列单片机之串口通讯

发表时间: 2023-12-31 作者: 常见问答

  中第4个中止便是串口中止,要进行串口通讯首要就要翻开CPU总中止EA,还要翻开串口通讯中止ES,这是串口通讯的前堤,而串口通讯也跟计时器相同有许多的形式,因而咱们还需求设置SCON寄存器来指定选用哪一种方法来进行通讯,而在通讯的过程中,咱们还需求设定通讯的波特率,否则的话,单片机是没办法进行采样的,这样也不会得到正确的成果了.我在试验过程中用到的是1号定时器来设定的波特率,用到了计时器方法2,也便是8位主动重装,这样做才能够简化编程,她的完成思维便是将常数放入TH,而TL中则是初始化参数,当溢出时,单片时机主动将TH中的常数装入TL中.

  再来说说波特率,咱们为何需求设定波特率,由于单片时机以16倍波特率的速度进行采样,而在试验中咱们用的是10位异步收发方法,因而要将SM0置0,SM1置1.而其间的10位有8位数据位,第一位和最终一位是发送数据的开始与完毕.选用高的皮特率就不会犯错啦.而波特率是有一个公式的:

  依据公式咱们很简单就算出当晶振为110592HZ时,要到达9600的波特率,咱们只需求将TL1置FDH即可,如下图:

  除此之外,你还要将SCON中的REN方位1,否则的话,单片机是不会接纳数据的.

  还有不要忘了挑选定时器的作业方法,设置TMOD为0x20既是作业方法2,8位主动重装定时器.

  这样一来,初始批作业算是差不多了.而串口通讯分为中止方法,和查询方法,假如你想用查询方法你也不必设置IE寄存器了.

  在串口通讯中,还有一个很重要的寄存器SBUF,其实也不是一个,是两个,仅仅它们共用同一个地址,再热气表达式的不同,单片时机主动挑选运用哪一个SBUF.