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

正文內(nèi)容

【大學(xué)課件】mcs51單片機(jī)指令系統(tǒng)與匯編語言程序設(shè)計(jì)ppt-資料下載頁

2025-04-21 07:52本頁面

【導(dǎo)讀】統(tǒng)、基本程序結(jié)構(gòu)及匯編語言的開發(fā)和調(diào)試。難點(diǎn)在于控制轉(zhuǎn)移、位操作指令的理解及各種。具體的硬件設(shè)計(jì)出最合理的軟件。機(jī)器語言指令是計(jì)算機(jī)惟一能識別和執(zhí)行的指令。指令系統(tǒng)是利用指令助記符來描述的,稱為匯編語言。單片機(jī)一般是空機(jī),未含任何系統(tǒng)軟件。使用前,必須對其進(jìn)行編程,位,位通常是指一個(gè)二進(jìn)制位。51型單片機(jī)是8位機(jī),所以說它的字長為8位。8051為核心,增加了一定的功能部件后構(gòu)成的。它規(guī)定了指令具體的操作功能,描述指令的操作性質(zhì),是一條指令中。是針對某指令而添加的說明性文字,不產(chǎn)生可執(zhí)行的目標(biāo)代碼。結(jié)束,其后的任何內(nèi)容不予理睬。稱x就等同于該賦值項(xiàng)n,其值在整個(gè)程序中有效?!白址Q”與“標(biāo)號”的區(qū)別是“字符名稱”后無冒號,,xn順序存放在從當(dāng)。逗號“,”分隔。xi為數(shù)值常數(shù)時(shí),取值范圍為00H~FFH。xi為字符串常數(shù)時(shí),其長度不應(yīng)。其中,xi為16位數(shù)值常數(shù),占兩個(gè)

  

【正文】 長轉(zhuǎn)移指令: LJMP addr16 。 ( PC) ← addr15~ 0 絕對轉(zhuǎn)移指令 : AJMP addr11 。 ( PC) ← ( PC) +2, PC 10~ 0← addr11 相對 ( 短 ) 轉(zhuǎn)移指令: SJMP rel 。( PC) ← ( PC) +2+rel 間接 ( 散 ) 轉(zhuǎn)移指令: JMP @A+DPTR 。( PC) ← ( DPTR) +( A) 鄭州大學(xué) 注意: ( 1)使用轉(zhuǎn)移指令時(shí),指令中的地址或偏移量均可采用標(biāo)號,只有在執(zhí)行前才被匯編成實(shí)際的二進(jìn)制地址。 ( 2)指令的轉(zhuǎn)移范圍: 在執(zhí)行當(dāng)前轉(zhuǎn)移指令后的 PC值的基礎(chǔ)上 : 長轉(zhuǎn)移指令 LJMP: 64KB 絕對轉(zhuǎn)移指令 AJMP : 2KB 相對 ( 短 ) 轉(zhuǎn)移指令 SJMP : - 128~ +127( 用補(bǔ)碼表示 ) 間接 ( 散 ) 轉(zhuǎn)移指令 JMP: 64KB ( 3)相對(短)轉(zhuǎn)移指令 SJMP rel 中地址偏移量的計(jì)算: rel = 轉(zhuǎn)移目標(biāo)地址-轉(zhuǎn)移指令地址 (當(dāng)前 PC值 ) - 2 鄭州大學(xué) ( 4)原地踏步(暫停當(dāng)前的程序,并不是真的停機(jī))的實(shí)現(xiàn) SJMP $ 或 HERE: SJMP HERE ( 5)間接(散)轉(zhuǎn)移指令: JMP @A+DPTR 常用于實(shí)現(xiàn)程序的分支轉(zhuǎn)移(散轉(zhuǎn))。 DPTR為轉(zhuǎn)移目的的起始地址, A為轉(zhuǎn)移目的的偏移量。 ( 6)在編程中,經(jīng)常使用短轉(zhuǎn)移指令 SJMP和相對轉(zhuǎn)移指令A(yù)JMP,以便生成浮動代碼,并不經(jīng)常使用長轉(zhuǎn)移指令 LJMP。 2.條件轉(zhuǎn)移指令 ( 2條) 功能: 在規(guī)定的條件滿足時(shí)進(jìn)行程序轉(zhuǎn)移,否則程序往下順序執(zhí)行。 MCS51單片機(jī)中,條件轉(zhuǎn)移指令實(shí)質(zhì)上是累加器 A判零指令。 鄭州大學(xué) 指令格式: JZ rel 。 若 (A)=0,則轉(zhuǎn)移 (PC) ←(PC)+2+rel 若 (A)≠0,則順序執(zhí)行 (PC) ← (PC) +2 JNZ rel 。 若 (A)≠0 ,則轉(zhuǎn)移 (PC) ←(PC)+2+rel 若 (A) =0 ,則順序執(zhí)行 (PC) ← (PC) +2 指令的轉(zhuǎn)移范圍: rel的取值范圍是在執(zhí)行當(dāng)前轉(zhuǎn)移指令后的PC值基礎(chǔ)上的- 128~ +127(用補(bǔ)碼表示)。 可以采用符號地址表示。 偏移量 rel的計(jì)算方法: rel = 轉(zhuǎn)移目標(biāo)地址-轉(zhuǎn)移指令地址 (當(dāng)前 PC值 ) - 2 鄭州大學(xué) 3.比較轉(zhuǎn)移指令( 4條) P3 指令格式: CJNE 目的操作數(shù),源操作數(shù), rel 當(dāng)目的操作數(shù)為 A時(shí),源操作數(shù)為 data、 direct。 當(dāng)目的操作數(shù)為 Rn、 @Ri時(shí),源操作數(shù)為 data; 即: CJNE A, direct, rel CJNE A, data, rel CJNE Rn, data, rel CJNE @Ri, data, rel 功能: 把兩個(gè)操作數(shù)進(jìn)行比較,以比較的結(jié)果作為條件來控制程序的轉(zhuǎn)移 。 若(目的操作數(shù)) =(源操作數(shù)),則程序繼續(xù)執(zhí)行, (PC)←(PC) +3 若(目的操作數(shù)) (源操作數(shù)),則程序轉(zhuǎn)移, (PC)←(PC) + rel +3 , Cy←0 若(目的操作數(shù)) (源操作數(shù)),則程序轉(zhuǎn)移, (PC)←(PC) + rel +3 , Cy←1 鄭州大學(xué) 功能: 比較兩個(gè)操作數(shù)的大小。 對標(biāo)志位影響: 影響 Cy標(biāo)志位,不影響其他標(biāo)志位。 指令的轉(zhuǎn)移范圍: rel的取值范圍是在執(zhí)行當(dāng)前轉(zhuǎn)移指令后的 PC值基礎(chǔ)上的- 128~ +127(用補(bǔ)碼表示)。 可以采用符號地址表示。 注意: 比較轉(zhuǎn)移指令的比較是通過兩操作數(shù)的減法實(shí)現(xiàn)的,影響 Cy標(biāo)志位,不保存最后的差值,兩個(gè)操作數(shù)的內(nèi)容不變。 4.循環(huán)(減 1條件)轉(zhuǎn)移指令( 2條) 功能: 具有減 1判非 0則轉(zhuǎn)移的功能。主要用于控制程序循環(huán),實(shí)現(xiàn)按循環(huán)次數(shù)控制循環(huán)的目的。 特點(diǎn): 循環(huán)轉(zhuǎn)移指令是一組把減 1與條件轉(zhuǎn)移兩種功能結(jié)合在一起 的指令。 鄭州大學(xué) 指令格式: DJNZ dest , rel 。 dest ← dest - 1 若 dest ≠0, 則轉(zhuǎn)移 (PC) ←(PC)+ 2+rel 若 dest = 0, 則不轉(zhuǎn)移 (PC) ←(PC) +2 注意: 條件轉(zhuǎn)移指令均為相對轉(zhuǎn)移指令 , 因此指令的轉(zhuǎn)移范圍十分有限 。 若要實(shí)現(xiàn) 64KB范圍內(nèi)的轉(zhuǎn)移 , 則可以借助于一條長轉(zhuǎn)移指令的過渡來實(shí)現(xiàn) 。 5. 子程序調(diào)用與返回指令 ( 4條 ) 定義: 具有完整功能的程序段定義為子程序 , 供主程序調(diào)用 。 功能: 供主程序在需要時(shí)調(diào)用 。 子程序可以在程序中反復(fù)多次使用 , 以簡化源程序的書寫 。 特點(diǎn): 子程序可以嵌套 , 有利于模塊化程序設(shè)計(jì) 。 鄭州大學(xué) 主程序與子程序之間的調(diào)用關(guān)系如下左圖所示,兩級子程序嵌套的示意圖如下右圖所示。 鄭州大學(xué) 為了實(shí)現(xiàn)主程序?qū)ψ映绦虻囊淮瓮暾{(diào)用 , 必須有子程序調(diào)用指令和子程序返回指令 。 子程序調(diào)用指令在主程序中使用 ,而子程序返回指令則是子程序的最后一條指令 。 調(diào)用與返回指令是成對使用的 。 子程序調(diào)用指令的功能: 必須具有自動把程序計(jì)數(shù)器 PC中的斷點(diǎn)地址保護(hù)到堆棧中 , 且將子程序入口地址自動送入程序計(jì)數(shù)器 PC中的功能 。 子程序返回指令的功能: 必須具有自動把堆棧中的斷點(diǎn)地址恢復(fù)到程序計(jì)數(shù)器 PC中的功能 。 注意: 子程序調(diào)用時(shí)應(yīng)注意入口參數(shù)設(shè)置 , 子程序返回時(shí)應(yīng)注意出口參數(shù)的傳遞 。 鄭州大學(xué) 指令格式: ( 1)絕對短調(diào)用指令 ACALL addr11 。 (PC)← (PC) +2 , (SP)← (SP) +1 , (SP)← ( PC) 7~ 0 (SP) ← (SP) +1 , (SP) ← (PC) 15~ 8, (PC) 10~ 0←addr11 其中: addr11為 11位地址,實(shí)際編程時(shí)可以用符號地址。并且只能在 2KB范圍以內(nèi)調(diào)用子程序 。 ( 2)絕對長調(diào)用指令 LCALL addr16 。 (PC)← (PC) +3 , (SP)← (SP) +1 , (SP)← ( PC) 7~ 0 (SP) ← (SP) +1 , (SP) ← (PC) 15~ 8, (PC) 15~ 0←addr16 其中: addr16為 16位地址,實(shí)際編程時(shí)可以用符號地址??梢栽?64KB范圍以內(nèi)調(diào)用子程序 。 鄭州大學(xué) ( 3)子程序返回指令 RET 。 (PC) 15~ 8←((SP)) , (SP)← (SP) ?1, (PC) 7~ 0← ((SP)) , (SP) ← (SP) ?1 ( 4)中斷返回指令 RETI 。 (PC) 15~ 8←((SP)) , (SP)← (SP) ?1, (PC) 7~ 0← ((SP)) , (SP) ← (SP) ?1 注: 中斷服務(wù)程序是一種特殊的子程序,它是在計(jì)算機(jī)響應(yīng)中斷時(shí),由硬件完成調(diào)用而進(jìn)入相應(yīng)的中斷服務(wù)程序。 RETI指令與 RET指令相仿,區(qū)別在于 RET是從子程序返回, RETI 是從中斷服務(wù)程序返回。無論是 RET還是 RETI都是子程序執(zhí)行的最后一條指令。 鄭州大學(xué) 子程序調(diào)用及返回舉例 主程序 子程序 …. MOV A,20H AD1:RL A LCALL AD1 RL A ● MOV 30H,A RL A …. RET 鄭州大學(xué) 6. 空操作指令 NOP ( 1條 ) 指令格式: NOP 。 (PC) ← (PC) +1 功能: 不執(zhí)行任何操作,消耗了一個(gè)機(jī)器周期,常用于軟件延時(shí)或在程序可靠性設(shè)計(jì)中用來穩(wěn)定程序。 特點(diǎn): NOP占據(jù)一個(gè)單元的存儲空間,除了使PC的內(nèi)容加 1外, CPU不產(chǎn)生任何操作結(jié)果,只是消耗了一個(gè)機(jī)器周期。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1