找回密码
 立即注册
查看: 44|回复: 8

请教关于STC8H1K08的外部有源晶振问题

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-12 16:05:07
已绑定手机

8

主题

12

回帖

268

积分

中级会员

积分
268
发表于 5 天前 | 显示全部楼层 |阅读模式
做了2块板子,一块用的无源晶振,一块用的有源晶振

无源晶振 (功能正常)

最近因为产品用在低温的地方,换了温补 的有源晶振,
有源晶振3.3v的晶振,单片机5v的  示波器测试正常
程序卡死在时钟配置的地方,也就是外部有源晶振不能工作,有没有用过的朋友,
或者告知一下,有源晶振的输入电压是否有要求。
下面是晶振设置的代码


void OSC_SET(void)
{
        P1IE &= ~0xc0; //关闭晶振IO数字引脚
      
                //XOSCCR = 0xD0;                 //此处1000 0000----为外部有源晶振   1100 0000----为无源晶振  D0----无源24M
        XOSCCR = 0x80;                 //此处1000 0000----为外部有源晶振   1100 0000----为无源晶振  90----有源24M   
                    
                //while(!(HIRCCR&1));
        while(!(XOSCCR&1));
        CLKDIV = 0x00;   //不分频
        CLKSEL = 0x01;   //切换到外部晶振
        HIRCCR   = 0x00;                   //关闭内部高速时钟
        IRC32KCR = 0x00;                        //关闭内部32K IRC
        X32KCR   = 0x00;                        //关闭外部32K晶振     
}
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:102
  • 最近打卡:2025-12-17 00:03:22
已绑定手机

7

主题

136

回帖

768

积分

高级会员

DIY玩家

积分
768
发表于 5 天前 | 显示全部楼层
有源和无源的电路设计如何
真正的学徒往往怀着大师的心
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-12 16:05:07
已绑定手机

8

主题

12

回帖

268

积分

中级会员

积分
268
发表于 5 天前 | 显示全部楼层
截图202512121643384208.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-12 16:05:07
已绑定手机

8

主题

12

回帖

268

积分

中级会员

积分
268
发表于 5 天前 | 显示全部楼层
截图202512121648216955.jpg
截图202512121652101667.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:645
  • 最近打卡:2025-12-16 08:20:22
已绑定手机

93

主题

6933

回帖

1万

积分

超级版主

积分
13008
发表于 5 天前 | 显示全部楼层
截图202512121708062607.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:585
  • 最近打卡:2025-12-16 00:57:37

9

主题

560

回帖

3799

积分

论坛元老

积分
3799
发表于 5 天前 | 显示全部楼层
有源晶振供电脚最好加上电源滤波电容.
一般的话,普通有源晶振的1脚悬空或者接高电平才会有输出,
而温补晶振的1脚是连通外壳,通常悬空或接地(厂家推荐接地).具体以数据手册为准.
程序里读写时钟切换相关寄存器需要先允许访问XFR.

下面是一个STC8G1K08的使用有源晶振例子,供参考
P_SW2 |= 0x80;                             //允许访问XFR
XOSCCR = 0x80;                             //启动外部时钟源
while ((XOSCCR & 1)==0){;}           //等待时钟稳定
CLKDIV = 0x00;                              //时钟不分频
CLKSEL = 0x01;                              //选择外部晶振
HIRCCR = 0x00;                             //关闭片内IRC振荡器
P_SW2 &= 0x00;                           //释放XFR
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-12 16:05:07
已绑定手机

8

主题

12

回帖

268

积分

中级会员

积分
268
发表于 5 天前 | 显示全部楼层
想问一下,是不是电压太低了,单片机5v供电时,时钟要求多少伏特?;晚点我提高电压试试
截图202512121746502681.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-12 16:05:07
已绑定手机

8

主题

12

回帖

268

积分

中级会员

积分
268
发表于 5 天前 | 显示全部楼层
网*** 发表于 2025-12-12 17:21
有源晶振供电脚最好加上电源滤波电容.
一般的话,普通有源晶振的1脚悬空或者接高电平才会有输出,
而温补晶振 ...

感谢!仔细看了应该不是程序问题,还在考虑是不是晶振电压问题
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:585
  • 最近打卡:2025-12-16 00:57:37

9

主题

560

回帖

3799

积分

论坛元老

积分
3799
发表于 5 天前 | 显示全部楼层
f5037*** 发表于 2025-12-12 18:10
感谢!仔细看了应该不是程序问题,还在考虑是不是晶振电压问题

有源晶振一般输出削波的正弦波,直连5V单片机的话,我试过直连能用,
如果你选的晶振是输出幅度偏低,可以使用电容耦合,把波形直流成分抬高就可以了.
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-17 04:15 , Processed in 0.118578 second(s), 89 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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