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

正文內(nèi)容

mcs51單片機(jī)指令系統(tǒng)與編程(參考版)

2024-08-25 09:25本頁面
  

【正文】 ( 1)短轉(zhuǎn)移指令 格式: AJ。 無條件轉(zhuǎn)移指令 無條件轉(zhuǎn)移指 令有 4 條。該指令通常包括無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、比較轉(zhuǎn)移指令、循環(huán)轉(zhuǎn)移指令以及調(diào)用和返回指令。程序轉(zhuǎn)移類指令共計(jì)有 16 條,另還有一條 NOP 指令。 程 序如下: 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)存空間。相當(dāng)于完成對 16 位數(shù)的乘 2 操作。設(shè) 16位數(shù)存放在內(nèi) RAM 40H、 41H 單元,低位在前。 (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。 例 40:執(zhí)行指令 XRL P1, 00110001B P1=01111001B,則執(zhí)行結(jié)果: P1=01001000B A操作指令 A操作指令共有六條,可以實(shí)現(xiàn)將累加器 A中的內(nèi)容進(jìn)行取反,清零,循環(huán)左、右移,帶 Cy 循環(huán)左右移。 (1) ORL A,R ;A =73H ( 2 ) ORL A, R0 ;A =72H 異或指令 同與、或指令一樣,異或指令有六條,其操作方式與 “與、或 ”指令一樣。 格式: 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)容等。 解: A=00001111B=0FH 例 38: 將寄存器 A中的壓縮 BCD碼拆分為 2 個字節(jié),將 寄存器 A中的低 4 位送到 P1口的低 4 位,寄存器 A中的高 4 位送到 P2 口的低 4 位, P P2 口的高 4 位清 0。后兩條將直接地址單元中內(nèi)容與操作數(shù)所指內(nèi)容進(jìn)行按位與運(yùn)算,將結(jié)果送入 直接尋址 地址單元中。 “ 與 ”指令 本指令共有六條,邏輯與的結(jié)果大部分送回累加器 A,只有最后兩條指令送入直接地址單元中。按操作數(shù)也可分為 單、雙操作數(shù)兩種。 設(shè)被減數(shù)存 30 單元,減數(shù)存 40H 單元,結(jié)果存 50H 單元,編寫程序如下: BCDSUB1: CLR C ;清進(jìn)位位 MOV A, 9AH ; SUBB A, 40H ; ADD A, 30H ;進(jìn)行補(bǔ)碼相加 DA A MOV 50H, A ;結(jié)果(差) 存 50H 單元 例 36:已知兩個 BCD 碼分別存在 31H、 30H 和 43H、 42H 中,試編程求其和,并存入 R4R3R2。 例 35:利用十進(jìn)制加法調(diào)整指令作十進(jìn)制減法調(diào)整。由于 BCD碼按二進(jìn)制運(yùn)算法進(jìn)行加減后,有可能出錯,利用二 — 十進(jìn)制調(diào)整指令可對運(yùn)算結(jié)果進(jìn)行調(diào)整。設(shè)被減數(shù)放在 10H 起始的連續(xù) 3 個單元中(低位在前),減數(shù)放在 30H 起始的連續(xù) 3 個單元(低位在前),相減的結(jié)果仍放在 10H起始的單元。 ( 2)沒有 16 位減一指令。這類指令不影響標(biāo)志位,減 1指令共有四條。 4.加 減 1 指令 該指令是把所指定的變量加 1,結(jié)果仍送回原地址單元,這類指令不影響標(biāo)志位,加 1指令共有五條。 ( 3) 在 MCS51 型單片機(jī)中乘法和除法指令僅適用于 8 位數(shù)乘法和除法運(yùn)算。程序編寫如下: MOV B, 100 ;置除數(shù)為 100 DIV AB ;除以 100 MOV 30H, A ;商放入 30H MOV A, B ;余數(shù)放 A MOV B, 10 ;置除數(shù)為 10 DIV AB ;除以 10,個位數(shù)放入 B,十位放入 A SWAP A ;十位數(shù)放入 A7~4 ADD A, B ;組合 BCD 碼 MOV 31H, A ;存十位和個位數(shù) SJMP $ 乘除法指令說明: ( 1) 乘法指令和除法指令需要 4 個機(jī)器周期,也是指令系統(tǒng)中執(zhí)行時間最長的指令。 編程要點(diǎn)說明:( 1)將要轉(zhuǎn)換的二進(jìn)制數(shù)除以 100,商即為百位數(shù),余數(shù)再除以 10,商和余數(shù)分別為十位和個位數(shù)。 例 30:設(shè)累加器 A=87H, B=0CH,執(zhí)行指令 DIV AB 結(jié)果: A=0BH, B=03H, OV=0, CY=0 例 31:試編寫程序,要求:把 A中的二進(jìn)制數(shù)轉(zhuǎn)換為 3 位 BCD 碼。 圖示為 J K ? L R5 R4 R3 編制程序?yàn)椋?MOV A, 55H MOV B, 44H MUL AB MOV R3, A ; R4R3 K? L MOV R4, B ; MOV A, 33H MOV B, 44H MUL AB ; J? L ADD A, R4 MOV R4, A ; R4← KL 高 +JL 低 MOV A, B ADDC A, 00H ; R5← JL 高 +進(jìn)位 MOV R5, A ( 2)除法指令 KL 高 KL 低 + JL 高 JL 低 14 格式: DIV AB; )/()(B) )( BAA ????余數(shù)( 商 功能:把累加器 A中的 8 位無符號整數(shù)除以寄存器 B 中 8 位無符號整數(shù),商放在 A中,余數(shù)放在 B 中,標(biāo)志位 Cy 和 OV均清 0。 例 28:設(shè) A=80H, B=32H,執(zhí)行指令 MUL AB 執(zhí)行結(jié)果:乘積 1900H, A=00H, B=19H OV=1, CY=0 例 29:編寫程序 33H55H 44H— 〉 R5R4R3。 設(shè)計(jì)程序?yàn)椋? AUN1: MOV A, 30H; 把被減數(shù)放到 A中 CLR C; 低字節(jié)減無借位 CY 被清 0 SUBB A, 40H;低字節(jié)相減 1 13 MOV 50H, A; 存結(jié)果 MOV A , 31H;被減數(shù)字節(jié)送 A SUBB A, 41H;高字節(jié)相減 MOV 51H, A;存結(jié)果 JC OVER;高字節(jié)若有借位 Cy=1,轉(zhuǎn)入 OVER 執(zhí)行 . . OVER………… 乘除法指令 ( 1) 乘法指令 格式: MUL AB; )()()( )( 15~8 7~0 BABA ????? 功能:把累加器 A和寄存器 B 中的 8位無符號整數(shù)相乘,乘積為 16位,積低 8 位存于A 中,積高位存于 B 中。 例 26:設(shè) A=D9H, R0=87H,求執(zhí)行減法指令后的結(jié)果。 (5) 由于減法只有帶借位減法一條指令,所以在單字節(jié)相減時,須先清借位位( CLR C)。 (3) 減法運(yùn)算過程中,位 6 和位 7 同時借位時溢出標(biāo)志位 OV 為 1,否則 OV 為 0。 解: 01001001( 49H) 01100100( 64H) — ) 1 11100100 結(jié)果: A=E4H, Cy=1, P=0, AC=0, OV=0 減法運(yùn)算對 PSW 中的影響: (1) 減法運(yùn)算的最高位有借位時,進(jìn)位位 Cy 置位為 1,否則 Cy 為 0。 格式: SUBB A , data ; A← Adata— Cy SUBB A , Rn ; A← ARn— Cy SUBB A , direct ; A← A( direct) — Cy SUBB A , Ri ; A← A( Ri) — Cy 功能:累加器 A中的內(nèi)容減去原操作數(shù)中的內(nèi)容及進(jìn)位位 Cy,差再存入累加器 A中。 ② 再將二數(shù)高 8 位同 Cy 相加后,結(jié)果分別存入 40H, 41H 單元中。 解: 10101010 ( 0AAH) 01010101 ( 55H) +) 1 ( Cy) 00000000 結(jié)果: A=00H, Cy=0, AC=0, OV=0, P=0 例 23:設(shè) A=85,( 30H) =6DH, Cy=1,執(zhí)行指令 ADDC A , 30H 解: 10000101( 85H) 01101101( 6DH) +) 1 ( Cy) 11110011 結(jié)果: A=F3H, Cy=0, OV=0, AC=1, P=0 例 24:編寫程序計(jì)算 4455H+22FFH 的結(jié)果。 (1) 1 0 1 0 1 1 0 0 (ACH) ( 2) 0 1 0 1 0 1 0 0 ( 54H) + 1 0 0 0 0 1 0 1 (85H) + 0 0 1 0 0 1 1 1 (27H) 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 無進(jìn)位 AC=0 1⊕ 0=1 0⊕ 0=0, OV=0 有進(jìn)位 C=1 無進(jìn)位 C=0 結(jié)果: CY=1, OV=1, AC=1, P=1 結(jié)果: Cy=0, OV=0, AC=0, P=1 A=31H A=7BH 說明: OV— 帶符號數(shù)運(yùn)算時和的第 7 位中有一位產(chǎn)生進(jìn)位而另一位不產(chǎn)生進(jìn)位,則使
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1