新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)第六次作業(yè)

單片機(jī)第六次作業(yè)

作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
作業(yè):第29題,已知R0中值為n,計(jì)算1^2+2^2+3^2+……+n^2并放入30h.(n較小不考慮求和的溢出)
1、先fileànew建asm文件29.asm
MOV R1,#00H
LOOP:MOV A,R0
MOV B,R0
MUL AB
ADD A,R1
MOV R1,A
DJNZ R0,LOOP
MOV 30H,R1
END
為了調(diào)試時看數(shù)據(jù),預(yù)先在r0中賦值為3,所以程序前加:
MOV R0,#3
所以程序變?yōu)椋?br />MOV R0,#3
MOV R1,#00H
LOOP:MOV A,R0
MOV B,R0
MUL AB
ADD A,R1
MOV R1,A
DJNZ R0,LOOP
MOV 30H,R1
END
2、建新工程,Projectànewproject,選AtemlàAT89C51,導(dǎo)入文件29.asm。
注意,對初學(xué)者,一個工程里只能有本程序29.asm,無關(guān)的程序要刪除,新試驗(yàn)一個程序最好重新建工程,以保證一個工程里只有你要試驗(yàn)的那一個程序。

3、可見程序




4、編譯通過后,點(diǎn)debug下的start/stop開始調(diào)試,step和stepover都是單步調(diào)試,step是遇到子程序或中斷也要進(jìn)入進(jìn)行單步調(diào)試,stepover是遇到子程序或中斷當(dāng)一句一次執(zhí)行完。本程序物子程序,二者是一樣的。我們執(zhí)行一句得到:


繼續(xù)執(zhí)行:


可見A,B值都已改變,下一步:



可見A,B值改變。下一步,



R1此時為0,所以A值不變。下一步:


可見R1值改變,接著執(zhí)行循環(huán)語句:



上一頁 1 2 下一頁

關(guān)鍵詞: 單片機(jī)求

評論


技術(shù)專區(qū)

關(guān)閉