单片机如何跳出死循环?

[复制链接]
8105|19
 楼主| ningling_21 发表于 2010-12-16 21:11 | 显示全部楼层 |阅读模式
突然发现别人的程序里是这样写的:
ORG   0000H
LJMP   $

ORG   0CCBFH
CLR    EA
......

单片机为C8051F340,如何能跳出死循环呢?
lyjian 发表于 2010-12-16 21:22 | 显示全部楼层
跳不出
除非你在中断中修改PC
 楼主| ningling_21 发表于 2010-12-16 21:30 | 显示全部楼层
0000H   地址处,中断还没来得及开启,如何会中断呢?
airwill 发表于 2010-12-16 21:32 | 显示全部楼层
这程序真牛哇
linfulin 发表于 2010-12-16 21:55 | 显示全部楼层
不知 求学
lyjian 发表于 2010-12-16 23:26 | 显示全部楼层
神经病
wubing1211 发表于 2010-12-17 08:00 | 显示全部楼层
氡的话说道理论
SLEET1986 发表于 2010-12-17 08:09 | 显示全部楼层
NB的人才能写NB的程序,NB的人才能看得懂。。
ayb_ice 发表于 2010-12-17 08:21 | 显示全部楼层
果然介于牛A与牛C之间
mohanwei 发表于 2010-12-17 08:29 | 显示全部楼层
还是很久很久以前我做学生的时候,我帮别人解决过这个问题。写程序的人在烧程序前用编程器软件先导入hex文件,然后切换到内存编辑窗,手工把死循环替换成NOP指令,再然后烧写……以此达到保护的目的。方法不寻常,不过真的很有效,毕竟电工自己看起来多,分散到社会就少了。在那个搞机械的厂里更是少到只有一个半路出家的和一个学徒。
huangqi412 发表于 2010-12-17 08:30 | 显示全部楼层
:lol  很牛
救火车 发表于 2010-12-17 09:06 | 显示全部楼层
如果程序是正常设计的话,只能理解成他在测试看门狗复位。测完成必须改回来。
OverLook 发表于 2010-12-17 09:10 | 显示全部楼层
测试程序吧?  没见过这么写的。
mcu5i51 发表于 2010-12-17 15:07 | 显示全部楼层
偶做过,原因同上,写入时键入两个即可
 楼主| ningling_21 发表于 2010-12-17 20:50 | 显示全部楼层
12# 救火车
这段程序只有不到256字节,但编译后居然有52K.
程序确实是这样编译然后烧录进MCU的,但居然能正常工作...
icecut 发表于 2010-12-17 21:09 | 显示全部楼层
lz
做梦吧。醒醒啊。
xwj 发表于 2010-12-17 21:10 | 显示全部楼层
挂起,尽看门狗中断
 楼主| ningling_21 发表于 2010-12-17 21:13 | 显示全部楼层
17# xwj
C8051F340的内部看门狗,好像只能复位,不能中断
tianm 发表于 2010-12-18 13:31 | 显示全部楼层
跳出来干吗 多冷啊
mcu9999 发表于 2010-12-18 13:51 | 显示全部楼层
18楼正解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5015

主题

17834

帖子

51

粉丝
快速回复 在线客服 返回列表 返回顶部