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

正文內(nèi)容

mcs-51單片機(jī)指令系統(tǒng)講義(參考版)

2025-01-15 00:13本頁面
  

【正文】 否則。 在一般情況下, AJMP指令應(yīng)當(dāng)與目標(biāo)地址在同一頁內(nèi)。 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 X X X X X 1 0 1 1 0 1 0 0 1 0 1 A10 a9 a8 操作碼 a7 ~ a0 AJMP指令 PC程序計(jì)數(shù)器 MCS15的 ROM系統(tǒng)是以 2K為一頁來劃分程序存儲(chǔ)器,這樣對(duì)于 4K的片內(nèi) ROM存儲(chǔ)器可以分為 2頁;片外 64K的 ROM可以分為 32頁。 將 AJMP指令中的 11位轉(zhuǎn)移地址替換掉原來 PC中 16位地址中的低 11位地址。 【舉例】: 已知某單片機(jī)的監(jiān)控程序地址為A080H,試問用什么方法使單片機(jī)開機(jī)后自動(dòng)的轉(zhuǎn)向該監(jiān)控程序? 【解】: 因?yàn)閱纹瑱C(jī)上電時(shí), PC=0000H,所以在 0000H單元存放一條 LJMP 0A080H 的指令即可。 解: MOV R1,M1 MOV A,R1 SWAP A INC R1 ORL A,R1 MOV M1,A 0000BCD1 0000BCD2 M1 M1+1 BCD1 0000 BCD1 BCD2 0000 BCD1 返回本章目錄 累加器 A 控制轉(zhuǎn)移和位操作指令 控制轉(zhuǎn)移指令 1, 無條件轉(zhuǎn)移指令 2, 條件轉(zhuǎn)移指令 3, 子程序調(diào)用和返回 4, 空操作指令 , 位操作指令 1, 位傳送指令: 2, 位置位和位清零指令: 3, 位運(yùn)算指令: 4, 位控制轉(zhuǎn)移指令: 返回本章目錄 1,無條件轉(zhuǎn)移指令: 格式: LJMP addr16 長(zhǎng)轉(zhuǎn)移指令,尋址范圍 65535; AJMP addr11 絕對(duì)轉(zhuǎn)移,尋址范圍 2K; SJMP rel 短轉(zhuǎn)移,轉(zhuǎn)移范圍( +127~ 128); JMP A+DPTR 變址轉(zhuǎn)移,尋址范圍 65535。 解:擴(kuò)大 2倍可以用左移一位來實(shí)現(xiàn)。 格式: RL A RR A RLC A RRC A SWAP A 【注意】:只能對(duì)累加器 A進(jìn)行移位。試編出能實(shí)現(xiàn)此電路功能的程序,并將結(jié)果送入 F單元。 舉例: 已知 30H單元中有一個(gè)數(shù) x,寫出對(duì)它求補(bǔ)的程序。在 MCS51的指令系統(tǒng)中專門設(shè)計(jì)了單字節(jié)、單周期對(duì)累加器清零和取反的指令。 舉例 已知:外部 RAM的 30H單元中有一個(gè)數(shù) AAH,現(xiàn)要將其高4位不變,低 4位取反,試編程。 返回本節(jié)目錄 邏輯異或運(yùn)算指令 格式: XRL A,Rn ; A ⊕ R n → A XRL A,direct ; A ⊕ (direct) → A XR A,Ri ; A ⊕ ( R I ) → A XRL A,data ; A ⊕ data → A XRL direct,A ; (direct) ⊕ A → direct XRL direct, data; (direct) ⊕ data → direct 特點(diǎn):按位運(yùn)算,相同時(shí)為 0,不同時(shí)為 1。 解: MOV R0,A ;累加器 A中的數(shù)據(jù)暫存 ANL A,0FH ;屏蔽 A的高 4位 ANL P1,0F0H ;屏蔽 P1口的低 4位 ORL P1,A ;在 P1口組裝 MOV A,R0 ;恢復(fù)累加器 A的數(shù)據(jù) 【小結(jié)】: 與運(yùn)算 可以 “屏蔽” 某些位 。 應(yīng)用舉例 設(shè)累加器 A=0AAH,P1口 =0FFH。 解: 1,使用 ANL direct,data的指令: ANL M1,0FH 解: 2,使用 ANL A,data指令。 應(yīng)用舉例 (一 ) 已知 R0=30H和( 30H) =0AAH,試問執(zhí)行下列指令后累加器 A和 30H單元中的內(nèi)容是什么? 1, MOV A,0FFH 2, MOV A,0FH ANL A,R0 ANL A,30H ( A=30H,( 30H) =0AAH) ( A=0AH,( 30H) =0AAH) 3, MOV A,0F0H 4, MOV A,80H ANL A,R0 ANL 30H,A ( A=0A0H,( 30H) =0AAH)( A=80H,( 30H) =80H) 很明顯: ANL操作可以從某個(gè)存儲(chǔ)單元中取出某幾位,而把其它的為屏蔽掉(清零)。 返回本節(jié)目錄 : 邏輯運(yùn)算指令 功能 :對(duì) 2個(gè) 8位二進(jìn)制數(shù)進(jìn)行 邏輯與、或、非和異或 操作; 特點(diǎn) :除了以累加器 A為目標(biāo)寄存器的指令影響 PSW的 P位外,其余指令對(duì) PSW均無影響。 2,在除法指令中 , Cy、 P與乘法相同。 具體如下 :Cy→ 0; P取決于 A中“ 1”的個(gè)數(shù); OV表明積的大小。a247。 格式: MUL A B 。 【解】 : 1, 算法: 9136=91+( 10036) =91+( 9A36) 2, 編程: CLR C 。 減數(shù)的補(bǔ)碼 = BCD碼的模 減數(shù) 其中 BCD碼的模為 100H = 99H+01H = 9AH 已知:在 M M2中分別存有被減數(shù) 91和減數(shù) 36。 十進(jìn)制調(diào)整指令應(yīng)用舉例(二) 2, BCD減法運(yùn)算: 由于 DA A 指令只能對(duì) BCD碼的加法進(jìn)行調(diào)整,所以遇到 BCD碼的加法時(shí)就要將其 減法變?yōu)榧臃ㄟ\(yùn)算,然后再使用 DA A指令進(jìn)行調(diào)整。 十進(jìn)制調(diào)整指令應(yīng)用舉例(一) 1, BCD加法運(yùn)算: 試寫出完成 85+59的 BCD碼的加法程序。若 AC=1或 A3~ 0 9,則 A+06h→A 。 返回本節(jié)目錄 十進(jìn)制調(diào)整指令 在 CPU進(jìn)行 BCD碼運(yùn)算時(shí),必須在運(yùn)算后進(jìn)行十進(jìn)制調(diào)整,這是因?yàn)椋?CPU在運(yùn)算時(shí),并不知道數(shù)據(jù)是二進(jìn)制還是BCD碼。所以,對(duì)于符號(hào)數(shù)的減法在運(yùn)算后一定要檢測(cè) OV=1? 返回本節(jié)目錄 減一指令 格式 : DEC A ;累加器 A減一 DEC Rn ; Rn1→Rn DEC direct ;內(nèi)存單元數(shù)據(jù)減一 DEC Ri ;內(nèi)存單元數(shù)據(jù)減一 【注意】: 1, 除了第一條對(duì) PSW的 P有影響外,其余對(duì) PSW均無影響。 CLR C MOV A,52H 01010010B = 82 SUBB A,0B4H 10110100B = 76 82 a= 0 1 0 1 0 0 1 0 – 76 data= 1 0 1 1 0 1 0 0 158 1 1 0 0 1 1 1 1 0 =62H= 98 手工計(jì)算 CP CS AC 1 0 1 【 分析 】 : CPU的計(jì)算得 98,很明顯答案是錯(cuò)誤的。 3,在 MCS51的指令系統(tǒng)中沒有不帶 Cy的減法,所以在使用 SUBB指令前必須使用一條清除 Cy的指令: CLR C。但要判定減法結(jié)果編程者可以按二進(jìn)制減法法則驗(yàn)證。結(jié)果送 M1+1單元 RAM X2 data8~ 15 X2 data0~ 7 X1data8~ 15 X1data0~ 7 M1 M1+1 M2 M2+1 返回本節(jié)目錄 減法指令 ( 帶進(jìn)位的減法指令) 在 MCS51單片機(jī)的指令系統(tǒng)中,只有: ① 帶進(jìn)位的減法 SUBB ② 減一 DEC 兩種指令。 【 解】: MOV R0, M1 ; x1指針賦初值 MOV R1, M2 ; x2指針賦初值 MOV A, R0 ; 取 x1低 8位送 A ADD A, R1 ; x1與 x2低 8位相加 MOV R0, a 。試寫出 x1+x2,并將結(jié)果放入 M M1+1單元(低 8位在 M1單元)。 2, 由于上面的原因, INC指令不能作為一般的數(shù)據(jù)算術(shù)運(yùn)算 使用, INC主要用于修改數(shù)據(jù)指針等控制、循環(huán)語句中使用。 加法指令(二) :帶進(jìn)位的加法指令 格式: ADDC A,Rn ; A+Rn+Cy→A ADDC A,direct ; A+(direct) +Cy→A ADDC A,Ri ; A+(Ri) +Cy→A ADDC A,data ; A+data+Cy→A 【注意】:這里的 Cy是指令執(zhí)行前的 Cy; 對(duì) PSW的影響同 ADD指令。 ADD A,6BH AC=0。 cy 0 0 0 CP CS AC 不帶進(jìn)位的加法指令舉例 (二 ) 試分析執(zhí)行下列指令后累加器 A和 PSW中各標(biāo)志的變化。 ADD A,66H AC=0 OV=CP?CS=0 25 A= 0 0 0 1 1 0 0 1 B P=1 + 102 data= 0 1 1 0 0 1 1 0 B 127 0 0 1 1 1 1 1 1 1 B 1,若兩數(shù)都是無符號(hào)數(shù),則因 Cy=0無溢出, 25+102=127。 不帶進(jìn)位的加法指令舉例 (一 ) 試分析執(zhí)行下列指令后累加器 A和 PSW中各標(biāo)志的變化。 2,根據(jù)編程者的需要, 8位數(shù)據(jù)可以是無符號(hào)數(shù) ( 0~ 255) ,也可以是有符號(hào)數(shù) ( 127~ +128) 。 特點(diǎn):大多指令都要由累加器 A來存放一個(gè)源操作數(shù),并把操作結(jié)果放回累加器 A中。 方法一:對(duì) 50h單元的數(shù)據(jù)高四位組裝一個(gè) 30h。 mov R1,20h ;指針賦初值 movx a,R1 ; x→a xch a,R1 ; 交換 a?(20h),y→a movx R1,a ; y→(20h) 片外 RAM 片內(nèi) RAM y (x) 片外 RAM x (y) (y) x 20h 20h 累加器 A 1 2 3 數(shù)據(jù)交換指令舉例(二) 已知 RAM50h單元有一個(gè) 0~ 9的數(shù),試編程將它變成相應(yīng)的 ASCII碼。 格式: xch a,Rn ; a ? Rn xch a,direct ; a ? (direct) xch a,Ri ; a ? (Ri) xchd a,Ri ; a3~ 0?(Ri) 3~ 0 舉例:已知,片外 RAM20h單元、內(nèi)部 RAM20h單元分別有數(shù) x和 y,試編程互將兩數(shù)相交換。 push 30h push 40h pop 30h pop 40h RAM x y y x y x 棧底 SP=07h 40h 30h 繼續(xù) 數(shù)據(jù)交換指令 為提供一種方便的 累加器 和 寄存器 或 RAM之間的數(shù)據(jù)交換。 【舉例】:設(shè)片內(nèi) RAM的 30h單元存有 x,40h單元存有
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1