烧到SH79F161时,运行出错了

[复制链接]
2036|13
 楼主| lium 发表于 2012-12-27 18:45 | 显示全部楼层 |阅读模式
ORG 0000H
MOV A,#200
CJNE A,#200,QUIT
MOV A,#100
OUIT:
AJMP $
END
这个程序在KEIL2仿真时没有出错,烧到SH79F161时,运行出错了
guoyt 发表于 2012-12-27 18:48 | 显示全部楼层
 楼主| lium 发表于 2012-12-27 18:50 | 显示全部楼层
改了OUIT为QUIT,还是出现同样问题,即是KEIL2仿真通过,烧进SH79F161单片机后,无法用
hanwe 发表于 2012-12-27 18:51 | 显示全部楼层
不懂,帮顶吧
 楼主| lium 发表于 2012-12-27 18:54 | 显示全部楼层
用汇编写了一个关于SH79F161单片机的程序
其中有一个功能是:
加1,后会有一个值,如:100加到200时,需要将200改为100
用这个程序不行
CJNE A,#200,XXX
而改为这个
XRL A,#200
JNZ  XXX
改为这个后,程序正常运行了
yufe 发表于 2012-12-27 18:56 | 显示全部楼层
用CJNE做判断转向与用XRL和JNZ做有什么区别?
 楼主| lium 发表于 2012-12-27 18:57 | 显示全部楼层
是啊,这两个汇编功能是一样的,但是为什么这时用CJNE不行,而用XRL和JNZ就行了
llia 发表于 2012-12-27 19:02 | 显示全部楼层
可能是你的KEIL2出错了
wangpe 发表于 2012-12-27 19:04 | 显示全部楼层
也可能是SH79F161D单片机出错了
langgq 发表于 2012-12-27 19:08 | 显示全部楼层
你是不是将程序下载下去了。我看是对的嘛
 楼主| lium 发表于 2012-12-27 19:09 | 显示全部楼层
在KEIL2中仿真运行正常,下载到SH879F161单片机中,就出问题了。只要是运行到CJNE时,没按要求运行下去。而改用XRL+JNZ后,程序正常,很是奇怪,我估计可能是SH79F161的问题。
wangzsa 发表于 2012-12-27 19:18 | 显示全部楼层
先换一颗79F161,看看,如果也是这样、
你将你的程序弄到最简单(不要有外部按键什么的,中断也不要),试试看行不行?
 楼主| lium 发表于 2012-12-27 19:20 | 显示全部楼层
嗯,好的,我试试,多谢了
 楼主| lium 发表于 2012-12-27 19:20 | 显示全部楼层
那就先结贴了~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

915

主题

9578

帖子

3

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