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

正文內容

mcs-51單片機指令系統(tǒng)講義-文庫吧資料

2025-01-17 00:13本頁面
  

【正文】 y。 0800h bcdb: push psw push acc push b : : pop b pop acc pop psw ret RAM b acc psw 棧底 SP 堆棧操作指令舉例(二) 堆棧操作指令除了可以在子程序的設計中,對主程序的數(shù)據(jù)進行保護。 堆棧操作指令舉例(一) 下面是一個 BCD碼轉換為二進制的子程序 BCDB中有關堆棧操作的例子。 SP的值可以根據(jù)需要進行修改,以適應具體編程的需要。 ②進棧是堆棧向上 “生長 ”的過程,即 sp+1;出棧則相反。在 MCS51單片機中,棧區(qū)是占用片內 RAM的存儲空間,具體棧位置由指針 SP來確定(系統(tǒng)上電時, SP=07h)。 ORG 2023H MOV R0, 88H ;為 8位指針賦值 MOV DPTR, 1818H ;為 16位指針賦值 MOVX A, R0 ;取 x 到累加器 A MOVX DPTR, A ; x 送 RAM的 1818h單元 SJMP $ ;停機 END 返回 堆棧操作指令 堆棧操作是一種特殊的數(shù)據(jù)傳送指令。 外部 RAM的字節(jié)傳送指令舉例 已知外部 RAM的 88H單元有一個數(shù) x,試編程將 x送外部RAM的 1818H單元。 MOVX A,Ri 使用 Ri寄存器間址尋址范圍 0~ 255h MOVX Ri,A 在硬件電路中 P0口輸出 8位地址數(shù)據(jù)。 74h data 83h 80h FEh 0 1 4 9 16 25 36 49 64 81 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2023h 1FFFh 1FFEh 1FFDh 1FFCh 1FFBh 返回 3,外部 RAM的字節(jié)傳送指令 實現(xiàn)外部 RAM和累加器 A之間的數(shù)據(jù)傳送。 MOV DPTR,2023H ;指針賦值 MOVC A,A+DPTR ;平方值送 A ROM 0 1 4 9 16 25 36 49 64 81 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2023h 2,采用 PC作基址寄存器 : 與 DPTR不同,使用 PC作為基地址時,必須對累 加器 A的數(shù)據(jù)進行修正,以保證 a+pc恰好找到 待查的平方值地址。 1,采用 DPTR作基址寄存器 : 設平方表的首地址為 2023h,累加器 A中的內容恰好是查表的偏移量。由于 PC的內容與該指令在 ROM中的位置有關,所以一旦該指令在程序中的位置確定,其 PC的值也就確定。由兩者數(shù)據(jù)相加得到待查的表中數(shù)據(jù)地址并取出。 在第一條指令中:用 DPTR作為基地址。 MOVC A,A+DPTR ; A ← (A+DPTR) MOVC A,A+PC ; PC ← PC+1, A ← (A+PC) 該指令也稱為“查表”指令。尋址能力為 64K (0~ 65535)。其中 DPH為高八位, DPL為低八位。 MOV A,30H ; (30h) → A MOV 30H,40H ; (40h) → 30h MOV 40H,A ; A → 40h RAM X Y 累加器 A 30H 40H 返回 外部數(shù)據(jù)傳送類指令 1, 16位數(shù)傳送指令 2, 外部 ROM的字節(jié)傳送 3, 外部 RAM的字節(jié)傳送指令 繼續(xù) 1, 16位數(shù)傳送指令 MCS51指令系統(tǒng)中唯一的一條 16位數(shù)據(jù)傳送類指令。 5,注意給程序進行正確的注釋,這對于閱讀、編寫和修改程序都是非常重要的。使用不同的方法雖然都可以實現(xiàn)題目的要求,但從指令長度、運行時間和可閱讀性上等綜合因素考慮,不同的方法就有合理和不合理、優(yōu)化和繁雜之分。凡是指令中包含有立即 數(shù)、直接地址的指令,都應當在原有的基礎上加 1。 MCS51內部數(shù)據(jù)傳送類指令 方式圖 累加器 A direct 直接尋址 Ri間址 Rn寄存器 Data立即數(shù) 返回上一次 2,以累加器 A為目的寄存器的傳送指令會影響 PSW中的 奇偶位 P,而其余的指令對 PSW均無影響。 例如:要將 R0中的數(shù)據(jù)傳送到 R1中。編程人員只能像查字典一樣去查找、使用。 MOV A,R0 ; RAM40h單元內容 11h送 A MOV R1,A ; A中的 11h送 RAM的 41h單元 MOV 42H,R1 ; RAM的 41h單元內容 11h送 RAM42h中 返回 5,內部數(shù)據(jù)傳送類指令的使用 1,在使用傳送指令時 ,可以根據(jù)實際情況選用恰當尋址方式。 寄存器間接尋址指令舉例 已知 (40h)=11h,(41h)=22h,R0=40h和 R1=41h。 共有如下三條: MOV A,Rn MOV Rn,A MOV direct,Rn 返回 4,寄存器間接尋址型傳送指令 指令特點:指令中 Ri中存放的不是操作數(shù)本身,而是操作數(shù)在 RAM中的地址( i=0、 1)。這類指令有如下 5條: MOV A,direct MOV direct,A MOV Rn,direct MOV Ri,direct MOV direct2,direct1 【 注意 】 : direct為內部寄存器、 RAM和 SFR的地址,換句話說: direct適用于片內所有的地址(寄存器、 SFR和RAM)。 MOV A,18H ; 立即數(shù) 18H送累加器 A MOV R7,28H ; 立即數(shù) 28H送寄存器 R7 MOV R0,38H ; 立即數(shù) 38H送內存 20H單元 MOV 21H,48H ; 立即數(shù) 48H送內存 21H單元 返回 2,直接尋址型傳送指令 【 特點 】 :指令中至少含有一個 源操作數(shù) 或 目的操作數(shù)的地址 。 direct data (三字節(jié)指令) 這類指令多用于程序的初始化。 Rn data (雙字節(jié)指令) MOV Ri,data 。 MOV A,data 。 1, 立即尋址型 傳送指令 2, 直接尋址型 傳送指令 3, 寄存器尋址型 傳送指令 4, 寄存器間址型 傳送指令 5, 內部數(shù)據(jù)傳送類指令的使用 繼續(xù) 1,立即尋址型傳送指令 【 特點 】 : 原操作數(shù)字節(jié)是立即數(shù) ,處在指令的第二或第三字節(jié),所以這類指令都是多字節(jié)指令。 操作碼 數(shù)據(jù)的目標地址 數(shù)據(jù)的源地址 【舉例】 : MOV A,R0 。在傳送過程中, 源地址的內容 不被改變。它的功能是將數(shù)據(jù)在累加器、片內的 RAM、 SFR及片外 ROM、 RAM之間進行傳送。將累加器中的 d7位送 PSW的 cy 這種指令在匯編程序進行翻譯時,還是要先將符號地址轉換為真正的位地址。如第二例中,完全可以使用下面的指令格式: MOV 。將位地址為 20H的位置一 SETB 90H 。 除了位尋址區(qū)外, RAM中的大多 SFR都可以按位尋址,換句話, SFR除了有自己的字節(jié)地址外,在寄存器內的每一位還有其位地址。 MCS51 單片機 控制、檢測 系統(tǒng) 驅動器 電動機 外設 1 外設 2 狀態(tài)信號 狀態(tài)信號 控制信號 在 MCS51單片機的硬件設計上充分考慮了這種“布爾”變量的處理,不僅在指令系統(tǒng)中設計了“位操作”指令,而且在片內 RAM區(qū)中還專門開辟了一個 “ 位尋址區(qū) ”。 單片機在控制、檢測的應用中,系統(tǒng)的輸入、輸出數(shù)據(jù)有很多屬于開關量信號。 返回 位尋址 在 位尋址指令(位操作指令) 中使用的位地址。如: SJMP loop1 匯編程序在翻譯時,自動計算并將結果替換符號地址。 返回上一頁 2,偏移量的計算: rel=目標地址 源地址 2 (2字節(jié)指令) 或: rel=目標地址 源地址 3 (3字節(jié)指令) 結果用補碼的形式書寫。以上面的例子說明: 指令本身的首地址是 2023H,執(zhí)行完后變?yōu)?2023H(既下一條指令的首地址)。 54H 2023H 程序存儲器ROM 80H 54H ALU 2056H 累加器 A PC 2023H + 54H 2056H 操作碼 偏移量 例如: SJMP 54H ; (80H、 54H) 2023H 2023H (LOOP1) 相對尋址使用中應注意的問題 與絕對尋址相比,相對尋址具有很好的“浮動性”,因此是編程人員普遍使用的一種尋址方式。 在 絕對轉移指令 中 ,指令直接給出轉移的目標地址( 2字節(jié)地址),執(zhí)行時將目標地址直接送給 PC,從而控制程序轉移; 而 相對轉移指令 在執(zhí)行中是將 PC值與指令中的 8位偏移量進行相加,形成指令要轉移的目標地址。 MOV DPTR,0300H ;立即數(shù)送 DPTR MOV A,02H ;立即數(shù)送累加器 A MOVC A,A+DPTR ;從 ROM的 00302單元取數(shù)送 A 變址尋址示意圖 02H 0300H ROM X ALU 0302H 累加器 A DPTR 0300H + 02H 0302H MOVC A,A+DPTR 返回 相對尋址 轉移指令中使用的一種尋址方式。 變址指令只適用于對 ROM存儲器得訪問,如查表等。 返回 變址尋址 指令使用 DPTR或 PC中的內容作為基地址,再與累加器 A的內容相加,其和作為操作數(shù)地址。 3,間址方式的指令不能訪問 SFR中的單元。 對于片外 RAM,可以使用 Ri,也可以使用 DPTR做間址寄存器。 2,間址方式不僅用于片內 RAM,同樣也適用于片外 RAM。 如: MOV R0,30H ;立即數(shù)送 R0寄存器 MOV A,R0 ;從 RAM的 H單元取數(shù)送累加器 A 【注意】 MOV A,R0 和 MOV A,R0 指令的區(qū)別。 74H 30H n n+1 ROM 累加器 A MOV A,30H 指令執(zhí)行流程 90H 20H 00H ROM DPTR MOV DPTR,2023H指令的存儲和執(zhí)行 返回 寄存器間接尋址 指令中含有 保存操作數(shù)地址的 寄存器 Ri。如: MOV A,30H ;將( 8位)立即數(shù)送累加器 A MOV DPTR,2023H ; 16位立即數(shù)送 DPTR積存器 【注意】 : MOV A,30H MOV A,30H 兩者的區(qū)別。 片內 RAM( 20H2FH)中的位尋址區(qū)結構圖 7F 7E 7D 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D 5C 5B 5A 59 58 57 56 55 54 53 52 51 5
點擊復制文檔內容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1