BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #10999同步于 2011/8/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

谢谢大家了,51单片机外部晶振问题

BlueKo
2011/8/18镜像同步4 回复
初始化时钟,到了这句话就始终过不去了 while (!(OSCXCN & 0x80)); // 等待外部振荡器稳定 检测寄存器OSCXN的7位是否为1,为1代表晶体正在运行且稳定。 一直停在while处 具体程序如下,C8051F133单片机(看门狗已关闭) void SYSCLK_Init (void) { int i; // 延时计数器 unsigned char SFRPAGE_save = SFRPAGE; // Save the current SFRPAGE SFRPAGE = CONFIG_PAGE; // Switch to the necessary SFRPAGE OSCXCN = 0x67; // 使用外部22.1184MHz晶振 for (i=0; i<256; i++); // 等待1ms while (!(OSCXCN & 0x80)); // 等待外部振荡器稳定 CLKSEL = 0x01; // 系统时钟切换至外置晶振 OSCICN &= ~0x80; // 关闭内置晶振 SFRPAGE = SFRPAGE_save; // Restore the SFRPAGE } 不知道大家是否遇到过此类问题,谢谢大家了
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
BlueKo机器人#1 · 2011/8/18
已解决,设置晶振频率的时候超过了晶振频率。。。。
hobby机器人#2 · 2011/8/19
想问一句,怎样找到这个问题的呢,读手册? 可以给大家分享一下,定位和解决问题也是一种重要的能力 【 在 BlueKo 的大作中提到: 】 : 已解决,设置晶振频率的时候超过了晶振频率。。。。
BlueKo机器人#3 · 2011/8/20
这个真是突然想到了 一开始觉得软件配置肯定没问题 之前也上网找了各种资料 但基本都说的是硬件问题 比如晶振的电容值不匹配,主要是手头没有示波器 有的话知道外部晶振只有不到1M的频率在配置的时候就不会配错了 这个单片机以前没用过 外部晶振的配置需要自己选择晶振范围
paulchen机器人#4 · 2011/9/11
可以试试内部晶振来排除问题。。 【 在 BlueKo (Sunflt) 的大作中提到: 】 : 这个真是突然想到了 一开始觉得软件配置肯定没问题 之前也上网找了各种资料 但基本都说的是硬件问题 比如晶振的电容值不匹配,主要是手头没有示波器 有的话知道外部晶振只有不到1M的频率在配置的时候就不会配错了 这个单片机以前没用过 外部晶振的配置需要自己选择晶振�