作为数据的奇偶校验位当CPu执行一条数据写入SuBF的指令且TI0时就启动发送器发送发送一帧信息后置位中断标志TI输入在REN1时串行口采样RXD引脚当采样到1至O的跳变时确认是串行发送来的一帧数据的开始位0从而开始接收一帧数据在接收到附加的第9位数据后当满足①RI0②SM20或接收到的第9位数据为1时第9位数据才进入RB88位数据才能进入接收寄存器并由硬件置位中断标志Ri否则信息丢失且不置位RI2工作方式3方式3为波特率可变的11位UART方式除波特率外其余与方式2相同波特率的选择如前所述在串行通讯中收发双方的数据传送率波特率要有一定的约定在MCS51串行口的四种工作方式中方式0和2的波特率是固定的而方式1和3的波特率是可变的由定时器T1的溢出率控制1方式O方式0的波特率固定为主振频率2方式2方式2的波特率由PCON中的选择位SMOD来决定可表示为波特率2sMoD×fosc64也就是当SMOD1时波特率为132×fosc当SMOD0时波特率为164×fosc3方式1和方式3定时器T1作为波特率发生器其公式如下波特率2SMOD32×定时器T1溢出率T1溢出率T1计数率产生溢出所需的周期数式中T1计数率取决于它工作在定时器状态还是计数器状态当工作于定时器状态时T1计数率为fOSC门2当工作于计数器状态时T1计数率为外部输入频率此频率应小于fOSC24产生溢出所需周期与定时器T1的工作方式T1的预置值×有关定时器T1工作于方式O溢出所需周期数8192×定时器T1工作于方式1溢出所需周期数65536X定时器T1工作于方式2溢出所需周期数256X因为方式2为自动重装入初值的8位定时器计数器模式所以用它来做波特率发生器最恰当这种方式下T1的溢出率次秒计算式可以表示为T1溢出率fsoc12256X的112
5
f鄂东职业技术学院单片机原理及应用课程设计
22串口通信原理
串口通讯对单片机而言意义重大不但可以实现将单片机的数据传输到计算机端而且也能实现计算机对单片机的控制由于其所需电缆线少接线简单所以在较远距离传输中得到了广泛的运用221波特率选择波特率BoudRate就是在串口通信中每秒能够发送的位数bitsseco
dMCS51串行端口在四种工作模式下有不同的波特率计算方法其中模式0和模式2波特率计算很简单请同学们参看教科书模式1和模式3的波特率选择相同故在此仅以工作模式1为例来说明串口通信波特率的选择在串行端口工作于模式1其波特率将由计时计数器1来产生通常设置定时器工作于模式r