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

正文內(nèi)容

機(jī)械設(shè)計(jì)ppt課件(已修改)

2025-01-25 14:11 本頁(yè)面
 

【正文】 第 4章 MCS51匯編語(yǔ)言程序設(shè)計(jì) 匯編語(yǔ)言程序設(shè)計(jì)概述 機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言 用于程序設(shè)計(jì)的 語(yǔ)言基本上分為 3種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言 。 二進(jìn)制代碼表示的指令、數(shù)字和符號(hào)簡(jiǎn)稱(chēng)為機(jī)器語(yǔ)言 不易懂,難記憶,易出錯(cuò)。 2.匯編語(yǔ)言 英文助記符表示的指令稱(chēng)為 符號(hào)語(yǔ)言 或 匯編語(yǔ)言 匯編語(yǔ)言特點(diǎn): (1)面向機(jī)器的語(yǔ)言,程序設(shè)計(jì)員須對(duì) MCS51的硬件有相當(dāng)深入的了解。 (2)助記符指令和機(jī)器指令一一對(duì)應(yīng),用匯編語(yǔ)言編寫(xiě)的 程序效率高 ,占用 存儲(chǔ)空間小 ,運(yùn)行 速度快 ,用匯編語(yǔ)言能編寫(xiě)出最優(yōu)化的程序。 能直接管理和控制硬件設(shè)備(功能部件),它能處理中斷,也能直接訪(fǎng)問(wèn)存儲(chǔ)器及 I/O接口電路。 匯編語(yǔ)言和機(jī)器語(yǔ)言都脫離不開(kāi)具體機(jī)器的硬件,均是面向 “ 機(jī)器 ” 的語(yǔ)言,缺乏通用性。 3.高級(jí)語(yǔ)言 不受具體機(jī)器的限制 ,使用了許多數(shù)學(xué)公式和數(shù)學(xué)計(jì)算上的習(xí)慣用語(yǔ), 非常擅長(zhǎng)于科學(xué)計(jì)算。 常用的如BASIC、 FORTRAN以及 C語(yǔ)言等。 高級(jí)語(yǔ)言?xún)?yōu)點(diǎn):通用性強(qiáng),直觀(guān)、易懂、易學(xué),可讀性好。 使用 C語(yǔ)言( C51)、 PL/M語(yǔ)言來(lái)進(jìn)行 MCS51的應(yīng)用程序設(shè)計(jì)。 對(duì)于程序的空間和時(shí)間要求很高的場(chǎng)合,匯編語(yǔ)言仍是必不可缺的。 C語(yǔ)言和匯編語(yǔ)言混合編程 在很多需要直接控制硬件的應(yīng)用場(chǎng)合,則更是非用匯編語(yǔ)言不可 使用匯編語(yǔ)言編程,是單片機(jī)程序設(shè)計(jì)的 基本功之一 匯編語(yǔ)言語(yǔ)句的種類(lèi)和格式 兩種基本類(lèi)型:指令語(yǔ)句和偽指令語(yǔ)句 ( 1)指令語(yǔ)句 已在第 3章介紹 每一條指令語(yǔ)句在匯編時(shí)都產(chǎn)生一個(gè)指令代碼 —— 機(jī)器代碼 ( 2)偽指令語(yǔ)句 是為匯編服務(wù)的。在匯編時(shí) 沒(méi)有機(jī)器代碼與之對(duì)應(yīng)。 MCS51的匯編語(yǔ)言的 四分段格式 如下: 標(biāo)號(hào)字段 操作碼字段 操作數(shù)字段 注釋字段 例 41 下面是一段匯編語(yǔ)言程序的四分段書(shū)寫(xiě)格式 基本語(yǔ)法規(guī)則: 1. 標(biāo)號(hào)字段 是語(yǔ)句所在地址的標(biāo)志符號(hào) 標(biāo)號(hào)字段 操作碼字段 操作數(shù)字段 注釋字段 START: MOV A, 00H ; 0→A MOV R1, 10 ; 10→R 1 MOV R2, 00000011B ; 3→R 2 LOOP: ADD A, R2 ; ( A) +( R2) → A DJNZ R1, LOOP; R1內(nèi)容減 1不 為零 , 則循環(huán) NOP HERE: SJMP HERE 2美元符號(hào) $的使用 用于表示該轉(zhuǎn)移指令操作碼所在的地址 。 例如 , 如下指令: JNB F0, $ 與如下指令是等價(jià)的: HERE: JNB F0, HERE 再如: HERE: SJMP HERE 可寫(xiě)為: SJMP $ 匯編語(yǔ)言源程序的匯編 匯編語(yǔ)言源程序 “ 翻譯 ” 成機(jī)器代碼(指令代碼)的過(guò)程稱(chēng)為 “ 匯編 ” 。匯編可分為 手工匯編 和 機(jī)器匯編兩類(lèi) : 手工匯編 人工查表翻譯指令 。但遇到的相對(duì)轉(zhuǎn)移指令的偏移量的計(jì)算,要根據(jù)轉(zhuǎn)移的目標(biāo)地址計(jì)算偏移量,不但麻煩,且容易出錯(cuò)。 機(jī)器匯編 用編輯軟件進(jìn)行源程序的編輯。編輯完成后,生成一個(gè)ASCII碼文件,擴(kuò)展名為 “ .ASM”。然后在微計(jì)算機(jī)上運(yùn)行匯編程序,把匯編語(yǔ)言源程序翻譯成機(jī)器代碼。 交叉匯編 — 匯編后的機(jī)器代碼是在另一臺(tái)計(jì)算機(jī)(這里是單片機(jī))上運(yùn)行。 MCS51單片機(jī)的應(yīng)用程序的完成 , 應(yīng)經(jīng)過(guò)三個(gè)步驟; ( 1) 在微計(jì)算機(jī)上 , 運(yùn)行編輯程序進(jìn)行源程序的輸入 和編輯; ( 2) 對(duì)源程序進(jìn)行交叉匯編得到機(jī)器代碼; ( 3) 通過(guò)微計(jì)算機(jī)的串行口 ( 或并行口 ) 把機(jī)器代碼傳送到 用戶(hù)樣機(jī) ( 或在線(xiàn)仿真器 ) 進(jìn)行程序的調(diào)試和運(yùn)行 。 反匯編 —— 分析現(xiàn)成產(chǎn)品的程序 , 要將二進(jìn)制的機(jī)器代碼語(yǔ)言程序翻譯成匯編語(yǔ)言源程序 。 匯編語(yǔ)言實(shí)用程序設(shè)計(jì) 查表程序設(shè)計(jì) 數(shù)據(jù)補(bǔ)償、修正、計(jì)算、轉(zhuǎn)換等各種功能,具有程序簡(jiǎn)單、執(zhí)行速度快等優(yōu)點(diǎn)。 查表就是根據(jù)自變量 x,在表格中尋找 y,使 y=f(x)。 執(zhí)行查表指令時(shí) , 發(fā)出讀程序存儲(chǔ)器選通脈沖 /PSEN。在 MCS51的指令系統(tǒng)中 , 給用戶(hù)提供了 兩條極為有用的查表指令: ⑴ MOVC A, @A+DPTR ⑵ MOVC A, @A+PC 指令 “ MOVC A, @A+DPTR”完成把 A中的內(nèi)容作為一個(gè)無(wú)符號(hào)數(shù)與 DPTR中的內(nèi)容相加,所得結(jié)果為某一程序 。 指令執(zhí)行完 ,PC的內(nèi)容不發(fā)生變化,仍指向查表指令的下一條指令。 優(yōu)點(diǎn) 在于預(yù)處理較少且不影響其它特殊功能寄存器的值,所以不必保護(hù)其它特殊功能寄存器的原先值。 缺點(diǎn) 在于該表格只能存放在這條指令的地址X3X2X1X0以下的 00~ FFH之中。表格 所在的程序空間受到了限制。 例 41 子程序的功能為:根據(jù)累加器 A中的數(shù) x( 0~9之間)查 x的平方表 y,根據(jù) x的值查出相應(yīng)的平方y(tǒng)。 x和 y均為單字節(jié)數(shù)。 地 址 子程序 Y3Y2Y1Y0 ADD A,01H Y3Y2Y1Y0+2 MOVC A,@A+PC Y3Y2Y1Y0+3 RET Y3Y2Y1Y0+4 DB 00H,01H,04H,09H,10H DB 19H,24H,31H,40H,51H 第 1條指令 ADD A, 01H 的作用是加上偏移量 , 可以根據(jù) A的內(nèi)容查出 X對(duì)應(yīng)的平方 。 MOVC A, @A+DPTR 這條指令的應(yīng)用范圍較為廣泛 ,一般情況下 , 大多使用該指令 , 使用該指令時(shí)不必計(jì)算偏移量 , 使用該指令的優(yōu)點(diǎn)是表格可以設(shè)在 64K程序存儲(chǔ)器空間內(nèi)的任何地方 , 而不像 MOVC A,@A+PC那樣只設(shè)在 PC下面的 256個(gè)單元中 , 使用較方便 。 上面的程序可改成如下形式: PUSH DPH ;保存 DPH PUSH DPL ;保存 DPL MOV DPTR, TAB1 MOVC A, @A+DPTR POP DPL ;恢復(fù) DPL POP DPH ;恢復(fù) DPH RET TAB1: DB 00H, 01H, 04H, 09H, 10H DB 19H, 24H, 31H, 40H, 51H 例 42 在一個(gè)以 MCS51為核心的溫度控制器中 , 溫度傳感器輸出的電壓與溫度為非線(xiàn)性關(guān)系 , 傳感器輸出的電壓已由 A/D轉(zhuǎn)換為 10位二進(jìn)制數(shù) 。 根據(jù)測(cè)得的不同溫度下的電壓值數(shù)據(jù)構(gòu)成一個(gè)表 , 表中放溫度 值 y, x為電壓值數(shù)據(jù) 。 設(shè)測(cè)得的電壓值 x放入 R2R3中 ,根據(jù)電壓值 x, 查找對(duì)應(yīng)的溫度值 y, 仍放入 R2R3中 。本例的 x和 y均為雙字節(jié)無(wú)符號(hào)數(shù) 。 程序如下: LTB2: MOV DPTR,TAB2 MOV
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1