MCS-51單片機(jī) 第4章 匯編語(yǔ)言程序設(shè)計(jì).ppt

MCS-51單片機(jī) 第4章 匯編語(yǔ)言程序設(shè)計(jì).ppt

ID:55829339

大?。?28.50 KB

頁(yè)數(shù):41頁(yè)

時(shí)間:2020-06-09

MCS-51單片機(jī) 第4章  匯編語(yǔ)言程序設(shè)計(jì).ppt_第1頁(yè)
MCS-51單片機(jī) 第4章  匯編語(yǔ)言程序設(shè)計(jì).ppt_第2頁(yè)
MCS-51單片機(jī) 第4章  匯編語(yǔ)言程序設(shè)計(jì).ppt_第3頁(yè)
MCS-51單片機(jī) 第4章  匯編語(yǔ)言程序設(shè)計(jì).ppt_第4頁(yè)
MCS-51單片機(jī) 第4章  匯編語(yǔ)言程序設(shè)計(jì).ppt_第5頁(yè)
資源描述:

《MCS-51單片機(jī) 第4章 匯編語(yǔ)言程序設(shè)計(jì).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、第4章匯編語(yǔ)言程序設(shè)計(jì)4.1匯編語(yǔ)言基本概念4.2匯編語(yǔ)言程序設(shè)計(jì)4.1匯編語(yǔ)言基本概念4.1.1程序設(shè)計(jì)語(yǔ)言4.1.2匯編語(yǔ)言的語(yǔ)句結(jié)構(gòu)4.1.3偽指令返回本章首頁(yè)4.1.1程序設(shè)計(jì)語(yǔ)言按照語(yǔ)言的結(jié)構(gòu)及其功能可以分為三種:1.機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是用二進(jìn)制代碼0和1表示指令和數(shù)據(jù)的最原始的程序設(shè)計(jì)語(yǔ)言。2.匯編語(yǔ)言:在匯編語(yǔ)言中,指令用助記符表示,地址、操作數(shù)可用標(biāo)號(hào)、符號(hào)地址及字符等形式來(lái)描述。3.高級(jí)語(yǔ)言:高級(jí)語(yǔ)言是接近于人的自然語(yǔ)言,面向過(guò)程而獨(dú)立于機(jī)器的通用語(yǔ)言。返回本節(jié)4.1.2匯編語(yǔ)言的語(yǔ)句結(jié)構(gòu)1.匯編語(yǔ)言的指令類(lèi)型MCS-51單片機(jī)

2、匯編語(yǔ)言,包含兩類(lèi)不同性質(zhì)的指令。(1)基本指令:即指令系統(tǒng)中的指令。它們都是機(jī)器能夠執(zhí)行的指令,每一條指令都有對(duì)應(yīng)的機(jī)器碼。(2)偽指令:匯編時(shí)用于控制匯編的指令。它們都是機(jī)器不執(zhí)行的指令,無(wú)機(jī)器碼。2.匯編語(yǔ)言的語(yǔ)句格式匯編語(yǔ)言源程序是由匯編語(yǔ)句(即指令)組成的。匯編語(yǔ)言一般由四部分組成。其典型的匯編語(yǔ)句格式如下:標(biāo)號(hào):操作碼操作數(shù);注釋START:MOVA,30H;A←(30H)返回本節(jié)4.1.3偽指令1.ORG:匯編起始地址用來(lái)說(shuō)明以下程序段在存儲(chǔ)器中存放的起始地址。例如程序:ORG1000HSTART:MOVA,#20HMOVB,#30

3、H┇2.EQU:賦值給變量標(biāo)號(hào)賦予一個(gè)確定的數(shù)值。3.DB:定義數(shù)據(jù)字節(jié)把數(shù)據(jù)以字節(jié)數(shù)的形式存放在存儲(chǔ)器單元中。4.DW:定義數(shù)據(jù)字按字的形式把數(shù)據(jù)存放在存儲(chǔ)單元中。5.DS:定義存儲(chǔ)區(qū)從指定的地址單元開(kāi)始,保留一定數(shù)量存儲(chǔ)單元。6.BIT:位定義確定字符名為確定的位地址值。7.END:匯編結(jié)束返回本節(jié)4.2匯編語(yǔ)言程序設(shè)計(jì)4.2.1匯編語(yǔ)方程序設(shè)計(jì)步驟4.2.2順序程序4.2.3分支程序4.2.4循環(huán)程序4.2.5子程序4.2.6位操作程序返回本章首頁(yè)4.2.1匯編語(yǔ)方程序設(shè)計(jì)步驟1.分析問(wèn)題2.確定算法3.設(shè)計(jì)程序流程圖4.分配內(nèi)存單元5.編

4、寫(xiě)匯編語(yǔ)言源程序6.調(diào)試程序返回本節(jié)4.2.2順序程序順序程序是一種最簡(jiǎn)單,最基本的程序。特點(diǎn):程序按編寫(xiě)的順序依次往下執(zhí)行每一條指令,直到最后一條?!纠?.1】將30H單元內(nèi)的兩位BCD碼拆開(kāi)并轉(zhuǎn)換成ASCII碼,存入RAM兩個(gè)單元中。程序流程如圖4-1所示。參考程序如下:ORG2000HMOVA,30H;取值A(chǔ)NLA,#0FH;取低4位ADDA,#30H;轉(zhuǎn)換成ASCII碼MOV32H,A;保存結(jié)果MOVA,30H;取值SWAPA;高4位與低4位互換ANLA,#0FH;取低4位(原來(lái)的高4位)ADDA,#30H;轉(zhuǎn)換成ASCII碼MOV31H

5、,A;保存結(jié)果SJMP$END結(jié)束取數(shù)據(jù)低4位轉(zhuǎn)換成ASCII碼存ASCII碼取數(shù)據(jù)高4位轉(zhuǎn)換成ASCII碼存ASCII碼開(kāi)始圖4-1拆字程序流程圖結(jié)束取數(shù)據(jù)X求X2暫存X2取數(shù)據(jù)Y求Y2求X2+Y2開(kāi)始保存平方和圖4-2例4.2程序流程圖【例4.2】設(shè)X、Y兩個(gè)小于10的整數(shù)分別存于片內(nèi)30H、31H單元,試求兩數(shù)的平方和并將結(jié)果存于32H單元。解:兩數(shù)均小于10,故兩數(shù)的平方和小于100,可利用乘法指令求平方。程序流程如圖4-2所示。參考程序如下:ORG2000HMOVA,30H;取30H單元數(shù)據(jù)MOVB,A;將X送入B寄存器MULAB;求X

6、2,結(jié)果在累加器中MOVR1,A;將結(jié)果暫存于R1寄存器中MOVA,31H;取31H單元數(shù)據(jù)MOVB,A;將Y送入B寄存器MULAB;求Y2,結(jié)果在累加器中ADDA,R1;求X2+Y2MOV32H,A;保存數(shù)據(jù)SJMP$;暫停END結(jié)束取數(shù)據(jù)X求X2暫存X2取數(shù)據(jù)Y求Y2求X2+Y2開(kāi)始保存平方和圖4-2例4.2程序流程圖返回本節(jié)4.2.3分支程序1.分支程序的基本形式分支程序有三種基本形式,如圖4-3所示。分支程序的設(shè)計(jì)要點(diǎn)如下:(1)先建立可供條件轉(zhuǎn)移指令測(cè)試的條件。(2)選用合適的條件轉(zhuǎn)移指令。(3)在轉(zhuǎn)移的目的地址處設(shè)定標(biāo)號(hào)。條件滿足?A

7、YN(a)條件滿足?ABNY(b)(c)A0A1AnK=0K=1…K=nK=?……圖4-3分支程序結(jié)構(gòu)流程圖2.雙向分支程序設(shè)計(jì)舉例【例4.3】設(shè)X存在30H單元中,根據(jù)下式X+2X>0Y=100X=0求出Y值,將Y值存入31H單元。∣X∣X<0解:根據(jù)數(shù)據(jù)的符號(hào)位判別該數(shù)的正負(fù),若最高位為0,再判別該數(shù)是否為0。程序流程如圖4-4所示。參考程序如下:ORG1000HMOVA,30H;取數(shù)JBACC.7,NEG;負(fù)數(shù),轉(zhuǎn)NEGJZZER0;為零,轉(zhuǎn)ZER0ADDA,#02H;為正數(shù),求X+2AJMPSAVE;轉(zhuǎn)到SAVE,保存數(shù)據(jù)ZER0:MOV

8、A,#64H;數(shù)據(jù)為零,Y=100AJMPSAVE;轉(zhuǎn)到SAVE,保存數(shù)據(jù)NEG:DECA;CPLA;求∣X∣SAVE:MOV31H,A

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

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

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