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

正文內(nèi)容

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

2025-01-25 14:11 本頁面
 

【正文】 第 4章 MCS51匯編語言程序設(shè)計(jì) 匯編語言程序設(shè)計(jì)概述 機(jī)器語言、匯編語言和高級(jí)語言 用于程序設(shè)計(jì)的 語言基本上分為 3種:機(jī)器語言、匯編語言和高級(jí)語言 。 二進(jìn)制代碼表示的指令、數(shù)字和符號(hào)簡稱為機(jī)器語言 不易懂,難記憶,易出錯(cuò)。 2.匯編語言 英文助記符表示的指令稱為 符號(hào)語言 或 匯編語言 匯編語言特點(diǎn): (1)面向機(jī)器的語言,程序設(shè)計(jì)員須對(duì) MCS51的硬件有相當(dāng)深入的了解。 (2)助記符指令和機(jī)器指令一一對(duì)應(yīng),用匯編語言編寫的 程序效率高 ,占用 存儲(chǔ)空間小 ,運(yùn)行 速度快 ,用匯編語言能編寫出最優(yōu)化的程序。 能直接管理和控制硬件設(shè)備(功能部件),它能處理中斷,也能直接訪問存儲(chǔ)器及 I/O接口電路。 匯編語言和機(jī)器語言都脫離不開具體機(jī)器的硬件,均是面向 “ 機(jī)器 ” 的語言,缺乏通用性。 3.高級(jí)語言 不受具體機(jī)器的限制 ,使用了許多數(shù)學(xué)公式和數(shù)學(xué)計(jì)算上的習(xí)慣用語, 非常擅長于科學(xué)計(jì)算。 常用的如BASIC、 FORTRAN以及 C語言等。 高級(jí)語言優(yōu)點(diǎn):通用性強(qiáng),直觀、易懂、易學(xué),可讀性好。 使用 C語言( C51)、 PL/M語言來進(jìn)行 MCS51的應(yīng)用程序設(shè)計(jì)。 對(duì)于程序的空間和時(shí)間要求很高的場合,匯編語言仍是必不可缺的。 C語言和匯編語言混合編程 在很多需要直接控制硬件的應(yīng)用場合,則更是非用匯編語言不可 使用匯編語言編程,是單片機(jī)程序設(shè)計(jì)的 基本功之一 匯編語言語句的種類和格式 兩種基本類型:指令語句和偽指令語句 ( 1)指令語句 已在第 3章介紹 每一條指令語句在匯編時(shí)都產(chǎn)生一個(gè)指令代碼 —— 機(jī)器代碼 ( 2)偽指令語句 是為匯編服務(wù)的。在匯編時(shí) 沒有機(jī)器代碼與之對(duì)應(yīng)。 MCS51的匯編語言的 四分段格式 如下: 標(biāo)號(hào)字段 操作碼字段 操作數(shù)字段 注釋字段 例 41 下面是一段匯編語言程序的四分段書寫格式 基本語法規(guī)則: 1. 標(biāo)號(hào)字段 是語句所在地址的標(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 可寫為: SJMP $ 匯編語言源程序的匯編 匯編語言源程序 “ 翻譯 ” 成機(jī)器代碼(指令代碼)的過程稱為 “ 匯編 ” 。匯編可分為 手工匯編 和 機(jī)器匯編兩類 : 手工匯編 人工查表翻譯指令 。但遇到的相對(duì)轉(zhuǎn)移指令的偏移量的計(jì)算,要根據(jù)轉(zhuǎn)移的目標(biāo)地址計(jì)算偏移量,不但麻煩,且容易出錯(cuò)。 機(jī)器匯編 用編輯軟件進(jìn)行源程序的編輯。編輯完成后,生成一個(gè)ASCII碼文件,擴(kuò)展名為 “ .ASM”。然后在微計(jì)算機(jī)上運(yùn)行匯編程序,把匯編語言源程序翻譯成機(jī)器代碼。 交叉匯編 — 匯編后的機(jī)器代碼是在另一臺(tái)計(jì)算機(jī)(這里是單片機(jī))上運(yùn)行。 MCS51單片機(jī)的應(yīng)用程序的完成 , 應(yīng)經(jīng)過三個(gè)步驟; ( 1) 在微計(jì)算機(jī)上 , 運(yùn)行編輯程序進(jìn)行源程序的輸入 和編輯; ( 2) 對(duì)源程序進(jìn)行交叉匯編得到機(jī)器代碼; ( 3) 通過微計(jì)算機(jī)的串行口 ( 或并行口 ) 把機(jī)器代碼傳送到 用戶樣機(jī) ( 或在線仿真器 ) 進(jìn)行程序的調(diào)試和運(yùn)行 。 反匯編 —— 分析現(xiàn)成產(chǎn)品的程序 , 要將二進(jìn)制的機(jī)器代碼語言程序翻譯成匯編語言源程序 。 匯編語言實(shí)用程序設(shè)計(jì) 查表程序設(shè)計(jì) 數(shù)據(jù)補(bǔ)償、修正、計(jì)算、轉(zhuǎn)換等各種功能,具有程序簡單、執(zhí)行速度快等優(yōu)點(diǎn)。 查表就是根據(jù)自變量 x,在表格中尋找 y,使 y=f(x)。 執(zhí)行查表指令時(shí) , 發(fā)出讀程序存儲(chǔ)器選通脈沖 /PSEN。在 MCS51的指令系統(tǒng)中 , 給用戶提供了 兩條極為有用的查表指令: ⑴ MOVC A, @A+DPTR ⑵ MOVC A, @A+PC 指令 “ MOVC A, @A+DPTR”完成把 A中的內(nèi)容作為一個(gè)無符號(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為核心的溫度控制器中 , 溫度傳感器輸出的電壓與溫度為非線性關(guān)系 , 傳感器輸出的電壓已由 A/D轉(zhuǎn)換為 10位二進(jìn)制數(shù) 。 根據(jù)測得的不同溫度下的電壓值數(shù)據(jù)構(gòu)成一個(gè)表 , 表中放溫度 值 y, x為電壓值數(shù)據(jù) 。 設(shè)測得的電壓值 x放入 R2R3中 ,根據(jù)電壓值 x, 查找對(duì)應(yīng)的溫度值 y, 仍放入 R2R3中 。本例的 x和 y均為雙字節(jié)無符號(hào)數(shù) 。 程序如下: LTB2: MOV DPTR,TAB2 MOV
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1