nicklezhang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-29
  • 最后登录2017-06-19
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望145点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:3932回复:12

求教:at89s52单片机不工作(20分感谢)

楼主#
更多 发布于:2004-12-15 00:07
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
这个是一样的



gaoxuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-12-23
  • 最后登录2004-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-15 18:15
碰到过!看看片选!
wangshihu
论坛版主
论坛版主
  • 注册日期2003-12-31
  • 最后登录2012-03-26
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望96点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-16 17:23
复位没问题吧?
topfei123
驱动牛犊
驱动牛犊
  • 注册日期2002-07-23
  • 最后登录2009-06-15
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望54点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-17 09:10
多半是复位的问题
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-19 00:36
多半是复位的问题

是的,Reset信号一直有效,可不麻烦了?!
lsn_061
驱动老牛
驱动老牛
  • 注册日期2002-05-09
  • 最后登录2006-10-06
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望261点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-19 15:13
先烧个例程看看,程序有没有问题
[img]http://bbs.zndev.com/image/medal/5.gif[/img]
sillyzhu
驱动牛犊
驱动牛犊
  • 注册日期2003-01-11
  • 最后登录2006-01-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-24 00:49
会不程序定义的变量占用空间太大:如定义一大的数组或者指针,没有分配它足够的RAM空间,仿真不会有问题的,烧到片子就可能冲掉把堆栈,程序跑飞
huozee
驱动巨牛
驱动巨牛
  • 注册日期2004-11-09
  • 最后登录2011-08-11
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望166点
  • 贡献值0点
  • 好评度58点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-28 11:15
先烧个例程看看,程序有没有问题


是的 先跑一个最简单的程序试试
ctxez
驱动牛犊
驱动牛犊
  • 注册日期2004-10-31
  • 最后登录2006-07-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-30 00:06
首先到芯片供货商那里去,咨询at89s52的用法。如果你使用正确,再到仿真器供货商那里去,咨询仿真与实际调试的差异。相信你会有所收获。
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-01-06 15:42
1./EA信号
2.程序的起始地址
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
xbuilder
驱动牛犊
驱动牛犊
  • 注册日期2003-07-16
  • 最后登录2009-02-05
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-01-09 01:46
2
rockyltp
驱动牛犊
驱动牛犊
  • 注册日期2005-01-13
  • 最后登录2005-08-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-01-13 10:46
你先用示波器探一下复位是否正确,如果正确复位了但又运行出错,那就看看哪个管脚带的驱动比较大,因为单片机的拉灌电流都是很有限的.摸摸芯片有没有热,热的话多半是这个问题.
beihuanguo
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2005-01-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-01-22 22:29
遇到这种情况我会这样考虑:

用手头上有曾经烧在at89s52上正常运行过的程序烧进来,看能正常运行否?

否:是硬件电路问题。用硬件思维查原因。
    硬件查错思路一般为:供电情况,查电源,查晶振,查复位电  平,查管脚状态。断电情况查管脚对地电阻等


是:用软件思维查原因。
    如果仿真正常,则可能为:程序烧错了;程序没能正常烧录;仿真环境设置和实际不一样。

 :)
不胡思乱想就啥事没有喜欢胡思乱想也没啥事
游客

返回顶部