第1章MCS51單片機結(jié)構(gòu)_第1頁
第1章MCS51單片機結(jié)構(gòu)_第2頁
第1章MCS51單片機結(jié)構(gòu)_第3頁
第1章MCS51單片機結(jié)構(gòu)_第4頁
第1章MCS51單片機結(jié)構(gòu)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關(guān)新單片機原理1第1章MCS-51單片機結(jié)構(gòu)1.1單片機內(nèi)部結(jié)構(gòu)

1.2存儲器

1.3特殊功能寄存器

1.48031時鐘電路

1.58031復(fù)位電路

1.68031引腳結(jié)構(gòu)21.1單片機內(nèi)部結(jié)構(gòu)MCS-51系列單片機有多種型號的產(chǎn)品:普通型(51系列):8051、8031、8751、89C51、89S51等。增強型(52系列):8032、8052、8752、89C52、89S52等。它們的結(jié)構(gòu)基本相同,其主要差別反映在存儲器的配置上。8031片內(nèi)沒有程序存儲器;8051內(nèi)部設(shè)有4KB的掩模ROM程序存儲器;8751是將8051片內(nèi)的ROM換成EPROM;89C51則換成4KB的閃速EEPROM;89S51結(jié)構(gòu)同89C51,4KB的閃速EEPROM可在線編程;增強型的存儲容量為普通型的一倍本課以8XX51代表這一系列的單片機。31.1.1概述51系列單片機包含下列幾個部件:一個8位CPU;一個片內(nèi)振蕩器及時鐘電路;4KBROM程序存儲器;128BRAM數(shù)據(jù)存儲器;可尋址64KB外部數(shù)據(jù)存儲器和可尋址64KB外部程序存儲器;32條可編程的I/O線;兩個16位的定時/計數(shù)器;一個可編程全雙工串行口;5個中斷源、兩個優(yōu)先機級嵌套中斷結(jié)構(gòu)。4圖1-151系列單片機內(nèi)部結(jié)構(gòu)P3P1P2可編程串行I/O口P0外部中斷基準(zhǔn)頻率源控制

128/256B數(shù)據(jù)存儲器

4KB/8KB程序存儲器

2/3個16位定時/計數(shù)器

振蕩器及定時電路

CPU

64KB總線擴展控制可編程并行I/O口內(nèi)部中斷計數(shù)脈沖串行輸出串行輸入5

CPU是單片機的核心部件。它由運算器和控制器等部件組成。1.運算器:運算器的功能是進(jìn)行算術(shù)運算:加、減、乘、除、加1、減1、比較BCD碼十進(jìn)制調(diào)整等;邏輯運算:與、或、異或、求反、循環(huán)等邏輯操作;位操作:內(nèi)部有布爾處理器,它以進(jìn)位標(biāo)志位C為位累加器,用來處理位操作。可對位置“1”、對位清零、位判斷等;操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存PSW。1.1.2CPU61.2存儲器圖1-2MCS-51單片機的存儲器邏輯結(jié)構(gòu)FFFFH0000H0FFFH外部

RAM外部ROM內(nèi)部ROM(EA=1)H00008031外部ROM(EA=0)80511000HFFFFH

特殊功能寄存器內(nèi)部數(shù)據(jù)存儲器

內(nèi)部數(shù)據(jù)

RAM7FH80H00HFFH外部數(shù)據(jù)存儲器

(增強型)程序存儲器

地址重疊0FFFHH000071.2.1程序存儲器程序存貯器用于存方編好的程序和表格常數(shù)。程序存貯器是以程序計數(shù)器PC作地址指針,程序計數(shù)器為16位,因此可尋址的空間為64K字節(jié)。低4K字節(jié)的程序存貯器可在單片機的內(nèi)部也可以在單片機的外部,這是由輸入到引腳EA的電平所確定的。EA應(yīng)接高電平。因為89C51內(nèi)部的4K字節(jié)的程序存貯器已完全滿足設(shè)計的需要了,無需再擴展。程序存貯器的傳送指令用MOVCA,@A+PC

MOVCA,@A+DPTR程序存貯器中由7個單元具有特殊功能。0000H單元:單片機復(fù)位后程序計數(shù)器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指,執(zhí)行程序。它是系統(tǒng)的啟動地址,一般在該單元中存放一條絕對跳轉(zhuǎn)指令,而用戶設(shè)計的主程序從跳轉(zhuǎn)地址開始存放。8ROM2732實際圖片9MCS-51的儲存器結(jié)構(gòu)與常見的微型計算機的配置方法不同,它將程序存儲器和數(shù)據(jù)存儲器分開,各有自己的尋址方式、控制信號和功能。程序存儲器用來存放程序和始終要保留的常數(shù)。數(shù)據(jù)存儲器存放程序運行中所需要的常數(shù)和變量。從物理空間看,MCS-51有四個存儲器地址空間:片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器片內(nèi)程序存儲器、片外程序存儲器

MCS-51存儲器物理結(jié)構(gòu)見下圖所示:

外部數(shù)據(jù)存儲器

(RAM)外部程序存儲器

(ROM)內(nèi)部程序存儲器內(nèi)部數(shù)據(jù)存儲器8XX5110程序存儲器中的幾個特殊地址的使用:地址用途

0000H復(fù)位操作后的程序入口

0003H外部中斷0服務(wù)程序入口

000BH定時器0中斷服務(wù)程序入口

0013H外部中斷1服務(wù)程序入口

001BH定時器1中斷服務(wù)程序入口

0023H串行口中斷服務(wù)程序入口由于兩入口地址之間的存儲空間有限,因此在編程時,通常在這些入口地址開始的兩三個地址單元中,放入一條轉(zhuǎn)移類指令,已使相應(yīng)的程序轉(zhuǎn)到指定的程序存儲器區(qū)域中執(zhí)行。11例如,外部中斷0對應(yīng)于0003H,如果使用外部中斷0,則服務(wù)程序必須從0003H開始。如果不使用該中斷,則該地址可用作一般的程序存貯器。各中斷服務(wù)入口地址的間隔為8個字節(jié)。如果一個中斷服務(wù)程序足夠短,它可全部位于這8字節(jié)間隔中。長的中斷服務(wù)程序,可在入口地址放一條跳轉(zhuǎn)指令,調(diào)轉(zhuǎn)到真正的服務(wù)程序處。121.2.2數(shù)據(jù)存儲器單片機內(nèi)部RAM空間為256字節(jié),在物理上又可分為3個不同的塊:00H~~7FH(0~127):低128字節(jié)RAM塊;80H~~0FFH(128~255):高128字節(jié)RAM塊;80H~~0FFH(128~255):特殊功能寄存器塊(SFR)。13其中高128字節(jié)RAM塊與SFR塊的地址重合的,究竟訪問那一塊使通過不同的尋址方式加以區(qū)分的。訪問高地址RAM時采用寄存器間接尋址方式,使用指令: MOVA,@Ri

或 MOV@Ri,A;訪問SFR塊時則只能采用直接尋址方式,使用指令: MOV@Ri,direct

或 MOVdirect,A;訪問低128字節(jié)RAM時,兩種尋址方式都可以采用。內(nèi)部RAM中不同的地址區(qū)域從功能和用途方面來分可分為三個區(qū)域:工作寄存器區(qū),位尋址區(qū),堆棧和數(shù)據(jù)緩沖器區(qū)。141.3特殊功能寄存器8031有21個字節(jié)的特殊功能寄存器SFR,起者專用寄存器的作用。21個特殊功能寄存器不連續(xù)的分布在80H~FFH的128字節(jié)地址空間中,地址為X0H~X8H是可位尋址的寄存器。21個特殊功能寄存器名稱及主要功能如表1.1所式。(P21)151621個特殊功能寄存器的名稱及主要功能介紹如下,詳細(xì)的用法見后面各節(jié)的內(nèi)容。A—累加器,自帶有全零標(biāo)志Z,A=0則Z=1;A≠0則Z=0。該標(biāo)志常用于程序分支轉(zhuǎn)移的判斷條件。B—寄存器,常用于乘除法運算(見第2章)。PSW—程序狀態(tài)字。主要起著標(biāo)志寄存器的作用,其8位定義見表1-3。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV

-P17其中CY:進(jìn)/借位標(biāo)志:反映最高位的進(jìn)位借位情況,加法為進(jìn)位、減法為借位。

CY=1,有進(jìn)/借位;CY=0,無進(jìn)/借位。AC:輔助進(jìn)/借位標(biāo)志反映高半字節(jié)與低半字節(jié)之間的進(jìn)

/借位,

AC=1有進(jìn)/借位;AC=0無進(jìn)/借位。FO:用戶標(biāo)志位。可由用戶設(shè)定其含義。RS1,RS0:工作寄存器組選擇位。OV:溢出標(biāo)志:反映補碼運算的運算結(jié)果有無溢出有溢出OV=1,無溢出OV=0。-:無效位。P:奇偶標(biāo)志:運算結(jié)果有奇?zhèn)€“1”,P=1;運算結(jié)果有偶數(shù)個“1”,P=0。影響標(biāo)志位的指令及其影響方式見第2章。18SP—堆棧指針:8XX51單片機的堆棧設(shè)在片內(nèi)RAM,對堆棧的操作包括壓入(PUSH)和彈出(POP)兩種方式,并且遵循后進(jìn)先出的原則,但在堆棧生成的方向上,與8086正好相反8XX51單片機的堆棧操作遵循先加后壓,先彈后減的順序,按字節(jié)進(jìn)行操作。DPTR——數(shù)據(jù)指針寄存器:用來存放16位地址值,以便用間接尋址或變址尋址片外存儲器。DPTR可分成DPL和DPH兩個8位寄存器分別使用。P0、P1、P2、P3——I/O端口寄存器:是四個并行I/O端口映射入SFR中的寄存器。通過對該寄存器的讀/寫,可實現(xiàn)從相應(yīng)I/O端口的輸入/輸出。例如:指令MOVP1,A實現(xiàn)了把A累加器中的內(nèi)容從P1端口輸出的操作。指令MOVA,P3實現(xiàn)了把P3端口線上的信息輸入到A中的操作。19此外還有如下寄存器,它們將在后面章節(jié)介紹:IP——中斷優(yōu)先級控制寄存器;IE——中斷允許控制寄存器;TMOD——定時器/計數(shù)器方式控制寄存器;TCON——定時器/計數(shù)器控制寄存器;TH0,TL0——定時器/計數(shù)器0;TH1,TH1——定時器/計數(shù)器1;SCON——串行端口控制寄存器;SBUF——串行數(shù)據(jù)緩沖器;PCON——電源控制寄存器。201.48031時鐘電路

時鐘電路是計算機的心臟,它控制著計算機的工作節(jié)奏,MCS-51單片機內(nèi)有一個反相放大器組成的振蕩器,引腳XTAL1為反向器的輸入端,XTAL2為反向器的輸出端。

MCS-51的時鐘可以利用它內(nèi)部的振蕩器產(chǎn)生,只要在XTAL1,XTAL2引腳上外接定時反饋電路,內(nèi)部振蕩器便自激振蕩,產(chǎn)生時鐘輸出到內(nèi)部的定時控制邏輯。定時反饋電路一般為石英晶振和電容組成的并聯(lián)回路。XTAL1XTAL2GND8XX51C01C02圖1-3內(nèi)部振蕩方式21內(nèi)部振蕩方式:在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)如圖1-3所示。外部振蕩方式:

是把已有的時鐘信號引入單片機。這種方式適宜用于使單片機的時鐘與外部信號保持一致。外部振蕩方式如圖1-4所示。外部時鐘XTAL1XTAL2GND8XX51懸空外部時鐘XTAL1XTAL2GND懸空CHMOSHMOS圖1-4外部振蕩方式8XX5122單片機的時序單位有:振蕩周期:晶振的振蕩周期,又稱時鐘周期,為最小的時序單位。狀態(tài)周期:振蕩頻率經(jīng)單片機內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時鐘周期。因此,一個狀態(tài)周期包含2個振蕩周期。機器周期(MC):1個機器周期由6個狀態(tài)周期及12個振蕩周期組成。是計算機執(zhí)行一種基本操作的時間單位。指令周期:

執(zhí)行一條指令所需的時間。一個指令周期由1~4個機器周期組成,依據(jù)指令不同而不同。

4種時序單位中,振蕩周期和機器周期是單片機內(nèi)計算其他時間值(例如,波特率、定時器的定時時間等)的基本時序單位。例:單片機外接晶振頻率12MHZ時的各種時序單位:振蕩周期=1/fosc=1/12MHZ=0.0833μs

狀態(tài)周期=2/fosc=2/12MHZ=0.167μs

機器周期=12/fosc=12/12MHZ=1μs

指令周期=(1~4)機器周期=1~4μs231.58031復(fù)位電路計算機在起動運行時需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。HMOS型8031的復(fù)位結(jié)構(gòu)見圖(1-5)所示。復(fù)位引腳RST/VPD通過一個斯密特觸發(fā)器與復(fù)位電路相連。斯密特觸發(fā)器用來提高系統(tǒng)的抗干擾能力,防止因毛刺噪聲而產(chǎn)生誤動。雖然對于HMOS型單片機,RST復(fù)位端接一個電容和一個電阻C和R就能實現(xiàn)上電自動復(fù)位,對于此設(shè)計將(一個200歐姆的限流電阻)、一個按鈕開關(guān)和電容并聯(lián)。再和決定時間常數(shù)的電阻R串聯(lián),得到這個復(fù)位電路,按下開關(guān)就得在RST端出現(xiàn)的約82ms時間高電平,即8031復(fù)位。在此選用C=10μF,R=8.2K,則τ=RC=8.2×10=82msRST8XX51RCVCC圖1-5復(fù)位電路24單片機的復(fù)位操作是使SFR寄存器進(jìn)入初始化,不改變片內(nèi)RAM區(qū)中的內(nèi)容。幾個主要特殊功能寄存器復(fù)位狀態(tài)歸納如下:PC=0000H表明程序計數(shù)器為零表明單片機復(fù)位后程序從0000H地址單元開始執(zhí)行。

A=00H表明累加器已被清零。

PSW=00H表明選寄存器0組為工作寄存器組。

SP=07H

表明堆棧指針指向片內(nèi)RAM07H單元,根據(jù)堆棧操作的先加后壓法則,第一個被壓入的數(shù)據(jù)被寫入08H單元中。P0~P3=FFH表明已向各端口線寫入1,各端口既可用于輸入又可用于輸出。251.68031引腳結(jié)構(gòu)

8031單片機采用的是40腳雙列直插封裝(DIP)方式。引腳功能右圖(圖3.3.1)是8031單片機引腳及總線結(jié)構(gòu)圖。在40條引腳中有兩條專用于主電源的引腳,兩條外接晶體引腳,4條控制于其它電源復(fù)用引腳,32條I/O引腳。下面分別敘述這40條引腳的功能:26(一)主電源引腳Vcc和Vss

Vcc(40)—無論是正常操作對EPROM編程或驗證時都接+5V電源;

Vss(20)—接地。(二)外接晶體引腳XTAL1和XTAL2

XTAL1(19)—

接外部晶體的一個引腳。在單片機內(nèi)部它是一個反向放大器的輸入端,這個放大器集成了片內(nèi)振蕩器。

XTAL2(18)—

接外部晶體的另一個引腳。在單片機內(nèi)部,接至上述振蕩器的反向放大器的輸出端。在此電路中,晶體選用振動頻率為6MHz石英晶體,據(jù)此選擇C3=C4=30PF,這每個機器周期為2μs。 27(三)控制或用于其它電源復(fù)用引腳RST/VPD、ALE/PROG、PSEN和EA/VPPRST/VPD(9)上電復(fù)位:當(dāng)振蕩器運行時,在此引腳出現(xiàn)兩個機器周期的高電平,使單片機復(fù)位。上電復(fù)位所需的最短時間是Vcc的上電時間和起振時間,再加上兩個機器周期。Vcc的上升時間一般約為10ms,振蕩器的起振時間和頻率有關(guān),這里我們選用6MHz石英晶體晶振,其起振時間約為2ms,兩個機器周期約為4μs,為了能保證準(zhǔn)確復(fù)位需留有一定裕量。并防止因器件個體差異帶來不必要的錯誤,所以RST的上電時間應(yīng)保持20ms以上的高電平。時間常數(shù)τ=RC,RC時間常數(shù)τ越大,上電時RST端保持高電平的時間越長。手動復(fù)位:由于受反映速度限制,手動時人的反應(yīng)時間必然要大20ms,因此,只需選一只限流電阻R=200Ω即可。28ALE/PROG(30)—當(dāng)訪問外部存儲器時,ALE(允許地址鎖存)的輸出用于鎖存地址節(jié),這里,它與74LS373和ALE端

溫馨提示

  • 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

提交評論