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

正文內(nèi)容

mcs51單片機(jī)指令系統(tǒng)與編程-資料下載頁

2025-08-12 09:25本頁面

【導(dǎo)讀】單片機(jī)系統(tǒng)的設(shè)計包括硬件設(shè)計與軟件編程兩部分。在硬件電路設(shè)計合理的的條件下,還要在編制程序正確的基礎(chǔ)上,單片機(jī)才能按照設(shè)計者的要求來完成各種工作。一章MCS—51單片機(jī)硬件的結(jié)構(gòu)基礎(chǔ)上,主要介紹MCS—51指令系統(tǒng)與編程。指令是指揮計算機(jī)工作的命令,是計算機(jī)軟件的基本單元。指令有兩種表達(dá)形式。用二進(jìn)制代碼表示的指令稱為機(jī)器碼指令或目標(biāo)代碼指令。式的指令能夠直接被計算機(jī)硬件識別執(zhí)行,但不便于記憶。指令才能被計算機(jī)執(zhí)行。如上面的指令MOVA,#00H即為匯編語言指令。是不同的,在很大度上決定了其相應(yīng)的使用功能。對于操作數(shù)段的組成有的指令可以沒有,MCS—51系列單片機(jī)的指令系統(tǒng)有立即尋址,寄存器尋址,一般來說,對于四個工作寄存器組的編碼如

  

【正文】 帶 Cy 加 法 SUBB A, Rn A← ARnCy 10011 rrr Cy OV AC 1 1 @Ri A← A(Ri)Cy 1001011i Cy OV AC 1 1 Direct A← A(direct)Cy 95 direct Cy OV AC 2 1 data A← AdataCy 94 data Cy OV AC 2 1 INC A A← A+1 04 P 1 1 Rn Rn← Rn+1 00001rrr 無影響 1 1 @Ri (Ri)← (Ri)+1 0000011i 無影響 1 1 Direct (direct)←(direct)+1 05 direct 無影響 2 1 DPTR DPTR← DPTR+1 A3 無影響 1 2 減 1 DEC A A← A1 04 P 1 1 Rn Rn← Rn1 00001rrr 無影響 1 1 @Ri (Ri)← (Ri)1 000011i 無影響 1 1 Direct (diret)←(diret)1 05direct 無影響 2 1 乘法 MUL AB BA← AXB A4 0 OV P 1 4 除法 DIV AB A← A/B(商 ), B←余數(shù) 84 0 OV P 1 4 調(diào)整 DA A 十進(jìn)制調(diào)整 D4 Cy AC 1 1 三、邏輯運算指令 邏輯運算指令共 24條,包括與、或、異或、清零、求反和左右移位等邏輯指令。按操作數(shù)也可分為 單、雙操作數(shù)兩種。邏輯運算指令涉及寄存器 A 時,影響 P,但對 AC、 OV及 CY 沒有影響。 “ 與 ”指令 本指令共有六條,邏輯與的結(jié)果大部分送回累加器 A,只有最后兩條指令送入直接地址單元中。 格式: ANL A, data ; A←A ∧ data ANL A, Rn ; A←A ∧ Rn ANL A, @Ri ; A←A ∧ (Ri) ANL A, direct ; A←A ∧ (direct) ANL direct, data ; A←direct ∧ data ANL direct, A ; A ←direct ∧ A 功能:前四條將 A 中內(nèi)容與源操作數(shù)所指內(nèi)容進(jìn)行按位與運算,并將結(jié)果送入 A 中,且影響奇偶標(biāo)志位。后兩條將直接地址單元中內(nèi)容與操作數(shù)所指內(nèi)容進(jìn)行按位與運算,將結(jié)果送入 直接尋址 地址單元中。 例 37: 如果 A=00001111B,( 40H) =10001111B,當(dāng)執(zhí)行指令 ANL A, 40H 時, A的內(nèi)容。 解: A=00001111B=0FH 例 38: 將寄存器 A中的壓縮 BCD碼拆分為 2 個字節(jié),將 寄存器 A中的低 4 位送到 P1口的低 4 位,寄存器 A中的高 4 位送到 P2 口的低 4 位, P P2 口的高 4 位清 0。 根據(jù)題意得,可編程如下: MOV B, A ; A的內(nèi)容暫存于 B 中 ANL A, 00001111B ;清高 4 位,保留低 4 位 18 MOV P1, A ; A低 4 位 →P1 口 MOV A, B ;取原數(shù)據(jù) ANL A, 11110000B ;保留高 4 位,低 4 位清 0 SWAP A ; A7~4→A3~0 MOV P2, A ; A高 4 位 → P2口 或運算指令 或指令共有六條,執(zhí)行指令后的結(jié)果存入累加器或直接地址單元中。 格式: ORL A, data ;A ← A ∨ d ORL A,R n ;A ← A ∨ Rn ORL A, @Ri ;A ← A ∨ R i) ORL A, direct ; A← A ∨ (direct) ORL direct,# data ; (direct) ← (direct) ∨ data ORL direct, A ; ( direct) ← (direct)∨ A 或指令也常用于修改某工作寄存器、某片內(nèi) RAM 單元、某直接尋址(包括 P0、 PP P3端口)或累加器本身的內(nèi)容,控制修改的數(shù)或累加器中內(nèi)容等。 例 39:如 果 ( A) =12H,( R0) =71H,( 71H) =60H,當(dāng)執(zhí)行下列指令后, 求 A中的內(nèi)容。 (1) ORL A,R ;A =73H ( 2 ) ORL A, @R0 ;A =72H 異或指令 同與、或指令一樣,異或指令有六條,其操作方式與 “與、或 ”指令一樣。 格式: XRL A, data ; A ←A ? data XRL A, Rn ; A ← A ? Rn XRL A, @Ri ; A ←A ? (Ri) XRL A, direct, data ; A←A ? (direct) XRL direct, data ; (direct) ← (direct) ? data XRL direct, A ; (direct) ← (direct) ? A 異或指令也常用于修改某工作寄存器、某片內(nèi) RAM 單元、某直接尋址字節(jié)(包括 P0、P P P3 端口)或累加器本身的內(nèi)容。 例 40:執(zhí)行指令 XRL P1, 00110001B P1=01111001B,則執(zhí)行結(jié)果: P1=01001000B A操作指令 A操作指令共有六條,可以實現(xiàn)將累加器 A中的內(nèi)容進(jìn)行取反,清零,循環(huán)左、右移,帶 Cy 循環(huán)左右移。 格式及功能(詳見表 24 示意圖): CLR A ; A → 0 CPL A ; A → A RL A ;循環(huán)左移 RLC A ;帶 Cy 循環(huán)左右移 RR A ;循環(huán)右移 RRC A ;帶 Cy 循環(huán)右移 例 41: 假設(shè) A=5AH、 C=1,執(zhí)行 下面 指令。 (1) CPL A ; A=0A5H 19 (2) CLR A ; A=0 (3) RLA A ; A=0B4H (4) RLC A ; A=0B5H (5) RR A ; A=2DH (6) RRC A ; A=0ADH 對執(zhí)行 RL 指令來說,相當(dāng)于把原內(nèi)容乘以 2;對執(zhí)行 RC 指令,相當(dāng)于把原內(nèi)容除以2。 例 42: 編程實現(xiàn) 16 位數(shù)的算術(shù)左移。設(shè) 16位數(shù)存放在內(nèi) RAM 40H、 41H 單元,低位在前。 算數(shù)左移是指將操作數(shù)整體左移一位,最低位補充 0。相當(dāng)于完成對 16 位數(shù)的乘 2 操作。程序如下: CLR C ; Cy 清 0 MOV A, 40H ;取操作數(shù)低 8 位送 A RLC A ;低 8 位左移一位 MOV 40H, A ;送回 MOV A , 41H ;指向高 8 位 RLC A ;高 8 位左移 MOV 41H, A ;送回 例 43: 設(shè)在外 RAM 2020H 中存放有兩個 BCD 碼,試編一程序?qū)⑦@兩個 BCD 碼分別存到2020H 和 2020H 的低 4 位。 程 序如下: MOV DPTR , 2020H MOVX A , @DPTR ;讀外 RAM 2020H 單元中的 BCD 碼 MOV B , A ;暫存 ANL A , 0FH ;屏蔽高 4 位,保留低 4 位 MOVX @DPTR ;回存外 RAM2020H 單元 INC DPTR ;指向外 RAM2020H 單元 MOV A , B ;讀原 BCD 碼 ANL A, 0F0H ;屏蔽低 4 位,保留高 4 位 SWAP A ;高 4 位 → 低 4 位 MOVX @DPTR ,A ;回存外 RAM 2020H 單元 例 44: 在 30H 與 31H 單元有兩個 BCD 碼,現(xiàn)要將它們合并到 30H 單元以節(jié)省內(nèi)存空間。 程序如下: MOV A , 30H SWAP A ;( 20H) 3~0→A7~4 ORL A , 31H ;合并 MOV 30H , A ;回存 邏輯運算類指令匯總表(見表 24) 表 2— 4 MCS— 51 型單片機(jī)邏輯運算類指令 類 型 助 記 符 功 能 機(jī) 器 碼 字節(jié)數(shù) 周期數(shù) ANL A, data A←A ∧ data 55 direct 2 1 Rn A←A ∧ Rn 01011 1 1 @ Ri A←A ∧ (Ri) 54 data 2 1 20 與 direct A←A ∧ (direct) 0101011i 1 1 ANL direct, data (direct)←(direct) ∧ data 53 direct data 3 2 A (direct)←(direct) ∧ A 52 direct 2 1 或 ORL A, data A←A ∨ data 45 direct 2 1 Rn A←A ∨ Rn 01001rrr 1 1 @ Ri A←A ∨ (Ri) 44 data 2 1 direct A←A ∨ (direct) 0100011i 1 1 ORL direct, data (direct)←(direct) ∨ data 43 direct data 3 1 A (direct)←(direct) ∨ A 42 direct 2 1 異或 XRL A, data A←A ⊕ data 65 direct 2 1 Rn A←A ⊕ Rn 01101rrr 1 1 @ Ri A←A ⊕ (Ri) 64 data 2 1 direct A←A ⊕ (direct) 0110011i 1 1 XRL direct, data (direct)←(dire ct)⊕ data 63 direct data 3 2 A (direct)←(direct) ⊕ A 62 direct 2 1 循 環(huán) 移 位 RL A ←←←←←←←←← 23 1 1 RLC A ← ←←←←←←←← 33 1 1 RR A →→→→→→→→ 03 1 1 RRC A ← →→→→→→→→ 13 1 1 求反 CPL A A← A F4 1 1 清 0 CLR A A←0 E4 1 1 四 、轉(zhuǎn)移指令 在 MCS— 51 型單片機(jī)中,它具有一定的智能作用,這主要是由于存在控制轉(zhuǎn)移類指令。程序轉(zhuǎn)移類指令共計有 16 條,另還有一條 NOP 指令。除 NOP 指令執(zhí)行時間為 1個機(jī)器周期外,其它轉(zhuǎn)移指令的執(zhí)行時間都是兩個機(jī)器周期。該指令通常包括無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、比較轉(zhuǎn)移指令、循環(huán)轉(zhuǎn)移指令以及調(diào)用和返回指令。該指令通過修改 PC 的內(nèi)容來控制程序的執(zhí)行,提高效率,它一般不影響標(biāo)志位。 無條件轉(zhuǎn)移指令 無條件轉(zhuǎn)移指 令有 4 條。由于指令執(zhí)行的結(jié)果,程序的執(zhí)行順序是必須轉(zhuǎn)移的,所以稱該指令為無條件轉(zhuǎn)移指令。 ( 1)短轉(zhuǎn)移指令 格式:
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1