MCS-51單片機(jī)匯編語言程序設(shè)計(jì)教材.ppt

MCS-51單片機(jī)匯編語言程序設(shè)計(jì)教材.ppt

ID:51230940

大小:113.50 KB

頁數(shù):45頁

時(shí)間:2020-03-20

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

《MCS-51單片機(jī)匯編語言程序設(shè)計(jì)教材.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫

1、第5章MCS-51單片機(jī)匯編語言程序設(shè)計(jì)程序設(shè)計(jì):指令的有序羅列。兩個(gè)方面:(1)選擇某種語言;(2)解決問題的方法與步驟-----(算法)本章介紹匯編語言程序設(shè)計(jì)的基本問題,包括:5.1程序設(shè)計(jì)概述5.2基本的程序設(shè)計(jì)5.3基本功能程序的設(shè)計(jì)5.4數(shù)字濾波程序5.1程序設(shè)計(jì)概述一、程序設(shè)計(jì)步驟(1)分析問題,確定問題的數(shù)學(xué)模型(2)確定符合計(jì)算機(jī)運(yùn)算的算法(3)繪制流程圖(4)內(nèi)存單元分配(5)據(jù)流程圖編寫匯編語言程序(6)程序調(diào)試與修改二、程序設(shè)計(jì)技術(shù)(1)模塊化程序設(shè)計(jì)(2)自頂向下的程序設(shè)計(jì)(3)軟件的抗干擾技術(shù)三、評(píng)價(jià)程序質(zhì)量的標(biāo)準(zhǔn)①程序的執(zhí)

2、行時(shí)間;②程序所占用的內(nèi)存字節(jié)數(shù);③程序的邏輯性、可讀性;④程序的兼容性、可擴(kuò)展性;⑤程序的可靠性。5.2基本的程序設(shè)計(jì)在程序設(shè)計(jì)過程中,無論多復(fù)雜的程序結(jié)構(gòu)都是由基本的程序結(jié)構(gòu)組成的。一、順序結(jié)構(gòu)程序設(shè)計(jì)二、分支結(jié)構(gòu)的程序設(shè)計(jì)三、循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)一、順序結(jié)構(gòu)的程序順序結(jié)構(gòu)程序是一種最簡(jiǎn)單、最基本的程序,按照程序編寫的順序逐條依次執(zhí)行,直到程序結(jié)束。這是程序的最基本的形式,任何程序都離不開這種形式。例5-1:編程將片內(nèi)RAM21H單元的低3位和20H單元的低5位合并為一個(gè)字節(jié)送片內(nèi)RAM30H,要求21H的低3位放在高位上。分析:(1)將RAM20H

3、的高位屏蔽掉;(2)將21H的高3位屏蔽掉,然后將其低5位移到高5位上;(3)將以上兩者合并即可。MOV30H,20H;20H中內(nèi)容處理ANL30H,#1FHMOVA,21H;21H中內(nèi)容處理SWAPARLAANLA,#0E0HORL30H,A;兩數(shù)合并例5-2:求內(nèi)部RAM20H、21H中的4位壓縮BCD數(shù)與22H、23H中的4位壓縮BCD數(shù)的差,結(jié)果送24H、25H中。即:(20H)(21H)-(22H)(23H)=(24H)(25H).分析:[(9999H+1)-(22H)(23H)]+(20H)(21H).CLRCMOVA,#9AH;用999A

4、H-(22H)(23H)SUBBA,23HMOV25H,A;結(jié)果送24H和25HMOVA,#99HSUBBA,22HMOV24H,AMOVA,25H;(24H)(25H)+(20H)(21H)ADDA,21HDAAMOV25H,A;結(jié)果存24H25HMOVA,24HADDCA,20HDAAMOV24H,A補(bǔ)充例題:片外RAM1000H、1001H分別存放兩個(gè)無符號(hào)數(shù)10010001B和10001010B,如果視其為二進(jìn)制數(shù),編程完成其加法和減法運(yùn)算,結(jié)果放到片外RAM1002H和1003H單元;如果視其為BCD碼,編程完成其加法運(yùn)算和減法運(yùn)算,結(jié)果放到

5、片外RAM1004H和1005H單元。(框圖)二、分支結(jié)構(gòu)的程序分支結(jié)構(gòu)程序是利用條件轉(zhuǎn)移指令,使程序執(zhí)行到某一指令時(shí),根據(jù)條件是否滿足,來改變程序執(zhí)行的順序。編寫分支結(jié)構(gòu)的程序主要在于正確使用轉(zhuǎn)移指令。編寫分支結(jié)構(gòu)的程序的關(guān)鍵是確定好分支條件轉(zhuǎn)移指令有三種:無條件轉(zhuǎn)移條件轉(zhuǎn)移散轉(zhuǎn)(1)無條件轉(zhuǎn)移它的程序轉(zhuǎn)移方向是設(shè)計(jì)者事先安排的,與已執(zhí)行程序的結(jié)果無關(guān),使用時(shí)只需給出正確的轉(zhuǎn)移目標(biāo)地址或偏移量即可,如:ORG0000HLJMPMAIN···ORG0030HMAIN:······(2)條件轉(zhuǎn)移它是根據(jù)已執(zhí)行程序?qū)?biāo)志位或累加器或?qū)?nèi)部RAM某位的影響結(jié)

6、果,決定程序的走向,形成各種分支??捎糜诜种ЫY(jié)構(gòu)的指令:JZ/JNZ、CJNE、DJNZ、JC/JNCJB/JNB、JBC程序框圖:(a、b正確,c錯(cuò)誤)(3)散轉(zhuǎn)它是根據(jù)某種已輸入的或運(yùn)算的結(jié)果,使程序轉(zhuǎn)向各個(gè)處理程序中去,一般單片機(jī)實(shí)現(xiàn)散轉(zhuǎn)程序常用于逐次比較和算法處理的方法。這些方法一般比較麻煩、易出錯(cuò),MCS-51單片機(jī)具有一條專門的散轉(zhuǎn)指令JMP@A+DPTR,可以使它較方便地實(shí)現(xiàn)散轉(zhuǎn)功能。例5-3:編制程序使y按下式賦值:VAREQU30HFUNCEQU31HSTART:MOVA,VAR;取xJZCOMP;為0轉(zhuǎn)COMPJNBACC.7,PO

7、SI;>0轉(zhuǎn)POSIMOVA,#0FFH;<0,-1?ASJMPCOMPPOSI:MOVA,#01HCOMP:MOVFUNC,ARET例5-4:設(shè)外部存儲(chǔ)器單元ST1和ST2存放兩個(gè)不帶符號(hào)的二進(jìn)制數(shù),找出其中的大數(shù)存入ST3單元。START1:CLRC;進(jìn)位位清0MOVDPTR,#ST1;設(shè)數(shù)據(jù)指針MOVXA,@DPTR;取第一個(gè)數(shù)MOVR1,A;暫存第一個(gè)數(shù)INCDPTRMOVXA,@DPTR;取第二個(gè)數(shù)MOVR2,A;暫存第二個(gè)數(shù)SUBBA,R1;兩數(shù)比較JNCBIG1XCHA,R1;第一個(gè)數(shù)大SJMPLBIG1:MOVA,R2L:INCDPTR

8、MOVX@DPTR,A;存大數(shù)例5-5:空調(diào)機(jī)在制冷時(shí),若排出空氣比吸入空氣溫度低8℃,則認(rèn)為

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(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)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。