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

正文內容

mcs51單片機指令系統(tǒng)與編程-全文預覽

2025-09-16 09:25 上一頁面

下一頁面
  

【正文】 ; A← ARn— Cy SUBB A , direct ; A← A( direct) — Cy SUBB A , Ri ; A← A( Ri) — Cy 功能:累加器 A中的內容減去原操作數(shù)中的內容及進位位 Cy,差再存入累加器 A中。 解: 10101010 ( 0AAH) 01010101 ( 55H) +) 1 ( Cy) 00000000 結果: A=00H, Cy=0, AC=0, OV=0, P=0 例 23:設 A=85,( 30H) =6DH, Cy=1,執(zhí)行指令 ADDC A , 30H 解: 10000101( 85H) 01101101( 6DH) +) 1 ( Cy) 11110011 結果: A=F3H, Cy=0, OV=0, AC=1, P=0 例 24:編寫程序計算 4455H+22FFH 的結果。 例 20:某程序執(zhí)行指令為 : MOV A, #OC3H ADD A, #OAAH 求執(zhí)行結果,并說明對狀態(tài)字的影響。 PUSH 30H MOV 30H, 50H POP 50H 解法三:用傳送指令。 ( 3) 累加器高低四位互換指令 格式: SWAP A ; A7~4 A3~0 功能:把累加器 A中的內容的高、低四位互相交換。 ( 1) 字節(jié)交換指令 格式: XCH A, Rn ; A Rn XCH A, Ri ; A ( Ri) XCH A, direct ; A ( direct) 功能:將 A的內容與源字節(jié)中的內容互換。 以上這兩條指令均為雙字節(jié)指令,并且 PUSH 和 POP 是兩種傳送指令,具有程序執(zhí)行迅捷,書寫簡練的優(yōu)點,在編寫程序時一定要遵循“后進先出”的原則。 格式: PUSH direct。 例 14: 若在 ROM 2020H 單元開始已存放有 0~9的平方 值,根據(jù)累加器 A中的值 0~9來查找對應的平方值。 格式: MOVC A, A+PC ; PC← (PC)+1 A← (A)+PC MOVC A, A+DPTR ; A (A+(DPTR) 功能:把累加器 A中內容加上基址寄存器( PC, DPTR)內容,求得程序存儲器某 單元地址,再將該單元內容送到累加器 A中。 例 12:把外部 RAM 2020H單元的內容讀入累加器 A中,設 RAM( 2020H) =64H。另二條通過數(shù)據(jù)指針間址( DPTR)對 RAM 進行操作,尋址范圍為 64KB( 0000H~FFFFH)。在這里訪問片外 RAM 用 MOVX 指令。 說明:數(shù)據(jù)高 8 位送入 DPH 中,低 8 位送入 DPL 中。 例 10: 設內 RAM( 30H) =40H,( 40H) =20H,當 P1口為輸入口,輸入數(shù)據(jù)為 CDH,試分析一下程序運行的結果。 MOV 3FH, 3EH ;將內部 RAM 中 3EH單元的內容傳送內 RAM 3FH單元中。 MOV Rn, A ; Rn← A MOV Rn, direct ; Rn← direct 例 8: MOV R6, 60H ;把立即數(shù) 60H 傳給 R6 即 R6← 60H MOV R0, A ;把 A的內容傳送給 R0,即 R0← A MOV R2, 40H ;把 40H 單元的內容傳給 R2,即 R2← ( 40H) ( 3) 如果目的字節(jié)是直接地址,則有 5 條指令。 ( 1) 如果目的字節(jié)是累加器 A,有四條傳送指令。若按其操作方式又可以把它們分為三種:數(shù)據(jù)傳送、數(shù)據(jù)交換和棧操作。若按指令執(zhí)行的時間分,可分為單機器周期指令 64 條,雙機器周期指令條,偽機器周期指令 2 條。 例 6: MOV 20H, A ;將累加器 A中內容送到內 RAM20H 單元中。如果指令存放在 1005H,與 JC 為雙字節(jié)指令,所以 PC 當前值為 1005H+2=1007H,在加上偏移量 80H(這里 80H必須以補碼形式給出 0,執(zhí)行完該指令后,程序就此轉到 0F87H。該尋址方式常用于相對跳轉指令。 例 4: MOVC A, A+DPTR 把累加器 A的內容與 DPTR 內容相加得到一個新地址,并通過該地址得到的操作數(shù)送入累加器 A中,如圖 2— 4 所示。 五 、變址尋址 該尋址方式用于訪問程序存儲器。 ( 2)如果訪問片外 64KB RAM 空間時,可以用 DPTR 作為間址寄存器。 四、 間接尋址 間接尋址又稱為寄存器間址,是將指定寄存器的內容作為該操作數(shù)的地址,再從該地址找到操作數(shù)的尋址方式。 直接地址 70H 70H 圖 22 MOV A, 70H 指令執(zhí)行圖 三、寄存器尋址 寄存器尋址是指定某一可尋址的寄存器的內容為操作數(shù),對選定的 8 個工作寄存器R7~R0、累加器 ACC、通用寄存器 B、數(shù)據(jù)指針 DPTR 和 Cy(布爾處理機的累加器,也編址為一個寄存器)中的數(shù)進行操作尋址的方式。為了方便辨識,在它的前面加 號。一條指令的運行,先從操作數(shù)所在地址尋找到本指令有關的操作數(shù),這就是尋址。 如 :DPTR,Ri,A+PC,A+DPTR ( A) —— 累加器 ACC。 ( 10) bit—— 位地址。 ( 8) addr16—— 16 位目的地址。 ( 4) Ri—— 工作寄存器, 0 或 1, i=0 或 1。 操作數(shù):指參加操作的對象,此為指令的核心。如上面的指令 MOV A, 00H 即為匯編語言指令。這種形式的指令能 夠直接被計算機硬件識別執(zhí)行,但不便于記憶。本章在第一章 MCS—51 單片機硬件的結構基礎上,主要介紹 MCS—51 指令系統(tǒng)與編程。在硬件電路設計合理的的條件下,還要在編制程序正確的基礎上,單片機才能按照設計者的要求來完成各種工作。 1.機器碼指令 用二進制代碼(或十六進制數(shù))表示的指令稱為機器碼指令或目標代碼指令。該指令不能被計算機硬件直接識別和執(zhí)行,必須通過匯編把它翻譯成機器碼指令才能被計算機執(zhí)行。例如; CD76 QB4 WAB DB745 為允許格式 46A 896A +BC5 BCE05C 為不允許格式 操作碼助記符:規(guī)定了指令操作功能,它是由助記符表示的字符串。 當用機器語言表示的指令格式以 8 位二進制數(shù)(或字節(jié))為基數(shù)時,可分為單字節(jié)、 雙字節(jié)和三字節(jié)指令,其相應格式如下: 單字節(jié): 雙字節(jié): 三字節(jié): 三 、符號說明 MCS—51 單片機的 111 條指令按照功能可分 成如下五大類: ( 1)數(shù)據(jù)傳送類指令 29 條 操作碼 定時器 /計數(shù)器 2自動重裝 高字節(jié) 定時器 /計數(shù)器 2低字節(jié) 定時器 /計數(shù)器 2高字節(jié) 程序狀態(tài)字 累加器 B 寄存器 操作碼 定時器 /計數(shù)器 2自動重裝 高字節(jié) 定時器 /計數(shù)器 2低字節(jié) 定時器 /計數(shù)器 2高字節(jié) 程序狀態(tài)字 累加器 B 寄存器 操作碼 數(shù)據(jù)或尋址方式 數(shù)據(jù)或尋址方式 數(shù)據(jù)或尋址方式 2 ( 2)算術傳送類指令 24 條 ( 3)位操作類指令 12 條 ( 4)邏輯運算類指令 24 條 ( 5)控制轉移類指令 22 條 在 MCS—51 指令系統(tǒng)中,對常用符號進行說明如下: ( 1) data—— 8 位立即數(shù) ( 2) data16—— 16 位立即數(shù) ( 3) Rn—— 工作寄存器, R0~R7,n 為 0~7。用于 AJMP 和 ACALL 指令,均在 2KB 地址內轉移或調用。其范圍是相對于下一條指令的第一字節(jié)地址 128~+127 字節(jié)。 ( 12) —— 間接寄存器或者是基址寄存器的前綴。 第二節(jié) 尋址方式 計算機傳送數(shù)據(jù),執(zhí)行算術操作,邏輯操作等等都要涉及到操作數(shù)。 一、 立即尋址 立即尋址是指操作數(shù)就跟在操作碼后面,立即參與指令所規(guī)定的操作,該操作數(shù)稱為立即數(shù)。 例 1: MOV A, 70H; 把 70 單元內容送入累加器 A中,如圖 2— 2 所示。 MOV R3, A ;將累加器 A中的內容傳送到工作寄存器 R3。通常用間接地址寄存器的情況如下: ( 1)如果訪問片內 RAM 或片外低 256B( 00H~FFH)空間時,可以用 R0 或 R1 作為間址寄存器。 圖 23 MOV A, R0 指令執(zhí)行圖 MOVX DPTR, A ;將累加器 A中的內容傳送到外 RAM DPTR 所示的存儲單元中。在該尋址方式中,以程序計數(shù)器 PC或數(shù)據(jù)指針 DPTR作為基址寄存器,用累加器 A作為變址寄存器。它與變址方式不同,相對偏移 rel是一個帶符號的八位二進制數(shù),必須用補碼形式表示其范圍 128~+127。 JC 80H 該指令為若 C=0 時,則 PC 值不變,若 C=1 時,則將現(xiàn)行的 PC 為基地址加上 80H 得到轉向地址。該尋址方式同直接尋址方式的形式和執(zhí)行過程基本相同,但是參與操作的數(shù)據(jù)是 1 位不是 8 位。如果按指令字節(jié)長度分,有單字節(jié)指令 49 條,雙字節(jié)指令 47 條,三字節(jié)指令 15 條。 一 傳送指令 傳送指令是 MCS— 51 型單片機指令系統(tǒng)中數(shù)量最多使用最多的一類指令,它主要用于數(shù)據(jù)的保存和交換等場合。但當執(zhí) 6 行結果改變累加器 A的值時,會使奇偶標志變化。 MOV A, 20H ;把立即數(shù) 20H 傳給 A,即 A← 20H MOV A, R0 ;以 R0 中的數(shù)為地址的存儲單元中的內容傳送給 A, 即 A← ( R0) ( 2) 如果目的字節(jié)是 Rn,則有三條傳送指令 MOV Rn, data ; Rn← data。 MOV 3FH, R0 ;把工作寄存器 R0 中的內容傳送 3FH 中。 MOV Ri, data ; (Ri)← data MOV Ri, A ; (Ri)← A MOV Ri, direct ; (Ri)← (direct)。 MOV 60H, 20H ; 60H) =20H 7 MOV R0, 60H ; R0=60H MOV A, R0 ; A=(R0)=(60H)=20H MOV R1, A ; R1=A=20H MOV 40H,R1 ; (40H)=(R1)=(20H)=50H 16 位數(shù)據(jù)傳送指令 格式: MOV DPTR, data16 功能:把 16 位數(shù)據(jù)送入 DPTR。對外部數(shù)據(jù)存儲的訪問都要采用間接尋址方式。兩條 通過工作寄存器間址 R0~R1對 RAM 進行操作,尋址范圍 256 個字節(jié)( 00H~FFH)。這四條指令共同特點都要經(jīng)過累加器 A,外 RAM 的低 8 位地址均由 P0 傳送,高 8 位地址均由 P2傳送,其中 8 位數(shù)據(jù)也需 P0 傳送。在單片機指令系統(tǒng)提供了兩條訪問程序存儲器的指令,稱為查表指令,該指令也就是程序存儲器向累加器 A傳送指令。缺點是若 DPTR 已有它用,在上式表首地址之前必須保護現(xiàn)
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1