單片機系統(tǒng)擴展技術(shù)(并行口)_第1頁
單片機系統(tǒng)擴展技術(shù)(并行口)_第2頁
單片機系統(tǒng)擴展技術(shù)(并行口)_第3頁
單片機系統(tǒng)擴展技術(shù)(并行口)_第4頁
單片機系統(tǒng)擴展技術(shù)(并行口)_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 目錄,2-1 80C51單片微機的內(nèi)部結(jié)構(gòu) 2-2 80C51單片機的引腳及其功能 2-3 80C51 CPU的結(jié)構(gòu)和特點 2-4 存儲器結(jié)構(gòu)和地址空間 2-5 并行輸入/輸出端口 2-6 布爾(位)處理器 2-7 80C51單片微機的工作方式,數(shù)據(jù)存儲器(data memory)由隨機存取存儲器RAM構(gòu)成,用來存放隨機數(shù)據(jù)。 在80C51中,數(shù)據(jù)存儲器又分片內(nèi)數(shù)據(jù)存儲器(internal data memory)和片外數(shù)據(jù)存儲器(external data memory)兩部分。 片內(nèi)數(shù)據(jù)存儲器(IRAM)地址只有8位,因而最大尋址范圍為256個字節(jié)。 在80C51中,設(shè)置有一個專門

2、的數(shù)據(jù)存儲器的地址指示器數(shù)據(jù)指針DPTR,用于訪問片外數(shù)據(jù)存儲器(ERAM)。數(shù)據(jù)指針DPTR也是16位的寄存器,這樣,就使80C51具有64 KB的數(shù)據(jù)存儲器擴展能力。,2-4-2 內(nèi)部數(shù)據(jù)存儲器,片內(nèi)數(shù)據(jù)存儲器是最靈活的地址空間。它在物理上又分成兩個獨立的功能不同的區(qū)。 片內(nèi)數(shù)據(jù)RAM區(qū):對80C51,為地址空間的低128 B; 對80C52,為地址空間的0256B。 特殊功能寄存器SFR區(qū):地址空間的高 128 B。 對于80C52,高128B的RAM區(qū)和SFR區(qū)的地址空間是重疊的。究竟訪問哪一個區(qū)是通過不同的尋址方式來加以區(qū)別,即訪問高 128B RAM區(qū)時,選用間接尋址方式;訪問SF

3、R區(qū),則應(yīng)選用直接尋址方式。 圖2-10為片內(nèi)數(shù)據(jù)存儲器的地址空間分布圖。,工作寄存器區(qū):這是一個用寄存器直接尋址的區(qū)域,指令的數(shù)量最多,均為單周期指令,執(zhí)行的速度最快。 從圖 210中可知,其中片內(nèi)數(shù)據(jù) RAM區(qū)的 031(00H1FH),共 32個單元,是 4個通用工作寄存器組(表2l),每個組包含 8個 8位寄存器,編號為 R0R7。 在某一時刻,只能選用一個寄存器組使用。其選擇是通過軟件對程序狀態(tài)字(PSW)中的RS0、RS1二位的設(shè)置來實現(xiàn)的。設(shè)置RS0、RS1時,可以對PSW字節(jié)尋址,也可以位尋址方式,間接或直接修改RS0、RS1的內(nèi)容。通常采用后者較方便。, 片內(nèi)數(shù)據(jù)RAM區(qū),例

4、如,若RS0、RS1均為0,則選用工作寄存器0組為當(dāng)前工作寄存器?,F(xiàn)需選用工作寄存器組1則只需將RS0改成 l,可用位尋址方式(SETB PSW3,PSW3為RS0位的符號地址)來實現(xiàn)。 累加器ACC、B、DPTR及CY(布爾處理器的累加器)一般也作為寄存器對待。 寄存器R0、R1 通常用做間接尋址時的地址指針。 位尋址區(qū): 從片內(nèi)數(shù)據(jù)RAM區(qū)的3247(20H2FH)的16個字節(jié)單元,共包含128位,是可位尋址的RAM區(qū)。這16個字節(jié)單元,既可進行字節(jié)尋址,又可位尋址。字節(jié)地址與位地址之間的關(guān)系見表22。,這16個位尋址單元,再加上可位尋址的特殊功能寄存器一起構(gòu)成了布爾(位)處理器的數(shù)據(jù)存儲

5、器空間。在這一存儲器空間所有位都是可直接尋址的,即它們都具有位地址。 字節(jié)尋址區(qū): 從片內(nèi)數(shù)據(jù)RAM區(qū)的48127(30H7FH),共80個字節(jié)單元,可以采用直接字節(jié)尋址的方法訪問。 對于 80C52,還有高 128 B的數(shù)據(jù) RAM區(qū)。這一區(qū)域只能采用間接字節(jié)尋址的方法訪問。 堆棧區(qū)及堆棧指示器SP: 堆棧是在片內(nèi)數(shù)據(jù)RAM區(qū)中,數(shù)據(jù)先進后出或后進先出的區(qū)域。堆棧指示器(stack pointer)在80C51中存放當(dāng)前的堆棧棧頂所指存儲單元地址的一個8位寄存器。,堆棧有二種形式,一是向上生成,二是向下生成。80C51單片微機的堆棧是向上生成的:即進棧時SP的內(nèi)容是增加的;出棧時SP的內(nèi)容是

6、減少的。 80C51的堆棧區(qū)域可用軟件設(shè)置堆棧指示器(SP)的值,在片內(nèi)數(shù)據(jù)RAM區(qū)中予以定義。 系統(tǒng)復(fù)位后SP內(nèi)容為07H。如不重新定義,則以07H為棧底,壓棧的內(nèi)容從08H單元開始存放。通過軟件對SP的內(nèi)容重新定義,使堆棧區(qū)設(shè)定在片內(nèi)數(shù)據(jù)RAM區(qū)中的某一區(qū)域內(nèi),堆棧深度不能超過片內(nèi)RAM空間。 堆棧是為子程序調(diào)用和中斷操作而設(shè)立的。其具體功能有兩個:保護斷點和保護現(xiàn)場。在80C51單片微機中,堆棧在子程序調(diào)用和中斷時會把斷點地址自動進棧和出棧,還有對堆棧的進棧和出棧的指令(PUSH、POP)操作,用于保護現(xiàn)場和恢復(fù)現(xiàn)場。, 特殊功能寄存器 SFR區(qū) 特殊功能寄存器SFR(Special F

7、unction Register)是80C51中各功能部件所對應(yīng)的寄存器,用以存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)的區(qū)域。 80C51設(shè)有128 B片內(nèi)數(shù)據(jù)RAM結(jié)構(gòu)的特殊功能寄存器空間區(qū)。除程序計數(shù)器PC和4個通用工作寄存器組外,其余所有的寄存器都在這個地址空間之內(nèi)。,對于80C51共定義了21個特殊功能寄存器,其名稱和字節(jié)地址列于表23中。在80C52中,除上述80C51的21個之外,還增加了5個特殊功能寄存器,共計26個。訪問其它地址無效。 在80C51的21個(80C52的26個)特殊功能寄存器中,字節(jié)地址中低位地址為0H或8H的特殊功能寄存器,除有字節(jié)尋址能力外,還有位尋址能力。這

8、些特殊功能寄存器與位地址的對應(yīng)關(guān)系見表24。,2-4-3 片外數(shù)據(jù)存儲區(qū),片外數(shù)據(jù)存儲器是在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域只能用寄存器間接尋址的方法訪問,所用的寄存器為DPTR、R1或R0。指令助記符為MOVX。 當(dāng)用R0、R1尋址時,由于R0、R1為8位寄存器,因此最大尋址范圍為256B;當(dāng)用DPTR尋址時,由于DPTR為16位寄存器,因此最大尋址范圍為64KB。,2-5 并行輸入/輸出端口,80C51共有四個 8位的并行雙向口,計有 32根輸入輸出(I/O)口線。各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。由于它們在結(jié)構(gòu)上的一些差異,故各口的性質(zhì)和功能也就有了差異。 它們之間的異同

9、列于表25。,2-5-1 P0口,P0口是一個多功能的8位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為80H,位訪問地址為80H87H。 位結(jié)構(gòu) P0口位結(jié)構(gòu)原理圖見圖211。,P0口中一個多路開關(guān):多路開關(guān)的輸入有兩個,地址數(shù)據(jù)輸出;輸出鎖存器的輸出/Q。多路開關(guān)的輸出用于控制輸出FET Q0的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控制信號控制。 P0口的輸出上拉電路:I/O口的上拉電路導(dǎo)通和截止受內(nèi)部控制信號和地址數(shù)據(jù)信號共同(相“與”)來控制。 當(dāng)內(nèi)部信號置1時,多路開關(guān)接通地址數(shù)據(jù)輸出端。,當(dāng)?shù)刂窋?shù)據(jù)輸出線置1時,控制上拉電路的“與”門輸出為1,上拉FET導(dǎo)通,同時地址數(shù)據(jù)輸出通過反相器輸出

10、0,控制下拉FET截止,這樣A點電位上拉,地址數(shù)據(jù)輸出線為“1”。 當(dāng)?shù)刂窋?shù)據(jù)輸出線置0時,“與”門輸出為0,上拉FET截止,同時地址數(shù)據(jù)輸出通過反相器輸出1,控制下拉FET導(dǎo)通,這樣A點電位下拉,地址數(shù)據(jù)輸出線為“0”。 通過上述分析可以看出,此時的輸出狀態(tài)隨地址數(shù)據(jù)線而變。因此,P1口可以作為地址/數(shù)據(jù)復(fù)用總線使用。這時上下兩個FET處于反相,構(gòu)成了推拉式的輸出電路,其負載能力大大增加。此時的P0口相當(dāng)一個雙向口。 由于內(nèi)部控制信號為0,與門關(guān)閉,上拉FET截止,形成P0口的輸出電路為漏極開路輸出;,P0口作為普通I/O口使用: 輸出鎖存器的Q端引至下拉FET柵極,因此P0口的輸出狀態(tài)由下

11、拉電路決定。 在P0口作輸出口用時,若P0.i 輸出1,輸出鎖存器的Q端為0,下拉FET截止,這時P0.i為漏極開路輸出;若P0.i輸出0,輸出鎖存器的Q端為0,下拉FET導(dǎo)通,P0.i輸出低電平。 在P0口作輸入口用時,為了使P0.i 能正確讀入數(shù)據(jù),必須先使P0.i置1。這樣,下拉FET也截止,P0.i 處于懸浮狀態(tài)。A點的電平由外設(shè)的電平而定,通過輸入緩沖器讀入CPU。這時P0口相當(dāng)于一個高阻抗的輸入口。, P0口的功能 作IO口使用。 相當(dāng)于一個真正的雙向口:輸出鎖存、輸入緩沖,但輸入時需先將口置1;每根口線可以獨立定義為輸入或輸出。它具有雙向口的一切特點。 與其它口的區(qū)別是,輸出時為

12、漏極開路輸出,與NMOS的電路接口時必須要用電阻上拉,才能有高電平輸出;輸入時為懸浮狀態(tài),為一個高阻抗的輸入口。 作地址數(shù)據(jù)復(fù)用總線用。 此時P0口為一個準(zhǔn)雙向口。但是有上拉電阻,作數(shù)據(jù)輸入時,口也不是懸浮狀態(tài)。作地址數(shù)據(jù)復(fù)用總線用。作數(shù)據(jù)總線用時,輸入輸出8位數(shù)據(jù)D0D7;作地址總線用時,輸出低8位地址A0A7。當(dāng)P0口作地址數(shù)據(jù)復(fù)用總線用之后,就再也不能作IO口使用了。,P1口是一個8位口,可以字節(jié)訪問也可按位訪問,其字節(jié)訪問地址為90H,位訪問地址為90H97H。 位結(jié)構(gòu)和工作原理 P1口的位結(jié)構(gòu)如圖212所示。 包含輸出鎖存器、輸入緩沖器BUF1(讀引腳)、BUF2(讀鎖存器)以及由

13、FET晶體管 Q0與上拉電阻組成的輸出輸入驅(qū)動器。 P1口的工作過程分析如下: P1.i位作輸出口用時:CPU輸出0時,D0,Q0,Ql,晶體管Q0導(dǎo)通,A點被下拉為低電平,即輸出0;CPU輸出1時,Dl,Q1,Q0,晶體管Q0截止,A點被上拉為高電平,即輸出l。,2-5-2 P1口, 、 P1口的特點 輸出鎖存器,輸出時沒有條件; 輸入緩沖,輸入時有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出1; P1i位作輸入口用時:先向P1i位輸出高電平,使A點提升為高電平,此操作稱為設(shè)置P1i為輸入線。若外設(shè)輸入為1時A點為高電平,由BUFI讀入總線后B點也為高電平;若外設(shè)輸入為0時A點為低電平,由BUF

14、1讀入總線后B點也為低電平。 工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是輸出態(tài)。 具有這種特性的口不屬于“真正”的雙向口,而被稱為“準(zhǔn)”雙向口。, P1口的操作 字節(jié)操作和位操作 CPU對于 P1口不僅可以作為一個 8位口(字節(jié))來操作,也可以按位來操作。 有關(guān)字節(jié)操作的指令有: 輸出: MOV P1,A ;P1A MOV P1,data ;P1data MOV P1,direct ;P1direct 輸入: MOV A,P1 ;AP1 MOV direct,Pl ;directPl,有關(guān)位操作的指令有: 置位、清除:SETB P1.i ;P1.i1 CLR Pli ;P1i0 輸入、

15、輸出:MOV P1i,C ;P1iCY MOV C,P1i ;CYP1.i 判跳: JB P1i,rel ;P1.I=1,跳轉(zhuǎn) JBC P1i,rel ;P1.i0,跳轉(zhuǎn)且 ;P1.i0 邏輯運算: ANL C,P1i ;CY(P1.iCY) ORL C,P1i ;CY(P1.iCY) P1i中的i0,7。,P1口不僅可以以8位一組進行輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。例如: ORL P1,0 0 0 0 0 0 1 0 B 可以使P1l位口線輸出l,而使其余各位不變。 ANL P1,1 1 1 1 1 1 0 1 B 可以使P11位線輸出0,而使其余各位不變。 讀引腳

16、操作和讀鎖存器操作 從P1口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種是讀引腳操作,一種是讀鎖存器操作。 在響應(yīng)CPU輸出的讀引腳信號時,端口本身引腳的電平值通過緩沖器BUF1進入內(nèi)部總線。這種類型的指令,執(zhí)行之前必須先將端口鎖存器置1,使A點處于高電平,否則會損壞引腳,而且也使信號無法讀出。,這種類型的指令有: MOV A,P1 ;AP1 MOV direct,P1 ;directP1 在執(zhí)行讀鎖存器的指令時,CPU首先完成將鎖存器的值通過緩沖器BUF2讀入內(nèi)部,進行修改,然后重新寫到鎖存器中去,這就是“讀一修改一寫”指令。 這種類型的指令包含所有的口的邏輯操作(ANL、ORL、XRL)和

17、位操作(JBC、CPL、MOV、SETB、CLR等)指令。 P1口的多功能線 在80C52中,P10和P11口線是多功能的,即除作一般雙向I/O口線之外,這兩根口線還具有下列功能: P10定時器計數(shù)器2的外部輸入端T2; P11定時器計數(shù)器2的外部控制端T2EX。,P2口是一個多功能的8位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為A0H,位訪問地址為A0HA7H。 P2口位結(jié)構(gòu)和工作原理 P2口位結(jié)構(gòu)原理圖示于圖213。 多路開關(guān)的輸入有兩個:一個是口輸出鎖存器的輸出端Q;一個是地址寄存器(PC或DPTR)的高位輸出端。多路開關(guān)的輸出經(jīng)反相器反相后去控制輸出FET的 Q0。多路開關(guān)的切換由內(nèi)

18、部控制信號控制。 輸出鎖存器的輸出端是Q而不是Q,多路開關(guān)之后需接反相器。,2-5-3 P2口,P2口的I/O口狀態(tài)。 在內(nèi)部控制信號的作用下,多路開關(guān)的輸入投向輸出鎖存器的輸出Q(C點)側(cè),這樣多路開關(guān)將接通輸出鎖存器。 若經(jīng)由內(nèi)部總線輸出0,輸出鎖存器的Q端為”0”,信號經(jīng)多路開關(guān)和反相器后輸出”1”,Q0導(dǎo)通,A點為”0”,輸出低電平;若經(jīng)由內(nèi)部總線輸出”1”,輸出鎖存器的Q端為”1”,反相器后輸出”0”,Q0截止,A點為”1” ,輸出高電平。 P2口的高8位地址輸出狀態(tài) 在內(nèi)部控制信號的作用下,多路開關(guān)的輸入投向地址輸出(B點)側(cè),這樣多路開關(guān)將接通地址寄存器輸出。A點的電平將隨地址輸

19、出的“0”、“1”而“l(fā)”、“0”地變化。, P2口的功能 從上述工作過程的分析中可以看出P2口是一個雙功能的口: 作IO口使用時,P2口為一準(zhǔn)雙向口。 作地址輸出時,P2口可以輸出程序存儲器或片外數(shù)據(jù)存儲器的高8位地址,與P0輸出的低地址一起構(gòu)成16位地址線,從而可分別尋址64KB的程序存儲器或片外數(shù)據(jù)存儲器。地址線是8位一起自動輸出的。 P2口使用中注意的問題 由于P2口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲器讀、寫選通期間,輸出的高8位地址是鎖存的,故無需外加地址鎖存器。, 在系統(tǒng)中如果外接有程序存儲器,由于訪問片外程序存儲器時連續(xù)不斷的取指操作,P2口需要不斷送出高位地址,這時P2

20、口的全部口線均不宜再作I/O口使用。 在無外接程序存儲器而有片外數(shù)據(jù)存儲器的系統(tǒng)中,P2口使用可分為兩種情況: 若片外數(shù)據(jù)存儲器的容量256 B:可使用“MOVX A,Ri”及“MOVX Ri,A”類指令訪問片外數(shù)據(jù)存儲器,這時P2口不輸出地址,P2口仍可作為I/O口使用; 若片外數(shù)據(jù)存儲器的容量256 B:這時使用“MOVX A,DPTR”及“MOVXDPTR,A”類指令訪問片外數(shù)據(jù)存儲器,P2口需輸出高8位地址。在片外數(shù)據(jù)存儲器讀、寫選通期間,P2口引腳上鎖存高8位地址信息,但是在選通結(jié)束后,P2口內(nèi)原來鎖存的內(nèi)容又重新出現(xiàn)在引腳上。,使用“MOVX A,Ri”及“MOVX Ri,A”類訪

21、問指令時,高位地址通過程序設(shè)定,只利用P1、P3甚至P2口中的某幾根口線送高位地址,從而保留P2口的全部或部分口線作I/O口用。,2.5.4 P3口,P3口是一個多功能的8位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為B0H,位訪問地址為B0HB7H。 位結(jié)構(gòu)與工作原理 P3口的位結(jié)構(gòu)原理如圖214所示。 與非門有兩個輸入端:一個為口輸出鎖存器的Q端,另一個為替代功能的控制輸出。與非門的輸出端控制輸出FET管Q0。 有兩個輸入緩沖器,替代輸入功能取自第一個緩沖器的輸出端;I/O口的通用輸入信號取自第二個緩沖器的輸出端。,輸出工作過程: 當(dāng)替代輸出功能B點置”1”時,輸出鎖存器的輸出可以順利通到

22、引腳P3i。其工作狀況與P1口相類似。這時P3口的工作狀態(tài)為一I/O口,顯然此時該口具有準(zhǔn)雙向口的性質(zhì)。 當(dāng)輸出鎖存器的輸出置“1”時,替代輸出功能可以順利通到引腳P3i。 若替代輸出為“0”時,因與非門的C點已置l,現(xiàn)B點為”0”,故與非門的輸出為“l(fā)”,使Q0導(dǎo)通,從而使A點也為“0”。若替代輸出為“1”時,與非門的輸出為“1”,Q0截止,從而使A點也為高電平。這時P3口的工作狀態(tài)處于替代輸出功能狀態(tài)。, P3口的功能 P3口是一個多功能口。 可作I/O口使用,為準(zhǔn)雙向口。 既可以字節(jié)操作,也可以位操作;既可以8位口操作,也可以逐位定義口線為輸入線或輸出線;既可以讀引腳,也可以讀鎖存器,實

23、現(xiàn)“讀一修改一輸出”操作。 可以作為替代功能的輸入、輸出。 替代輸入功能: P30 RXD,串行輸入口。 P32外部中斷0的請求。 P33外部中斷1的請求。,P34T0,定時器計數(shù)器0外部計數(shù)脈沖輸入。 P35T1,定時器計數(shù)器1外部計數(shù)脈沖輸入。 替代輸出功能: P3lTXD,串行輸出口。 P36外部數(shù)據(jù)存儲器寫選通,輸出,低電平有效。 P37外部數(shù)據(jù)存儲器讀選通,輸出,低電平有效。,2-6 布爾(位)處理器,實際上這是一個完整的一位微計算機,它具有自已的CPU、寄存器、I/O、存儲器和指令集。一位機在開關(guān)決策、邏輯電路仿真、和實時控制方面非常有效。 位處理器系統(tǒng)包括以下幾個功能部件: 位累

24、加器:借用進位標(biāo)志位CY。在布爾運算中CY是數(shù)據(jù)源之一,又是運算結(jié)果的存放處,位數(shù)據(jù)傳送的中心。根據(jù)CY的狀態(tài)實現(xiàn)程序條件轉(zhuǎn)移:JC rel、JNC rel、JBC rel, 位尋址的RAM:內(nèi)部RAM位尋址區(qū)中的0127位(20H2FH); 位尋址的寄存器:特殊功能寄存器(SFR)中的可以位尋址的位。 位尋址的I/O口:并行 I/O口中的可以位尋址的位(如P1.0)。 位操作指令系統(tǒng):位操作指令可實現(xiàn)對位的置位、清0、取反、位狀態(tài)判跳、傳送、位邏輯運算、位輸入/輸出等操作。,2-7 80C51單片微機的工作方式,80C51單片微機共有四種工作方式 復(fù)位、 程序執(zhí)行 低功耗 編程和校驗。,2-

25、7-1 復(fù)位方式, 復(fù)位操作 復(fù)位是單片微機的初始化操作,其主要功能是把PC初始化為0000H,使單片微機從0000H單元開始執(zhí)行程序。當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,可以按復(fù)位鍵以重新啟動,也可以通過監(jiān)視定時器來強迫復(fù)位。 除PC之外,復(fù)位操作還對其它一些特殊功能寄存器有影響,它們的復(fù)位狀態(tài)見表26。,復(fù)位操作還對單片微機的個別引腳信號有影響。例如在復(fù)位期間,即 ALE=l, PSEN =l。 復(fù)位信號及其產(chǎn)生 復(fù)位信號 RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效, 其有效時間應(yīng)持續(xù)24個振蕩周期(即2個機器周期) 以上。 若使用頻率為6MHz的晶振,則

26、復(fù)位信號應(yīng)持續(xù)4s以上。產(chǎn)生復(fù)位信號的電路邏輯圖如圖215所示。 整個復(fù)位電路包括芯片內(nèi)、外兩部分。 外部電路產(chǎn)生的復(fù)位信號(RST)送施密特觸發(fā)器,再由片內(nèi)復(fù)位,復(fù)位方式有三種:上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位,示于圖2-16中,程序執(zhí)行方式是單片微機的基本工作方式。由于復(fù)位后PC0000H,因此程序執(zhí)行總是從0000H開始的。一般在0000H開始的單元中存放一條無條件轉(zhuǎn)移指令,以便跳轉(zhuǎn)到實際主程序的入口去執(zhí)行。 比如: ORG 0000H SJMP MAIN ;轉(zhuǎn)主程序,2-7-2 程序執(zhí)行方式,2.7.3 低功耗工作方式,80C51有兩種低功耗方式,即待機方式和掉電保護方式。待機

27、方式和掉電保護方式時涉及的硬件如圖217所示。 待機方式和掉電保護方式都是由電源控制寄存器(PCON)的有關(guān)位來控制的。,其中: SMOD:波特率倍增位,在串行通訊時使用。 GF1、GF0:通信標(biāo)志位1、0。 PD:掉電方位式,PD1,則進入掉電方式。 IDL:待機方式位,IDL1,則進入待機方式。 待機方式 使用指令使PCON寄存器IDL位置1,則80C51進入待機方式。,電源控制寄存器是一個逐位定義的8位寄存器,其格式如下:,由圖2-17中可看出這時振蕩器仍然運行,并向中斷邏輯、串行口和定時器/計數(shù)器電路提供時鐘,中斷功能繼續(xù)存在 。 向CPU提供時鐘的電路被阻斷,因此CPU不能工作,與C

28、PU有關(guān)的如SP、PC、PSW、ACC以及全部通用寄存器都被凍結(jié)在原狀態(tài)。 可以采用中斷方式或硬件復(fù)位來退出待機方式。 在待機方式下,若產(chǎn)生一個外部中斷請求信號,在單片微機響應(yīng)中斷的同時,PCON.0位(IDL位)被硬件自動清0, 單片微機就退出待機方式而進入正常工作方式。在中斷服務(wù)程序中安排一條RETI指令,就可以使單片微機恢復(fù)正常工作,從設(shè)置待機方式指令的下一條指令開始繼續(xù)執(zhí)行程序。, 掉 電保護方式 PCON寄存器的PD位控制單片微機進入掉電保護方式。 當(dāng)80C51檢測到電源故障時,除進行信息保護外,還應(yīng)把PCON.1位置1,使之進入掉電保護方式。此時單片微機一切工作都停止,只有內(nèi)部RA

29、M單元的內(nèi)容被保護。 只能依靠復(fù)位退出掉電保護方式。 80C51備用電源由Vcc端引入。當(dāng)Vcc恢復(fù)正常后,只要硬件復(fù)位信號維持10ms,就能使單片微機退出掉電保護方式,CPU則從進入待機方式的下一條指令開始重新執(zhí)行程序。 在待機和掉電保護期間引腳的狀態(tài)見表27。,對于片內(nèi)具有EPROM型程序存儲器的87C51(87C52) 和片內(nèi)具有閃速存儲器的89C51 (89C52) 、78E51 (78E52) 等單片微機可以通過編程來修改程序存儲器中的程序。 89C51內(nèi)部有一個4KB的Flash PEROM。編程接口可接收高電壓(12V) 或低電壓(VCC) 的允許編程信號。低電壓編程方式可以很方

30、便的與89C51內(nèi)的用戶系統(tǒng)進行編程;而高壓編程方式則可與通用的EPROM編程器兼容。對于這二種編程方式的芯片面上的型號和片內(nèi)特征字節(jié)的內(nèi)容不同。 閃速存儲器編程方式 表2-8列出了89C51閃速存儲器的編程、校驗、寫鎖定位等時的邏輯電平。,2-7-4 編程方式,注意: 根據(jù)特征字節(jié)(地址為032H) 的內(nèi)容選擇合適的編程電壓(VPP=12V或5V) 片擦除操作時,要求PROG的脈沖寬度為10ms。 閃速存儲器編程 在對89C51編程前,地址、數(shù)據(jù)、控制信號必須按表2-8和圖2-18設(shè)置。 對89C51的編程的步驟如下: 在地址線上輸入要編程存儲器單元地址。 在數(shù)據(jù)線上輸入要寫入的數(shù)據(jù)。 按圖2-19的要求輸出編程和校驗的時序。 對于高壓編程模式,將/VPP升至12V。,每對Flash存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,要向ALE/PROG輸出一個編程脈沖。 改變地址和數(shù)據(jù),重復(fù)以上幾步操作,直至目標(biāo)程序(OBJ文件) 結(jié)束。 字節(jié)寫周期是自動定時的,一般不超過1.5mS 查詢數(shù)據(jù) 89C51可以通過數(shù)據(jù)查詢來檢測一個寫周期是否結(jié)束。若數(shù)據(jù)未寫完,則從P0.7引腳上讀 到的是該數(shù)據(jù)的最高位的反碼。當(dāng)寫周期結(jié)束后,讀出值即為寫入值。 準(zhǔn)備好/忙(RDY/BSY) 信號 從圖2-19中可看出,編程期間ALE/PROG為高

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論