freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)程序設(shè)計(jì)方法(編輯修改稿)

2025-06-12 18:07 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 別指令并執(zhí)行下面舉幾個(gè)例子來(lái)分別解釋一下希望大家能以此類(lèi)推 60程序一用計(jì)數(shù)器控制的單重循環(huán)程序源程序如下 CLR AMOV R2 20H MOV R1 22H LOOP ADD A@R1 INC R1 DJNZ R2 LOOP MOV 21H A 這段程序的作用是從 22H 單元開(kāi)始存放一個(gè)數(shù)據(jù)塊其長(zhǎng)度存放在 20H 單元中將數(shù)據(jù)塊求和要求將和存放入 21H 單元中和不超過(guò) 255 下面再 舉一個(gè)條件控制的循環(huán)程序程序二用條件控制的單重循環(huán)程序設(shè)字符串存放在內(nèi)部 RAM 的 21H 開(kāi)始的單元中以結(jié)束作標(biāo)志要求計(jì)算出該字符串的長(zhǎng)度并將其存放在 20H 單元中源程序如下 CLR AMOV R021H 將地址指針指向 21H 單元LOOP CJNZ@R024H NEXT 與比較 SJMP COMP 找到結(jié)束 NEXT INC A 不為 0 計(jì)數(shù)器加 1 INC R0 修改地址指針 SJMP LOOP COMP MOV 20H A 存放結(jié)果試試看自己把上面兩段程序的流程圖畫(huà)出來(lái)下面再看一個(gè)例子 DELAY MOV R7250 D1 MOV R6250 D2 DJNZ R6 D2 DJNZ R7 D1 RET END 61這是一段約 125mS 的延時(shí)程序現(xiàn)在我們來(lái)把它改成下面表格中的程序右邊的程序 DELAY MOV R7250 DELAY MOV R7250 D1 MOV R6250 D1 MOV R6250 D2 DJNZ R6 D2 D2 MOV R5250 DJNZ R7 D1 D3 DJNZ R5 D3 RET DJNZ R6 D2 END DJNZ R7 D1 RET END 從這里可以引出一個(gè)概念程序的嵌套什么是嵌套 比如早上我騎自行車(chē)從家里到單位去上班當(dāng)走到半路上時(shí)太太叫我去孩子學(xué)校拿點(diǎn)東西到了學(xué)校老師又叫我把學(xué)校的一臺(tái)電腦修一下修好電腦一個(gè)朋友又打電話叫我去他那里拿了一本單片機(jī)與嵌入式系統(tǒng)雜志完了之后再去上班這就是生活中的嵌套在單片機(jī)的程序設(shè)計(jì)中也有類(lèi)似的現(xiàn)象有時(shí)為了達(dá)到某個(gè)目的往往要在一段循環(huán)程序中再加入另一段循環(huán)程序這就是單片機(jī)的程序嵌套通常我們把一個(gè)循環(huán)體中不再包含循環(huán)的叫做單重嵌套如果一個(gè)循環(huán)體中還包括有循環(huán)則叫做多重嵌套上面的表格中左邊的程序就是單重嵌套而右邊的程序則是多重嵌套另外須注意在多重嵌套中不允許各 個(gè)循環(huán)體互相交叉也不允許從外循環(huán)跳入內(nèi)循環(huán)否則編譯時(shí)會(huì)出錯(cuò)了解了結(jié)構(gòu)化程序的設(shè)計(jì)下面再來(lái)看子程序的設(shè)計(jì)方法 2子程序的設(shè)計(jì)方法什么是子程序如何設(shè)計(jì)子程序要解釋這個(gè)問(wèn)題讓我們先同樣從生活中的一個(gè)例子說(shuō)起請(qǐng)看下面的數(shù)學(xué)題目 28*33+65+47*33+65+875*33+65 在這道題中我們一般是怎么算的也許大家都知道一般總是先把 33+65=98 代出來(lái)然后再用 28+47+875*98 來(lái)計(jì)算最后的結(jié)果為什么會(huì)這樣這是因?yàn)樵谶@道題中我們多次用到了 33+65 這個(gè)中間結(jié)果在單片機(jī)的程序設(shè)計(jì)中有時(shí)也有這樣的情況比如下面的程序 主程序LOOP: SETB LCALL DELAY CLR LCALL DELAY LJMP LOOP 子程序DELAY: MOV R7,250 D1: MOV R6,250 D2: DJNZ R6,D2 DJNZ R7,D1 RET END這是大家非常熟悉的 LED 燈延時(shí)程序在這段程序中兩次調(diào)用到了 DELAY 這段程序?yàn)榱撕?jiǎn)化程序的設(shè)計(jì)我們就把 DELAY 這段程序單獨(dú)地列了出來(lái)這段列出的程序我們就叫它子程序而調(diào)用子程序的程序我們則叫它主程序 LOOP 的程序段在主程序執(zhí)行時(shí)每當(dāng)要用到子程序時(shí)我們就用 LCALL 指令來(lái)調(diào)用子程序子程序執(zhí)行完之后必須返回主程序返回就用 RET 指令這我們以前都講過(guò)了這里不再重復(fù)另外如果子程序執(zhí)行的過(guò)程中還要再次調(diào)用其他的子程序這種現(xiàn)象我們就稱(chēng)它為子程序的嵌套看上面右邊的圖就是一個(gè)兩層子程序的嵌套結(jié)構(gòu)圖這里有個(gè)問(wèn)題在子程序的執(zhí)行過(guò)程中有時(shí)可能要使用到累加器和某些工作寄存器而在調(diào)用子程序前這些寄存器中可能已經(jīng)存放有主程序的中間結(jié)果它們?cè)谧映绦蚍祷睾笕砸褂眠@樣就需 62要在進(jìn)入子程序之前將要使用的累加器和寄存器中的內(nèi)容預(yù)先轉(zhuǎn)移到安全的地方保存起來(lái)這叫現(xiàn)場(chǎng)保護(hù)當(dāng)子程序執(zhí)行完即將返回主 程序之前還要將這些內(nèi)容先取出來(lái)送回到累加器和原來(lái)的工作寄存器中這個(gè)過(guò)程叫恢復(fù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)通常使用堆棧即在進(jìn)入子程序之前將需要保護(hù)的數(shù)據(jù)壓入堆棧在返回之前再將壓入的數(shù)據(jù)彈出到原來(lái)的工作單元中恢復(fù)原來(lái)的狀態(tài)看下面的例子 LOOP PUSH 03H 將 03H 單元中的值壓入堆棧保護(hù) PUSH ACC 將累加器中的值壓入堆棧保護(hù)由于堆棧的操作是后進(jìn)先出先進(jìn)后出所以編寫(xiě)指令時(shí)必須把后壓入堆棧的數(shù)據(jù)先彈出來(lái)才能保證恢復(fù)到原來(lái)的狀態(tài)在實(shí)際的程序設(shè)計(jì)中由于每個(gè)應(yīng)用程序的不同還必須根據(jù)具體的情況來(lái)考慮是否需要保護(hù)哪些數(shù)據(jù)需要 保護(hù)等等這就是單片機(jī)的堆棧為什么能夠變化的原因關(guān)于堆棧的操作先講這些后面的實(shí)驗(yàn)中我們還將結(jié)合具體的實(shí)驗(yàn)來(lái)分析接下來(lái)再看另一種程序 綜合程序的設(shè)計(jì)方法 3綜合程序的設(shè)計(jì)方法綜合程序有查表程序散轉(zhuǎn)程序數(shù)據(jù)排序程序代碼轉(zhuǎn)換程序等等作為初學(xué)者要想全面的掌握也確實(shí)有一定的難度所以只給大家簡(jiǎn)單地提一下詳細(xì)的內(nèi)容就留到下則的課程中再來(lái)解釋四本課總結(jié)程序設(shè)計(jì)是單片機(jī)開(kāi)發(fā)最重要的工作掌握程序設(shè)計(jì)的基本步驟和方法對(duì)于單片機(jī)的軟件編寫(xiě)是至關(guān)重要的這一課的內(nèi)容較多對(duì)于一時(shí)無(wú)法搞清的部分大家可以結(jié)合以后的實(shí)際應(yīng)用慢慢去理解不要急于求 成千萬(wàn)記住一點(diǎn)學(xué)習(xí)使用單片機(jī)絕不是一朝一夕的事如果你不是天才想速成單片機(jī)我還是勸你趕緊改行五第 16 課習(xí)題 1 什么是單片機(jī)的程序設(shè)計(jì)語(yǔ)言 2單片機(jī)的程序設(shè)計(jì)包括哪幾個(gè)步驟 3 畫(huà)出單片機(jī)的流程圖符號(hào)并簡(jiǎn)述它的作用 4 單片機(jī)的分支結(jié)構(gòu)程序指令有哪幾條 5什么是單片機(jī)的程序嵌套想想生活中還有哪些現(xiàn)象與單片機(jī)的嵌套類(lèi)似 63第十七課單片機(jī)的定時(shí) /計(jì)數(shù)器通過(guò)前面十幾節(jié)課的學(xué)習(xí)我們已經(jīng)掌握了很多的單片機(jī)知識(shí)也許您已經(jīng)可以用它來(lái)開(kāi)發(fā)具體的產(chǎn)品了不過(guò)在有些工業(yè)及民用控制中我們往往需要定時(shí)檢測(cè)某個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1