T0和T1是8051系列单片机的两个定时器,其中T0是8位定时器,可以用来计时或者做PWM输出,但是并不能正常的产生波特率。而波特率发生器可以根据需要产生不同的波特率来满足串口通信的需求。
由于T0的频率是通过外部晶振或者RC振荡器来控制的,而这些元件的精度不够高,在高速通讯的时候会出现波特率的误差,从而导致通讯错误。而波特率发生器可以通过内部时钟产生精确的波特率,满足高速通讯的需求。
T0只能用来产生固定的矩形波,而波特率发生器可以根据需要产生不同的波特率和不同的波形,包括异步串口中使用的起始位、停止位和校验位等。因此在异步串口通信中,需要使用波特率发生器来实现数据的正确传输。
T0在产生波特率时只能选择一种预定频率,这样会导致无法在同一系统中完成不同波特率的通信,而波特率发生器可以根据需要选择不同的波特率,同时还可以通过分频器和计数器的组合来产生不同的波特率,满足不同系统的需求。