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

正文內(nèi)容

【大學(xué)課件】80c51單片機匯編語言程序設(shè)計ppt(留存版)

2025-09-15 16:21上一頁面

下一頁面
  

【正文】 DJNZ R5, LOOP; 假設(shè) 單片機晶振頻 率 fosc=6MHz, 則一個機器周期為 2μ s,NOP、 DJNZ指令分別是單、雙機器周期指令。 ( 2) 處理部分 : 為反復(fù)執(zhí)行的程序段 , 是循環(huán)程序的實體 , 也是循環(huán)程序的主體 。轉(zhuǎn)分支程序 127 BR0: … 。此外,在內(nèi)部RAM 54H單元存放溫度下限值 T54,在 55H單元存放溫度上限值 T55。第 1個數(shù)存于 R2 INC DPTR 。存中間字節(jié)相加結(jié)果 DEC R0 DEC R1 MOV A, R0 ADDC A, R1。程序既無分支、循環(huán),也不調(diào)用子程序,程序執(zhí)行時一條接一條地按順序執(zhí)行指令。 高級語言的不足:生成的目標代碼較長,導(dǎo)致應(yīng)用程序運行速度較慢。 優(yōu)點:執(zhí)行速度快、占用內(nèi)存少。 ? 不能使用本匯編語言已經(jīng)定義的符號作為標號。 根據(jù)實際問題的要求和指令系統(tǒng)的特點,確定解決問題的具體步驟。進位送 00H位保存 MOV R0, 20H。兩數(shù)比較 JNC BIG1 。設(shè) X, Y分別存放在外部RAM 1000H和 2022H單元中。分支轉(zhuǎn)移值乘以 2 MOV R1, A 。 MOV R2, 0FFH。 假定要求定時時間為 24us。 匯編語言源程序: 用匯編語言編寫的程序稱為匯編語言源程序。 ? 偽指令沒有與之相對應(yīng)的二進制機器代碼, ? 不同匯編語言的偽指令也有所不同。 命令格式: [〈 標號: 〉 ]DB〈 8位數(shù)表 〉 例如: DB “how are you?” DB 2,4,6,10,11,17 例:存放 7段數(shù)碼管(共陽極)顯示的十六進制基數(shù)( 0~ F)的十六進制數(shù)的字形代碼,可使用多條 DB命令定義。源程序匯編 時,對預(yù)留單元不賦值。 子程序入口參數(shù) :主程序需要向子程序提供的參數(shù)。 參數(shù)傳遞一般有以下幾種方法: 1) 寄存器傳遞參數(shù) 通過 寄存器 A傳遞入口參數(shù)和出口參數(shù) 。通常保護和恢復(fù)現(xiàn)場是在子程序中 利用堆棧 操作實現(xiàn)的,在子程序的開始部分把子程序中要用到的編程資源都保護起來,在執(zhí)行返回指令之前恢復(fù)現(xiàn)場,這是一種比較規(guī)范的方法。執(zhí)行完這條指令后,程序返回主程序斷點處繼續(xù)執(zhí)行。按順序存入 01H、 00H、 01H、 0ACH、 0FCH、 0DCH DB和 DW定義的數(shù)表,數(shù)的個數(shù)不得超過 80個。其值為 8位或 16位二進制數(shù)??梢?,“ 機器編輯 → 交叉匯編 → 串行傳送 ”的過程構(gòu)成了單片機軟件設(shè)計的 “三步曲”,全過程如圖所示。 編寫查表程序時,首先把查表數(shù)據(jù)的序號送入 A中,再把從查表指令的下一條指令的首地址到表的首地址間的偏移量與 A值相加,然后再使用該指令進行查表操作,并把結(jié)果送入 A中。 定時程序是典型的循環(huán)程序,它是通過 執(zhí)行一個具有固定延遲時間的循環(huán)體 來實現(xiàn)定時的。 循環(huán)程序一般由 四 個主要部分組成 : ( 1) 初始化部分: 為循環(huán)程序做準備 , 如規(guī)定循環(huán)次數(shù) 、給各變量和地址指針預(yù)置初值 。轉(zhuǎn)分支程序 1 AJMP BR127 。若 T55≥Ta≥T54, 則返回主程序 例:假定采集的溫度值 Ta放在累加器 A中。取第 1個數(shù) MOV R2, A 。中間字節(jié)帶進位相加 MOV R0, A 。 順序程序結(jié)構(gòu) 順序結(jié)構(gòu)程序是最簡單的程序結(jié)構(gòu)。移植性好。 缺點:識別難、記憶難。 ? 標號后面必須跟以冒號“:”。根據(jù)任務(wù)要求,對不同的計算方法進行比較,選擇最適宜的算法。存放進位的單元地址 MOV R0, A 分支結(jié)構(gòu)也稱為選擇結(jié)構(gòu)。若第 2個數(shù)大,則轉(zhuǎn)向 BIG1 XCH A, R2 。 開始取數(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)流程中具有兩個以上條件可供選擇。暫存 A值 INC A MOVC A, A+DPTR 。設(shè)置長度計數(shù)器初值 MOV R0, 3FH。 對于這個定時程序 , 只須增加一條NOP指令即可實現(xiàn) 。 匯編: 匯編語言源程序不能在單片機中直接執(zhí)行,必須將其“翻譯”為用二進制代碼 (機器語言 )表示的目標程序才能執(zhí)行。 ? 手工匯編不需要偽指令,但機器交叉匯編必須使用偽指令。 DB 0C0H, 0F9H, 0A4H, 0B0H; 0, 1, 2, 3 DB 99H, 92H, 82H, 0F8H; 4, 5, 6, 7 DB 80H, 90H, 88H, 83H; 8, 9, A, B DB 0C6H, 0A1H, 86H, 84H; C, D, E, F 查表時 ,為確定數(shù)據(jù)區(qū)的起始地址 ,可采用兩種方法 : a) 根據(jù) DB命令前一條指令的地址確定。命令格式為: [<標號:> ]DS< 16位數(shù)表> 例如: ADDRTABL:DS 20 。 子程序出口參數(shù) :子程序執(zhí)行完之后向主程序返回的參數(shù)。 例:假設(shè) a、 b均小于 10, 計算 c=a2+b2, 其中 a事先存在內(nèi)部 RAM的31H單元 , b事先存在 32H單元 , 請把 c存入 33H單元 。在子程序執(zhí)行完后需恢復(fù)這些單元的內(nèi)容,稱為 恢復(fù)現(xiàn)場 。調(diào)用指令在主程序中使用,而返回指令則應(yīng)該是子程序的最后一條指令。不合法 ,因超過兩字節(jié) DW 100H,1ACH,804。 命令格式為: 字符名稱 EQU 賦值項 其中 賦值項 可以是常數(shù)、地址、標號或表達式。交叉匯編后,再使用串行通信,把匯編得到的目標程 序傳送到單片機,進行程序調(diào)試和運行。 常用于 “本地”范圍 查表(數(shù)據(jù)表格只能放在該指令后面 256個地址單元之內(nèi),而且表格只能被本程序使用)。定時功能除可以使用純硬件電路、可編程定時 /計數(shù)器實現(xiàn)外,還可以使用軟件程序( 定時程序 )完成。使用 條件轉(zhuǎn)移指令 通 過條件判斷來實現(xiàn)和控制循環(huán)。轉(zhuǎn)分支程序 0 AJMP BR1 。若 (CY)= 1,表明 Ta< T54,轉(zhuǎn)升溫處理程序 FH: RET 。設(shè)置數(shù)據(jù)指針 MOVX A, DPTR 。存低字節(jié)相加結(jié)果 DEC R0 DEC R1 MOV A, R0 ADDC A, R1。 匯編語言程序的基本結(jié)構(gòu)形式 三種基本結(jié)構(gòu)形式:順序程序結(jié)構(gòu),分支程序結(jié)構(gòu), 循環(huán)程序結(jié)構(gòu)。 可以大大提高單片機應(yīng)用系統(tǒng)研制的開發(fā)效率。 匯編語言 用助記符和專門的語言規(guī)則表示指令的功能和特征。 ? 同一標號在一個程序中只能定義一次。解決 “怎樣做”的問題。為分支需要,程序設(shè)計時 應(yīng)給程序段的起始地址賦予一個地址標號,以供選擇分支 使用。若第 1個數(shù)大,則整字節(jié)交換 BIG0: INC DPTR MOVX DPT
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1