您的位置 首页 硬件

单片机第2次作业

作业:将A扩大十倍(A值较小,不溢出),此题方法较多,根据材料有三种做法,下面就一一列出。(既然此题如此繁琐,就请大家给个好评吧!)

作业:将A扩展十倍(A值较小,不溢出


,此题办法较多,依据资料有三种做法,下面就逐个列出。(已然此题如此繁琐,就请咱们给个好评吧!
当然刚开端仍是新建文件和工程,咱们都懂得!那么我就直接张贴啦!
1、先fileànew建asm文件6.asm
办法一:MOV B,#10
MUL AB
END
为了调试时看数据,预先在A中赋值为01H(已然A值较小,不溢出,那么就选个小一点的吧,简略嘛!)所以程序前加:
MOV A,#01H
2、建新工程,Projectànewproject,选AtemlàAT89C51,导入文件6.asm。
留意,对初学者,一个工程里只能有本程序6.asm,无关的程序要删去,新实验一个程序最好从头建工程,以确保一个工程里只要你要实验的那一个程序。
3、可见程序


4、编译通往后,点debug下的start/stop开端调试,step和stepover都是单步调试,step是遇到子程序或中止也要进入进行单步调试,stepover是遇到子程序或中止当一句一次履行完。本程序物子程序,二者是相同的。咱们履行一句得到:


可见A中的值变为01H,B中还为0,是即将履行的句子,再履行一步,可见:



B中数据已变为0ah,再履行一步,可见:

.
A与B相乘,A中存放低八位。所以A中的值为0AH,B中的值为00H.
,可知现已把A扩展了十倍,这个程序简略吧?!不过,别急,有简略就有杂乱的,不过谁好谁坏就不知道了,总归能用就行。

办法二:新建文件和工程就不罗嗦了,直接看程序吧!

呵呵,是不是杂乱了一些?不过,别怕。一步步来看。履行一步可见:


可见A中的值变为01H,B中还为0,是即将履行的句子,再履行一步,可见:

可见B中的值也变为01H。接着履行:

可见A中的值变为02H。接着履行:

可见:RO中的值变为02H。接着履行:

可见:A中的值变为04H。接着履行:

可见:A中的值变为05H。接着履行:

可见:B中的值也变为05H。接着履行:

哈哈,是不看到A中的值变为0AH了,那就对了!至此,第二种办法也搞定!

,有点困了,不过仍是要把它写完吧!加快速度!!!

第三种办法:照样是直接看程序啦!

嗯,不是很杂乱,一会就搞定了!履行一步:


可见A中的值变为01H,B中还为0,是即将履行的句子,再履行一步,可见:

可见:B中的值也变为01H。接着履行:

对A进行循环左移,相当于乘二,所以A中的值为02H.接着履行:

原因如上,就不说了。所以A中的值为04H.接着履行:

A和B相加,成果放到A中,所以A中的值为05H.接着履行:

仍是循环左移,咱们都懂吧,所以就不说啦!直接得到成果了。

,还行吧,三种办法都完成了A扩展十倍,只不过这只合适不溢出的状况。OK!写完了

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/259543.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部