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

正文內(nèi)容

06-第四章程序設(shè)計(jì)-wenkub.com

2025-01-12 03:15 本頁面
   

【正文】 n 程序?yàn)椋簄 ORG 0000Hn START: MOV DPTR, TABn LOOP: CLR A n MOVC A, A+DPTR n CJNE A, 03H, LOOP1 n JMP STARTn LOOP1: MOV P1, A n ACALL DEL n INC DPTR n JMP LOOPn TAB: DB 01H, 02H, 04H, 08H, 10H, 20H, 40H, 80H n DB 80H, 40H, 20H, 10H, 08H, 04H, 02H, 01H n DB 00H, 0FFH, 00H, 0FFH, 00H, 0FFH, 03Hn DEL: MOV R7, 0FFHn DEL1: MOV R6, 0FFHn DEL2: DJNZ R6, DEL2 n DJNZ R7, DEL1 n RETn END 計(jì)算機(jī)與通信工程學(xué)院n 已經(jīng)編過彩燈程序控制,使接于 P1口的紅發(fā)光二極管左移順次點(diǎn)亮,當(dāng)時為了簡單易懂,用字節(jié)傳送方法編的,編的程序較長,實(shí)際上編程很靈活,方法很多,同一個問題有很多種編程方法,沒有千篇一律的格式,下面就彩燈順序點(diǎn)亮的程序的兩種編程方法作一比較,了解一些編程的技巧。 計(jì)算機(jī)與通信工程學(xué)院n 查表程序是一種常用程序,它廣泛使用于 LED顯示器控制、打印機(jī)打印以及數(shù)據(jù)補(bǔ)償,計(jì)算、轉(zhuǎn)換等功能程序中,具有程序簡單、執(zhí)行速度快等優(yōu)點(diǎn)。調(diào)用程序可位于 MCS51全部地址空間的任何地方,因?yàn)?MOVC指令能訪問所有 64K字節(jié)。n ACALL SOUTn DB ‘MCS51 CONTROLLER’n DB 0AH, 0DH, 0n 后面緊接其他程序。n 子程序可按該地址用 MOVC指令從 EPROM中讀出并發(fā)送該字符串。n 實(shí)際應(yīng)用中,需要發(fā)送各種字符串。n 如果需要大量參數(shù),并且這些參數(shù)均為常數(shù)時,程序段參數(shù)傳遞方法(有時也稱為直接參數(shù)傳遞)是傳遞常數(shù)的有效方法。n DB 39。低位 HEX的 ASCII碼放入堆棧中n SWAP An ANL A,0FHn MOVC A,A+DPTRn INC R0n XCH A,R0 。n 使用這種方法時,由于參數(shù)在堆棧中,故大大簡化了中斷響應(yīng)時的現(xiàn)場保護(hù)。n NADD: MOV R7, 3n CLR Cn NADD1: MOV A, R0n ADDC A, R1n MOV R0, An DEC R0n DEC R1n DJNZ R7, NADD1n INC R0n INC R0n INC R0n RET計(jì)算機(jī)與通信工程學(xué)院用堆棧來傳遞參數(shù)n 堆??梢杂糜趥鬟f參數(shù)。n 可變長度運(yùn)算時,可用一個寄存器來指出數(shù)據(jù)長度,也可在數(shù)據(jù)中指出其長度(如使用結(jié)束標(biāo)記符)。n 例 :請編出能把 R5單元內(nèi)兩個 BCD數(shù)變換成相應(yīng) ASCII碼放在 R6(高位 BCD數(shù)的ASCII碼)和 R7(低位 BCD數(shù)的 ASCII碼)單元的程序。n 參數(shù)的傳遞n 調(diào)用子程序時,主程序先把有關(guān)的參數(shù)(入口參數(shù))存放在約定的位置,n 子程序在執(zhí)行時,從約定的位置取得參數(shù),n 當(dāng)子程序執(zhí)行完,將得到的結(jié)果(出口參數(shù))存入約定的位置,n 返回主程序后,主程序可以從這些約定的位置上取到需要的結(jié)果。n 簡化程序的邏輯結(jié)構(gòu),同時也便于子程序調(diào)試。n PJ3: MOV DPTR, TAB3n MOV A, R3n ADD A, R3 ; R3*2n JNC CADn INC DPH ;有進(jìn)位 DPTR高位加 1n CAD: MOV R2, A ;暫存 R2n MOVC A, A+DPTRn XCH A, R2 ;處理程序入口地址高 8位暫存 R2n INC An MOVC A, A+DPTRn MOV DPL, A ;處理程序入口地址低 8位暫存 DPLn MOV DPH, R2n CLR An JMP A+DPTRn TAB3: DW LOP0n DW LOP1n DW LOP2計(jì)算機(jī)與通信工程學(xué)院 子程序和參數(shù)傳遞方法n 在程序中,會多次進(jìn)行一些相同的計(jì)算和操作,一般把他們寫成子程序n 如數(shù)制轉(zhuǎn)換、函數(shù)式計(jì)算等。n 如果一個 2K范圍的存儲區(qū)內(nèi)放不下所有的處理程序時,把一些較長的處理程序放在其他存儲區(qū)域,只要在該處理程序的入口地址內(nèi)用 LJMP指令即可。n 該指令是把累加器 A的 8位無符號數(shù)(作地址的低 8位)與 16位數(shù)據(jù)指針的內(nèi)容相加,其和送入程序計(jì)數(shù)器,作為轉(zhuǎn)移指令的地址。n 它由輸入條件或運(yùn)算結(jié)果來確定轉(zhuǎn)入各自的處理程序。使用多重循環(huán)程序時,必須注意以下幾點(diǎn):n ( 1)循環(huán)嵌套,必須層次分明,不允許產(chǎn)生內(nèi)外層循環(huán)交叉。繼續(xù)比較,若比較相等,則表示該字符串結(jié)束,計(jì)數(shù)器中的值就是字符串的長度。要求把計(jì)算結(jié)果存入 R2, R3中(高位存 R2,低位存 R3)。至少執(zhí)行一次循環(huán)體。n 控制部分:n 根據(jù)循環(huán)次數(shù)計(jì)數(shù)器的狀態(tài)或循環(huán)條件,檢查循環(huán)是否能繼續(xù)進(jìn)行,若循環(huán)次數(shù)到或循環(huán)條件不滿足,應(yīng)控制退出循環(huán),否則繼續(xù)循環(huán)。 計(jì)算機(jī)與通信工程學(xué)院循環(huán)程序組成n 循環(huán)程序一般由五部分組成:n 初始化部分:n 為循環(huán)程序做準(zhǔn)備。n 采用循環(huán)程序,使程序縮短,節(jié)省存儲單元。取第一數(shù)n JZ SULn JB ,NEGn MOV A,01Hn SUL:n MOV DPTR,BUFn MOVX DPTR,An JMP LOOPn NEG:n MOV A,0FFHn SJMP SULn END 計(jì)算機(jī)與通信工程學(xué)院 循環(huán)程序設(shè)計(jì)n 簡單程序,每條指令只執(zhí)行一次n 分支程序則根據(jù)條件的不同,會跳過一些指令,執(zhí)行另一些指令。第一數(shù)大n BIG0:n INC DPTRn MOVX DPTR,A 。取第一數(shù)n MOV R2,A 。n 根據(jù)判斷、比較的結(jié)果轉(zhuǎn)向不同的分支計(jì)算機(jī)與通信工程學(xué)院例 43: 兩個無符號數(shù)比較大小n 設(shè)兩個連續(xù)外部 RAM單元 ST1和 ST2中存放不帶符號的二進(jìn)制數(shù),找出其中的大數(shù)存入 ST3單元中。取第二個半字節(jié)n ORL A,R1 。除非用特殊指令讓它跳轉(zhuǎn),不然它會在 PC控制下執(zhí)行。n 循環(huán)程序:n 對于需要反復(fù)的程序段,常采用循環(huán)辦法,以縮短程序。[注釋 ]n 指令編碼長短:單字節(jié),雙字節(jié),三字節(jié)n 執(zhí)行周期:一個機(jī)器周期占 12個振蕩周期,單周期指令,雙周期, 4周期n 尋址方式:n 指令中所規(guī)定的尋找操作地址的方式n 立即、直接、寄存器、寄存器間接尋址、基址加變址、相對尋址、位尋址n 指令分類:n 數(shù)據(jù)傳送、算術(shù)、邏輯、位操作、控制轉(zhuǎn)移
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1