




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)計(jì)算機(jī)基礎(chǔ)知識(shí)
MCS-51指令系統(tǒng)
MCS-51功能模塊單片機(jī)系統(tǒng)擴(kuò)展單片機(jī)體系結(jié)構(gòu)試題類(lèi)型:1.選擇題(每題2分,共20分)2.填空題(每空1分,共20分)3.判斷題(每題1分,共10分)4.改錯(cuò)題(每題2分,共8分)5.閱讀分析題(4題,共20分)6.編程、應(yīng)用題(3題,共22分)§1計(jì)算機(jī)基礎(chǔ)知識(shí)微型計(jì)算機(jī)系統(tǒng)硬件微型計(jì)算機(jī)(主機(jī))微處理器
(CPU)軟件外圍設(shè)備運(yùn)算器控制器存儲(chǔ)器
(內(nèi)存)RAMROM外部設(shè)備輔助設(shè)備輸入設(shè)備(鍵盤(pán)、掃描儀、語(yǔ)音識(shí)別儀…)
輸出設(shè)備(顯示器、打印機(jī)、繪圖儀、…)
輔助存儲(chǔ)器(磁帶、磁盤(pán)、光盤(pán))輸入/輸出接口(PIO、SIO、CTC、ADC、DAC…)(I/O接口)總線(AB、DB、CB)系統(tǒng)軟件(操作系統(tǒng),編輯、編譯程序,故障診斷,監(jiān)控程序…)應(yīng)用軟件(科學(xué)計(jì)算,工業(yè)控制,數(shù)據(jù)處理…)程序設(shè)計(jì)語(yǔ)言(機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言)電源電路時(shí)鐘電路一、計(jì)算機(jī)組成二、數(shù)制數(shù)制的概念二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制等BCD碼:8421BCD碼,用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù)§2單片機(jī)體系結(jié)構(gòu)一、8051的總體結(jié)構(gòu)中央處理器(CPU)中斷控制器時(shí)鐘電路程序存儲(chǔ)器并行I/O接口數(shù)據(jù)存儲(chǔ)器定時(shí)器特殊I/O部件外部中斷源外接元件并行I/O線特殊I/O線VccVss內(nèi)部中斷源外部輸入線8051片上硬件資源面向控制的8位CPU4K字節(jié)ROM程序存儲(chǔ)器128字節(jié)內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器2個(gè)16位定時(shí)器/計(jì)數(shù)器1個(gè)全雙工的異步串行口5個(gè)中斷源、2個(gè)中斷優(yōu)先級(jí)的中斷控制器時(shí)鐘電路、時(shí)鐘頻率在1.2MHz~12MHz引腳圖CPU是單片機(jī)的核心,由運(yùn)算器和控制器,以及若干寄存器組成,完成運(yùn)算和控制操作。CPU指令執(zhí)行過(guò)程 一個(gè)特殊的寄存器:程序計(jì)數(shù)器PC(1)中央處理單元CPU(2)程序存儲(chǔ)器:ROM、EPROM、Flash(3)數(shù)據(jù)存儲(chǔ)器:內(nèi)部RAM、特殊功能寄存器(4)I/O部件:并行口、串行口、定時(shí)器等1.NMOS型單片機(jī)的時(shí)鐘電路(1)振蕩電路C1、C2取30pF,晶振:1.2~12MHz(2)外部時(shí)鐘上拉電阻取5.1kΩ,外部時(shí)鐘頻率小于12MHz二、時(shí)鐘和時(shí)鐘電路2.CMOS型單片機(jī)的時(shí)鐘電路復(fù)位電路是單片機(jī)應(yīng)用系統(tǒng)的一部分基本電路。復(fù)位操作有上電自動(dòng)復(fù)位和兩種方式按鍵手動(dòng)復(fù)位三、復(fù)位和復(fù)位電路四、CPU定時(shí)CPU工作:不斷取指、執(zhí)行的過(guò)程時(shí)鐘周期、指令周期、機(jī)器周期時(shí)鐘周期:輸入時(shí)鐘的周期。指令周期:CPU取出指令到該指令執(zhí)行完成所需要的時(shí)間。機(jī)器周期:是指令周期的計(jì)算單位,分為6個(gè)狀態(tài),每個(gè)狀態(tài)為2個(gè)時(shí)鐘周期。一個(gè)機(jī)器周期=12個(gè)時(shí)鐘周期五、存儲(chǔ)器組織MCS-51單片機(jī)有5個(gè)獨(dú)立的存儲(chǔ)空間:64K字節(jié)程序存儲(chǔ)器空間(0~0FFFFH)256字節(jié)內(nèi)部RAM空間(0~0FFH)128字節(jié)內(nèi)部特殊功能寄存器空間(80~0FFH)位尋址空間(0~0FFH)64K字節(jié)外部數(shù)據(jù)存儲(chǔ)器(RAM/IO)空間(0~0FFFFH)專(zhuān)用寄存器低128字節(jié)FFH00H7FH80H0100H00FFH000H低256字節(jié)64KBFFFFH60KB外部外部?jī)?nèi)部0000H0FFFH0000H0FFFH1000HFFFFH程序存儲(chǔ)器(ROM)數(shù)據(jù)存儲(chǔ)分配(RAM)EA=1EA=0程序存儲(chǔ)器存儲(chǔ)器選擇:
(1)由EA引腳電平?jīng)Q定存儲(chǔ)器的選擇
(2)PSEN只有在訪問(wèn)外部程序存儲(chǔ)器時(shí)才有效程序存儲(chǔ)器的空間分配: (1)復(fù)位入口及中斷入口
(2)程序空間復(fù)位入口中斷入口(INT0)中斷入口(T0)中斷入口(INT1)中斷入口(T1)中斷入口(串行口)
······0H3H0BH13H1BH23H內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器7FH30H20H18H10H08H00H工作寄存器0工作寄存器1工作寄存器2工作寄存器3位尋址區(qū)堆棧或數(shù)據(jù)緩沖堆?;驍?shù)據(jù)緩沖80HFFHMCS-51內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器空間為128字節(jié)或256字節(jié),區(qū)域劃分如右圖所示:工作寄存器區(qū)內(nèi)部RAM的前32個(gè)單元作為寄存器使用,共分為四組,每組含8個(gè)寄存器,在組中按R7-R0編號(hào)。地址:00H-1FH程序狀態(tài)字PSW中第三、四位(RS0、RS1)決定當(dāng)前工作寄存器組MOVA,R0與MOVA,00H位尋址區(qū)片內(nèi)20H-2FH;位地址:00H-7FH供用戶使用的一般RAM區(qū),其單元地址為30H-7FH.堆棧與數(shù)據(jù)緩沖區(qū)內(nèi)部RAM中除去了工作寄存器、位尋址區(qū)和堆棧區(qū)以外的單元都可以作為數(shù)據(jù)緩沖器,存放輸入的數(shù)據(jù)或運(yùn)算的結(jié)果。堆棧:用于保護(hù)CPU現(xiàn)場(chǎng),后進(jìn)先出的RAM緩沖區(qū)進(jìn)棧:SP加1,再數(shù)據(jù)進(jìn)棧退棧:先數(shù)據(jù)退棧,再SP減1復(fù)位SP=07H:即堆棧區(qū)從08H開(kāi)始特殊功能寄存器
MCS-51除了前面提到的20H~7FH的RAM單元可以位尋址外,特殊功能寄存器中地址為8的倍數(shù)的,也可以位尋址位尋址的好處:不需要過(guò)多的數(shù)據(jù)傳送、字節(jié)屏蔽和測(cè)試分支樹(shù),就能實(shí)現(xiàn)復(fù)雜的組合邏輯功能。
包括:CPU寄存器、IO口鎖存器以及定時(shí)器、串行口、中斷等各種控制寄存器和狀態(tài)寄存器累加器A(ACC)累加器為8位寄存器,地址為:E0H.
a)用于存放操作數(shù),是ALU輸入的一個(gè)重要來(lái)源。
b)是ALU運(yùn)算結(jié)果的暫存單元,用于存放運(yùn)算的中間結(jié)果。
c)是數(shù)據(jù)傳送的中轉(zhuǎn)站,單片機(jī)中的大部分?jǐn)?shù)據(jù)傳送都通過(guò)累加器進(jìn)行
d)在變址尋址方式中把累加器作為變址寄存器使用。B寄存器
8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算:被乘數(shù)和乘數(shù)相乘,其中乘數(shù)放在B中,對(duì)于乘積的結(jié)果,高8位存于B中,低8位存于A中。除法運(yùn)算:B中為除數(shù),A中為被除數(shù)。結(jié)果B中為余數(shù),A中為商值。數(shù)據(jù)指針(DPTR)
16位寄存器,在訪問(wèn)外部64K數(shù)據(jù)存儲(chǔ)器時(shí)作地址指針使用。
DPTR為16位,可分為兩個(gè)8位寄存器。
DPH:
DPTR高位字節(jié)、8位
DPL:DPTR低位字節(jié)、8位六、中斷系統(tǒng)INT0INT1T0T1IT0IT1IE0IE1+EA
EX0
ET0
ET1
ES
EX1
PX0
PT0
PT1
PS
PX1(IE)
011
0TF1TF0TI/RI(IP)TIRI高優(yōu)先級(jí)中斷轉(zhuǎn)移入口低優(yōu)先級(jí)中斷轉(zhuǎn)移入口(TC0N/SC0N)中斷總允許中斷優(yōu)先級(jí)寄存器中斷允許寄存器中斷請(qǐng)求標(biāo)志中斷源IT0、IT1:外部中斷、引腳電平觸發(fā)方式選擇位。當(dāng)為“0”時(shí)低電平有效;為“1”時(shí)下降沿有效。IE0、IE1:外部中斷的中斷請(qǐng)求標(biāo)志位。置位時(shí)表示有中斷請(qǐng)求。TF0、TF1:定時(shí)器/計(jì)數(shù)器計(jì)數(shù)溢出中斷請(qǐng)求標(biāo)志。置位時(shí)表示有中斷請(qǐng)求,中斷響應(yīng)后硬件自動(dòng)清零
。
定時(shí)器/計(jì)數(shù)器控制寄存器
TCON結(jié)構(gòu)TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H
串行口控制寄存器
SCON結(jié)構(gòu)SCOND7D6D5D4D3D2D1D0------TIRI位地址
99H98H中斷允許寄存器IE結(jié)構(gòu)IED7D6D5D4D3D2D1D0EA--ESET1EX1ET0EX0位地址AFH
ACHABHAAHA9HA8H
中斷優(yōu)先級(jí)管理寄存器IP結(jié)構(gòu)IPD7D6D5D4D3D2D1D0---PSPT1PX1PT0PX0位地址
BCHBBHBAHB9HB8H⑴CPU查詢到某中斷標(biāo)志為1,則按優(yōu)先級(jí)的高低進(jìn)行處理,即響應(yīng)中斷;⑵響應(yīng)中斷后,CPU首先使被響應(yīng)中斷的相應(yīng)“優(yōu)先級(jí)激活”觸發(fā)器置位,以阻撓同級(jí)和低優(yōu)先級(jí)的中斷的響應(yīng)。斷點(diǎn)地址的入棧次序是:先低位地址入棧,再高位地址入棧,堆棧指針的值被加2;⑶將對(duì)應(yīng)中斷源的中斷矢量地址裝入程序計(jì)數(shù)器PC⑷中斷服務(wù)程序;⑸執(zhí)行RETI指令,從堆棧中彈出斷點(diǎn)地址進(jìn)入PC,先彈出高位地址,后彈出低位地址,堆棧指針減2,恢復(fù)原程序的執(zhí)行。MCS-51的中斷檢測(cè)與響應(yīng)哪些情況下中斷響應(yīng)將受到阻斷?⑴同級(jí)或高優(yōu)先級(jí)的中斷正在進(jìn)行中。⑵現(xiàn)在的機(jī)器周期還不是執(zhí)行指令的最后一個(gè)機(jī)器周期,即正在執(zhí)行的指令還沒(méi)完成前,不響應(yīng)任何中斷。⑶正在執(zhí)行的是中斷返回指令RETI或是訪問(wèn)專(zhuān)用寄存器IE、IP的指令。MCS-51中斷系統(tǒng)規(guī)定:在執(zhí)行完這些指令之后,不會(huì)馬上響應(yīng)中斷,至少再執(zhí)行一條其它指令后才會(huì)響應(yīng)。中斷的響應(yīng)時(shí)間
一般,在單級(jí)中斷系統(tǒng)中,中斷的響應(yīng)時(shí)間最短為3個(gè)機(jī)器周期,最長(zhǎng)為8個(gè)機(jī)器周期。一、偽指令也稱為匯編命令,提供匯編控制信息;沒(méi)有對(duì)應(yīng)的機(jī)器語(yǔ)言指令1.定位偽指令ORGm
m指出該偽指令后的指令的匯編地址2.定義字節(jié)偽指令DBX1,X2,…,Xn
Xi為單字節(jié)數(shù)據(jù),也可以為一個(gè)表達(dá)式
Xi也可以為字符串,每一個(gè)字符為一個(gè)ASCII碼
注:存于目標(biāo)程序存儲(chǔ)器中,常用于定義常數(shù)表3.字定義偽指令DWY1,Y2,Y3
Yi為雙字節(jié)數(shù)據(jù),也可以為一個(gè)表達(dá)式注:存于目標(biāo)程序存儲(chǔ)器中,常用于定義地址表§3MCS-51指令系統(tǒng)4.字或字節(jié)賦值偽指令標(biāo)號(hào)EQUm將值m賦給前面的標(biāo)號(hào),此時(shí)程序中標(biāo)號(hào)和m等價(jià)5.位賦值偽指令標(biāo)號(hào)bitn將值n賦給前面的標(biāo)號(hào),n一般指位地址6.匯編程序結(jié)束偽指令END匯編結(jié)束,對(duì)其后的匯編程序不作處理7.標(biāo)號(hào)和注釋標(biāo)號(hào):加在指令之前,其值就是該指令的存儲(chǔ)地址標(biāo)號(hào)必須是字母開(kāi)頭,后跟1~8個(gè)字母或數(shù)字,以冒號(hào)結(jié)束注釋?zhuān)阂苑痔?hào)“;”開(kāi)始對(duì)程序進(jìn)行標(biāo)注常用的縮寫(xiě)符號(hào)A累加器ACCAB累加器ACC和寄存器B組成的寄存器對(duì)direct直接地址0~0FFH#data立即數(shù),0~0FFH@間接尋址+加-減*乘/除∧與∨或⊕異或=等于<小于>大于<>不等于
傳送×寄存器名(×)×寄存器內(nèi)容((×))由×寄存器尋址的存儲(chǔ)單元內(nèi)容()X寄存器的內(nèi)容取反rrr指令編碼中rrr三位值由工作寄存器Rn確定,R0~R7對(duì)應(yīng)的的rrr為000~111$本條指令起始地址rel相對(duì)偏移量,-128~+127二、尋址方式尋址方式:指令給出參與運(yùn)算的數(shù)據(jù)的方式,即確定操作數(shù)地址的方法MCS-51指令尋址方式主要有5種:存器尋址、直接尋址、寄存器間接尋址、立即尋址和基址寄存器+變址寄存器間接尋址由指令指出以某寄存器的內(nèi)容為操作數(shù)。寄存器尋址方式使用范圍:(1)內(nèi)部RAM中的32個(gè)工作寄存器R0~R7;(2)A、B、C、AB、DPTR;1、寄存器尋址2、直接尋址在指令中含有操作數(shù)的直接地址,該地址指出了參與運(yùn)算的數(shù)所在的字節(jié)單元地址或位地址(位尋址)。直接尋址的尋址范圍:(1)內(nèi)部數(shù)據(jù)存儲(chǔ)器的低128字節(jié),00H~7FH;(2)特殊功能寄存器,注意除A、B、DPTR外,其他SFR只能采用直接尋址方式。(3)位尋址:所有可尋址位;例如:MOVA,70H;(A)←(70H)
MOVC,70H;(CY)←(70H)注意:對(duì)累加器直接尋址和位尋址時(shí),要用符號(hào)“ACC”或直接地址“E0H”,以區(qū)別于寄存器尋址。例:MOVA,@R0 ;(A)←((R0))
PUSHACC ;((SP))←(A)
MOVXA,@DPTR ;(A)←((DPTR))3、寄存器間接尋址指令中指出某一個(gè)寄存器的內(nèi)容為操作數(shù)的地址,以符號(hào)“@”表示。其尋址范圍:(1)以R0,R1為地址指針,尋址內(nèi)部RAM00~7FH和外RAM的低256B;(2)以堆棧SP為地址指針,尋址棧區(qū)單元;(3)DPTR,或R0、R1(須用P2指定高8位地址)為地址指針,尋址外部RAM的64KB空間和擴(kuò)展I/O口。例如:
MOV A, #40H MOV DPTR,#TABLE;TABLE為標(biāo)號(hào)地址
MOV P1, #00000111BMOV R3, #184、立即尋址操作數(shù)以常數(shù)的形式出現(xiàn),直接跟在操作碼后面,以指令字節(jié)的形式存放在ROM中。(2)相對(duì)尋址指令中給定地址的相對(duì)偏移量rel,以PC當(dāng)前值為基地址,加上rel所得結(jié)果為轉(zhuǎn)移目標(biāo)地址。
rel:符號(hào)數(shù),單字節(jié)補(bǔ)碼,-128~+127。 例如:1000H:JC80H;判C轉(zhuǎn)移指令,2字節(jié) 分析:當(dāng)CY=1時(shí),轉(zhuǎn)移,過(guò)程如下圖所示:(1)變址尋址以基址寄存器(PC、DPTR)和變址寄存器(A)的內(nèi)容作為無(wú)符號(hào)數(shù)相加,形成16位地址,訪問(wèn)程序存儲(chǔ)器(表格)。MOVCA,@A+PC;(A)←((A)+(PC))MOVCA,@A+DPTR;(A)←((A)+(DPTR))5、基址寄存器+變址寄存器間接尋址MCS-51具有五個(gè)存儲(chǔ)器空間,其多數(shù)從零地址開(kāi)始編址:程序存儲(chǔ)器空間0000~FFFFH內(nèi)部RAM空間00~FFH特殊功能寄存器空間80H~FFH位地址空間00~FFH外部RAM/IO空間0000~FFFFH指令對(duì)哪一個(gè)空間進(jìn)行操作由指令的操作碼和尋址方式確定:存儲(chǔ)器空間尋址方式程序存儲(chǔ)器立即尋址和基寄存器加變址寄存器間接尋址方式特殊功能寄存器直接尋址內(nèi)部RAM高128字節(jié)寄存器間接尋址位地址空間位操作指令(寄存器尋址/直接尋址)外部擴(kuò)展RAMMOVX指令(寄存器間接尋址)內(nèi)部RAM低128字節(jié)直接尋址和寄存器間接尋址三、數(shù)據(jù)操作與指令類(lèi)型數(shù)據(jù)操作包括對(duì)位、半字節(jié)、字節(jié)和雙字節(jié)數(shù)據(jù)進(jìn)行各種操作程序狀態(tài)字PSW:即標(biāo)志寄存器,字節(jié)地址為:D0H,可字節(jié)尋址、位尋址。作用:存放指令執(zhí)行時(shí)有關(guān)信息、狀態(tài),供程序查詢和判別。
PSW字格式:
D7D6D5D4D3D2D1D0 CYACF0RS1RS0OV—P PSW.7:CY,進(jìn)位標(biāo)志,布爾處理器的累加器C。
PSW.6:AC,半進(jìn)位標(biāo)志。
PSW.5:F0,用戶標(biāo)志,可置位和復(fù)位。
PSW.4-PSW.3:RS1、RS0,指出當(dāng)前工作寄存器區(qū)Rn。
PSW.2:OV,溢出標(biāo)志。
PSW.1:保留位,可單獨(dú)使用,表示方法為D1H、PSW.1。
PSW.0:P,奇偶標(biāo)志,指A中“1”的個(gè)數(shù),為奇時(shí)置1。指令類(lèi)型功能:
MCS-51單片機(jī)指令系統(tǒng)共有基本指令111條數(shù)據(jù)傳送指令(29)算術(shù)運(yùn)算指令(24)邏輯運(yùn)算指令(24)位操作指令(17)控制轉(zhuǎn)移指令(17)指令字節(jié)數(shù):?jiǎn)巫止?jié)指令(49條),雙字節(jié)指令(45條),三字節(jié)指令(17條)指令執(zhí)行時(shí)間:?jiǎn)沃芷谥噶?64條),雙周期指令(45條),四周期指令(2條(乘,除指令))1.MOV指令四、MCS-51指令系統(tǒng)(1)字節(jié)操作MOV目的操作數(shù)A
Rn@Ridirect源操作數(shù)A
Rn@Ridirect#data(2)位操作a)Rn與@Ri
不相容b)除了direct與direct外,源操作數(shù)和目的操作數(shù),不能是同一類(lèi)尋址c)#data不能做為目的操作數(shù)特殊16位數(shù)據(jù)傳送:MOVDPTR,#data16C(bit)MOV2.MOVX指令A(yù)@RiMOVX@DPTR3.MOVC指令A(yù)@A+DPTRMOVC@A+PC4.堆棧指令PUSHdirectPOPdirect5.XCH指令:字節(jié)交換XCH目的操作數(shù)A源操作數(shù)
Rndirect@Ri6.XCHD指令:半字節(jié)交換XCHD目的操作數(shù)A源操作數(shù)@Ri7.加、減指令A(yù)DD(ADDC)(SUBB)目的操作數(shù)A源操作數(shù)
Rndirect@Ri#data8.加(減)1指令I(lǐng)NC操作數(shù)可以為:A,Rn,direct,@Ri,DPTRDEC9.十進(jìn)制調(diào)整指令DAA10.乘、除指令MULABDIVAB對(duì)十進(jìn)制加法的結(jié)果做十進(jìn)制調(diào)整11.“清零、取反、置位”指令(1)字節(jié)操作ANLORLXRL目的操作數(shù)Adirect源操作數(shù)A
Rn@Ridirect#dataCLR/CPL操作數(shù)可以為:A,C,(bit)SETB操作數(shù)可以為:A,C,(bit)12.對(duì)A的循環(huán)及字節(jié)交換操作RL、RLC、RR、RRC、SWAP13.ANL、ORL、XRL指令(2)位操作ANL/ORLC(bit)或(bit)14.無(wú)條件轉(zhuǎn)移指令A(yù)JMPaddr112K字節(jié)范圍內(nèi)的無(wú)條件跳轉(zhuǎn)指令:目標(biāo)地址必須與它下面的指令存放地址在同一個(gè)2K字節(jié)存儲(chǔ)區(qū)域內(nèi)。(1)短跳轉(zhuǎn)指令SJMPrel無(wú)條件跳轉(zhuǎn)指令:目標(biāo)地址在此指令前128字節(jié)或后127字節(jié)LJMPaddr16無(wú)條件跳轉(zhuǎn)指令:直接將16位地址存入PC寄存器(2)相對(duì)轉(zhuǎn)移指令(3)長(zhǎng)跳轉(zhuǎn)指令JMP@A+DPTR散轉(zhuǎn)指令:數(shù)據(jù)指針DPTR作為基址寄存器,累加器A作為變址寄存器;累加器中8位無(wú)符號(hào)數(shù)與DPTR相加,得到目標(biāo)轉(zhuǎn)移絕對(duì)地址(4)散轉(zhuǎn)指令:基址寄存器加變址寄存器間接轉(zhuǎn)移15.條件轉(zhuǎn)移指令條件滿足時(shí)程序跳轉(zhuǎn),指令中指出相對(duì)偏移量跳轉(zhuǎn)范圍為-128~127JZrel
;(A)=0時(shí)轉(zhuǎn)移JNZrel
;(A)≠0時(shí)轉(zhuǎn)移JCrel
;CY=1時(shí)轉(zhuǎn)移JNCrel
;CY=0時(shí)轉(zhuǎn)移JBbit,rel
;(bit)=1時(shí)轉(zhuǎn)移JNBbit,rel
;(bit)=0時(shí)轉(zhuǎn)移JBCbit,rel
;(bit)=1時(shí)轉(zhuǎn)移,并清零(bit)(1)測(cè)試條件符合轉(zhuǎn)移指令CJNEA,direct,rel
CJNEA,#data,rel
CJNERn,#data,rel
CJNE@Ri,#data,rel(2)比較不相等轉(zhuǎn)移指令前后操作數(shù)進(jìn)行比較,如果不相等,則根據(jù)其后的相對(duì)偏移量進(jìn)行轉(zhuǎn)移。該指令影響PSW的進(jìn)位標(biāo)志CY:如果第一操作數(shù)小于第二操作數(shù),則置位CY,否則清零CYDJNZRn,rel
DJNZdirect,rel
(3)減1不為0轉(zhuǎn)移指令操作過(guò)程:
(1)將源操作數(shù)減1,結(jié)果回送到源操作數(shù)中;
(2)判斷結(jié)果不為0,則轉(zhuǎn)移16.調(diào)用和返回指令(1)短調(diào)用指令
格式:ACALL addr11;PC+2
PC形成PC15-11;SP+1
SP,PCL
(SP);SP+1
SP,PCH
(SP);addr11
PC10-0受限2k字節(jié)范圍:所調(diào)用的子程序的起始地址必須與ACALL后面指令的第一個(gè)字節(jié)在同一個(gè)2k字節(jié)區(qū)域(2)長(zhǎng)調(diào)用指令
格式: LCALLaddr16;PC+3->PC;SP+1->SP,PCL->(SP);SP+1->SP,PCH->(SP);addr16->PC可調(diào)用64K字節(jié)范圍內(nèi)的任何一個(gè)子程序
(3)子程序返回指令
RET ;(SP)->PC15-8,SP-1->SP;(SP)->PC7-0,SP-1->SP(4)中斷返回指令
RETI;(SP)->PC15-8,SP-1->SP;(SP)->PC7-0.SP-1->SP
它除了執(zhí)行從中斷服務(wù)程序返回中斷時(shí)保護(hù)的斷點(diǎn)處繼續(xù)執(zhí)行程序外(類(lèi)似RET功能),并清除內(nèi)部相應(yīng)的中斷狀態(tài)寄存器。因此,中斷服務(wù)程序必須以RETI為結(jié)束指令。(5)空操作指令格式:NOP;PC+1->PC關(guān)于指令字節(jié)數(shù)(1)一般為單字節(jié)指令(2)指令中出現(xiàn)direct(直接地址)、bit(位地址)或#data(立即數(shù)),字節(jié)數(shù)加1(4)指令中出現(xiàn)addr11或rel,字節(jié)數(shù)加1; 指令中出現(xiàn)addr16,字節(jié)數(shù)加2(3)指令中出現(xiàn)#data16,字節(jié)數(shù)加2關(guān)于指令周期數(shù)(1)算術(shù)運(yùn)算指令:除去INCDPTR是2周期,乘除為4周期,其他均為單周期(2)邏輯運(yùn)算指令:除去direct與#data的運(yùn)算是2周期,其他均為單周期(3)數(shù)據(jù)傳送指令:對(duì)于MOV,累加器A相關(guān)的指令為單周期,其他與direct相關(guān)的指令為2周期,其余為單周期;MOVC,MOVX,PUSH,POP為2周期指令,XCH和XCHD為單周期指令(4)位操作指令:除兩操作數(shù)運(yùn)算和MOVbit,C是2周期,其他為單周期(5)控制轉(zhuǎn)移指令:均為2周期指令(6)NOP:?jiǎn)沃芷谥噶钗?、匯編語(yǔ)言程序設(shè)計(jì)1.流程圖的繪制常用的框圖形式2.循環(huán)程序設(shè)計(jì)方法
軟件延時(shí)程序3.子程序設(shè)計(jì)和參數(shù)傳遞方法
自動(dòng)斷點(diǎn)和現(xiàn)場(chǎng)保護(hù)(區(qū)別于控制轉(zhuǎn)移)
參數(shù)傳遞方法:用工作寄存器或累加器來(lái)傳遞參數(shù)用指針寄存器來(lái)傳遞參數(shù)用堆棧來(lái)傳遞參數(shù)程序段參數(shù)傳遞§4
MCS-51單片機(jī)內(nèi)的功能模塊一、并行口結(jié)構(gòu)及操作8051單片機(jī)有4個(gè)I/O端口:(1)每個(gè)端口都是8位準(zhǔn)雙向口,共占32根引腳。(2)每個(gè)端口都包括一個(gè)鎖存器(即專(zhuān)用寄存器P0~P3)、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)端口的每一位都可以作為準(zhǔn)雙向通用I/O端口使用。在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,P2口作為高8位地址線,P0口分時(shí)作為低8位地址線和雙向數(shù)據(jù)總線。由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路組成----準(zhǔn)雙向口。1.P1口可以采用字節(jié)操作、位操作當(dāng)作為輸入時(shí),應(yīng)保持口鎖存器為1P3口為多功能口,第一功能為準(zhǔn)雙向口,其特性與P1口相似;第二功能為特殊輸入/輸出線。2.P3口可以采用字節(jié)操作、位操作當(dāng)作為輸入/第二功能IO線時(shí),應(yīng)保持口鎖存器為13.P2口結(jié)構(gòu)及操作P2也有兩種功能:(1)普通輸入/輸出口(2)系統(tǒng)擴(kuò)展的地址總線口,輸出高8位地址A8~A154.P0口結(jié)構(gòu)及操作P0為三態(tài)雙向IO口:(1)普通輸入/輸出口(2)系統(tǒng)擴(kuò)展的地址/數(shù)據(jù)總線(分時(shí)復(fù)用)作為輸入口時(shí),一般接10kΩ左右的上拉電阻。MCS-51P2A8~A15地址總線RDPSENWRP0ALE地址鎖存器A0~A7D0~D7(數(shù)據(jù)總線)(控制總線)5.MCS-51的并行擴(kuò)展總線二、定時(shí)/計(jì)數(shù)器結(jié)構(gòu)及操作M0M1
GATEM0M1GATE89HD0D1D2D3D4D5D6D7TMODT1T0方式控制寄存器TMODMCS-51系列單片機(jī)內(nèi)有2個(gè)可配置的16位定時(shí)/計(jì)數(shù)器T0、T1,跟它們相關(guān)的特殊功能寄存器有:TH0、TL0、TH1、TL1、TMOD、TCON,另外還有IE和IP。M1M0工作方式計(jì)數(shù)器配置及功能簡(jiǎn)述00方式013位計(jì)數(shù)器,TLi只用低5位01方式116位計(jì)數(shù)器10方式28位自動(dòng)重裝計(jì)數(shù)器,THi的值在計(jì)數(shù)中不變,TLi溢出時(shí),THi中的值自動(dòng)裝入TLi中11方式3T0分為兩個(gè)獨(dú)立的8位計(jì)數(shù)器,T1用作波特率發(fā)生器控制寄存器TCON是一個(gè)8位寄存器,既可以字節(jié)尋址也可以位尋址,字節(jié)地址為88H,位尋址的地址為88H~8FH。其格式為:TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0控制寄存器TCON初始化的步驟①寫(xiě)TMOD②寫(xiě)THi與TLi③寫(xiě)IE④寫(xiě)TCON三、串行口結(jié)構(gòu)及操作發(fā)送寄存器SBUF接收寄存器SBUF內(nèi)部總線讀信號(hào)寫(xiě)信號(hào)地址:99H輸入移位寄存器1.串行口控制寄存器SCON用來(lái)控制串行通信的方式選擇、接收,指示串行口的中斷狀態(tài)地址98H,有位尋址功能,其格式如下:位地址
9FH
9EH9DH9CH
9BH9AH99H
98H位功能SM0SM1SM2REN
TB8
RB8
TI
RISM0(SCON.7),SM1(SCON.6)——串行口工作方式選擇位。
SM0
SM1
工作方式
特點(diǎn)
波特率
0
0
方式0擴(kuò)展移位寄存器(8位)
fosc/12
0
1
方式1
10位異步收發(fā)
由定時(shí)器控制
1
0
方式2
11位異步收發(fā)
fosc/64或fosc/32
1
1
方式3
11位異步收發(fā)由定時(shí)器控制
電源控制寄存器PCON僅有幾位有定義,其中最高位SMOD與串行口控制有關(guān),其它位與掉電方式有關(guān)。寄存器PCON的地址為87H,只能字節(jié)尋址。其格式如下:SMOD(PCON.7)——串行通信波特率系數(shù)控制位。當(dāng)SMOD=1時(shí),使波特率加倍。復(fù)位后,SMOD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童商廈元旦活動(dòng)方案
- 兒童基金會(huì)募捐活動(dòng)方案
- 兒童居家手工活動(dòng)方案
- 兒童弓箭活動(dòng)方案
- 兒童淘礦活動(dòng)方案
- 兒童狂歡活動(dòng)方案
- 兒童社團(tuán)美術(shù)活動(dòng)方案
- 兒童練功活動(dòng)方案
- 兒童節(jié)企業(yè)員工活動(dòng)方案
- 兒童節(jié)節(jié)目準(zhǔn)備活動(dòng)方案
- GB/T 1094.2-2013電力變壓器第2部分:液浸式變壓器的溫升
- 2023年莊河市中醫(yī)醫(yī)院醫(yī)護(hù)人員招聘筆試題庫(kù)及答案解析
- 《社會(huì)保障概論》課程教學(xué)大綱(本科)
- 溫州市住宅小區(qū)(大廈)物業(yè)服務(wù)達(dá)標(biāo)考核實(shí)施暫行辦法
- 《行政法與行政訴訟法》期末復(fù)習(xí)題及參考答案
- 18.V2X技術(shù)在智能網(wǎng)聯(lián)車(chē)上的應(yīng)用
- 北京市教育系統(tǒng)
- 《科學(xué)技術(shù)史》課程課件(完整版)
- 西北工業(yè)大學(xué)數(shù)電實(shí)驗(yàn)報(bào)告二Quartus和Multisim
- 超星爾雅學(xué)習(xí)通《大學(xué)生創(chuàng)業(yè)基礎(chǔ)》章節(jié)測(cè)試含答案
- 第四節(jié)-酸堿平衡失常的診治課件
評(píng)論
0/150
提交評(píng)論