单片机led显示仿真一切正常,烧录后显示不正常,干扰严重?

我用单片机做了一个控制器,仿真一切正常,在开始调试的时候只是怕电磁阀的干扰(电磁阀断开的时候单片机很容易复位),这个问题还没调好,另一个更致命的问题出现了,显示不正常。LED显示板是用六个八段数码管做的,全部用74LS164驱动。开始还以为是变压器匝间短路带不动了,可是换了变压器或者干脆用开关电源给单片机供电都无济于是,这里有两块单片机板和两块显示板,都是这个问题。我怀疑是我PCB布线问题硬件问题或者是我程序问题(可能性不大,仿真正常,开始调试的第一天显示也正常),希望大侠们帮忙分析分析?不胜感激!
关于大侠的热心支持补充问题如下:1.电磁阀的干扰暂时可以排除。2.晶振的问题基本可以排除;3.电源问题50%可能,但是换过两个变压器和一个开关电源调试,问题依旧。4.51单片机,晶振11.0592M,p2口控制显示,EA已上拉,静态扫描数码管显示。PCB板做了细细的栅格状的敷铜处理,不知道会不会这个有影响。显示不正常现象表现为:之前显示没有问题,自从显示不正常后就再也没正常过,数码管乱码且不会变化(应该变化),可以肯定的是数码管显示电路板没有问题,用同样的电路板进行仿真的话依然正常,keil的和wave的仿真器都是可以的。仿真用模拟示波器看CLK端与地端波形可以隐约看到波形有规律的下跳,换上单片机则看不到该下跳的波形;CLK与SIG之间波形在仿真时与单片机时不一样!
另外虽然控制电磁阀已用光耦进行隔离而且不共地,但电磁阀干扰仍然严重,引起单片机复位,望大侠指点!

"电磁阀断开" 这个出现概率比较大。
电磁阀 打开和关闭的瞬间电流发生变换(和干扰)导致。。

另外如果你后面用164驱动的话。。点数码管的时候没有进行 电磁阀操作
仿真器调试的时候 正常。。
那么最有可能的只有三点。

1.你单片机的晶振可以没弄好,单片机不工作,一般的仿真器都是直接带晶振的
如果有的话 。你可以在仿真器设置中巴 晶振用线路板上的晶振。
这个方便测试。。

2.就是你单片机电源本身就有问题。。导致你的单片机根本没有工作

3. 如果是51单片机的话。。单片机有一个外扩存储器端口选择端
那个端口一定要接好。。具体引脚名字你自己看pdf
这个在仿真的时候一般不会起作用的。所以仿真不出来

单片机的工作频率一般都不高emc这种的,基本可以排除的。。

补充:
如果你的蜂鸣器完全按照你的预想的结果的话(没有频繁 ,叫等情况)
至少说明你的晶振是没有问题。。而且电源基本正常
你仿真的时候管子能亮。
那就说明板子有问题。。最有可能就是。51选择外部存储器那个引脚没有上拉或者下拉。你查看一下pdf。。第几脚忘了。
////////////////////////////////////////////////////
PSEN为程序存取器选择端,高电平,程序从内部执行,就是单片机内部的程序存储器有效,接低电平,程序从外面扩展的ROM开始执行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-17
估计你的电磁阀和单片机是用的同一个电源或是共地,把他们断开看看就知道了,或者把电磁阀去掉看看是不是正常工作,如果能正常,那就把电磁阀单独供电,单片机和电磁阀间用光耦驱动就就可以了。
第2个回答  2008-12-20
你把程序中的终端优先级都加上,默认的有时会导致单片机不执行中断
第3个回答  2008-12-16
可以不接电磁阀看是否正常,如果正常了,是干扰引起的,端口输出用光藕隔离或加电阻来降低阻抗;还是不行,则是硬件性能或程序问题,硬件问题只能你自己查,软件方面的要说出故障现象才知道。
第4个回答  2008-12-28
之前显示没有问题,自从显示不正常后就再也没正常过

单片机程序有问题.可能是中途跑乱了.