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

正文內(nèi)容

單片機(jī)程序的設(shè)計(jì)word版(編輯修改稿)

2025-06-12 17:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 和綜合程序三個(gè)大類,先來(lái)看結(jié)構(gòu)化程序。 ,既有復(fù)雜的程序,也有簡(jiǎn)單的程序,但不論哪種程序,它們都是由一個(gè)個(gè)基 本的程序結(jié)構(gòu)組成的,這些基本結(jié)構(gòu)有順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 (1)。順序結(jié)構(gòu)程序的設(shè)計(jì)順序結(jié)構(gòu)的程序一般用來(lái)處理比較簡(jiǎn)單的算術(shù)或邏輯問題,它的執(zhí)行過程是按照程序存儲(chǔ)器 PC 自動(dòng)加 1 的順序執(zhí)行的,主要用數(shù)據(jù)傳遞類指令和數(shù)據(jù)運(yùn)算類指令來(lái)實(shí)現(xiàn)。比如我們前面第六課中的 I/O 口輸入實(shí)驗(yàn)就是典型的順序結(jié)構(gòu)的程序。試試看,把這個(gè)程序的流程圖寫出來(lái)。下面再看一個(gè)例子:將內(nèi)部 RAM 中 20H 單元和 30H 單元的無(wú)符號(hào)數(shù)相加,存入R0(高位 )和 R1(低位 )中。先畫出流程圖:根據(jù)流程圖編寫源代碼如下: MOV A, 20H; ADD A, 30H; MOV R0, A; CLR A; ADDC A, 00H; MOV R0, A; MOV A, 30H; ADD A, R1; MOV R1, A; CLR A; ADDC A, R0; MOV R0, A; 這就是順序結(jié)構(gòu)程序,程序的原理我就不分析了,我們接著講分支結(jié)構(gòu)的程序設(shè)計(jì)。這里說(shuō)明一點(diǎn),最近有朋友提出這一課的有些程序看不懂,的確如此,這一課的有幾個(gè)程序?qū)嵗覀儚膩?lái)沒有學(xué)過,之所以放在這里,原本是為了讓大家理解程序設(shè)計(jì)的方法,舉幾個(gè)示例證明一下,沒想到反而增加了大家的難度。其實(shí)這些示例你不需要刻意的去理解它,只要明白它的設(shè)計(jì)方法就可以了,因?yàn)檫@一張的主要內(nèi)容是程序設(shè)計(jì)的方法,而不是程序執(zhí)行的原理和結(jié)果。如果以后有更好的示例我會(huì)修改一下。 (2)。分支結(jié)構(gòu)程序的設(shè)計(jì)所謂分支結(jié)構(gòu)就是利用條件轉(zhuǎn)移指令,使程序執(zhí)行某一指令后,根據(jù)所給的條件是否滿足來(lái)改變程序執(zhí)行的順序,也就是本條指令執(zhí)行完后,并不是象順序結(jié)構(gòu)那樣執(zhí)行下一條指令,而是看本條指令所給的條件是否滿足,如果滿足條件就跳轉(zhuǎn)到其他的指令,如果不滿足就順序執(zhí)行;當(dāng)然也可以是滿足條件順序執(zhí)行,而不滿足條件跳轉(zhuǎn)執(zhí)行,看十五課實(shí)驗(yàn)程序中的下面兩條: L1: JNB , L2; 上接有一只按鍵,它按下時(shí), =0 JNB ,L3; 上接有一只按鍵,它按下時(shí), =0 這就是分支結(jié)構(gòu)的程序,如果 為 0,就轉(zhuǎn)移;反之就順序執(zhí)行。 當(dāng)然 也可以改成 =0 順序執(zhí)行;而 =1 則轉(zhuǎn)移,不過此時(shí)的程序就要用 JB 指令了。在 51 系列單片機(jī)中,可以直接用于分支程序的指令有JB(JNB)、 JC(JNC)、 JZ(JNZ)、 CJNE、 JBC 等這幾條,它們可以完成諸如正負(fù)判斷、大小判斷和溢出判斷等等。 在分支結(jié)構(gòu)的指令設(shè)計(jì)中,大家必須注意 amp。9786;:執(zhí)行一條判斷指令只可以形成兩路分支,如果要形成多路分支,就必須進(jìn)行多次判斷,也就是多條指令連續(xù)判斷。下面給大家舉兩個(gè)例子: RAM 單元的 40H 和 41H 中,現(xiàn)在 要求找出其中較大的一個(gè)數(shù),并將較大的數(shù)存入 40H 中,而將較小的一個(gè)數(shù)存入 41H 中。根據(jù)程序的要求,我們先畫出程序的流程圖。再根據(jù)流程圖寫出程序的源代碼如下: MOV A, 40H; CLR C; SUBB A, 41H; JNC WAIT; MOV A, 41H; XCH A, 41H; MOV 40H, A; WAIT: SJMP WAIT; END。 程序的原理請(qǐng)大家自行分析一下。 接下來(lái)再舉一個(gè)多分支結(jié)構(gòu)的實(shí)例,看下面的程序: MOV A, 20H;取數(shù) JZ ZERO; A=0,轉(zhuǎn)移; A=1,順序執(zhí)行 JB ACC。 7, STORE; A 為負(fù)數(shù),轉(zhuǎn)移 ADD A, 3; A 為正數(shù),則加 3 SJMP STORE; ZERO: MOV A, 20; STORE: MOV 21H, A; 自己畫一下本例的流程圖,再和上面的右圖比較一下,看是不是一樣。這里有一條指令給大家解釋一下: JB , STORE; 表示累加器 A 中的 D3位,這條指令的意思就是看一下累加器中的 D3 位 (也就是第四位 )是正還是負(fù),第四位是什么呢 ?在這里就是 0(20H
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1