《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)_第1頁
《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)_第2頁
《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)_第3頁
《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)_第4頁
《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《單片微機(jī)及其應(yīng)用》總復(fù)習(xí)計算機(jī)基礎(chǔ)知識

MCS-51指令系統(tǒng)

MCS-51功能模塊單片機(jī)系統(tǒng)擴(kuò)展單片機(jī)體系結(jié)構(gòu)試題類型:1.選擇題(每題2分,共20分)2.填空題(每空1分,共20分)3.判斷題(每題1分,共10分)4.改錯題(每題2分,共8分)5.閱讀分析題(4題,共20分)6.編程、應(yīng)用題(3題,共22分)§1計算機(jī)基礎(chǔ)知識微型計算機(jī)系統(tǒng)硬件微型計算機(jī)(主機(jī))微處理器

(CPU)軟件外圍設(shè)備運(yùn)算器控制器存儲器

(內(nèi)存)RAMROM外部設(shè)備輔助設(shè)備輸入設(shè)備(鍵盤、掃描儀、語音識別儀…)

輸出設(shè)備(顯示器、打印機(jī)、繪圖儀、…)

輔助存儲器(磁帶、磁盤、光盤)輸入/輸出接口(PIO、SIO、CTC、ADC、DAC…)(I/O接口)總線(AB、DB、CB)系統(tǒng)軟件(操作系統(tǒng),編輯、編譯程序,故障診斷,監(jiān)控程序…)應(yīng)用軟件(科學(xué)計算,工業(yè)控制,數(shù)據(jù)處理…)程序設(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)中斷控制器時鐘電路程序存儲器并行I/O接口數(shù)據(jù)存儲器定時器特殊I/O部件外部中斷源外接元件并行I/O線特殊I/O線VccVss內(nèi)部中斷源外部輸入線8051片上硬件資源面向控制的8位CPU4K字節(jié)ROM程序存儲器128字節(jié)內(nèi)部RAM數(shù)據(jù)存儲器2個16位定時器/計數(shù)器1個全雙工的異步串行口5個中斷源、2個中斷優(yōu)先級的中斷控制器時鐘電路、時鐘頻率在1.2MHz~12MHz引腳圖CPU是單片機(jī)的核心,由運(yùn)算器和控制器,以及若干寄存器組成,完成運(yùn)算和控制操作。CPU指令執(zhí)行過程 一個特殊的寄存器:程序計數(shù)器PC(1)中央處理單元CPU(2)程序存儲器:ROM、EPROM、Flash(3)數(shù)據(jù)存儲器:內(nèi)部RAM、特殊功能寄存器(4)I/O部件:并行口、串行口、定時器等1.NMOS型單片機(jī)的時鐘電路(1)振蕩電路C1、C2取30pF,晶振:1.2~12MHz(2)外部時鐘上拉電阻取5.1kΩ,外部時鐘頻率小于12MHz二、時鐘和時鐘電路2.CMOS型單片機(jī)的時鐘電路復(fù)位電路是單片機(jī)應(yīng)用系統(tǒng)的一部分基本電路。復(fù)位操作有上電自動復(fù)位和兩種方式按鍵手動復(fù)位三、復(fù)位和復(fù)位電路四、CPU定時CPU工作:不斷取指、執(zhí)行的過程時鐘周期、指令周期、機(jī)器周期時鐘周期:輸入時鐘的周期。指令周期:CPU取出指令到該指令執(zhí)行完成所需要的時間。機(jī)器周期:是指令周期的計算單位,分為6個狀態(tài),每個狀態(tài)為2個時鐘周期。一個機(jī)器周期=12個時鐘周期五、存儲器組織MCS-51單片機(jī)有5個獨立的存儲空間:64K字節(jié)程序存儲器空間(0~0FFFFH)256字節(jié)內(nèi)部RAM空間(0~0FFH)128字節(jié)內(nèi)部特殊功能寄存器空間(80~0FFH)位尋址空間(0~0FFH)64K字節(jié)外部數(shù)據(jù)存儲器(RAM/IO)空間(0~0FFFFH)專用寄存器低128字節(jié)FFH00H7FH80H0100H00FFH000H低256字節(jié)64KBFFFFH60KB外部外部內(nèi)部0000H0FFFH0000H0FFFH1000HFFFFH程序存儲器(ROM)數(shù)據(jù)存儲分配(RAM)EA=1EA=0程序存儲器存儲器選擇:

(1)由EA引腳電平?jīng)Q定存儲器的選擇

(2)PSEN只有在訪問外部程序存儲器時才有效程序存儲器的空間分配: (1)復(fù)位入口及中斷入口

(2)程序空間復(fù)位入口中斷入口(INT0)中斷入口(T0)中斷入口(INT1)中斷入口(T1)中斷入口(串行口)

······0H3H0BH13H1BH23H內(nèi)部RAM數(shù)據(jù)存儲器7FH30H20H18H10H08H00H工作寄存器0工作寄存器1工作寄存器2工作寄存器3位尋址區(qū)堆?;驍?shù)據(jù)緩沖堆棧或數(shù)據(jù)緩沖80HFFHMCS-51內(nèi)部RAM數(shù)據(jù)存儲器空間為128字節(jié)或256字節(jié),區(qū)域劃分如右圖所示:工作寄存器區(qū)內(nèi)部RAM的前32個單元作為寄存器使用,共分為四組,每組含8個寄存器,在組中按R7-R0編號。地址: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)場,后進(jìn)先出的RAM緩沖區(qū)進(jìn)棧:SP加1,再數(shù)據(jù)進(jìn)棧退棧:先數(shù)據(jù)退棧,再SP減1復(fù)位SP=07H:即堆棧區(qū)從08H開始特殊功能寄存器

MCS-51除了前面提到的20H~7FH的RAM單元可以位尋址外,特殊功能寄存器中地址為8的倍數(shù)的,也可以位尋址位尋址的好處:不需要過多的數(shù)據(jù)傳送、字節(jié)屏蔽和測試分支樹,就能實現(xiàn)復(fù)雜的組合邏輯功能。

包括:CPU寄存器、IO口鎖存器以及定時器、串行口、中斷等各種控制寄存器和狀態(tài)寄存器累加器A(ACC)累加器為8位寄存器,地址為:E0H.

a)用于存放操作數(shù),是ALU輸入的一個重要來源。

b)是ALU運(yùn)算結(jié)果的暫存單元,用于存放運(yùn)算的中間結(jié)果。

c)是數(shù)據(jù)傳送的中轉(zhuǎn)站,單片機(jī)中的大部分?jǐn)?shù)據(jù)傳送都通過累加器進(jìn)行

d)在變址尋址方式中把累加器作為變址寄存器使用。B寄存器

8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算:被乘數(shù)和乘數(shù)相乘,其中乘數(shù)放在B中,對于乘積的結(jié)果,高8位存于B中,低8位存于A中。除法運(yùn)算:B中為除數(shù),A中為被除數(shù)。結(jié)果B中為余數(shù),A中為商值。數(shù)據(jù)指針(DPTR)

16位寄存器,在訪問外部64K數(shù)據(jù)存儲器時作地址指針使用。

DPTR為16位,可分為兩個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)先級中斷轉(zhuǎn)移入口低優(yōu)先級中斷轉(zhuǎn)移入口(TC0N/SC0N)中斷總允許中斷優(yōu)先級寄存器中斷允許寄存器中斷請求標(biāo)志中斷源IT0、IT1:外部中斷、引腳電平觸發(fā)方式選擇位。當(dāng)為“0”時低電平有效;為“1”時下降沿有效。IE0、IE1:外部中斷的中斷請求標(biāo)志位。置位時表示有中斷請求。TF0、TF1:定時器/計數(shù)器計數(shù)溢出中斷請求標(biāo)志。置位時表示有中斷請求,中斷響應(yīng)后硬件自動清零

。

定時器/計數(shù)器控制寄存器

TCON結(jié)構(gòu)TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H

串行口控制寄存器

SCON結(jié)構(gòu)SCOND7D6D5D4D3D2D1D0------TIRI位地址

99H98H中斷允許寄存器IE結(jié)構(gòu)IED7D6D5D4D3D2D1D0EA--ESET1EX1ET0EX0位地址AFH

ACHABHAAHA9HA8H

中斷優(yōu)先級管理寄存器IP結(jié)構(gòu)IPD7D6D5D4D3D2D1D0---PSPT1PX1PT0PX0位地址

BCHBBHBAHB9HB8H⑴CPU查詢到某中斷標(biāo)志為1,則按優(yōu)先級的高低進(jìn)行處理,即響應(yīng)中斷;⑵響應(yīng)中斷后,CPU首先使被響應(yīng)中斷的相應(yīng)“優(yōu)先級激活”觸發(fā)器置位,以阻撓同級和低優(yōu)先級的中斷的響應(yīng)。斷點地址的入棧次序是:先低位地址入棧,再高位地址入棧,堆棧指針的值被加2;⑶將對應(yīng)中斷源的中斷矢量地址裝入程序計數(shù)器PC⑷中斷服務(wù)程序;⑸執(zhí)行RETI指令,從堆棧中彈出斷點地址進(jìn)入PC,先彈出高位地址,后彈出低位地址,堆棧指針減2,恢復(fù)原程序的執(zhí)行。MCS-51的中斷檢測與響應(yīng)哪些情況下中斷響應(yīng)將受到阻斷?⑴同級或高優(yōu)先級的中斷正在進(jìn)行中。⑵現(xiàn)在的機(jī)器周期還不是執(zhí)行指令的最后一個機(jī)器周期,即正在執(zhí)行的指令還沒完成前,不響應(yīng)任何中斷。⑶正在執(zhí)行的是中斷返回指令RETI或是訪問專用寄存器IE、IP的指令。MCS-51中斷系統(tǒng)規(guī)定:在執(zhí)行完這些指令之后,不會馬上響應(yīng)中斷,至少再執(zhí)行一條其它指令后才會響應(yīng)。中斷的響應(yīng)時間

一般,在單級中斷系統(tǒng)中,中斷的響應(yīng)時間最短為3個機(jī)器周期,最長為8個機(jī)器周期。一、偽指令也稱為匯編命令,提供匯編控制信息;沒有對應(yīng)的機(jī)器語言指令1.定位偽指令ORGm

m指出該偽指令后的指令的匯編地址2.定義字節(jié)偽指令DBX1,X2,…,Xn

Xi為單字節(jié)數(shù)據(jù),也可以為一個表達(dá)式

Xi也可以為字符串,每一個字符為一個ASCII碼

注:存于目標(biāo)程序存儲器中,常用于定義常數(shù)表3.字定義偽指令DWY1,Y2,Y3

Yi為雙字節(jié)數(shù)據(jù),也可以為一個表達(dá)式注:存于目標(biāo)程序存儲器中,常用于定義地址表§3MCS-51指令系統(tǒng)4.字或字節(jié)賦值偽指令標(biāo)號EQUm將值m賦給前面的標(biāo)號,此時程序中標(biāo)號和m等價5.位賦值偽指令標(biāo)號bitn將值n賦給前面的標(biāo)號,n一般指位地址6.匯編程序結(jié)束偽指令END匯編結(jié)束,對其后的匯編程序不作處理7.標(biāo)號和注釋標(biāo)號:加在指令之前,其值就是該指令的存儲地址標(biāo)號必須是字母開頭,后跟1~8個字母或數(shù)字,以冒號結(jié)束注釋:以分號“;”開始對程序進(jìn)行標(biāo)注常用的縮寫符號A累加器ACCAB累加器ACC和寄存器B組成的寄存器對direct直接地址0~0FFH#data立即數(shù),0~0FFH@間接尋址+加-減*乘/除∧與∨或⊕異或=等于<小于>大于<>不等于

傳送×寄存器名(×)×寄存器內(nèi)容((×))由×寄存器尋址的存儲單元內(nèi)容()X寄存器的內(nèi)容取反rrr指令編碼中rrr三位值由工作寄存器Rn確定,R0~R7對應(yīng)的的rrr為000~111$本條指令起始地址rel相對偏移量,-128~+127二、尋址方式尋址方式:指令給出參與運(yùn)算的數(shù)據(jù)的方式,即確定操作數(shù)地址的方法MCS-51指令尋址方式主要有5種:存器尋址、直接尋址、寄存器間接尋址、立即尋址和基址寄存器+變址寄存器間接尋址由指令指出以某寄存器的內(nèi)容為操作數(shù)。寄存器尋址方式使用范圍:(1)內(nèi)部RAM中的32個工作寄存器R0~R7;(2)A、B、C、AB、DPTR;1、寄存器尋址2、直接尋址在指令中含有操作數(shù)的直接地址,該地址指出了參與運(yùn)算的數(shù)所在的字節(jié)單元地址或位地址(位尋址)。直接尋址的尋址范圍:(1)內(nèi)部數(shù)據(jù)存儲器的低128字節(jié),00H~7FH;(2)特殊功能寄存器,注意除A、B、DPTR外,其他SFR只能采用直接尋址方式。(3)位尋址:所有可尋址位;例如:MOVA,70H;(A)←(70H)

MOVC,70H;(CY)←(70H)注意:對累加器直接尋址和位尋址時,要用符號“ACC”或直接地址“E0H”,以區(qū)別于寄存器尋址。例:MOVA,@R0 ;(A)←((R0))

PUSHACC ;((SP))←(A)

MOVXA,@DPTR ;(A)←((DPTR))3、寄存器間接尋址指令中指出某一個寄存器的內(nèi)容為操作數(shù)的地址,以符號“@”表示。其尋址范圍:(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)號地址

MOV P1, #00000111BMOV R3, #184、立即尋址操作數(shù)以常數(shù)的形式出現(xiàn),直接跟在操作碼后面,以指令字節(jié)的形式存放在ROM中。(2)相對尋址指令中給定地址的相對偏移量rel,以PC當(dāng)前值為基地址,加上rel所得結(jié)果為轉(zhuǎn)移目標(biāo)地址。

rel:符號數(shù),單字節(jié)補(bǔ)碼,-128~+127。 例如:1000H:JC80H;判C轉(zhuǎn)移指令,2字節(jié) 分析:當(dāng)CY=1時,轉(zhuǎn)移,過程如下圖所示:(1)變址尋址以基址寄存器(PC、DPTR)和變址寄存器(A)的內(nèi)容作為無符號數(shù)相加,形成16位地址,訪問程序存儲器(表格)。MOVCA,@A+PC;(A)←((A)+(PC))MOVCA,@A+DPTR;(A)←((A)+(DPTR))5、基址寄存器+變址寄存器間接尋址MCS-51具有五個存儲器空間,其多數(shù)從零地址開始編址:程序存儲器空間0000~FFFFH內(nèi)部RAM空間00~FFH特殊功能寄存器空間80H~FFH位地址空間00~FFH外部RAM/IO空間0000~FFFFH指令對哪一個空間進(jìn)行操作由指令的操作碼和尋址方式確定:存儲器空間尋址方式程序存儲器立即尋址和基寄存器加變址寄存器間接尋址方式特殊功能寄存器直接尋址內(nèi)部RAM高128字節(jié)寄存器間接尋址位地址空間位操作指令(寄存器尋址/直接尋址)外部擴(kuò)展RAMMOVX指令(寄存器間接尋址)內(nèi)部RAM低128字節(jié)直接尋址和寄存器間接尋址三、數(shù)據(jù)操作與指令類型數(shù)據(jù)操作包括對位、半字節(jié)、字節(jié)和雙字節(jié)數(shù)據(jù)進(jìn)行各種操作程序狀態(tài)字PSW:即標(biāo)志寄存器,字節(jié)地址為:D0H,可字節(jié)尋址、位尋址。作用:存放指令執(zhí)行時有關(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:保留位,可單獨使用,表示方法為D1H、PSW.1。

PSW.0:P,奇偶標(biāo)志,指A中“1”的個數(shù),為奇時置1。指令類型功能:

MCS-51單片機(jī)指令系統(tǒng)共有基本指令111條數(shù)據(jù)傳送指令(29)算術(shù)運(yùn)算指令(24)邏輯運(yùn)算指令(24)位操作指令(17)控制轉(zhuǎn)移指令(17)指令字節(jié)數(shù):單字節(jié)指令(49條),雙字節(jié)指令(45條),三字節(jié)指令(17條)指令執(zhí)行時間:單周期指令(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ù),不能是同一類尋址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對十進(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.對A的循環(huán)及字節(jié)交換操作RL、RLC、RR、RRC、SWAP13.ANL、ORL、XRL指令(2)位操作ANL/ORLC(bit)或(bit)14.無條件轉(zhuǎn)移指令A(yù)JMPaddr112K字節(jié)范圍內(nèi)的無條件跳轉(zhuǎn)指令:目標(biāo)地址必須與它下面的指令存放地址在同一個2K字節(jié)存儲區(qū)域內(nèi)。(1)短跳轉(zhuǎn)指令SJMPrel無條件跳轉(zhuǎn)指令:目標(biāo)地址在此指令前128字節(jié)或后127字節(jié)LJMPaddr16無條件跳轉(zhuǎn)指令:直接將16位地址存入PC寄存器(2)相對轉(zhuǎn)移指令(3)長跳轉(zhuǎn)指令JMP@A+DPTR散轉(zhuǎn)指令:數(shù)據(jù)指針DPTR作為基址寄存器,累加器A作為變址寄存器;累加器中8位無符號數(shù)與DPTR相加,得到目標(biāo)轉(zhuǎn)移絕對地址(4)散轉(zhuǎn)指令:基址寄存器加變址寄存器間接轉(zhuǎn)移15.條件轉(zhuǎn)移指令條件滿足時程序跳轉(zhuǎn),指令中指出相對偏移量跳轉(zhuǎn)范圍為-128~127JZrel

;(A)=0時轉(zhuǎn)移JNZrel

;(A)≠0時轉(zhuǎn)移JCrel

;CY=1時轉(zhuǎn)移JNCrel

;CY=0時轉(zhuǎn)移JBbit,rel

;(bit)=1時轉(zhuǎn)移JNBbit,rel

;(bit)=0時轉(zhuǎn)移JBCbit,rel

;(bit)=1時轉(zhuǎn)移,并清零(bit)(1)測試條件符合轉(zhuǎn)移指令CJNEA,direct,rel

CJNEA,#data,rel

CJNERn,#data,rel

CJNE@Ri,#data,rel(2)比較不相等轉(zhuǎn)移指令前后操作數(shù)進(jìn)行比較,如果不相等,則根據(jù)其后的相對偏移量進(jìn)行轉(zhuǎn)移。該指令影響PSW的進(jìn)位標(biāo)志CY:如果第一操作數(shù)小于第二操作數(shù),則置位CY,否則清零CYDJNZRn,rel

DJNZdirect,rel

(3)減1不為0轉(zhuǎn)移指令操作過程:

(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后面指令的第一個字節(jié)在同一個2k字節(jié)區(qū)域(2)長調(diào)用指令

格式: LCALLaddr16;PC+3->PC;SP+1->SP,PCL->(SP);SP+1->SP,PCH->(SP);addr16->PC可調(diào)用64K字節(jié)范圍內(nèi)的任何一個子程序

(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ù)程序返回中斷時保護(hù)的斷點處繼續(xù)執(zhí)行程序外(類似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ù)傳送指令:對于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:單周期指令五、匯編語言程序設(shè)計1.流程圖的繪制常用的框圖形式2.循環(huán)程序設(shè)計方法

軟件延時程序3.子程序設(shè)計和參數(shù)傳遞方法

自動斷點和現(xiàn)場保護(hù)(區(qū)別于控制轉(zhuǎn)移)

參數(shù)傳遞方法:用工作寄存器或累加器來傳遞參數(shù)用指針寄存器來傳遞參數(shù)用堆棧來傳遞參數(shù)程序段參數(shù)傳遞§4

MCS-51單片機(jī)內(nèi)的功能模塊一、并行口結(jié)構(gòu)及操作8051單片機(jī)有4個I/O端口:(1)每個端口都是8位準(zhǔn)雙向口,共占32根引腳。(2)每個端口都包括一個鎖存器(即專用寄存器P0~P3)、一個輸出驅(qū)動器和輸入緩沖器。在無片外擴(kuò)展存儲器的系統(tǒng)中,這4個端口的每一位都可以作為準(zhǔn)雙向通用I/O端口使用。在具有片外擴(kuò)展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數(shù)據(jù)總線。由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成----準(zhǔn)雙向口。1.P1口可以采用字節(jié)操作、位操作當(dāng)作為輸入時,應(yīng)保持口鎖存器為1P3口為多功能口,第一功能為準(zhǔn)雙向口,其特性與P1口相似;第二功能為特殊輸入/輸出線。2.P3口可以采用字節(jié)操作、位操作當(dāng)作為輸入/第二功能IO線時,應(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ù)總線(分時復(fù)用)作為輸入口時,一般接10kΩ左右的上拉電阻。MCS-51P2A8~A15地址總線RDPSENWRP0ALE地址鎖存器A0~A7D0~D7(數(shù)據(jù)總線)(控制總線)5.MCS-51的并行擴(kuò)展總線二、定時/計數(shù)器結(jié)構(gòu)及操作M0M1

GATEM0M1GATE89HD0D1D2D3D4D5D6D7TMODT1T0方式控制寄存器TMODMCS-51系列單片機(jī)內(nèi)有2個可配置的16位定時/計數(shù)器T0、T1,跟它們相關(guān)的特殊功能寄存器有:TH0、TL0、TH1、TL1、TMOD、TCON,另外還有IE和IP。M1M0工作方式計數(shù)器配置及功能簡述00方式013位計數(shù)器,TLi只用低5位01方式116位計數(shù)器10方式28位自動重裝計數(shù)器,THi的值在計數(shù)中不變,TLi溢出時,THi中的值自動裝入TLi中11方式3T0分為兩個獨立的8位計數(shù)器,T1用作波特率發(fā)生器控制寄存器TCON是一個8位寄存器,既可以字節(jié)尋址也可以位尋址,字節(jié)地址為88H,位尋址的地址為88H~8FH。其格式為:TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0控制寄存器TCON初始化的步驟①寫TMOD②寫THi與TLi③寫IE④寫TCON三、串行口結(jié)構(gòu)及操作發(fā)送寄存器SBUF接收寄存器SBUF內(nèi)部總線讀信號寫信號地址:99H輸入移位寄存器1.串行口控制寄存器SCON用來控制串行通信的方式選擇、接收,指示串行口的中斷狀態(tài)地址98H,有位尋址功能,其格式如下:位地址

9FH

9EH9DH9CH

9BH9AH99H

98H位功能SM0SM1SM2REN

TB8

RB8

TI

RISM0(SCON.7),SM1(SCON.6)——串行口工作方式選擇位。

SM0

SM1

工作方式

特點

波特率

0

0

方式0擴(kuò)展移位寄存器(8位)

fosc/12

0

1

方式1

10位異步收發(fā)

由定時器控制

1

0

方式2

11位異步收發(fā)

fosc/64或fosc/32

1

1

方式3

11位異步收發(fā)由定時器控制

電源控制寄存器PCON僅有幾位有定義,其中最高位SMOD與串行口控制有關(guān),其它位與掉電方式有關(guān)。寄存器PCON的地址為87H,只能字節(jié)尋址。其格式如下:SMOD(PCON.7)——串行通信波特率系數(shù)控制位。當(dāng)SMOD=1時,使波特率加倍。復(fù)位后,SMOD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論