單片機第二次作業
,此題方法較多,根據材料有三種做法,下面就一一列出。(既然此題如此繁瑣,就請大家給個好評吧!
)當然剛開始還是新建文件和工程,大家都懂得!那么我就直接粘貼啦!
1、先fileànew
方法一:
為了調試時看數據,預先在A中賦值為01H(既然A值較小,不溢出,那么就選個小一點的吧,簡單嘛!)所以程序前加:
2、建新工程,Projectànew
3、可見程序

4、編譯通過后,點debug下的start/stop開始調試,

可見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!寫完了

評論