110911 发表于 2010-4-27 16:23:59

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

自己做个AT89S51单片机最小系统, 晶振电路不能起震。想做led灯循环点亮实验, 灯不能点亮,但是如果用手触摸晶振的一个脚灯是可以亮的,虽然不是循环点亮。但是触摸另一个脚是不能点亮的,是晶振电路问题么?我做的小板子覆铜没有接地。(是接地好呢还是不接地好)晶振外壳没有接地。      


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

kite2006 发表于 2010-4-27 18:16:27

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

110911 发表于 2010-4-27 18:27:59

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


这个问题搞的头痛~

undeadhuman 发表于 2010-4-27 20:31:45

回复【1楼】kite2006
-----------------------------------------------------------------------

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

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

110911 发表于 2010-4-27 21:18:16

刚刚我把晶振附近的绿油去掉了。铜皮和地相连了。还是不工作。


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

110911 发表于 2010-4-27 21:21:54

回复【3楼】undeadhuman
回复【1楼】kite2006
-----------------------------------------------------------------------
晶振的两个电容都是PF级的,10~30pF
楼主看一下EA/Vpp 有没有接到5V上
-----------------------------------------------------------------------
Vpp没有和5V相连!

110911 发表于 2010-4-27 21:24:57

补充一点,单片机里面的程序是正确的,是我已经下载OK的。单片机也确信是没有问题的!

110911 发表于 2010-4-27 21:30:06

一下是晶振电路截图:

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549765.jpg
(原文件名:晶振电路.jpg)

110911 发表于 2010-4-27 21:30:57

晶振两边的是300的电容

110911 发表于 2010-4-27 22:48:39

顶起来,期待问题解决。

Nuker 发表于 2010-4-28 00:15:02

电容换成30P

shark 发表于 2010-4-28 00:27:58

回复【5楼】110911
回复【3楼】undeadhuman
回复【1楼】kite2006   
-----------------------------------------------------------------------
晶振的两个电容都是PF级的,10~30pF
楼主看一下EA/Vpp 有没有接到5V上
-----------------------------------------------------------------------
Vpp没有和5V相连!

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

catwill 发表于 2010-4-28 09:32:26

晶振旁边的两个小弟换成30pF 或者22pF的

catwill 发表于 2010-4-28 09:32:57

AT89S51的话EA脚应该拉高,这样代表执行片内程序

cbs110 发表于 2010-4-28 09:33:02

EA接高电平,单片机执行片内程序,LZ看下书。

catwill 发表于 2010-4-28 09:34:30

还有看图好像网格铺铜没有接地??
这个必须要可靠接地的否则全是“死铜”。

110911 发表于 2010-4-28 10:54:41

回复【10楼】Nuker
电容换成30P
-----------------------------------------------------------------------

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

110911 发表于 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左右。上次我没有表述明白!

sdlj8051 发表于 2010-4-28 11:07:12

1:还是检查是否有虚焊
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦

110911 发表于 2010-4-28 11:08:51

回复【15楼】catwill
还有看图好像网格铺铜没有接地??
这个必须要可靠接地的否则全是“死铜”。

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

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

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

110911 发表于 2010-4-28 11:10:29

回复【18楼】sdlj8051
1:还是检查是否有虚焊
2:查看一下晶体的datasheet,不是所有晶体的负载电容都是一样的,不同品牌,不同系列晶体是的不同,严格按照datasheet上的参数选择负载电容,不能想当然哦
-----------------------------------------------------------------------

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

110911 发表于 2010-4-28 11:15:29

单片机执行程序后会把IO口拉低,然后灯会亮。但是实际结果是IO口仍为高电平!


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


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


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

sdlj8051 发表于 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:使用示波器测一下,是否真的没有启振

110911 发表于 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,不是所有的晶体都可......
-----------------------------------------------------------------------

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

sdlj8051 发表于 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么?如果有的话......
-----------------------------------------------------------------------

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

sdlj8051 发表于 2010-4-28 11:26:14

还有,楼主是怎样确认“单片机真的没问题”的?
是在其他系统上验证过么?
没有V&V是不可以这样确认的
至少也要有相应的V&V才能确认“单片机真的没问题”

110911 发表于 2010-4-28 11:27:28

多谢。由于我手头没有示波器不能测量,想换个11.0592的晶振试下。 这两种晶振不是在同一个地方买的。


搞电子真难....


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

110911 发表于 2010-4-28 11:29:45

回复【25楼】sdlj8051
还有,楼主是怎样确认“单片机真的没问题”的?
是在其他系统上验证过么?
没有V&V是不可以这样确认的
至少也要有相应的V&V才能确认“单片机真的没问题”
-----------------------------------------------------------------------

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

110911 发表于 2010-4-28 11:32:56

就是用洞洞板自己焊接的那种!

sdlj8051 发表于 2010-4-28 11:34:20

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

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

110911 发表于 2010-4-28 11:38:01

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

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

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



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

110911 发表于 2010-4-28 11:39:53

麻烦sdlj8051看看那个图,那两根晶振连线不是一样长的。是不是这是影响的原因 !

huawuque 发表于 2010-4-28 11:47:47

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

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

C307 发表于 2010-4-28 11:59:44

没有复位电路,程序怎么从其实地址执行……
应该上电就复位

sdlj8051 发表于 2010-4-28 12:34:29

回复【31楼】110911
麻烦sdlj8051看看那个图,那两根晶振连线不是一样长的。是不是这是影响的原因 !
-----------------------------------------------------------------------

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

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

gliet_su 发表于 2010-4-28 12:43:12

晶振才12M,布线要求不是很高了。
晶振有2V电压,应该说工作是良好的。
1.有虚焊。
2.没烧对程序。

110911 发表于 2010-4-28 16:04:55

非常感谢楼上的各位帮忙! 但是现在出现了一个神奇的问题:

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



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


什么问题呢?


复位电路已经接上!

110911 发表于 2010-4-28 16:05:39

是触摸晶振的两个脚!

erxun 发表于 2010-4-28 16:08:24

晶振的两个引脚与单片机的距离,越近越好。无图无真相,建议楼主发下图纸。。。

110911 发表于 2010-4-28 16:18:35

回复【38楼】erxun 老孟
晶振的两个引脚与单片机的距离,越近越好。无图无真相,建议楼主发下图纸。。。
-----------------------------------------------------------------------

7楼有图纸!

110911 发表于 2010-4-28 16:31:36

有谁遇到过同样的问题么?

erxun 发表于 2010-4-28 16:33:06

楼主是不是用的DIP40封装的51单片机,那么20脚接的是地线吧,
这个地线可是单片机的总接地, 从图纸看,貌似10mil的,有些细。
如果单片机的耗电量大的话,单片机的地电位,会跳动~~~。
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549923.JPG
(原文件名:51.JPG)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549926.JPG
(原文件名:51pcb.JPG)

110911 发表于 2010-4-28 16:38:10

回erxun老孟

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

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

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

110911 发表于 2010-4-28 16:40:29

你的图很漂亮。

erxun 发表于 2010-4-28 16:40:53

楼主覆铜的边缘,距离走线都很近,有点污秽啥的,都影响晶振两根线和地线之间的电阻。

110911 发表于 2010-4-28 16:43:12

回复【44楼】erxun 老孟
楼主覆铜的边缘,距离走线都很近,有点污秽啥的,都影响晶振两根线和地线之间的电阻。
-----------------------------------------------------------------------

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

COOLRUN 发表于 2010-4-28 16:52:53

可以肯定是布线不好的原因,
你可以这样来处理这个问题,晶振两脚加上个1M~10M的电阻,应该能解决了。

COOLRUN 发表于 2010-4-28 16:54:08

这个电阻可以加速启振.

110911 发表于 2010-4-28 16:54:24

回复【46楼】COOLRUN 狼人
可以肯定是布线不好的原因,
你可以这样来处理这个问题,晶振两脚加上个1M~10M的电阻,应该能解决了。
-----------------------------------------------------------------------

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

COOLRUN 发表于 2010-4-28 17:05:43

晶振两个脚X1和X2上直接焊接电阻。

见下图。

COOLRUN 发表于 2010-4-28 17:10:32

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549929.JPG
(原文件名:未命名.JPG)

110911 发表于 2010-4-28 17:26:48

谢谢楼上这么热心! 手上还没有这么大的电阻,明天安装个试试!

COOLRUN 发表于 2010-4-28 17:34:42

不用谢,有钱有势的时候不要忘记小弟,请我喝喝小酒就行了。

110911 发表于 2010-4-28 17:37:05

回复【49楼】COOLRUN 狼人
晶振两个脚X1和X2上直接焊接电阻。
见下图。
-----------------------------------------------------------------------

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

erxun 发表于 2010-4-28 17:40:49

“如果覆铜接地呢?”
现在的覆铜不是接地的?   仔细看了看7楼的图,覆铜确实不是接地的。

shark 发表于 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没有加限流电阻,就有这个可能。

110911 发表于 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陶瓷电容测试下。

shark 发表于 2010-4-28 18:35:16

回复【56楼】110911
受教了。
我的晶振电容是标号300的30p......
-----------------------------------------------------------------------
现在电容标称乱,300可能是300P,也可能是30P ,反正我的22P电容上都写的是22 而不是220.

110911 发表于 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

shark 发表于 2010-4-28 19:49:27

12M晶体不加电容多数情况也能起振,你先拆下电容试试,怀疑是300P的。

martal 发表于 2010-4-29 12:58:37

同意楼上的意见

myhonour 发表于 2010-4-29 13:37:19

mark

ruan18278816371 发表于 2014-5-16 15:23:50

虽然是沉睡多年的帖子,无聊刚被我看到,顺便也来学习学习{:lol:}
不起振应该是楼主布线的问题,单片机的晶振应尽量靠近XTAL1和XTAL2引脚,不然可能会出现楼主这样的情况

songshanxiaozi 发表于 2014-6-4 15:57:44

51单片机的最小系统很容易成功的。个人用洞洞板焊接时钟时,只有一个晶振,没有电容,没有遇到过不能工作的。
检查下电路,是否没有焊接好。再不行就换个晶振。

njhying 发表于 2014-6-10 00:57:58

不到最后不放弃,我思故我在力挺复位电路是必须的楼上的几位已经把51的启振部分总结的很全啦学习学习
页: [1]
查看完整版本: **单片机晶振电路电磁兼容性问题请教**