第4章 MCS-51單片機匯編語言程序設(shè)計

第4章 MCS-51單片機匯編語言程序設(shè)計

ID:44984733

大?。?.58 MB

頁數(shù):51頁

時間:2019-11-06

第4章 MCS-51單片機匯編語言程序設(shè)計_第1頁
第4章 MCS-51單片機匯編語言程序設(shè)計_第2頁
第4章 MCS-51單片機匯編語言程序設(shè)計_第3頁
第4章 MCS-51單片機匯編語言程序設(shè)計_第4頁
第4章 MCS-51單片機匯編語言程序設(shè)計_第5頁
資源描述:

《第4章 MCS-51單片機匯編語言程序設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、第四章MCS-51單片機匯編語言程序設(shè)計【學(xué)習(xí)目的和要求】了解匯編語言程序設(shè)計中的順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)程序和子程序的設(shè)計方法。掌握代碼轉(zhuǎn)換和算術(shù)運算程序的基本編程方法和一些常用的子程序段,能正確地使用MCS-51指令編制匯編語言程序。第四章MCS-51單片機匯編語言程序設(shè)計4.1匯編語言程序設(shè)計方法4.2代碼轉(zhuǎn)換類程序4.3運算類程序第四章MCS-51單片機匯編語言程序設(shè)計4.1匯編語言程序設(shè)計方法匯編語言特點:高效、便捷用匯編語言編寫一個程序的過程分為3步:(1)分析課題,確定計算方法、運算

2、步驟和順序,畫出流程圖。(2)確定數(shù)據(jù),包括工作單元的數(shù)量,分配存放單元。(3)按所使用計算機的指令系統(tǒng),根據(jù)流程圖編寫匯編語言程序?;窘Y(jié)構(gòu)形式:順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、分支結(jié)構(gòu)、子程序結(jié)構(gòu)。第四章MCS-51單片機匯編語言程序設(shè)計1、順序程序順序程序的特點和設(shè)計方法:結(jié)構(gòu)比較簡單,按程序編寫順序依次執(zhí)行,程序流向不變。使用數(shù)據(jù)傳送類指令較多,程序中沒有控制轉(zhuǎn)移類指令??勺鳛閺?fù)雜程序中的某一組成部分。第四章MCS-51單片機匯編語言程序設(shè)計【例4-1】雙字節(jié)二進(jìn)制數(shù)求補。程序說明:對R3(高8位)、R2

3、(低8位)中的二進(jìn)制定點數(shù)取反加1即可得到其補碼。程序清單:BINPL:MOVA,R2CPLA;低位字節(jié)取反ADDA,#01H;加1MOVR2,A;低位字節(jié)補碼送R2MOVA,R3CPLA;高位字節(jié)取反ADDCA,#00H;加進(jìn)位MOVR3,A;高位字節(jié)補碼送R3RET第四章MCS-51單片機匯編語言程序設(shè)計2.分支程序分支程序的特點和設(shè)計方法:程序中包含無條件轉(zhuǎn)移、條件轉(zhuǎn)移和散轉(zhuǎn)指令。單分支程序有一個入口、兩個出口,一般用無條件轉(zhuǎn)移和條件轉(zhuǎn)移指令來實現(xiàn)。其結(jié)構(gòu)形式有兩種:一種是當(dāng)條件滿足時,執(zhí)行A段

4、處理程序,否則執(zhí)行B段處理程序。另一種是當(dāng)條件滿足時,跳過A段處理程序,直接執(zhí)行B段處理程序,否則順序執(zhí)行A段和B段處理程序。分支程序的出口有兩個以上時,一般用散轉(zhuǎn)指令來實現(xiàn)。其實現(xiàn)方法有四種,分別是轉(zhuǎn)移指令表法、地址偏移量表法、轉(zhuǎn)向地址表法和利用RET指令法。分支程序允許嵌套,即一個分支接一個分支,形成樹狀多分支結(jié)構(gòu)。第四章MCS-51單片機匯編語言程序設(shè)計【例4-2】設(shè)變量x存放在VAR單元之中,函數(shù)值y存放在FUNC中,按下式給y賦值:程序清單:VAREQU30HFUNCEQU31HSTART:

5、MOVA,VAR;取xJZCOMP;為0,轉(zhuǎn)COMPJNBACC.7,POSI;>0,轉(zhuǎn)POSIMOVA,#0FFH;<0,-1送入ASJMPCOMPPOSI:MOVA,#01H;+1送入ACOMP:MOVFUNC,AEND第四章MCS-51單片機匯編語言程序設(shè)計【例4-3】32個分支轉(zhuǎn)移程序。根據(jù)入口條件轉(zhuǎn)移到32個目的地址。入口:(R3)=轉(zhuǎn)移目的地址的序號00H-1FH。出口:轉(zhuǎn)移到相應(yīng)子程序入口。程序清單:MP:MOVA,R3;取序號RLA;序號乘2MOVDPTR,#JTAB;32個子程序首地

6、址送DPTRJMP@A+DPTR;根據(jù)序號轉(zhuǎn)移JTAB:AJMPROUT00;32個子程序首地址AJMPROUT01…AJMPROUT31第四章MCS-51單片機匯編語言程序設(shè)計3.循環(huán)程序包括:循環(huán)初始化、循環(huán)處理、循環(huán)控制圖4-4循環(huán)程序流程圖的兩種組織方式第四章MCS-51單片機匯編語言程序設(shè)計循環(huán)程序的特點和設(shè)計方法:結(jié)構(gòu)緊湊,占用存儲單元較少,程序中間有分支。2.凡是分支程序中可以使用的控制轉(zhuǎn)移指令,循環(huán)程序一般都可以使用。3.循環(huán)控制有多種形式,較常用的是計數(shù)循環(huán)和條件循環(huán)兩種形式。分類:

7、單重循環(huán)程序、多重循環(huán)程序第四章MCS-51單片機匯編語言程序設(shè)計【例4-4】若Xi均為單字節(jié)數(shù),并按i(i=1~n)的順序存放在內(nèi)部RAM從50H開始的單元中,n放在R2中,要求將它們的和(雙字節(jié))放在R3、R4中。程序清單:ADD1:MOVR3,#00H;清和存儲單元MOVR4,#00HMOVR2,#n;置循環(huán)計數(shù)初值MOVR0,#50HLOOP:MOVA,R4;取部分和低位ADDA,@R0;與Xi相加MOVR4,AINCR0;Xi地址加1CLRAADDCA,R3;低位字節(jié)向高位進(jìn)位MOVR3,A

8、DJNZR2,LOOP;未加完繼續(xù)重復(fù)END入口:Xi存放在從50H開始的單元;n放在R2中。出口:和存放于R3、R4中第四章MCS-51單片機匯編語言程序設(shè)計【例4-5】已知8051單片機使用的晶振為6MHz,要求設(shè)計一個軟件延時程序,延時時間為10ms。延時程序的延時時間主要與所用晶振頻率和延時程序中的循環(huán)次數(shù)有關(guān)。由晶振頻率為6MHz可知,一個機器周期為2。入口:(R0)=毫秒數(shù);(R1)=1ms延時預(yù)定值。出口:定時到,退出程序。程序清單:ORG

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。