本帖最后由 芯圣电子官方QQ 于 2023-7-20 11:07 编辑
芯圣的51系列单片机自带的RC振动器频率出厂时修正为32Mhz,而对于高速率的串行通信(例如115200)设置时误差太大容易导致通信失败.单片机提供了调整RC振动器频率的方法,通过调整Fsys频率到33.17760hz可以达到最佳效果.但是厂家的说明书不够详细,提供的C语言DEMO也有问题,所以在次记录我修改的过程.
频率修正寄存器TRMEN与频率的关系在 3FH~40H 之间有跳变点. 图中明确表明了频率跳变点.
除了单片机手册中提到到修改 TRMEN 特定步骤外还应该注意如下问题:
1. TRMEN 寄存器只有在每次硬件复位时才恢复到出厂值.
2. 注意仿真界面到RST按键并不会使TRMEN恢复到出厂值,而是保持硬件复位后被用户修改过的值不变.
3.每个单片机的 TRMEN 值并不相同,而程序中对 TRMEN +N (需排除跳变点影响)是可以适用于其它单片机的.
4.修正值按照手册的数据计算 N=9,而我的修正值N=7为多数(不能排除我的示波器频率测量也许有误差).
|