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

正文內(nèi)容

80c51的程序設(shè)計-文庫吧

2025-07-17 14:38 本頁面


【正文】 位地址符號定義 符號名 BIT 位地址表達式 將位地址賦給指定的符號名。位地址表達式可以是絕對地址,也可以是符號地址。 例如: ST BIT 將 ST,在其后的編程中就可以用 ST來代替 。 基本程序結(jié)構(gòu) 順序程序 指無分支、無循環(huán)結(jié)構(gòu)的程序。 一、數(shù)據(jù)傳送 例:內(nèi)部 RAM的 2AH~ 2EH單元中存儲的數(shù)據(jù)如圖所示。試編寫程序?qū)崿F(xiàn)圖示的數(shù)據(jù)傳送結(jié)果。 7 8 H5 6 H3 4 H1 2 H0 0 H2 E H2 D H2 C H2 B H2 A HA C C7 8 H5 6 H3 4 H1 2 H0 0 H2 E H2 D H2 C H2 B H2 A HA C C0 0 H方法一: MOV A, 2EH ; 2字節(jié), 1個機器周期 MOV 2EH, 2DH ; 3字節(jié), 2個機器周期 MOV 2DH, 2CH ; 3字節(jié), 2個機器周期 MOV 2CH, 2BH ; 3字節(jié), 2個機器周期 MOV 2BH, 00H ; 3字節(jié), 2個機器周期 方法二: CLR A ; 1字節(jié), 1個機器周期 XCH A, 2BH ; 2字節(jié), 1個機器周期 XCH A, 2CH ; 2字節(jié), 1個機器周期 XCH A, 2DH ; 2字節(jié), 1個機器周期 XCH A, 2EH ; 2字節(jié), 1個機器周期 方法一: 14個字節(jié), 9個機器周期; 方法二: 9個字節(jié), 5個機器周期。 例 有一變量在片內(nèi) RAM的 20H單元,取值范圍: 00H~ 05H。編制一段程序,根據(jù)變量值求其平方值,并存入片內(nèi) RAM的 21H單元。程序如下: ORG 1000H START: MOV DPTR, 2022H MOV A, 20H MOVC A, @A+DPTR MOV 21H, A SJMP $ ORG 2022H TABLE: DB 00, 01, 04, 09, 16, 25 END → 2 0 0 0 H D P T R→( 2 0 H ) A→(A+DPTR) A→A 2 1 H開始結(jié)束 MOVC A, @A+ DPTR,用 DPTR指向表首址,則變量與 DPTR之和的地址單元中的內(nèi)容就是變量的平方值。 MOVC A, @A+PC 不破壞 DPTR的內(nèi)容,從而可以減少保護DPTR的內(nèi)容所需的開銷。 表格存放在 該 指令后的 256字節(jié)內(nèi) 。 三、簡單運算 對于多字節(jié)的相加運算必須從低位字節(jié)開始分字節(jié)進行。除最低字節(jié)可以使用 ADD指令外,其他字節(jié)相加時要使用 ADDC指令。 例 雙字節(jié)無符號數(shù)加法。 設(shè)被加數(shù)存放在內(nèi)部 RAM的 51H、 50H單元,加數(shù)存放在內(nèi)部 RAM的 61H、 60H單元,相加的結(jié)果存放在內(nèi)部 RAM的 51H、 50H單元,進位存放在位尋址區(qū)的 00H位中。(程序見下頁) MOV R0,# 50H ;被加數(shù)的低字節(jié)地址 MOV R1,# 60H ;加數(shù)的低字節(jié)地址 MOV A, @R0 ;取被加數(shù)低字節(jié) ADD A, @R1 ;加上加數(shù)低字節(jié) MOV @R0, A ;保存低字節(jié)相加結(jié)果 INC R0 ;指向被加數(shù)高字節(jié) INC R1 ;指向加數(shù)高字節(jié) MOV A, @R0 ;取被加數(shù)高字節(jié) ADDC A, @R1 ;加上加數(shù)高字節(jié)(帶進位加) MOV @R0, A ;存高字節(jié)相加結(jié)果 MOV 00H, C ;保存進位 。 分支程序 可分成單分支、雙分支和多分支幾種 : 條件成立? 程序段 A 下條指令 條件成立? 程序段 A 程序段 B K=0? K=1? K=2? Y 分支 0 Y 分支 1 Y 分支 2 N N N 一、單分支程序 例 求單字節(jié)有符號數(shù)的二進制補碼。 設(shè)有一個單字節(jié)二進制數(shù)存于 A中 。 START: JNB , OK ;( A) 0,無需轉(zhuǎn)換 MOV C, ; MOV A, @R0 ; CPL A ; 取補 ADD A, 1 ; MOV , C ; 存符號位 OK: RET 二、雙分支程序 例 設(shè)變量 x 以補碼的形式存放在片內(nèi) RAM的 30H單元,變量 y 與 x 的關(guān)系是:當(dāng) x 大于 0時, y =x;當(dāng) x =0時, y =20H;當(dāng) x 小于 0時, y =x+5。編制程序,根據(jù) x 的大小求 y并送回原單元。程序段如下: START: MOV A, 30H JZ NEXT ANL A, 80H ;判斷符號位 JZ LP MOV A, 05H ADD A, 30H MOV 30H, A SJMP LP NEXT: MOV 30H, 20H LP: SJMP $ 三、多分支程序 例 根據(jù) R7的內(nèi)容轉(zhuǎn)向相應(yīng)的處理程序。 設(shè) R7的內(nèi)容為 0~ N,對應(yīng)的處理程序的入口地址分別為 PP0~ PPN。 START: MOV DPTR, TAB ;置分支入口地址表首址 MOV A, R7 ;分支轉(zhuǎn)移序號送 A ADD A, R7 ;分支轉(zhuǎn)移序號乘以 2 MOV R3, A ;暫存于 R3 MOVC A, @A+DPTR ;取高位地址 XCH A, R3 INC A MOVC A, @A+DPTR ;取低位地址 MOV DPL, A ;處理程序入口地址低 8位送 DPL MOV DPH, R3 ;處理程序入口地址高 8位送 DPH CLR A JMP @A+DPTR TAB: DW PP0 DW PP1 … … … DW PPN 循環(huán)程序 有先執(zhí)行后判斷 和 先判斷后執(zhí)行 兩種結(jié)構(gòu) : 置 循 環(huán) 初 值開 始結(jié) 束循 環(huán) 處 理循 環(huán) 修 改結(jié) 束 處 理循 環(huán) 結(jié) 束 ?YN置 循 環(huán) 初 值開 始結(jié) 束循 環(huán) 處 理循 環(huán) 修 改結(jié) 束 處 理循 環(huán) 結(jié) 束 ?YN一、先執(zhí)行后判斷 例 50ms延時程序。 若晶振頻率為 12MHz,則一個機器周期為 1μs。執(zhí)行一條DJNZ指令
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1