工作频率可动态调整的单片机系统设计
机系统工作在能够满足上述要求的各种频率下的波特率及此时定时器1的自动重装载值(该表由计算机模拟得出)。
《工作频率可动态调整的单片机系统设计(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/165334.html
如果单片机选用最高频率为40MHz的89C51,则可以把DS1077的可编程除法器N设置为2,即让单片机工作于33.333MHz。由表6可知,当定时器1的自动重装载值设置不同进,单片机系统可以分别以28.8kbps、14.4kbps、9600bps、4800bps、2400bps进行可靠的串行通讯。系统对单片机速度要求不高时,单片机则可以把N设置成3、6、9、18、36,则系统分别工作于22.222MHz、11.111MHz、7.0473MHz、3.7037MHz和1.85183MHz。值得一提的是,当单片机工作频率太低时,单片机只能以较低的波特率通讯。例如,当单片机工作在1.85183MHz时,串行通讯只能是2400bps或更低。当然,如果单片机不按这些标准波特率进行通讯或根本就不需要串行通讯,单片机系统的工作频率的选择范围也就更宽了。
表6 单片机波特率及定时器1的自动重装载值(波特率发生器误差全部为0.47%)
从上面的讨论可看出,在单牒同编程时只需把表6设计成工作频率表格存于程序存储器中。在需要改变工作频率时从表格中查出该频率所对应的N值和所需要的波特率对应的自动重装载值,通过N值计算出DIV寄存器的值写入到DS1077中,把系统的工作频率设置到了相应的值上;同时,用该自动重装载值对T1定时器进行设置,就能保证系统的RS232串行通讯。
《工作频率可动态调整的单片机系统设计(第4页)》