有源晶振使用的问题,求解
芯片stc32g12k128.遇到一个问题。使用了标称25M的有源晶振,以为mcu工作频率就是25M了。在P54输出了一个1/10主频。并对它进行测量。结果发现对应的主频不是25M。求解释(表中P54输出频率列出的是对应主频值)
//XOSCCR=0xc0; //启动外部晶振 .用22M外晶振
//while (!(XOSCCR&1));//等待时钟稳定
CLKDIV = 0x00; //时钟不分频
CLKSEL = 0x01;//选择外部振荡源,25M有源晶振
在mcu设置时只选择了外部振荡源。没选外部晶振。
第一次使用有源晶振,没经验,不知问题在哪里,难道是信号波形不好。谐波在捣乱?还是有源晶振使用时需要关闭什么设置。
我自己的测量并不保证准确,只做为一个参考,希望看到的是stc-isp设置下载频率不同时,因为mcu使用了外部有源晶振,其工作频率是一个稳定的值。
1、断开晶振信号,看MCU还能运行吗?
2、要启动外部晶振,因为需要用到晶振输入电路。
3、用定时器0或1自动重装并自动取反输出方波,配合测试。
梁工 发表于 2023-6-3 12:25
1、断开晶振信号,看MCU还能运行吗?
2、要启动外部晶振,因为需要用到晶振输入电路。
3、用定时器0或1自 ...
关闭外部晶振,使用内部IRC时钟,用stc-isp设置12M,用stc-isp定时器设置T0定时器1毫秒计时中断,在中断程序中翻转P3.3.这时用stc虚拟示波器测得P3.3方波频率1.004K,符合预期。程序不变。把stc-isp设置频率改为24M。再测P3.3方波频率,还是1.004K左右。两种情况用自制频率计测P5.4输出频率都是24M(1/10输出,实际测得值是2.4M)改变stc-isp设置频率为18.432M,这时测P3.3方波频率为1.58K左右,测P5.4频率37M多些。换了一个stc12k128dip40芯片,结果一样。感觉我对设置频率的理解有问题 感觉是我在stc-isp中设置12M频率时。实际芯片工作频率是24M 丽江春水 发表于 2023-6-3 15:36
感觉是我在stc-isp中设置12M频率时。实际芯片工作频率是24M
下载时选择内部IRC频率,注意程序中不要写CLKDIV,不要写跟IRC有关的寄存器,启动时MCU会自动配置好。
下载选择选择12M,内部振荡是24M,CLKDIV=2,即2分频。
下载选择选择24M,内部振荡是24M,CLKDIV=0,即1分频。
这几年我们做了大量的应用,不管是内部时钟还是外部晶振,都未曾碰到过问题。每天接几十个电话,都未碰到主频异常的。 梁工 发表于 2023-6-3 12:25
1、断开晶振信号,看MCU还能运行吗?
2、要启动外部晶振,因为需要用到晶振输入电路。
3、用定时器0或1自 ...
打开外部晶振选项,P5.4输出25M了。问题解决。谢谢梁老师 梁工 发表于 2023-6-3 15:44
下载时选择内部IRC频率,注意程序中不要写CLKDIV,不要写跟IRC有关的寄存器,启动时MCU会自动配置好。
下 ...
谢谢。记住了 我的问题出在程序中加了CLKDIV = 0x00; //时钟不分频 。干扰了MCU自己的设置。
页:
[1]