AT89C2051汇编程序中的宏定义 一般放在什么位置?他的复位和STC89C51有什么区别,现在遇到的问题是:

断开电源复位之后程序不是从开始地址执行,像是从断电之前的断点继续开始执行,复位电路如图:
,另外初始化部分有把所用的RAM清零,但是结果还不行,希望得到原因

【1】编译是否成功?生成代码是否有效?确定写入的程序时最后的有效代码吗?烧写程序时看看HEX/BIN文件生成时间,缓冲区内容是否合理或溢出2051空间。
【2】宏定义位置,通常在用宏之前就可以吧。
【3】复位电路正确。用镊子直接短接一下电容或去掉电容,再试试复位。追问

1.汇编程序编译成功没有错误警告;程序能够按照预期的效果执行,运行之后,断开电源重新上电,根据外设的效果好像是从断电之前的那点程序继续执行所以代码是有效的;写入的程序是最后的有效代码;代码没有超出范围,也试过4051,问题依然存在2没有看到具体的汇编例子3.上电程序执行之后,用镊子把复位引脚和VCC短接(时间大于复位时间)外设停止工作去掉镊子后和第一条中的断开电源上电效果一样,是在短接之前的那个点继续执行

追答

没有实物,很难得出更多的分析和结论了。仅仅借助复位,要做到单片机断点调试,还很难呢。不知道你是怎么做到的。不解!再看看程序吧,初始化时使一个管脚接LED灯翻转延时一下再看看。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-17
把原来的程序界面全关闭,然后再重新运行就ok了
相似回答
大家正在搜