找回密码
 立即注册
楼主: 飞飞93

关于ai8051上的32768晶振停振这件事

[复制链接]
已绑定手机

4

主题

23

回帖

142

积分

注册会员

积分
142
发表于 2024-12-31 20:43:46 来自手机 | 显示全部楼层
millxhcx 发表于 2024-12-31 18:27
问题解决了米

没解决 乏了,最终结果楼下单独回复
回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

23

回帖

142

积分

注册会员

积分
142
发表于 2024-12-31 20:51:31 来自手机 | 显示全部楼层
新一款晶振回来了,优信上0.69一个 9pf的,想着能好一点,结果接上后不管换多少pf电容都不起振,还不如之前便宜的拉胯。于是又换回8*3圆柱晶振,换上后微调各种容值,勉强起振,有时还得手摸一下才能激励起振。而且还玄学起来认电源,只电脑电源有用能起振,别的USB电源起振不起来,猜测它还靠电源纹波才能激励起来。最终就这样吧,乏了,不研究了。。
希望stc官方推荐几个靠谱的晶振品牌,或者内置个寄存器可以补偿一下晶振的激励电压或负载电容。
Image_5128041838307970.jpg
Image_5127549501435189.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-12-31 22:45:01 | 显示全部楼层
敢不敢来个全身照,让我看看你新板子的晶振离单片机有多远,晶振的引脚拉了有多长
另外,用外部晶振的时候,相关引脚必须设置为浮空输入
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-05-02 02:13:09

0

主题

12

回帖

1963

积分

金牌会员

积分
1963
发表于 2025-1-1 04:07:37 | 显示全部楼层
可尝试:将与晶振直连和毗邻的引脚清理干净,确保高阻减少分布电容。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-01 07:24:50

4

主题

511

回帖

1991

积分

金牌会员

积分
1991
发表于 2025-1-1 08:41:48 | 显示全部楼层
截图202501010849505500.jpg 截图202501010905187811.jpg
电容相连,,,

后,
联GND,,
不是,直接,联GND

截图202501010847281350.jpg 截图202501010853024951.jpg
看出不同了吗?
线要等长,中间点,接芯片的GED

为什么?摸一下,起振的,就是这原因,还有芯片电源的处理部分,要




回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

23

回帖

142

积分

注册会员

积分
142
发表于 2025-1-1 08:47:33 来自手机 | 显示全部楼层
晓飛飛 发表于 2024-12-31 22:45
敢不敢来个全身照,让我看看你新板子的晶振离单片机有多远,晶振的引脚拉了有多长
另外,用外部晶振的时候 ...

这图
IMG_20250101_083502.jpg
IMG_20250101_083452.jpg
IMG_20250101_083519.jpg
IMG_20250101_083529.jpg
IMG_20250101_083632.jpg
Image_5170751801003813.png
回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

23

回帖

142

积分

注册会员

积分
142
发表于 2025-1-1 08:50:08 来自手机 | 显示全部楼层
以下是测试程序
#include <STC8051U.H> // 头文件见下载软件
#include "intrins.h"
#include "stdio.h"
#define MAIN_Fosc 22118400L
#define Baudrate 115200L
#define TM (65536 -(MAIN_Fosc/Baudrate+2)/4)
bit B1S_Flag;
void RTC_config(void);
void UartInit(void)
{
SCON = (SCON & 0x3f) | 0x40;
T2L = TM;
T2H = TM>>8;
S1BRT = 1;
T2x12 = 1;
T2R = 1;
}
void UartPutc(unsigned char dat)
{
SBUF = dat;
while(TI==0);
TI = 0;
}
char putchar(char c)
{
UartPutc(c);
return c;
}
void RTC_Isr() interrupt 13
{
if(RTCIF & 0x08) // 判断是 否 秒中断
{
RTCIF &= ~0x08; // 清中断标志
B1S_Flag = 1;
}
}
void main(void)
{
P_SW2 = 0X80; // 使能访问 XFR, 没有冲突不用关闭
CKCON = 0x00; // 设置外部数据总线速度为最快
WTST = 0x00; // 设置程序代码等待参数,
// 赋值为 0 可将 CPU 执行程序的速度设置为最快
P0M1 = 0; P0M0 = 0; // 设置为准双向口
P1M1 = 0; P1M0 = 0; // 设置为准双向口
P2M1 = 0; P2M0 = 0; // 设置为准双向口
P3M1 = 0; P3M0 = 0; // 设置为准双向口
P4M1 = 0; P4M0 = 0; // 设置为准双向口
P5M1 = 0; P5M0 = 0; // 设置为准双向口
UartInit();
RTC_config();
EA = 1;
printf("RTC Test Programme!\r\n"); //UART 发送一个字符串
while (1)
{
if(B1S_Flag)
{
B1S_Flag = 0;
        P01=!P01;//LED测试
       
printf("Year=20%bd ", YEAR);
printf("Month=%bd ", MONTH);
printf("Day=%bd ", DAY);
printf("Hour=%bd ", HOUR);
printf("Minute=%bd ", MIN);
printf("Second=%bd ", SEC);
printf("\r\n");
}
}
}
void RTC_config(void)
{
// 选择内部 低速 IRC
// IRC32KCR = 0x80; // 启动内部 低速 IRC 振荡器
// while (!(IRC32KCR & 0x01)); // 等待时钟稳定
// RTCCFG |= 0x02; // 选择内部 低速 IRC 作为 RTC 时钟源
// 选择外部 32K
X32KCR = 0xc0; // 启动外部 32K 晶振
while (!(X32KCR & 0x01)); // 等待时钟稳定
RTCCFG &= ~0x02; // 选择外部 32K 作为 RTC 时钟源
INIYEAR = 21; //Y:2021
INIMONTH = 12; //M:12
INIDAY = 31; //D:31
INIHOUR = 23; //H:23
INIMIN = 59; //M:59
INISEC = 50; //S:50
INISSEC = 0; //S/128:0
RTCIF = 0; // 清中断标志
RTCIEN = 0x08; // 使能 RTC 秒中断
RTCCR = 0x01; // RTC 使能
RTCCFG |= 0x01; // 触发 RTC 寄存器初始化
while(RTCCFG & 0x01); // 等待初始化完成 , 需要在 "RTC 使能 " 之后判断 .
// 设置 RTC 时间需要 32768Hz 的 1 个周期时间 ,
// 大约 30.5us. 由于同步 , 所以实际等待时间是 0~30.5us.
// 如果不等待设置完成就睡眠 , 则 RTC 会由于设置没
// 完成 , 停止计数 , 唤醒后才继续完成设置并继续计数 .
}
/*isr.asm
CSEG AT 0123H
JMP 006BH
END
*/

点评

把晶振相关引脚设置成浮空输入模式  详情 回复 发表于 2025-1-1 14:36
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-05-01 06:58:22

5

主题

184

回帖

1333

积分

金牌会员

积分
1333
发表于 2025-1-1 09:03:12 | 显示全部楼层
The ESR of the crystal is important for starting, and lower CL crystals have more gain margin.

If the MCU gain settings still do not solve this, you can try this common approach experiment


截图202501010902028671.jpg

The 10M should be inside the MCU, but the 300k can be 50-470k external you cna experiment with, on XTAL OUT pin.


回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

23

回帖

142

积分

注册会员

积分
142
发表于 2025-1-1 09:08:53 来自手机 | 显示全部楼层
jmg 发表于 2025-1-1 09:03
The ESR of the crystal is important for starting, and lower CL crystals have more gain margin.

If t ...

厉害,是个硬件法子,不过得改板,以前在xn297芯片上见过这种外置电阻的晶振接法,不然也不起振
回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

23

回帖

142

积分

注册会员

积分
142
发表于 2025-1-1 09:10:27 来自手机 | 显示全部楼层
vg2023 发表于 2025-1-1 04:07
可尝试:将与晶振直连和毗邻的引脚清理干净,确保高阻减少分布电容。

我在思考以后32晶振周围是不是得加禁止敷铜
回复 支持 1 反对 0

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 11:01 , Processed in 0.194150 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表