本帖最后由 maychang 于 2020-10-13 15:48 编辑
51单片机必须接石英晶体(也可以用压电陶瓷)作为时针发生器。
对51单片机来说,12个石英晶体振荡周期为一个时钟周期。别问为什么,硬件就是这样设计的。石英晶体频率为12MHz时,一个时钟周期就是1us。石英晶体频率为6MHz时,一个时钟周期就是2us。石英晶体频率为4MHz时,一个时钟周期就是3us。石英晶体频率为3MHz时,一个时钟周期就是4us。依此类推。
定时器1有几种工作方式。用于波特率发生器,定时器1通常工作于8位自动重装方式(模式2)。定时器1工作于8位重装方式时,高8位相当于一个8位寄存器,可以事先写入数据,低8位是计数器,对时钟周期计数。高8位溢出时,自动将低8位所存储的数据重新装入高8位,仍然对时钟周期计数。
所以如果石英晶体频率为12MHz,定时器1高8位存储数据为FFH(255),每个时钟周期(1us)定时器1低8位产生一次溢出(从FFH只计一个数就到了00H,也就是256)。定时器1高8位存储数据为FEH(254)时,每两个时钟周期(2us)定时器1低8位产生一次溢出。
如果石英晶体频率为6MHz,定时器1高8位存储数据为FFH(255),每个时钟周期(2us)定时器1低8位产生一次溢出(从FFH只计一个数就到了00H,也就是256)。定时器1高8位存储数据为FEH(254)时,每两个时钟周期(4us)定时器1低8位产生一次溢出。
如果石英晶体频率为4MHz,定时器1高8位存储数据为FFH(255),每个时钟周期(3us)定时器1低8位产生一次溢出(从FFH只计一个数就到了00H,也就是256)。定时器1高8位存储数据为FEH(254)时,每两个时钟周期(6us)定时器1低8位产生一次溢出。
|