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

正文內(nèi)容

單片機(jī)技術(shù)及應(yīng)用--第三章mcs-51指令系-資料下載頁

2025-01-20 02:57本頁面
  

【正文】 28B到后 127B之間。 ? 該指令使用時很簡單,程序執(zhí)行到該指令時就跳轉(zhuǎn)到標(biāo)號 rel處執(zhí)行。 例如: ? KD: SJMP rel。 單片機(jī)技術(shù)及應(yīng)用 3) 長跳轉(zhuǎn)指令 ? LJMP addR16 ? 執(zhí)行這條指令時把指令的第二和第三字節(jié)分別裝入 PC的高位和低位字節(jié)中,無條件地轉(zhuǎn)向指定地址。轉(zhuǎn)移的目標(biāo)地址可以在64KB程序存儲器地址空間的任何地方,不影響任何標(biāo)志。 ? 例如: ? LJMP 8100H 單片機(jī)技術(shù)及應(yīng)用 4) 散轉(zhuǎn)指令 ? JMP @A+DPTR ? 這條指令的功能是把累加器中 8位無符號數(shù)與數(shù)據(jù)指針 DPTR中的 16位數(shù)相加,將結(jié)果作為下一條指令地址送入 PC,不改變累加器和數(shù)據(jù)指針內(nèi)容,也不影響標(biāo)志位。利用這條指令能實現(xiàn)程序的散轉(zhuǎn)。 單片機(jī)技術(shù)及應(yīng)用 【 例 321】 如果累加器 A中存放待處理命令編號 (0~ 7),程序存儲器中存放著標(biāo)號為 FRTB的轉(zhuǎn)移表首址,則執(zhí)行下面的程序,將根據(jù) A中命令編號轉(zhuǎn)向相應(yīng)的命令處理程序。 ? MAIN: MOV R1 ,A 。(A)*3→A ? RL A ? ADD A,R1 ? MOV DPTR,FRTB 。轉(zhuǎn)移表首址 → DPTR ? JMP @A+DPTR 。據(jù) A值跳轉(zhuǎn)到不同入口 ? FRTB: LJMP FR0 。轉(zhuǎn)向命令 0處理入口 ? LJMP FR1 。轉(zhuǎn)向命令 1處理入口 ? LJMP FR2 。轉(zhuǎn)向命令 2處理入口 ? LJMP FR3 。轉(zhuǎn)向命令 3處理入口 ? LJMP FR4 。轉(zhuǎn)向命令 4處理入口 ? LJMP FR5 。轉(zhuǎn)向命令 5處理入口 ? LJMP FR6 。轉(zhuǎn)向命令 6處理入口 ? LJMP FR7 。轉(zhuǎn)向命令 7處理入口 單片機(jī)技術(shù)及應(yīng)用 2. 條件轉(zhuǎn)移指令 ? 條件轉(zhuǎn)移指令是依某種特定條件轉(zhuǎn)移的指令。條件滿足時轉(zhuǎn)移 (相當(dāng)于一條相對轉(zhuǎn)移指令 ),條件不滿足時則順序執(zhí)行下面的指令。目的地址在下一條指令的起始地址為中心的 256B范圍內(nèi) (128~ +127)。當(dāng)條件滿足時,先把 PC加到指向下一條指令的第一個字節(jié)地址,再把有符號的相對偏移量加到 PC上,計算出轉(zhuǎn)向地址。 ? 助記符 轉(zhuǎn)移條件 ? JZ rel (A)=0 ? JNZ rel (A)≠0 單片機(jī)技術(shù)及應(yīng)用 3. 比較不相等轉(zhuǎn)移指令 ? CJNE A,direct,rel ? CJNE A,data,rel ? CJNE Rn, data,rel ? CJNE @R1,data,rel ? 這組指令的功能是比較前面兩個操作數(shù)的大小。如果它們的值不相等則轉(zhuǎn)移。在 PC加到下一條指令的起始地址后,通過把指令最后一個字節(jié)的有符號的相對偏移量加到 PC上,并計算出轉(zhuǎn)向地址。如果第一個操作數(shù) (無符號整數(shù) )小于第二個操作數(shù),則進(jìn)位標(biāo)志 CY置“ 1”,否則 CY清“ 0”。不影響任何一個操作數(shù)的內(nèi)容。 單片機(jī)技術(shù)及應(yīng)用 4. 減 1不為 0轉(zhuǎn)移指令 ? DJNZ Rn,rel ? DJNZ direct,rel ? 這組指令把源操作數(shù)減 1,結(jié)果回送到源操作數(shù)中去,如果結(jié)果不為 0則轉(zhuǎn)移,跳到標(biāo)號 rel處執(zhí)行,等于 0就執(zhí)行下一條指令。 ? 源操作數(shù)有寄存器尋址和直接尋址方式。該指令通常用于實現(xiàn)循環(huán)計數(shù)。 單片機(jī)技術(shù)及應(yīng)用 【 例 322】 延時程序: ? START: SETB 。←1 ? DL: MOV 30H ,03H 。30H←03H( 置初值 ) ? DL0: MOV 31H ,0F0H 。31H←F0H( 置初值 ) ? DL1: DJNZ 31H,DL1 。31H←(31H) 1,如 (31H)不為零,則再轉(zhuǎn) ? 。DL1執(zhí)行 ,如 (31H)為零,則執(zhí)行后面的指令 ? DJNZ 30H,DL0 。30H←(30H) 1,如 (30H)不為零,則轉(zhuǎn) ? 。DL0執(zhí)行,如 (30H)為零,則執(zhí)行后面的指令 ? CPL 。 ? 這段程序的功能是通過延時,在 ,可以用改變 30H和 31H的初值,來改變延時時間實現(xiàn)改變方波的頻率。 單片機(jī)技術(shù)及應(yīng)用 5. 調(diào)用指令 1) 絕對調(diào)用指令 ? ACALL addr11 ? 這條指令無條件地調(diào)用入口地址指定的子程序。指令執(zhí)行時 PC加 2,獲得下一條指令的地址,并把這 16位地址壓入堆棧,棧指針加 2。然后把指令中的 a10~ a0值送入 PC中的 P10~ P0位, PC的 P15~ P11不變,獲得子程序的起始地址必須與 ACALL后面一條指令的第一個字節(jié)在同一個2KB區(qū)域的存儲器區(qū)內(nèi)。指令的操作碼與被調(diào)用的子程序的起始地址的頁號有關(guān)。 單片機(jī)技術(shù)及應(yīng)用 【 例 323】 設(shè) (SP)=70H,標(biāo)號地址 LF為0120H,子程序 LE的入口地址為 0200H,執(zhí)行指令: ? LF: ACALL LE ? 解:執(zhí)行該指令后 (SP)=72H,堆棧區(qū)內(nèi)(71H)=22H, (72H)=01H, (PC)=0200H。 單片機(jī)技術(shù)及應(yīng)用 2) 長調(diào)用指令 ? LCALL addr16 ? 這條指令執(zhí)行時把 PC內(nèi)容加 3獲得下一條指令首地址,并把它壓入堆棧 (先低字節(jié)后高字節(jié) ),然后把指令的第二、第三字節(jié) (a15~ a8, a7~ a0)裝入 PC中,轉(zhuǎn)去執(zhí)行該地址開始的子程序。這條調(diào)用指令可以調(diào)用存放在存儲器中 64KB范圍內(nèi)任何地方的子程序。指令執(zhí)行后不影響任何標(biāo)志。 ? 在使用該指令時 addr16一般采用標(biāo)號形式,上述過程多由匯編程序自動完成。 單片機(jī)技術(shù)及應(yīng)用 【 例 324】 設(shè) (SP)=50H,標(biāo)號地址 START為0258H,標(biāo)號 LET為 6757H,執(zhí)行指令: ? START: LCALL LET ? 解:執(zhí)行該指令后 (SP)=52H, (51H)=5BH,(52H)=02H, (PC)=6757H。 單片機(jī)技術(shù)及應(yīng)用 6. 返回指令 1) 子程序返回指令 ? RET ? 子程序返回指令是把棧頂相鄰兩個單元的內(nèi)容彈出送到 PC, SP的內(nèi)容減 2,程序返回到 PC值所指的指令處執(zhí)行。 RET指令通常安排在子程序的末尾,使程序能從子程序返回到主程序。 單片機(jī)技術(shù)及應(yīng)用 【 例 325】 設(shè) (SP)=62H, (62H)=32H,(61H)=67H,執(zhí)行指令: ? RET ? 解:執(zhí)行該指令后 (SP)=60H,(PC)=3267H, CPU從 3267H開始執(zhí)行程序。 單片機(jī)技術(shù)及應(yīng)用 2) 中斷返回指令 ? RETI ? 這條指令的功能與 RET指令類似。通常安排在中斷服務(wù)程序的最后,它的應(yīng)用在中斷一節(jié)中討論。 單片機(jī)技術(shù)及應(yīng)用 7. 空操作指令 ? NOP ? 空操作也是 CPU控制指令,它沒有使程序轉(zhuǎn)移的功能,一般用于軟件延時。因僅此一條,故不單獨分類。 單片機(jī)技術(shù)及應(yīng)用 偽 指 令 1. ORG(Origin,起點 ) ? ORG偽指令總是出現(xiàn)在每段源程序或數(shù)據(jù)塊的開始,它指明此語句后面的程序或數(shù)據(jù)塊的起始地址。其一般格式為: ? ORG nn (絕對地址或標(biāo)號 ) ? 在匯編時由 nn確定此語句后面第一條指令 (或第一個數(shù)據(jù) )的地址。該段源程序 (或數(shù)據(jù)塊 )就連續(xù)存放在以后的地址內(nèi),直至遇到另一個 ORG nn語句為止。 單片機(jī)技術(shù)及應(yīng)用 2. DB(Define Byte,定義字節(jié) ) ? 一般格式: [標(biāo)號: ] DB 字節(jié)常數(shù)或字符或表達(dá)式 ? 其中:標(biāo)號區(qū)段可有可無,字節(jié)常數(shù)或字符是指一個字節(jié)數(shù)據(jù),或用逗號分開的字節(jié)串,或用引號括起來的 ASCII碼字符串 (一個 ASCII字符相當(dāng)于一個字節(jié) )。此偽指令的功能是把字節(jié)常數(shù)或字節(jié)串存入內(nèi)存連續(xù)單元中。 單片機(jī)技術(shù)及應(yīng)用 3. DW(Define Word,定義一個字 ) ? 一般格式: [標(biāo)號碼 ] DW 字或字串 ? DW偽指令的功能與 DB相似,其區(qū)別在于DB是定義一個字節(jié),而 DW是定義一個字(規(guī)定為兩個字節(jié),即 16位二進(jìn)制數(shù) ),故DW主要用來定義地址。存放時一個字需兩個單元。 單片機(jī)技術(shù)及應(yīng)用 4. EQU(Equate,等值 ) ? 一般格式: 標(biāo)號 EQU 操作數(shù) ? EQU 偽指令的功能是將操作數(shù)賦值于標(biāo)號,使兩邊的兩個量等值。 單片機(jī)技術(shù)及應(yīng)用 5. END(匯編結(jié)束 ) ? 一般格式: [標(biāo)號: ] END [地址或標(biāo)號 ] ? 其中標(biāo)號以及操作數(shù)字段的地址或標(biāo)號不是必要的。 ? END偽指令是一個結(jié)束標(biāo)志,用來指示匯編語言源程序段在此結(jié)束。因此,在一個源程序中只允許出現(xiàn)一個 END語句,并且它必須放在整個程序(包括偽指令 )的最后面,是源程序模塊的最后一個語句。如果 END語句出現(xiàn)在中間,則匯編程序?qū)⒉粎R編 END后面的語句。 單片機(jī)技術(shù)及應(yīng)用 【 例 326】 分析下列程序: ? PRG0 EQU 8450H ? PRG1 EQU 80H ? PRG2 EQU B0H ? ORG 8400H ? MOV A,R2 ? MOV DPTR,TBJ3 ? MOVC A,@A+DPTR ? JMP @A+DPTR ? TBJ3: DW PRG0 ? DB PRG1 ? DB PRG2 ? END ? 解:上述程序中偽指令規(guī)定,程序存放在以 8400H開始的單元中,字節(jié)數(shù)據(jù)存放在以標(biāo)號地址為 TBJ3開始的單元中,與程序區(qū)相連,標(biāo)號 PRG0賦值為 8450H, PRG1賦值為 80H, PRG2賦值為 B0H。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1