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

正文內(nèi)容

【大學(xué)課件】80c51單片機匯編語言程序設(shè)計ppt-文庫吧

2025-07-17 16:21 本頁面


【正文】 例:已知: 127≥X≥128,求 Y。設(shè) X, Y分別存放在外部RAM 1000H和 2022H單元中。 開始取數(shù)據(jù)X結(jié)束X=0Y=0YNX <0 Y=1Y=1NY保存數(shù)據(jù)Y返回 XAD EQU 1000H; BUF EQU 2022H; ORG 1000H START: MOV DPTR, XAD ;數(shù)據(jù) X的地址送數(shù)據(jù)指針 DPTR MOVX A, @DPTR; A← 取數(shù)據(jù) X JZ SAV; X= 0轉(zhuǎn) SAV JB , NEG; X< 0轉(zhuǎn) NEG,否則, X> 0 MOV A, 01H; SJMP SAV; NEG: MOV A, 0FFH; (0FFH為 1補碼 ) SAV: MOV DPTR, BUF; 數(shù)據(jù) Y的地址送數(shù)據(jù)指針 DPTR MOVX @DPTR, A; 保存 Y值 END 上例中,如果采用 CJNE指令,應(yīng)如何修改程序? XAD EQU 1000H; BUF EQU 2022H; ORG 1000H START: MOV DPTR, XAD ;數(shù)據(jù) X的地址送數(shù)據(jù)指針 DPTR MOVX A, @DPTR; A← 取數(shù)據(jù) X CJNE A, 0, ANZ ; X≠ 0轉(zhuǎn) ANZ SJMP SAV; ANZ: JC NEG ; X0轉(zhuǎn) NEG,否則, X0 MOV A, 01H; SJMP SAV; NEG: MOV A, 0FFH; (0FFH為 1補碼 ) SAV: MOV DPTR, BUF; 數(shù)據(jù) Y的地址送數(shù)據(jù)指針 DPTR MOVX @DPTR, A; 保存 Y值 END 2. 多分支程序結(jié)構(gòu) 多分支程序結(jié)構(gòu)流程中具有兩個以上條件可供選擇??? 供使用的是變址尋址轉(zhuǎn)移指令“ JMP @A+DPTR”,但使 用該指令實現(xiàn)多分支轉(zhuǎn)移時,需要有數(shù)據(jù)表格配合。 多分支程序結(jié)構(gòu) ( 1)通過數(shù)據(jù)表實現(xiàn)程序多分支 MOV A, n 。分支序號送 A MOV DPTR, BRTAB 。地址表首址 MOVC A, @A+DPTR 。查表 JMP @A+DPTR 。轉(zhuǎn)移 BRTAB:DB BR0BRTAB 。地址表 DB BR1BRTAB DB BRnBRTAB BR0: … 分支程序 BR1: … BRn: … ( 2)通過轉(zhuǎn)移指令表實現(xiàn)程序多分支 MOV A, n RL A 。分支序號值乘以 2 MOV DPTR, BRTAB。轉(zhuǎn)移指令表首址 JMP @A+DPTR BRTAB: AJMP BR0 。轉(zhuǎn)分支程序 0 AJMP BR1 。轉(zhuǎn)分支程序 1 AJMP BR127 。轉(zhuǎn)分支程序 127 BR0: … 。分支程序 BR1: … BRn: … ( 3)其他實現(xiàn)程序多分支的方法 MOV DPTR, BRTAB 。分支入口地址表首址 MOV A, R0 RL A 。分支轉(zhuǎn)移值乘以 2 MOV R1, A 。暫存 A值 INC A MOVC A, @A+DPTR 。取低位地址 PUSH ACC 。低位地址入棧 MOV A, R1 。恢復(fù) A值 MOVC A, @A+DPTR 。取高位地址 PUSH ACC 。高位地址入棧 RET 。分支入口地址裝入 PC BRTAB:DW BR0 。分支程序入口地址表 DW BR1 DW BR127 例:假設(shè)鍵盤上有 4個按鍵,功能說明如下表: 分析任務(wù) 確定算法 程序流程框圖 鍵功能 鍵值(分支程序序號) 鍵處理程序(分支程序) 刪除 00H ER 讀數(shù)據(jù) 01H DS 寫數(shù)據(jù) 02H XS 插入 03H CR JMP @A+DPTRE R 分支程序 C R 分支程序X S 分支程序D S 分支程序序號= 0 0 HD P T R ←表首地址A ←分支序號2序號= 0 3 H序號= 0 2 H序號= 0 1 H 假設(shè)轉(zhuǎn)移指令表名稱為 BRTAB,分支程序序號已在 A 中。 MOV DPTR, BRTAB CLR C RLC A JMP @A+DPTR; ORG 3000H 3000H BRTAB: AJMP ER; 轉(zhuǎn)刪除分支程序 3001H 3002H AJMP DS; 轉(zhuǎn)讀數(shù)據(jù)分支程序 3003H 3004H AJMP XS; 轉(zhuǎn)寫數(shù)據(jù)分支程序 3005H 3006H AJMP CR; 轉(zhuǎn)插入分支程序 ORG 3100H 3100H ER: ……………… ; 刪除分支程序 ORG 3200H 3200H DS: ……………… ; 讀數(shù)據(jù)分支程序 ORG 3300H 3300H XS: ……………… ; 寫數(shù)據(jù)分支程序 ORG 3400H 3400H CR: ……………… ; 插入分支程序 END ( 4)使用比較轉(zhuǎn)移指令 CJNE實現(xiàn)。 (A)=0?轉(zhuǎn)向0 分支(A)=1?(A)=2? 轉(zhuǎn)向2 分支轉(zhuǎn)向1 分支YYYNNN 循環(huán)程序結(jié)構(gòu) 循環(huán)結(jié)構(gòu)是重復(fù)執(zhí)行某個程序段。使用 條件轉(zhuǎn)移指令 通 過條件判斷來實現(xiàn)和控制循環(huán)。 循環(huán)程序一般由 四 個主要部分組成 : ( 1) 初始化部分: 為循環(huán)程序做準備 , 如規(guī)定循環(huán)次數(shù) 、給各變量和地址指針預(yù)置初值 。 ( 2) 處理部分 : 為反復(fù)執(zhí)行的程序段 , 是循環(huán)程序的實體 , 也是循環(huán)程序的主體 。 ( 3) 循環(huán)控制部分 : 其作用是修改循環(huán)變量和控制變量 ,并判斷循環(huán)是否結(jié)束 , 直到符合結(jié)束條件時 , 跳出循環(huán)為止 。 ( 4) 結(jié)束部分 : 這部分主要是對循環(huán)程序的結(jié)果進行分析、處理和存放。 MOV R2, 0FFH。設(shè)置長度計數(shù)器初值 MOV R0, 3FH。設(shè)置字符串指針初值 LOOP: INC R2 INC R0 CJNE @R0, 0DH, LOOP RET 舉例:通過查找結(jié)束標志 (回車符 )以統(tǒng)計字符串長度的循環(huán) 程序。 假定字符串存放在內(nèi)部 RAM從 40H單元開始的連續(xù)存 儲單元中。為找到結(jié)束標志,應(yīng)采用逐個字符依次與回車 符 (ASCII碼 0DH)比較的方法。同時在程序中還應(yīng)設(shè)置一 個字符串指針以順序定位字符,設(shè)置一個字符長度計數(shù)器以 累計字符個數(shù)。 單循環(huán)程序一般有以下兩種典型結(jié)構(gòu): 雙重循環(huán)程序的結(jié)構(gòu): 開始外循環(huán)初始化結(jié)束外循環(huán)結(jié)束否NY內(nèi)循環(huán)初始化內(nèi)循環(huán)處理內(nèi)循環(huán)變量修改外循環(huán)處理外循環(huán)變量修改結(jié)束處理內(nèi)循環(huán)結(jié)束否NY解 :( 1)分析任務(wù):數(shù)據(jù)傳送;( 2)算法:比較、控制轉(zhuǎn)移 ( 3)程序結(jié)構(gòu):分支、循環(huán)( 4)數(shù)據(jù)類型:多字節(jié)字符串 ( 5) RAM單元安排 :內(nèi)部 RAM單元、 外部 RAM單元 ( 6)采用寄存器間接尋址方式( R0、 R1或 DPTR) 外部R A MXX內(nèi)部R A MD A T A 單元AB U F F E R 單元YY( A ) ≠$(A)=$結(jié)束例:把內(nèi)部 RAM中起始地址為 DATA的數(shù)據(jù)串傳送到外部 RAM以 BUFFER為首地址的區(qū)域,直到發(fā)現(xiàn)“ $”字符 的 ASCⅡ 碼為止,同時規(guī)定數(shù)據(jù)串最大長度為 32個字節(jié)。 ( 7)程序流程框圖; 開始初始化數(shù)據(jù)指針結(jié)束數(shù)傳送完否NY初始化控制變量取數(shù)數(shù)據(jù)傳送修改指針變量是$ 嗎?
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1