阅读:4109回复:12
求教:at89s52单片机不工作(20分感谢)
2004-12-14 16:56:39 Ray_rocking
一个问题。我做的板子用的是at89s52.程序用仿真器调试都没问题,但是烧到板子上就死翘了。你碰到过这种事情吗?电源,晶振都没问题,还有什么其他的原因吗? 2004-12-14 16:57:50 张飞 那按下Reset 2004-12-14 16:58:13 Ray_rocking 就是程序跑不动,比如开始的时候一个让LED高亮。仿真的时候可以,但是烧上去就不行 2004-12-14 16:58:24 张飞 是不是下载格式搞错了 2004-12-14 16:58:54 Ray_rocking Reset也没问题。我查过。程序运行的时候PIO没有输出 2004-12-14 16:59:02 Ray_rocking 你用的什么格式? 2004-12-14 16:58:54 张飞 intel hex 2004-12-14 16:59:27 Ray_rocking 对呀,我也是intel hex ,我也试过bin,都不行。奇怪了 2004-12-14 17:00:10 张飞 是不是片子怀了,换个看看 2004-12-14 17:01:39 Ray_rocking 换了3个,还试过飞利浦的P89S52,都不行。 在bbs上面看了看,好像有不少人出现过这种问题。但是也不知道是怎么解决的。也许是编译器的原因。faint 2004-12-14 17:08:04 张飞 搞不懂了 2004-12-14 17:09:03 Ray_rocking 唉。以前也没碰到过 2004-12-14 17:11:51 张飞 电源,地,Reset都没有问题,晶振也振起来了,还是不行,那问题可能会出现在程序或编译,烧录的环节了 2004-12-14 17:12:30 张飞 你的烧录器烧录之后有没有一个验证的过程 2004-12-14 17:13:10 Ray_rocking 对比了一下hex文件 2004-12-14 17:13:23 Ray_rocking 有什么特殊的方法吗? 2004-12-14 17:14:04 张飞 烧录器在烧录的时候应该有个选项,让我们烧录之后再读出来比对的吧 2004-12-14 17:14:58 Ray_rocking 这个是一样的 |
|
沙发#
发布于:2004-12-15 18:15
碰到过!看看片选!
|
|
板凳#
发布于:2004-12-16 17:23
复位没问题吧?
|
|
地板#
发布于:2004-12-17 09:10
多半是复位的问题
|
|
地下室#
发布于:2004-12-19 00:36
多半是复位的问题 是的,Reset信号一直有效,可不麻烦了?! |
|
5楼#
发布于:2004-12-19 15:13
先烧个例程看看,程序有没有问题
|
|
|
6楼#
发布于:2004-12-24 00:49
会不程序定义的变量占用空间太大:如定义一大的数组或者指针,没有分配它足够的RAM空间,仿真不会有问题的,烧到片子就可能冲掉把堆栈,程序跑飞
|
|
7楼#
发布于:2004-12-28 11:15
先烧个例程看看,程序有没有问题 是的 先跑一个最简单的程序试试 |
|
8楼#
发布于:2004-12-30 00:06
首先到芯片供货商那里去,咨询at89s52的用法。如果你使用正确,再到仿真器供货商那里去,咨询仿真与实际调试的差异。相信你会有所收获。
|
|
9楼#
发布于:2005-01-06 15:42
1./EA信号
2.程序的起始地址 |
|
|
10楼#
发布于:2005-01-09 01:46
2
|
|
11楼#
发布于:2005-01-13 10:46
你先用示波器探一下复位是否正确,如果正确复位了但又运行出错,那就看看哪个管脚带的驱动比较大,因为单片机的拉灌电流都是很有限的.摸摸芯片有没有热,热的话多半是这个问题.
|
|
12楼#
发布于:2005-01-22 22:29
遇到这种情况我会这样考虑:
用手头上有曾经烧在at89s52上正常运行过的程序烧进来,看能正常运行否? 否:是硬件电路问题。用硬件思维查原因。 硬件查错思路一般为:供电情况,查电源,查晶振,查复位电 平,查管脚状态。断电情况查管脚对地电阻等 是:用软件思维查原因。 如果仿真正常,则可能为:程序烧错了;程序没能正常烧录;仿真环境设置和实际不一样。 :) |
|
|