新手,请教C51奇怪的问题

[复制链接]
3156|10
 楼主| aliluya 发表于 2007-2-11 21:41 | 显示全部楼层 |阅读模式
keil编译的代码用Topwin打开,但是在800开始的地址中才能看到代码,烧入芯片也没能实现功能,如下图,<br />我已经把Use&nbsp;on-chip&nbsp;ROM选中了也一样,这是怎么回事呢?非常感谢啊,<br />https://bbs.21ic.com/upfiles/img/20072/2007211214213903.gif<br />
computer00 发表于 2007-2-11 21:45 | 显示全部楼层

把你的hex文件用记事本打开,复制上来看看。

  
 楼主| aliluya 发表于 2007-2-11 21:47 | 显示全部楼层

:10085F00D3EF9400EE940040147D657C18ED1D706D<br />:0E086F00011CED4C70F7EF1F70E61E80E322B7<br />:100800000000000000000000D2B5D2B4D297D2960A<br />:10081000000000000000000075B0FF0000000000B4<br />:10082000000000E5B05430FF643060E400000000D8<br />:1008300000000000000000000000000020B5D1C250<br />:10084000967F147E00115FD29620B4FDC2977F146C<br />:0F0850007E00115FD297A2B5B3A0B450B380F76A<br />:0300000002087D76<br />:0C087D00787FE4F6D8FD758107020800C2<br />:00000001FF<br /><br /><br />多谢,
computer00 发表于 2007-2-11 21:52 | 显示全部楼层

估计是你所说的那个软件有点问题吧

看看这句:<br />:0300000002087D76<br /><br />这是一个跳转语句,地址在0,指令为02087D,跳转到087D处。
 楼主| aliluya 发表于 2007-2-11 22:31 | 显示全部楼层

你实说程序编得有问题吗?还是说Topwin有问题?Topwin是top2005的pc端软件。截图中状态栏也显示“起始地址:800”。<br />但打开其他经过验证正确的代码时它又在0地址开始显示,<br />难道我的keil设置有问题?
 楼主| aliluya 发表于 2007-2-12 10:45 | 显示全部楼层

?

求教,多谢。
 楼主| aliluya 发表于 2007-2-12 21:48 | 显示全部楼层

?

没有人能够帮忙吗?
NE5532 发表于 2007-2-15 16:10 | 显示全部楼层

你把工程发上来算了,绝对是低级错误。

  
 楼主| aliluya 发表于 2007-2-15 19:33 | 显示全部楼层

这是程序及编译器的设置截图

#include&nbsp;&ltreg51.H&gt<br />#include&nbsp;&ltintrins.H&gt<br />#include&nbsp;&ltabsacc.H&gt<br />#define&nbsp;uint&nbsp;unsigned&nbsp;int<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;&nbsp;nop1&nbsp;_nop_()&nbsp;,_nop_(),_nop_()&nbsp;,_nop_(),_nop_()&nbsp;,_nop_(),_nop_()&nbsp;,_nop_()&nbsp;;<br />sbit&nbsp;&nbsp;P17=P1^7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />sbit&nbsp;&nbsp;P16=P1^6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />sbit&nbsp;&nbsp;up_v=P3^5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />sbit&nbsp;&nbsp;down_v=P3^4&nbsp;&nbsp;&nbsp;;<br />sbit&nbsp;&nbsp;P35=P3^5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />sbit&nbsp;&nbsp;P34=P3^4&nbsp;&nbsp;&nbsp;;<br />//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />void&nbsp;delay(uint&nbsp;m);<br />void&nbsp;delay(uint&nbsp;m)<br />{<br />&nbsp;&nbsp;uchar&nbsp;i;<br />&nbsp;&nbsp;while(m--)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt110;i++);<br />&nbsp;&nbsp;&nbsp;}<br />}<br />//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;temp&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;up_v=1&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;down_v=1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;P17=1&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;P16=1&nbsp;&nbsp;&nbsp;&nbsp;;<br />//&nbsp;&nbsp;P17=0&nbsp;&nbsp;&nbsp;&nbsp;;<br />//&nbsp;&nbsp;P16=0&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3=0xff&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp=P3&0x30&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(temp!=0x30)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;nop1&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(P35==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P16=0&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay(30);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P16=1&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(down_v)&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P17=0&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay(30);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P17=1&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((!up_v)|(!down_v))&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//while(!down_v);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}
thw 发表于 2007-2-17 03:01 | 显示全部楼层

把USE ON CHIP ROM去掉

你的P3口怎么接的<br />temp=P3&0x30&nbsp;;<br />读的应该是P3的管脚状态,可能对你后面的顺序有影响。<br /><br />这么简单的程序先拿KEIL访真一下就行了吗。
 楼主| aliluya 发表于 2007-2-23 00:17 | 显示全部楼层

?

已经搞定,<br />原来是编译器的问题,重新安装就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

23

帖子

0

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