單片機(jī)控制技術(shù)與應(yīng)用(劉靖)課件2_第1頁(yè)
單片機(jī)控制技術(shù)與應(yīng)用(劉靖)課件2_第2頁(yè)
單片機(jī)控制技術(shù)與應(yīng)用(劉靖)課件2_第3頁(yè)
單片機(jī)控制技術(shù)與應(yīng)用(劉靖)課件2_第4頁(yè)
單片機(jī)控制技術(shù)與應(yīng)用(劉靖)課件2_第5頁(yè)
已閱讀5頁(yè),還剩105頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2.1MCS-51單片機(jī)基本組成及引腳功能2.1.1單片機(jī)的基本組成(1)中央處理器(CPU)MCS-51的CPU能處理8位二進(jìn)制數(shù)或代碼。CPU是單片機(jī)的主要核心部件,在CPU里包含了運(yùn)算器、控制器以及若干寄存器等部件。(2)內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)MCS-51單片機(jī)芯片共有256個(gè)RAM單元,其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫的數(shù)據(jù),因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡(jiǎn)稱內(nèi)部RAM,地址范圍為00HFFH(256B)。它是一個(gè)多用多功能數(shù)據(jù)存儲(chǔ)器,有數(shù)據(jù)存儲(chǔ)、通用工作寄存器、堆棧、位地址等空間。(3)內(nèi)部程序存儲(chǔ)器(RO

2、M)MCS-51內(nèi)部有4KB/8KB字節(jié)的ROM(51系列為4KB,51系列為8KB),用于存放程序、原始數(shù)據(jù)或表格,因此稱之為程序存儲(chǔ)器,簡(jiǎn)稱內(nèi)部RAM。地址范圍為0000HFFFFH(64KB)。(4)定時(shí)器/計(jì)數(shù)器51系列共有2個(gè)16位的定時(shí)器/計(jì)數(shù)器(52系列共有3個(gè)16位的定時(shí)器/計(jì)數(shù)器),以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。定時(shí)靠?jī)?nèi)部分頻時(shí)鐘頻率計(jì)數(shù)實(shí)現(xiàn),作計(jì)數(shù)器時(shí),對(duì)P3.4(T0)或P3.5(T1)端口的低電平脈沖計(jì)數(shù)。(5)并行I/O口MCS-51共有4個(gè)8位的I/O口(P0、P1、P2、P3),用以實(shí)現(xiàn)數(shù)據(jù)的輸入輸出。具體功能將會(huì)在后面章節(jié)中詳細(xì)論述

3、。(6)串行口MCS-51有一個(gè)可編程的全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為移位器使用。RXD(P3.0)腳為接收端口,TXD(P3.1)腳為發(fā)送端口。(7)中斷控制系統(tǒng)MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足不同控制應(yīng)用的需要。51系列有5個(gè)中斷源(52系列有6個(gè)中斷源),即外中斷2個(gè),定時(shí)中斷2個(gè),串行中斷1個(gè)。全部中斷分為高級(jí)和低級(jí)共兩個(gè)優(yōu)先級(jí)別,優(yōu)先級(jí)別的設(shè)置將在后面進(jìn)行詳細(xì)的講解。(8)定時(shí)與控制部件MCS-51單片機(jī)內(nèi)部有一個(gè)高增益的反相放大器,其輸入端為XTAL1,輸出端為XTAL2。MCS-51芯

4、片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。圖2-1為MCS-51單片機(jī)的結(jié)構(gòu)框圖。圖2-1MCS-51單片機(jī)結(jié)構(gòu)框圖2.1.2單片機(jī)的引腳及其功能MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,其引腳分布如圖2-2所示。 P0.0P0.7:P0口8位雙向口線(在引腳的3932號(hào)端子)。圖2-2MCS-51引腳圖 P1.0P1.7:P1口8位雙向口線(在引腳的18號(hào)端子)。 P2.0P2.7:P2口8位雙向口線(在引腳的2128號(hào)端子)。 P3.0P3.7:P2口8位雙向口線(在引腳的1017號(hào)端子)。(1)P0口有三個(gè)功能: 外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作數(shù)

5、據(jù)總線(如圖2-2中的D0D7為數(shù)據(jù)總線接口); 外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖2-2中的A0A7為地址總線接口); 不擴(kuò)展時(shí),可作一般的I/O使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí),應(yīng)在外部接上拉電阻。(2)P1口只作I/O口使用,其內(nèi)部有上拉電阻。(3)P2口有兩個(gè)功能: 擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用; 作一般I/O口使用,其內(nèi)部有上拉電阻。(4)P3口有兩個(gè)功能:除了作為I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來(lái)設(shè)置,具體功能參考后面的引腳說(shuō)明。有內(nèi)部EPROM的單片機(jī)芯片(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號(hào)也是由信號(hào)

6、引腳的形式提供的,即:編程脈沖30腳(ALE/PROG);編程電壓(25V)31腳(EA/Vpp)。有些印刷線路板上會(huì)有一個(gè)電池,這就是單片機(jī)的備用電源。當(dāng)外接電源下降到下限值時(shí),備用電源就會(huì)經(jīng)第二功能的方式由第9腳(即RST/VPD)引入,以保護(hù)內(nèi)部RAM中的信息不會(huì)丟失。(5)上拉電阻上拉電阻就是當(dāng)作為輸入時(shí),上拉電阻將其電位拉高。若輸入為低電平,則可提供電流源。所以如果P0口作為輸入時(shí)處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效。(6)ALE/PROG地址鎖存控制信號(hào)在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。ALE有可能是高電平,也

7、有可能是低電平。當(dāng)ALE是高電平時(shí),允許地址鎖存信號(hào),當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE信號(hào)負(fù)跳變(即由正變負(fù)),將P0口上低8位地址信號(hào)送入鎖存器。當(dāng)ALE是低電平時(shí),P0口上的內(nèi)容和鎖存器輸出一致。在沒(méi)有訪問(wèn)外部存儲(chǔ)器期間,ALE以1/6振蕩周期頻率輸出(即6分頻);當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),以1/12振蕩周期輸出(12分頻)??梢钥吹?當(dāng)系統(tǒng)沒(méi)有進(jìn)行擴(kuò)展時(shí),ALE會(huì)以1/6振蕩周期的固定頻率輸出,因此可以作為外部時(shí)鐘,或者外部定時(shí)脈沖使用。PORG為編程脈沖的輸入端。在8051單片機(jī)內(nèi)部有一個(gè)4KB或8KB的程序存儲(chǔ)器(ROM)。ROM的作用是用來(lái)存放用戶需要執(zhí)行的程序的,程序通過(guò)編程脈沖輸入才能寫進(jìn)

8、去,這個(gè)脈沖的輸入端口就是PROG。(7)PSEN外部程序存儲(chǔ)器讀選通信號(hào)在讀外部ROM時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部ROM單元的讀操作。 內(nèi)部ROM讀取時(shí),PSEN不動(dòng)作。 外部ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次。 外部RAM讀取時(shí),兩個(gè)PSEN脈沖被跳過(guò),不會(huì)輸出。 外接ROM時(shí),與ROM的OE腳相接。(8)EA/VPP訪問(wèn)程序存儲(chǔ)器控制信號(hào) 接高電平時(shí),CPU讀取內(nèi)部程序存儲(chǔ)器(ROM),擴(kuò)展外部ROM。當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過(guò)0FFFH(8051)、1FFFH(8052)時(shí),自動(dòng)讀取外部ROM。 接低電平時(shí),CPU讀取外部程序存儲(chǔ)器(ROM)。8031單片機(jī)內(nèi)部是沒(méi)有ROM的,那

9、么在應(yīng)用8031單片機(jī)時(shí),這個(gè)腳是一直接低電平的。 8751燒寫內(nèi)部EPROM時(shí),利用此腳輸入21V的燒寫電壓。(9)RST復(fù)位信號(hào)當(dāng)輸入的信號(hào)連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。復(fù)位后,程序計(jì)數(shù)器PC=0000H,即復(fù)位后將從程序存儲(chǔ)器的0000H單元讀取第一條指令碼。(10)XTAL1和XTAL2外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此兩引腳用于外接石英晶體和微調(diào)電容。當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。2.1.3MCS-51單片機(jī)的存儲(chǔ)器(1)片內(nèi)存儲(chǔ)器片內(nèi)存儲(chǔ)器1.2.1節(jié)已有介紹。圖2-3為存儲(chǔ)器結(jié)構(gòu)圖。(2)程序存儲(chǔ)器一個(gè)微處理器能夠聰明地執(zhí)行

10、某種任務(wù),除了它們強(qiáng)大的硬件外,還需要運(yùn)行的軟件。其實(shí)微處理器并不聰明,它們只是完全按照人們預(yù)先編寫的程序執(zhí)行任務(wù)。設(shè)計(jì)人員編寫的程序就存放在微處理器的程序存儲(chǔ)器中,俗稱只讀程序存儲(chǔ)器(ROM)。程序相當(dāng)于給微處理器處理問(wèn)題的一系列命令。其實(shí)程序和數(shù)據(jù)一樣,都是由機(jī)器碼組成的代碼串,只是程序代碼存放于程序存儲(chǔ)器中。MCS-51具有64KB程序存儲(chǔ)器尋址空間,用于存放用戶程序、數(shù)據(jù)和表格等信息。對(duì)于內(nèi)部無(wú)ROM的8031單片機(jī),它的程序存儲(chǔ)器必須外接,空間地址為64KB,此時(shí)單片 圖2-3存儲(chǔ)器結(jié)構(gòu)圖機(jī)的端必須接地,強(qiáng)制CPU從外部程序存儲(chǔ)器讀取程序。對(duì)于內(nèi)部有ROM的8051等單片機(jī),正常運(yùn)行

11、時(shí)需接高電平,使CPU先從內(nèi)部的程序存儲(chǔ)中讀取程序,當(dāng)PC值超過(guò)內(nèi)部ROM的容量時(shí),才會(huì)轉(zhuǎn)向外部的程序存儲(chǔ)器讀取程序。當(dāng)=1時(shí),程序從片內(nèi)ROM開始執(zhí)行。當(dāng)PC值超過(guò)片內(nèi)ROM容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向外部ROM空間。當(dāng)=0時(shí),程序從外部存儲(chǔ)器開始執(zhí)行,例如前面提到的片內(nèi)無(wú)ROM的8031單片機(jī),在實(shí)際應(yīng)用中就要把8031的引腳接為低電平。8051片內(nèi)有4KB的程序存儲(chǔ)單元,其地址為0000H0FFFH。單片機(jī)啟動(dòng)復(fù)位后,程序計(jì)數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從0000H單元開始執(zhí)行程序。但在程序存儲(chǔ)中有些特殊的單元,在使用中應(yīng)加以注意。其中一組特殊單元是0000H0002H。系統(tǒng)復(fù)位后,PC為00

12、00H,單片機(jī)從0000H單元開始執(zhí)行程序,如果程序不是從0000H單元開始,則應(yīng)在這三個(gè)單元中存放一條無(wú)條件轉(zhuǎn)移指令,讓CPU直接去執(zhí)行用戶指定的程序。另一組特殊單元是0003H002AH。這40個(gè)單元各有用途,它們被均勻地分為5段,定義如下。0003H000AH外部中斷0中斷地址區(qū)。000BH0012H定時(shí)/計(jì)數(shù)器0中斷地址區(qū)。0013H001AH外部中斷1中斷地址區(qū)。001BH0022H定時(shí)/計(jì)數(shù)器1中斷地址區(qū)。0023H002AH串行中斷地址區(qū)??梢?以上的40個(gè)單元是專門用于存放中斷處理程序的地址單元,中斷響應(yīng)后,按中斷的類型自動(dòng)轉(zhuǎn)到各自的中斷區(qū)去執(zhí)行程序。每個(gè)中斷服務(wù)程序只有8個(gè)字

13、節(jié)單元,用8個(gè)字節(jié)來(lái)存放一個(gè)中斷服務(wù)程序顯然是不可能的,因此,以上地址單元不能用于存放程序的其他內(nèi)容,只能存放中斷服務(wù)程序。但通常情況下,是在中斷響應(yīng)的地址區(qū)安放一條無(wú)條件轉(zhuǎn)移指令,指向程序存儲(chǔ)器的其他真正存放中斷服務(wù)程序的空間去執(zhí)行,這樣中斷響應(yīng)后,CPU讀到這條轉(zhuǎn)移指令,便轉(zhuǎn)向其他地方去繼續(xù)執(zhí)行中斷服務(wù)程序。圖2-4是ROM的地址分配圖。圖2-4ROM結(jié)構(gòu)圖從圖中可以看到,0000H0002H只有3個(gè)存儲(chǔ)單元,3個(gè)存儲(chǔ)單元在程序存放時(shí)是存放不了實(shí)際意義的程序的。通常在實(shí)際編寫程序時(shí)是在這里安排一條ORG指令,通過(guò)ORG指令跳轉(zhuǎn)到從0033H開始的用戶ROM區(qū)域,再來(lái)安排程序語(yǔ)言。從0033

14、開始的用戶ROM區(qū)域,用戶可以通過(guò)ORG指令任意安排,但在應(yīng)用中應(yīng)注意,不要超過(guò)實(shí)際的存儲(chǔ)空間,不然程序就會(huì)找不到。(3)數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器也稱為隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器分為內(nèi)部數(shù)據(jù)存儲(chǔ)和外部數(shù)據(jù)存儲(chǔ)。MCS-51內(nèi)部RAM有128B或256B的用戶數(shù)據(jù)存儲(chǔ)(不同的型號(hào)有分別),片外最多可擴(kuò)展64KB的RAM,構(gòu)成兩個(gè)地址空間。訪問(wèn)片內(nèi)RAM用“MOV”指令,訪問(wèn)片外RAM用“MOVX”指令,它們是用于存放執(zhí)行的中間結(jié)果和過(guò)程數(shù)據(jù)的。MCS-51的數(shù)據(jù)存儲(chǔ)器均可讀寫,部分單元還可以位尋址。MCS-51單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間,即數(shù)據(jù)存儲(chǔ)器空間(低128單

15、元)和特殊功能寄存器空間(高128單元)。這兩個(gè)空間是相連的,從用戶角度而言,低128單元才是真正的數(shù)據(jù)存儲(chǔ)器。低128單元中片內(nèi)數(shù)據(jù)存儲(chǔ)器為8位地址,所以最大可尋址的范圍為256個(gè)單元地址,對(duì)片外數(shù)據(jù)存儲(chǔ)器采用間接尋址方式,R0、R1和DPTR都可以作為間接尋址寄存器。R0、R1是8位的寄存器,即R0、R1的尋址范圍最大為256個(gè)單元,而DPTR是16位地址指針,尋址范圍就可達(dá)到64KB。也就是說(shuō)在尋址片外數(shù)據(jù)存儲(chǔ)器時(shí),尋址范圍超過(guò)了256B,就不能用R0、R1作為間接尋址寄存器,而必須用DPTR寄存器作為間接尋址寄存器。8051單片機(jī)片內(nèi)RAM共有256個(gè)單元(00HFFH),這256個(gè)單

16、元共分為兩部分:地址00H7FH單元(共128個(gè)字節(jié))為用戶數(shù)據(jù)RAM,80HFFH地址單元(也是128個(gè)字節(jié))為特殊寄存器(SFR)單元。從圖2-5中可清楚地看出它們的結(jié)構(gòu)分布。圖2-5RAM結(jié)構(gòu)圖 通用寄存器區(qū)(00H1FH)。在00H1FH共32個(gè)單元中被均勻地分為四塊,每塊包含八個(gè)8位寄存器,均以R0R7來(lái)命名,常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0R7,用程序狀態(tài)字寄存器(PSW)來(lái)管理它們,CPU只要定義這個(gè)寄存的PSW的D3和D4位(RS0和RS1),即可選中這4組通用寄存器。對(duì)應(yīng)的編碼關(guān)系如表2-1所示。若程序中并不需要用4組,那么其余的可用作一般的數(shù)據(jù)緩沖器,

17、CPU在復(fù)位后選中第0組工作寄存器。表2-1通用寄存器編碼關(guān)系表表2-1通用寄存器編碼關(guān)系表 位尋址區(qū)(20H2FH)。片內(nèi)RAM的20H2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對(duì)它們的位進(jìn)行尋址。位尋址區(qū)共有16個(gè)字節(jié),128個(gè)位,位地址為00H7FH。位地址分配如表2-2所示。CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉(zhuǎn)移,傳送和邏輯等操作。常稱MCS-51具有布爾處理功能,布爾處理的存儲(chǔ)空間指的就是這些位尋址區(qū)。 用戶RAM區(qū)(30H7FH)。在片內(nèi)RAM低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,剩下的80個(gè)單元就是供用戶使用的一

18、般RAM區(qū)了,地址單元為30H7FH。對(duì)這部分區(qū)域的使用不做任何規(guī)定和限制,但應(yīng)說(shuō)明的是,堆棧一般開辟在這個(gè)區(qū)域。 特殊功能寄存器區(qū)(80HFFH)。在片內(nèi)的RAM中,高128位是專用寄存器區(qū),其功能如表2-3所示。ACC是累加器,通常用A表示。它是一個(gè)寄存器,而不是一個(gè)做加法的東西。所有運(yùn)算類指令都離不開它。自身帶有全零標(biāo)志Z,若A=0,則Z=1;若A0,則Z=0。該標(biāo)志常用作程序分枝轉(zhuǎn)移的判斷條件。表2-2RAM位尋址區(qū)地址表表2-2RAM位尋址區(qū)地址表表2-2RAM位尋址區(qū)地址表表2-3特殊功能寄存器介紹表2-3特殊功能寄存器介紹表2-3特殊功能寄存器介紹B一個(gè)寄存器。在做乘、除法時(shí)存放

19、乘數(shù)或除數(shù),不做乘、除法時(shí),可任意使用。PSW程序狀態(tài)字。這是一個(gè)很重要的東西,里面放了CPU工作時(shí)的很多狀態(tài),借此,可以了解CPU的當(dāng)前狀態(tài),并做出相應(yīng)的處理。它的各位功能見表2-4。表2-4程序狀態(tài)字對(duì)應(yīng)表表2-4程序狀態(tài)字對(duì)應(yīng)表下面逐一介紹各程序狀態(tài)字的用途。CY進(jìn)位標(biāo)志。8051中的運(yùn)算器是一種8位的運(yùn)算器,8位運(yùn)算器只能表示到0255,如果做加法,兩數(shù)相加可能會(huì)超過(guò)255,這樣最高位就會(huì)丟失,造成運(yùn)算的錯(cuò)誤。最高位就是用來(lái)存放進(jìn)位和借位的。有進(jìn)、借位,CY=1;無(wú)進(jìn)、借位,CY=0。例:78H+97H(01111000+10010111)。01111000(有進(jìn)位,CY=1)AC輔助

20、進(jìn)、借位(高半字節(jié)與低半字節(jié)間的進(jìn)、借位)。例:57H+3AH(01010111+00111010)。01010111(位4向位5有進(jìn)位,AC=1)F0用戶標(biāo)志位,由用戶(編程人員)決定什么時(shí)候用,什么時(shí)候不用。RS1、RS0工作寄存器組選擇位。OV溢出標(biāo)志位。運(yùn)算結(jié)果按補(bǔ)碼運(yùn)算理解。有溢出,OV=1;無(wú)溢出,OV=0。溢出的概念后面的章節(jié)會(huì)講到。P奇偶校驗(yàn)位。它用來(lái)表示ALU運(yùn)算結(jié)果中二進(jìn)制數(shù)位“1”的個(gè)數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。運(yùn)算結(jié)果有奇數(shù)個(gè)1,P=1;運(yùn)算結(jié)果有偶數(shù)個(gè)1,P=0。例:某運(yùn)算結(jié)果是78H(01111000),顯然1的個(gè)數(shù)為偶數(shù),所以P=0。DPTR(DPH

21、、DPL)數(shù)據(jù)指針,可以用它來(lái)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器中的任一單元,如果不用,也可以作為通用寄存器來(lái)用。DPTR分成DPL(低8位)和DPH(高8位)兩個(gè)寄存器,用來(lái)存放16位地址值,以便用間接尋址或變址尋址的方式對(duì)片外數(shù)據(jù)RAM或程序存儲(chǔ)器作64KB范圍內(nèi)的數(shù)據(jù)操作。P0、P1、P2、P3是四個(gè)并行I/O口的寄存器。它里面的內(nèi)容對(duì)應(yīng)著引腳的輸出。IE中斷允許寄存器。按位尋址,地址A8H,參見表2-5。表2-5IE寄存器表2-5IE寄存器EA(IE.7):EA=0時(shí),所有中斷禁止(即不產(chǎn)生中斷);EA=1時(shí),各中斷的產(chǎn)生由個(gè)別的允許位決定。(IE.6):保留。ET2(IE.5):定時(shí)器2溢出中斷允許

22、(8052用)。ES(IE.4):串行口中斷允許(ES=1允許,ES=0禁止)。ET1(IE.3):定時(shí)器1中斷允許。EX1(IE.2):外中斷INT1中斷允許。ET0(IE.1):定時(shí)器0中斷允許。EX0(IE.0):外部中斷INT0的中斷允許。 IP中斷優(yōu)先級(jí)控制寄存器。按位尋址,地址B8H,參見表2-6。表2-6IP寄存器表2-6IP寄存器(IP.7):保留。(IP.6):保留。PT2(IP.5):定時(shí)器2中斷優(yōu)先(8052用)。PS(IP.4):串行口中斷優(yōu)先。PT1(IP.3):定時(shí)器1中斷優(yōu)先。PX1(IP.2):外中斷INT1中斷優(yōu)先。PT0(IP.1):定時(shí)器0中斷優(yōu)先。PX0

23、(IP.0):外部中斷INT0的中斷優(yōu)先。TMOD定時(shí)器控制寄存器。不按位尋址,地址89H,參見表2-7。表2-7TMOD寄存器表2-7TMOD寄存器GATE定時(shí)操作開關(guān)控制位。當(dāng)GATE=1時(shí),INT0或INT1引腳為高電平,同時(shí)TCON中的TR0或TR1控制位為1時(shí),計(jì)時(shí)器/計(jì)數(shù)器0或1才開始工作;當(dāng)GATE=0時(shí),則只要將TR0或TR1控制位設(shè)為1,計(jì)時(shí)器/計(jì)數(shù)器0或1就開始工作。C/T定時(shí)器或計(jì)數(shù)器功能的選擇位。C/T=1為計(jì)數(shù)器,通過(guò)外部引腳T0或T1輸入計(jì)數(shù)脈沖;C/T=0時(shí)為定時(shí)器,由內(nèi)部系統(tǒng)時(shí)鐘提供計(jì)時(shí)工作脈沖。M1模式選擇位高位。M0模式選擇位低位。M0和M1工作模式如表2-

24、8所示。表2-8TMOD工作模式選擇表2-8TMOD工作模式選擇TCON定時(shí)器控制寄存器。按位尋址,地址88H,參見表2-9。表2-9TCON寄存器表2-9TCON寄存器 SP堆棧指針。日常生活中有這樣的現(xiàn)象:家里洗的碗,一只一只摞起來(lái),最晚放上去的放在最上面,而最早放上去的則放在最下面,在取的時(shí)候正好相反,先從最上面取。這種現(xiàn)象用一句話來(lái)概括:“先進(jìn)后出,后進(jìn)先出”。這實(shí)際是一種存取物品的規(guī)則,稱之為“堆?!薄T趩纹瑱C(jī)中,也可以在RAM中構(gòu)造這樣一個(gè)區(qū)域,用來(lái)存放數(shù)據(jù),這個(gè)區(qū)域存放數(shù)據(jù)的規(guī)則就是“先進(jìn)后出,后進(jìn)先出”,也稱之為“堆?!?。8031單片機(jī)共有21個(gè)字節(jié)的特殊功能寄存器(SFR),

25、起著專用寄存器的作用,用來(lái)設(shè)置片內(nèi)電路的運(yùn)行方式,記錄電路的運(yùn)行狀態(tài),并標(biāo)明有關(guān)標(biāo)志等。此外,特殊功能寄存器中,還有把并行和串行I/O端口映射過(guò)來(lái)的寄存器,對(duì)這些寄存器的讀寫,可實(shí)現(xiàn)從相應(yīng)I/O端口的輸入、輸出操作。21個(gè)特殊功能寄存器不連續(xù)地分布在128個(gè)字節(jié)的SFR存儲(chǔ)空間中,地址空間為80HFFH。在這片SFR空間中,包含有128個(gè)位地址空間,地址也是80HFFH,但只有83個(gè)有效位地址,可對(duì)11個(gè)特殊功能寄存器的某些位作位尋址操作。2.2CIP-51單片機(jī)基本功能介紹標(biāo)準(zhǔn)8051單片機(jī)由8部分組成,它們是微處理器、數(shù)據(jù)存儲(chǔ)器、四個(gè)I/O口、程序存儲(chǔ)器、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、

26、特殊功能寄存器,由單一總線控制完成工作。MCU系統(tǒng)控制器的內(nèi)核是CIP-51微控制器。CIP-51與MCS-51TM指令集完全兼容, 圖2-6CIP-51原理框圖可以使用標(biāo)準(zhǔn)803x/805x的匯編器和編譯器進(jìn)行軟件開發(fā)。該系列MCU具有標(biāo)準(zhǔn)8051的所有外設(shè)部件,包括5個(gè)16位的計(jì)數(shù)器/定時(shí)器(詳見學(xué)習(xí)情境六)、2個(gè)全雙工UART(詳見學(xué)習(xí)情境九)、256B內(nèi)部RAM、128B特殊功能寄存器(SFR)地址空間及8/4個(gè)8位寬的I/O端口。CIP-51還包含片內(nèi)調(diào)試硬件和與MCU直接接口的模擬和數(shù)字子系統(tǒng),在一個(gè)集成電路內(nèi)提供了完整的數(shù)據(jù)采集或控制系統(tǒng)解決方案。CIP-51微控制器內(nèi)核除了具有

27、標(biāo)準(zhǔn)8051的組織結(jié)構(gòu)和外設(shè)以外,另有增加的定制外設(shè)和功能,大大增強(qiáng)了它的處理能力,見圖2-6的原理框圖。CIP-51具有下列特點(diǎn)。 與MCS-51指令集完全兼容擴(kuò)展的中斷處理系統(tǒng)。 在25MHz時(shí)鐘時(shí)最大速度為25MIPS復(fù)位輸入。 025MHz的時(shí)鐘頻率電源管理方式。 256B內(nèi)部RAM片內(nèi)調(diào)試邏輯。 8/4個(gè)8位I/O端口程序和數(shù)據(jù)存儲(chǔ)器安全。2.3單片機(jī)復(fù)位復(fù)位電路允許很容易地將控制器置于一個(gè)預(yù)定的缺省狀態(tài)。在進(jìn)入復(fù)位狀態(tài)時(shí),將發(fā)生以下過(guò)程: CIP-51停止程序執(zhí)行; 特殊功能寄存器(SFR)被初始化為所定義的復(fù)位值; 外部端口引腳被置于一個(gè)已知狀態(tài); 中斷和定時(shí)器被禁止。所有SFR

28、都被初始化為預(yù)定值,SFR中各位的復(fù)位值在SFR的詳細(xì)說(shuō)明中定義。在復(fù)位期間內(nèi)部數(shù)據(jù)存儲(chǔ)器的內(nèi)容不發(fā)生改變,復(fù)位前存儲(chǔ)的數(shù)據(jù)保持不變。但由于堆棧指針SFR被復(fù)位,堆棧實(shí)際上已丟失,盡管堆棧中的數(shù)據(jù)未發(fā)生變化。I/O端口鎖存器的復(fù)位值為0 xFF(全部為邏輯“1”),內(nèi)部弱上拉有效,使外部I/O引腳處于高電平狀態(tài)。外部I/O引腳并不立即進(jìn)入高電平狀態(tài),而是在進(jìn)入復(fù)位狀態(tài)后的4個(gè)系統(tǒng)時(shí)鐘之內(nèi)。注意在復(fù)位期間弱上拉是被禁止的,在器件退出復(fù)位狀態(tài)時(shí)弱上拉被使能,這就使得在器件保持在復(fù)位狀態(tài)期間可以節(jié)省功耗。對(duì)于VDD監(jiān)視器復(fù)位,引腳被驅(qū)動(dòng)為低電平,直到VDD復(fù)位超時(shí)結(jié)束。在退出復(fù)位狀態(tài)時(shí),程序計(jì)數(shù)器(

29、PC)被復(fù)位,MCU使用內(nèi)部振蕩器運(yùn)行在2MHz作為默認(rèn)的系統(tǒng)時(shí)鐘??撮T狗定時(shí)器被使能,使用其最長(zhǎng)的超時(shí)時(shí)間(見2.3.8節(jié))。一旦系統(tǒng)時(shí)鐘源穩(wěn)定,程序從地址0 x0000開始執(zhí)行。有7個(gè)能使MCU進(jìn)入復(fù)位狀態(tài)的復(fù)位源:上電/掉電、外部引腳、外部CNVSTR信號(hào)、軟件命令、比較器0、時(shí)鐘丟失檢測(cè)器及看門狗定時(shí)器,見圖2-7。下面將對(duì)每個(gè)復(fù)位源進(jìn)行說(shuō)明。2.3.1上電復(fù)位C8051F020/1/2/3有一個(gè)電源監(jiān)視器,在上電期間該監(jiān)視器使MCU保持在復(fù)位狀態(tài),直到VDD上升到超過(guò)VRST電平,見圖2-8的時(shí)序圖。引腳一直被置為低電平,直到100ms的VDD監(jiān)視器超時(shí)時(shí)間結(jié)束,這100ms的等待時(shí)

30、間是為了使VDD電源穩(wěn)定。在退出上電復(fù)位狀態(tài)時(shí),PORSF標(biāo)志(RSTSRC.1)被硬件置為邏輯“1”,RSTSRC 圖2-7復(fù)位源框圖圖2-8復(fù)位時(shí)序圖寄存器中的其他復(fù)位標(biāo)志是不確定的。PORSF被任何其他復(fù)位清0。由于所有的復(fù)位都導(dǎo)致程序從同一個(gè)地址(0 x0000)開始執(zhí)行,軟件可以通過(guò)讀PORSF標(biāo)志來(lái)確定是否為上電導(dǎo)致的復(fù)位。在一次上電復(fù)位后,內(nèi)部數(shù)據(jù)存儲(chǔ)器中的內(nèi)容應(yīng)被認(rèn)為是不確定的。通過(guò)將MONEN引腳直接連VDD來(lái)使能VDD監(jiān)視器。這是MONEN引腳的推薦配置。2.3.2掉電復(fù)位當(dāng)發(fā)生掉電或因電源不穩(wěn)定而導(dǎo)致VDD下降到低于VRST電平時(shí),電源監(jiān)視器將引腳置于低電平并使CIP-5

31、1回到復(fù)位狀態(tài)。當(dāng)VDD回升到超過(guò)VRST電平時(shí),CIP-51將離開復(fù)位狀態(tài),過(guò)程與上電復(fù)位相同。注意即使內(nèi)部數(shù)據(jù)存儲(chǔ)器的內(nèi)容未因掉電復(fù)位而發(fā)生變化,也無(wú)法確定VDD是否下降到維持?jǐn)?shù)據(jù)有效所需要的電壓以下。如果PORSF標(biāo)志被置“1”,則數(shù)據(jù)可能不再有效。2.3.3外部復(fù)位外部引腳提供了使用外部電路強(qiáng)制MCU進(jìn)入復(fù)位狀態(tài)的手段。在引腳上加一個(gè)低電平有效信號(hào),將導(dǎo)致MCU進(jìn)入復(fù)位狀態(tài)。最好能提供一個(gè)外部上拉和/或?qū)σ_去耦以防止強(qiáng)噪聲引起復(fù)位。在低有效的信號(hào)撤出后,MCU將保持在復(fù)位狀態(tài)至12個(gè)時(shí)鐘周期。從外部復(fù)位狀態(tài)退出后,PINRSF標(biāo)志(RSTSRC.0)被置位。2.3.4軟件強(qiáng)制復(fù)位向S

32、WRSEF位寫1,將強(qiáng)制產(chǎn)生一個(gè)上電復(fù)位,如2.3.1節(jié)所述。2.3.5時(shí)鐘丟失檢測(cè)器復(fù)位時(shí)鐘丟失檢測(cè)器實(shí)際上是由MCU系統(tǒng)時(shí)鐘觸發(fā)的單穩(wěn)態(tài)電路。如果未收到系統(tǒng)時(shí)鐘的時(shí)間大于100s,單穩(wěn)態(tài)電路將超時(shí)并產(chǎn)生一個(gè)復(fù)位。在發(fā)生時(shí)鐘丟失檢測(cè)器復(fù)位后,MCDRSF標(biāo)志(RSTSRC.2)將被置“1”,表示本次復(fù)位源為MSD;否則該位被清“0”。引腳的狀態(tài)不受該復(fù)位的影響。把OSCIN寄存器中的MSCLKE位置“1”,將使能時(shí)鐘丟失檢測(cè)器。2.3.6比較器0復(fù)位向CORSEF標(biāo)志(RSTSRC.5)寫“1”,可以將比較器0配置為復(fù)位源。應(yīng)在寫CORSEF之前用CP-TOCN.7使能比較器0,以防止通電瞬間在輸出端產(chǎn)生抖動(dòng),從而產(chǎn)生不希望的復(fù)位。比較器0復(fù)位是低電平有效:如果同相端輸入電壓(CP0+引腳)小于反相端輸入電壓(CP0-引腳),則MCU被置于復(fù)位狀態(tài)。在發(fā)生比較器0復(fù)位之后,CORSEF標(biāo)志(RSTSRC.5)的讀出值為“1”,表示本次復(fù)位源為比較器0;否則該位被清“0”。引腳的狀態(tài)不受該復(fù)位的影響。2.3.7外部CNVSTR引腳復(fù)位向CNVRSEF標(biāo)志(RSTSRC.6)寫“1”,可以將外部CNVSTR信號(hào)配置為復(fù)位源。CNVSTR信號(hào)可以出現(xiàn)在P0、P1、P2或P3的任何I/O引腳。注意:交叉開關(guān)必須被配置為使CNVSTR信號(hào)接到正確的端口I/O。應(yīng)該在將CNVRS

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論