请教一下AI8051U的外部32.768晶振问题
新打的一块测试板,用的是AI8051U芯片,QFP48脚封装,外部接的是32.768K的晶振,负载电容20P,程序是按照官方的例程来写的,程序中只写了一个串口打印输出监测程序,上电后无反应,如果用示波器去测量晶振脚,波形是稳定的32.768,此时又有输出,但是输出是乱码,如果用默认的时钟,是能够正常输出串口信息的,这个会是哪里的问题?只用32.768时钟的时候,需要按照这个时钟作为时基来配置串口波特率 波特率计算错了 邮箱 发表于 2024-10-15 16:38
波特率计算错了
不是的,就算波特率错了,肯定也是输出错的,可是却没有输出
有可能晶振没启动成功,接上示波器晶振就启动了,可以换换电容试试 仔细看看晶振的数据手册,匹配多大的负载电容
/*
设置系统工作频率为40.0900M,
CREHF设置为0,CRECNT设置为:(16*40090000)/32768=19575.19,取值为19575(4C770H)
即CRECNTH设置为4CH,CRECNTL设置为77H,CRERSE设置为:19575*0.5%=98(62H)
*/
X32KCR= 0xc0; //启动外部32.768K晶振
while(!(X32KCR&0x01));
IRCBAND = 0x04;//选择内部高速HIRC频段为44M段
CLKSEL= 0x40;//选择内部高速HIRC为系统时钟源 P216
CRECNTH = 0x4c;//设置目标频率高8位
CRECNTL = 0x77;//设置目标频率低8位
CRERES= 0x62;//设置追频误差
CRECR = 0x90;//设置追频速度 P235
// while(!(CRECR&0x01));//等待追频校准完成 让主频10分频输出一个时钟,看看主频频率是多少。 本帖最后由 深山老妖 于 2024-10-19 18:18 编辑
梁工 发表于 2024-10-19 11:44
让主频10分频输出一个时钟,看看主频频率是多少。MCLKOCR = 0x0a;//P4.7 10分频输出
结果如下:
MCLKOCR = 0x64;//P4.7 100分频输出
结果如下:
每次上电后,必须要先用示波器探头探一下晶振的引脚,不然不起振,同样的晶振,同样的电容,在32F的板子上工作的好好的。
页:
[1]
2