搜索
bottom↓
回复: 64

**单片机晶振电路电磁兼容性问题请教**

[复制链接]

出0入0汤圆

发表于 2010-4-27 16:23:59 | 显示全部楼层 |阅读模式
自己做个AT89S51单片机最小系统, 晶振电路不能起震。想做led灯循环点亮实验, 灯不能点亮,但是如果用手触摸晶振的一个脚灯是可以亮的,虽然不是循环点亮。但是触摸另一个脚是不能点亮的,是晶振电路问题么?  我做的小板子覆铜没有接地。(是接地好呢还是不接地好)  晶振外壳没有接地。      


51单片机晶振电路应当注意哪些问题呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-4-27 18:16:27 | 显示全部楼层
检查是否有虚焊,两个小电容有无问题,印象中应该是在18~65UF,
如果用表量,2个脚电压在2.5v左右时,工作正常,如果一个0,一个5v左右,是没干活的
小板子覆铜没有接地,这个是错的,有负作用的
外壳可以不用接地。

出0入0汤圆

 楼主| 发表于 2010-4-27 18:27:59 | 显示全部楼层
回复【1楼】kite2006
检查是否有虚焊,两个小电容有无问题,印象中应该是在18~65UF,
如果用表量,2个脚电压在2.5v左右时,工作正常,如果一个0,一个5v左右,是没干活的
小板子覆铜没有接地,这个是错的,有负作用的
外壳可以不用接地。
-----------------------------------------------------------------------
谢谢! 我试试解决下。  


这个问题搞的头痛~

出0入0汤圆

发表于 2010-4-27 20:31:45 | 显示全部楼层
回复【1楼】kite2006
-----------------------------------------------------------------------

晶振的两个电容都是PF级的,10~30pF

楼主看一下EA/Vpp 有没有接到5V上

出0入0汤圆

 楼主| 发表于 2010-4-27 21:18:16 | 显示全部楼层
刚刚我把晶振附近的绿油去掉了。铜皮和地相连了。还是不工作。


我测量了下晶振两个脚的电压,一个是2.2V    另一个是2.0V。 难道是晶振坏了?

出0入0汤圆

 楼主| 发表于 2010-4-27 21:21:54 | 显示全部楼层
回复【3楼】undeadhuman
回复【1楼】kite2006  
-----------------------------------------------------------------------
晶振的两个电容都是PF级的,10~30pF
楼主看一下EA/Vpp 有没有接到5V上
-----------------------------------------------------------------------
Vpp没有和5V相连!

出0入0汤圆

 楼主| 发表于 2010-4-27 21:24:57 | 显示全部楼层
补充一点,单片机里面的程序是正确的,是我已经下载OK的。  单片机也确信是没有问题的!

出0入0汤圆

 楼主| 发表于 2010-4-27 21:30:06 | 显示全部楼层
一下是晶振电路截图:


(原文件名:晶振电路.jpg)

出0入0汤圆

 楼主| 发表于 2010-4-27 21:30:57 | 显示全部楼层
晶振两边的是300的电容

出0入0汤圆

 楼主| 发表于 2010-4-27 22:48:39 | 显示全部楼层
顶起来,期待问题解决。

出0入17汤圆

发表于 2010-4-28 00:15:02 | 显示全部楼层
电容换成30P

出0入0汤圆

发表于 2010-4-28 00:27:58 | 显示全部楼层
回复【5楼】110911
回复【3楼】undeadhuman  
回复【1楼】kite2006   
-----------------------------------------------------------------------  
晶振的两个电容都是PF级的,10~30pF  
楼主看一下EA/Vpp 有没有接到5V上
-----------------------------------------------------------------------
Vpp没有和5V相连!

-----------------------------------------------------------------------
EA没有接高电平怎么执行啊,原来楼主没理解3楼的意思,呵呵。

出0入0汤圆

发表于 2010-4-28 09:32:26 | 显示全部楼层
晶振旁边的两个小弟换成30pF 或者22pF的

出0入0汤圆

发表于 2010-4-28 09:32:57 | 显示全部楼层
AT89S51的话EA脚应该拉高,这样代表执行片内程序

出0入0汤圆

发表于 2010-4-28 09:33:02 | 显示全部楼层
EA接高电平,单片机执行片内程序,LZ看下书。

出0入0汤圆

发表于 2010-4-28 09:34:30 | 显示全部楼层
还有看图好像网格铺铜没有接地??
这个必须要可靠接地的否则全是“死铜”。

出0入0汤圆

 楼主| 发表于 2010-4-28 10:54:41 | 显示全部楼层
回复【10楼】Nuker
电容换成30P
-----------------------------------------------------------------------

电容表的是300  是30pf的电容

出0入0汤圆

 楼主| 发表于 2010-4-28 10:56:49 | 显示全部楼层
回复【11楼】shark
回复【5楼】110911  
回复【3楼】undeadhuman   
回复【1楼】kite2006   
-----------------------------------------------------------------------   
晶振的两个电容都是PF级的,10~30pF   
楼主看一下EA/Vpp 有没有接到5V上  
-----------------------------------------------------------------------  
Vpp没有和5V相连!  
-----------------------------------------------------------------------
EA没有接高电平怎么执行啊,原来楼主没理解3楼的意思,呵呵。
-----------------------------------------------------------------------

EA没有直接和单片机的5V相连。是通过4.7K的电阻和5V 相连的。上电后市4.8V左右。  上次我没有表述明白!

出0入0汤圆

发表于 2010-4-28 11:07:12 | 显示全部楼层
1:还是检查是否有虚焊
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦

出0入0汤圆

 楼主| 发表于 2010-4-28 11:08:51 | 显示全部楼层
回复【15楼】catwill
还有看图好像网格铺铜没有接地??
这个必须要可靠接地的否则全是“死铜”。

-----------------------------------------------------------------------

请指教,单片机最小系统下的晶振电路覆铜真么有这么严格?

在做的小系统时铺铜确实没有和地相连,但是昨天我把板子上的小绿油去掉了,然后和地地相连了,结果还是没有OK。

出0入0汤圆

 楼主| 发表于 2010-4-28 11:10:29 | 显示全部楼层
回复【18楼】sdlj8051
1:还是检查是否有虚焊
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦
-----------------------------------------------------------------------

我刚刚换了下晶振还是没有Ok!  晶振是12.000的   也就是12M 。 陶瓷电容上的标号为300  也就是30pf.

出0入0汤圆

 楼主| 发表于 2010-4-28 11:15:29 | 显示全部楼层
单片机执行程序后会把IO口拉低,然后灯会亮。但是实际结果是IO口仍为高电平!


我的判断是单片机没有工作。


因为单片机本身是OK的。 那么问题就是单片机没有工作。


注: 我的单片机没有接复位电路,这会影响到单片机工作么? 应当不会吧。

出0入0汤圆

发表于 2010-4-28 11:16:21 | 显示全部楼层
回复【20楼】110911
回复【18楼】sdlj8051  
1:还是检查是否有虚焊  
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦
-----------------------------------------------------------------------
我刚刚换了下晶振还是没有Ok!  晶振是12.000的   也就是12M 。 陶瓷电容上的标号为300  也就是30pf.
-----------------------------------------------------------------------

1:您手中有您使用的晶体的datasheet么?如果有的话,仔细看一下datasheet,不是所有的晶体都可以使用30pf的电容做负载电容的,不同厂家的是不同的,甚至同一厂家不同系列都是不同的
2:使用示波器测一下,是否真的没有启振

出0入0汤圆

 楼主| 发表于 2010-4-28 11:20:06 | 显示全部楼层
回复【22楼】sdlj8051
回复【20楼】110911  
回复【18楼】sdlj8051   
1:还是检查是否有虚焊   
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦  
-----------------------------------------------------------------------  
我刚刚换了下晶振还是没有Ok!  晶振是12.000的   也就是12M 。 陶瓷电容上的标号为300  也就是30pf.  
-----------------------------------------------------------------------
1:您手中有您使用的晶体的datasheet么?如果有的话,仔细看一下datasheet,不是所有的晶体都可......
-----------------------------------------------------------------------

这晶振是在电子市长买的。 没有.....

出0入0汤圆

发表于 2010-4-28 11:23:35 | 显示全部楼层
回复【23楼】110911
回复【22楼】sdlj8051  
回复【20楼】110911   
回复【18楼】sdlj8051   
1:还是检查是否有虚焊   
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦   
-----------------------------------------------------------------------   
我刚刚换了下晶振还是没有Ok!  晶振是12.000的   也就是12M 。 陶瓷电容上的标号为300  也就是30pf.   
-----------------------------------------------------------------------  
1:您手中有您使用的晶体的datasheet么?如果有的话......
-----------------------------------------------------------------------

呵呵,那就先测一下是否真的没有启振吧
先确认问题是否真的出在晶体上

出0入0汤圆

发表于 2010-4-28 11:26:14 | 显示全部楼层
还有,楼主是怎样确认“单片机真的没问题”的?
是在其他系统上验证过么?
没有V&V是不可以这样确认的
至少也要有相应的V&V才能确认“单片机真的没问题”

出0入0汤圆

 楼主| 发表于 2010-4-28 11:27:28 | 显示全部楼层
多谢。由于我手头没有示波器不能测量,想换个11.0592的晶振试下。 这两种晶振不是在同一个地方买的。


搞电子真难....


这么点的小问题就把我难住了。

出0入0汤圆

 楼主| 发表于 2010-4-28 11:29:45 | 显示全部楼层
回复【25楼】sdlj8051
还有,楼主是怎样确认“单片机真的没问题”的?
是在其他系统上验证过么?
没有V&V是不可以这样确认的
至少也要有相应的V&V才能确认“单片机真的没问题”
-----------------------------------------------------------------------

是的,我朋友自己搭建的一个单片机的板子。功能是OK的。也是我验证了的。

出0入0汤圆

 楼主| 发表于 2010-4-28 11:32:56 | 显示全部楼层
就是用洞洞板自己焊接的那种!

出0入0汤圆

发表于 2010-4-28 11:34:20 | 显示全部楼层
回复【26楼】110911
多谢。由于我手头没有示波器不能测量,想换个11.0592的晶振试下。 这两种晶振不是在同一个地方买的。  
搞电子真难....
这么点的小问题就把我难住了。
-----------------------------------------------------------------------

呵呵,别灰心,没有示波器可以用表量,参照1楼的办法

出0入0汤圆

 楼主| 发表于 2010-4-28 11:38:01 | 显示全部楼层
回复【29楼】sdlj8051
回复【26楼】110911  
多谢。由于我手头没有示波器不能测量,想换个11.0592的晶振试下。 这两种晶振不是在同一个地方买的。   
搞电子真难....  
这么点的小问题就把我难住了。
-----------------------------------------------------------------------
呵呵,别灰心,没有示波器可以用表量,参照1楼的办法

-----------------------------------------------------------------------

刚刚量过了,一个是2.02V      另一个是2.20V   



没办法啦,只有重新找个11.0592的试下啦

出0入0汤圆

 楼主| 发表于 2010-4-28 11:39:53 | 显示全部楼层
麻烦sdlj8051看看那个图,那两根晶振连线不是一样长的。是不是这是影响的原因 !

出0入0汤圆

发表于 2010-4-28 11:47:47 | 显示全部楼层
回复【21楼】110911
单片机执行程序后会把IO口拉低,然后灯会亮。但是实际结果是IO口仍为高电平!  
我的判断是单片机没有工作。
因为单片机本身是OK的。 那么问题就是单片机没有工作。
注: 我的单片机没有接复位电路,这会影响到单片机工作么? 应当不会吧。
-----------------------------------------------------------------------

没有复位不行吧,按标准复位电路接上试试吧

出0入0汤圆

发表于 2010-4-28 11:59:44 | 显示全部楼层
没有复位电路,程序怎么从其实地址执行……
应该上电就复位

出0入0汤圆

发表于 2010-4-28 12:34:29 | 显示全部楼层
回复【31楼】110911
麻烦sdlj8051看看那个图,那两根晶振连线不是一样长的。是不是这是影响的原因 !
-----------------------------------------------------------------------

这种速率不等长的影响不大

另外,把标准复位电路接上看看

出0入0汤圆

发表于 2010-4-28 12:43:12 | 显示全部楼层
晶振才12M,布线要求不是很高了。
晶振有2V电压,应该说工作是良好的。
1.有虚焊。
2.没烧对程序。

出0入0汤圆

 楼主| 发表于 2010-4-28 16:04:55 | 显示全部楼层
非常感谢楼上的各位帮忙! 但是现在出现了一个神奇的问题:

单片机上电后不能自动运行程序,要用手触摸下晶振才可以运行,而且运行良好  



无语中.............................


什么问题呢?


复位电路已经接上!

出0入0汤圆

 楼主| 发表于 2010-4-28 16:05:39 | 显示全部楼层
是触摸晶振的两个脚!

出0入0汤圆

发表于 2010-4-28 16:08:24 | 显示全部楼层
晶振的两个引脚与单片机的距离,越近越好。无图无真相,建议楼主发下图纸。。。

出0入0汤圆

 楼主| 发表于 2010-4-28 16:18:35 | 显示全部楼层
回复【38楼】erxun 老孟
晶振的两个引脚与单片机的距离,越近越好。无图无真相,建议楼主发下图纸。。。
-----------------------------------------------------------------------

7楼有图纸!

出0入0汤圆

 楼主| 发表于 2010-4-28 16:31:36 | 显示全部楼层
有谁遇到过同样的问题么?

出0入0汤圆

发表于 2010-4-28 16:33:06 | 显示全部楼层
楼主是不是用的DIP40封装的51单片机,那么20脚接的是地线吧,
这个地线可是单片机的总接地, 从图纸看,貌似10mil的,有些细。
如果单片机的耗电量大的话,单片机的地电位,会跳动~~~。

(原文件名:51.JPG)


(原文件名:51pcb.JPG)

出0入0汤圆

 楼主| 发表于 2010-4-28 16:38:10 | 显示全部楼层
回  erxun  老孟

是40 pin的单片机,线宽15mil.
是单片机的总线地!

耗电量不大的,只是几个LED而已。

如何解决单片机地电位跳动的问题呢?

出0入0汤圆

 楼主| 发表于 2010-4-28 16:40:29 | 显示全部楼层
你的图很漂亮。

出0入0汤圆

发表于 2010-4-28 16:40:53 | 显示全部楼层
楼主覆铜的边缘,距离走线都很近,有点污秽啥的,都影响晶振两根线和地线之间的电阻。

出0入0汤圆

 楼主| 发表于 2010-4-28 16:43:12 | 显示全部楼层
回复【44楼】erxun 老孟
楼主覆铜的边缘,距离走线都很近,有点污秽啥的,都影响晶振两根线和地线之间的电阻。
-----------------------------------------------------------------------

谢谢你指出的问题, 自己布的。没什么经验的。

出0入0汤圆

发表于 2010-4-28 16:52:53 | 显示全部楼层
可以肯定是布线不好的原因,
你可以这样来处理这个问题,晶振两脚加上个1M~10M的电阻,应该能解决了。

出0入0汤圆

发表于 2010-4-28 16:54:08 | 显示全部楼层
这个电阻可以加速启振.

出0入0汤圆

 楼主| 发表于 2010-4-28 16:54:24 | 显示全部楼层
回复【46楼】COOLRUN 狼人
可以肯定是布线不好的原因,
你可以这样来处理这个问题,晶振两脚加上个1M~10M的电阻,应该能解决了。
-----------------------------------------------------------------------

是和地相连么? 那就是说和电容并联对么?

出0入0汤圆

发表于 2010-4-28 17:05:43 | 显示全部楼层
晶振两个脚X1和X2上直接焊接电阻。

见下图。

出0入0汤圆

发表于 2010-4-28 17:10:32 | 显示全部楼层

(原文件名:未命名.JPG)

出0入0汤圆

 楼主| 发表于 2010-4-28 17:26:48 | 显示全部楼层
谢谢楼上这么热心! 手上还没有这么大的电阻,明天安装个试试!

出0入0汤圆

发表于 2010-4-28 17:34:42 | 显示全部楼层
不用谢,有钱有势的时候不要忘记小弟,请我喝喝小酒就行了。

出0入0汤圆

 楼主| 发表于 2010-4-28 17:37:05 | 显示全部楼层
回复【49楼】COOLRUN 狼人
晶振两个脚X1和X2上直接焊接电阻。
见下图。
-----------------------------------------------------------------------

如果我不覆铜是否可以解决这个问题     如果覆铜接地呢?

出0入0汤圆

发表于 2010-4-28 17:40:49 | 显示全部楼层
“如果覆铜接地呢?”  
现在的覆铜不是接地的?   仔细看了看7楼的图,覆铜确实不是接地的。

出0入0汤圆

发表于 2010-4-28 17:44:32 | 显示全部楼层
真是神奇,我用51很多年,从没碰到过不能起振的事,觉得51是非常容易起振的,对楼主的问题我说一下:
1.AT89X51单片机必须要加复位电路,一般组合是10uf电容上拉到VCC,10K电阻下拉到地,当然用专用复位芯片更好但不必要。
2.想要执行内部程序EA必须接高电平,一般直接接VCC即可,不必加电阻,当然加10K电阻也没问题。
3.晶体必须接22P左右电容,不接不容易起振。

4.51的IO口输出低电平,读回来不一定是低电平,取决于外部接口,如果外电路灌电流很大,可能会被强拉到2.5V以上,表现为读回来高电平,如果你的LED没有加限流电阻,就有这个可能。

出0入0汤圆

 楼主| 发表于 2010-4-28 18:08:09 | 显示全部楼层
回复【55楼】shark
真是神奇,我用51很多年,从没碰到过不能起振的事,觉得51是非常容易起振的,对楼主的问题我说一下:
1.AT89X51单片机必须要加复位电路,一般组合是10uf电容上拉到VCC,10K电阻下拉到地,当然用专用复位芯片更好但不必要。
2.想要执行内部程序EA必须接高电平,一般直接接VCC即可,不必加电阻,当然加10K电阻也没问题。
3.晶体必须接22P左右电容,不接不容易起振。
4.51的IO口输出低电平,读回来不一定是低电平,取决于外部接口,如果外电路灌电流很大,可能会被强拉到2.5V以上,表现为读回来高电平,如果你的LED没有加限流电阻,就有这个可能。
-----------------------------------------------------------------------

受教了。

我的晶振电容是标号300的30p陶瓷电容。当我摸下晶振电路正常工作后  按 复位按键,晶振仍然不起振,需要再次摸下才好。

我手上有几片小板,我下次接标号220的20pf陶瓷电容测试下。

出0入0汤圆

发表于 2010-4-28 18:35:16 | 显示全部楼层
回复【56楼】110911
受教了。
我的晶振电容是标号300的30p......
-----------------------------------------------------------------------
现在电容标称乱,300可能是300P,也可能是30P ,反正我的22P电容上都写的是22 而不是220.

出0入0汤圆

 楼主| 发表于 2010-4-28 19:30:36 | 显示全部楼层
回复【57楼】shark
回复【56楼】110911  
受教了。  
我的晶振电容是标号300的30p......
-----------------------------------------------------------------------
现在电容标称乱,300可能是300P,也可能是30P ,反正我的22P电容上都写的是22 而不是220.
-----------------------------------------------------------------------

为了这个问题我还发帖请教过呢

如下:


http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4001300&bbs_page_no=1&search_mode=3&search_text=110911&bbs_id=9999

出0入0汤圆

发表于 2010-4-28 19:49:27 | 显示全部楼层
12M晶体不加电容多数情况也能起振,你先拆下电容试试,怀疑是300P的。

出0入0汤圆

发表于 2010-4-29 12:58:37 | 显示全部楼层
同意楼上的意见

出0入0汤圆

发表于 2010-4-29 13:37:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2014-5-16 15:23:50 | 显示全部楼层
虽然是沉睡多年的帖子,无聊刚被我看到,顺便也来学习学习
不起振应该是楼主布线的问题,单片机的晶振应尽量靠近XTAL1和XTAL2引脚,不然可能会出现楼主这样的情况

出0入0汤圆

发表于 2014-6-4 15:57:44 | 显示全部楼层
51单片机的最小系统很容易成功的。个人用洞洞板焊接时钟时,只有一个晶振,没有电容,没有遇到过不能工作的。
检查下电路,是否没有焊接好。再不行就换个晶振。

出0入0汤圆

发表于 2014-6-10 00:57:58 | 显示全部楼层
不到最后不放弃,我思故我在  力挺  复位电路是必须的  楼上的几位  已经把51的启振部分总结的很全啦  学习学习
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 12:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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