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

下載本文檔

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

文檔簡介

第三章

MCS-51單片機的結(jié)構(gòu)與原理

MCS-51是Intel公司的一種單片機系列的名稱,屬于這一系列的單片機芯片有許多種。后來,Intel公司將MCS-51的核心技術(shù)授權(quán)給了很多公司,從而產(chǎn)生了許多以MCS-51為核心的單片機。所以,現(xiàn)在MCS-51已經(jīng)不僅僅是一種單片機系列的名稱,而是一種典型的單片機結(jié)構(gòu)的名稱。這些單片機的具體功能會有很多不同,但它們的基本組成和基本性能都是相同的。1第三章

MCS-51單片機的結(jié)構(gòu)與原理3.1MCS-51系列單片機的結(jié)構(gòu)3.28051單片機的引腳及其功能3.3MCS-51單片機的工作方式3.4MCS-51單片機的時序3.5MCS-51單片機外部存儲器的擴展

23.1MCS-51系列單片機的結(jié)構(gòu)一、

MCS-51單片機的基本組成

3一、

MCS-51單片機的基本組成中央處理器;內(nèi)部數(shù)據(jù)存儲器(RAM);內(nèi)部程序存儲器(ROM);4個8位的并行輸入/輸出端口;2個或者3個定時/計數(shù)器;內(nèi)部中斷控制系統(tǒng);一個串行接口電路;內(nèi)部時鐘產(chǎn)生電路;各個部分通過內(nèi)部數(shù)據(jù)總線相連接。

4一、

MCS-51單片機的基本組成可通過三總線與外設(shè)或者外部存儲器相連接;數(shù)據(jù)總線、地址總線和控制總線。沒有單獨的地址總線和數(shù)據(jù)總線,而是和P0口、P2口共用的。P0口分時地作為低8位地址線和8位數(shù)據(jù)線;P2口則作為高8位地址線用。16條地址線和8條數(shù)據(jù)線。5一、

MCS-51單片機的基本組成16條地址線和8條數(shù)據(jù)線。程序存儲器和數(shù)據(jù)存儲器是分開的。用同樣的16條地址線,加上不同的控制信號,可以分別尋址64KRAM和64KROM。擴大了尋址容量。6二、MCS-51系列產(chǎn)品與性能帶“c”:工藝為CM0S,故具有低功耗的特點。如8051功耗約為620mw,而80C51的功耗只有120mw。后兩組為“52系列”,性能要高于51系列,除了存儲器配置等差別外,8052片內(nèi)ROM中還掩腥了BASIC解釋程序,因而可以直接使用BASIC程序。此外,87C51和87C252還具有兩級程序保密系統(tǒng)。7二、MCS-51系列產(chǎn)品與性能51單片機都采用哈佛結(jié)構(gòu),具有和8051單片機相同的指令集??梢赃\行805l的程序代碼,具有更好的性能體現(xiàn)在以下幾個方面。(1)更快的速度(2)更大、更靈活的存儲器配置(3)更豐富的接口8三、

8051單片機的內(nèi)部結(jié)構(gòu)和一般微處理機相比,除了增加了接口部分外,基本結(jié)構(gòu)是相似的,有的只是部件名稱不同。存儲器的設(shè)計☆程序計數(shù)器PC91、中央處理器CPU(8位)由運算器、控制器和若干個特殊功能寄存器組成。運算器可以完成加、減及各種邏輯運算,還可以直接完成乘、除運算。8051的位操作功能也很強,包括位傳送、運算以及轉(zhuǎn)移等多項功能。8051的控制器在單片機內(nèi)部協(xié)調(diào)各功能部件之間的數(shù)據(jù)傳送并,對單片機外發(fā)出若干控制信息,如PSEN,ALE,RD,WR等。(時序節(jié)詳解)CPU中使用的特殊功能寄存器有ACC、B、PSW、SP和DPTR。10CPU中的特殊功能寄存器(1)A——累加器。(2)B——B寄存器,主要乘、除法運算用,通用寄存器。(3)PSW——程序狀態(tài)字:相當于一般的標志寄存器,包含程序運行狀態(tài)、信息。11CPU中的特殊功能寄存器CY:進位/借位標志;位累加器。最高位有進位或借位時,為1。AC:輔助進/借位標志;用于十進制調(diào)整。D3向D4位有進位或借位時,為1。F0:用戶定義標志位;軟件置位/清零。OV:溢出標志;當有符號數(shù)運算結(jié)果超出范圍時為1

。P:奇偶標志;A中1的個數(shù)為奇數(shù)P=1;否則為0。12CPU中的特殊功能寄存器RS1、RS0:工作寄存器組選擇控制。13CPU中的特殊功能寄存器(4)堆棧指針SP堆棧是在內(nèi)存中專門開辟出來的按照“先進后出,后進先出”原則進行數(shù)據(jù)存取的區(qū)域。堆棧指示器SP就是用來指示堆棧位置的。在使用堆棧之前,先給SP賦值,以規(guī)定堆棧的起始位量,稱為棧底。當數(shù)據(jù)存人堆棧后,堆棧指示器的值也隨之而變化。主要用于數(shù)據(jù)傳送;子程序調(diào)用及返回和中斷處理斷點的保護及返回。8051單片機使用內(nèi)部RAM區(qū)域作為堆棧。復(fù)位后,SP=07H,用戶可根據(jù)需要通過指令改變SP的值,從而改變堆棧的位置。14CPU中的特殊功能寄存器堆棧有兩種類型:向上生長型和向下生長型。805l的堆棧屬于向上生長型,數(shù)據(jù)壓入堆棧時指針加1.15CPU中的特殊功能寄存器(5)數(shù)據(jù)指針DPTR是一個16位寄存器,由高位字節(jié)DPH和低位字節(jié)DPL組成。DPTR主要用來存放16位地址,當對64KB外部數(shù)據(jù)存儲器空間尋址時,作為間址寄存器用。在訪問程序存儲器時,用作基址寄存器。162.定時/計數(shù)器

8051內(nèi)部有兩個16位可編程定時/計數(shù)器,記為定時器To和T1。在定時工作時,時鐘由單片機內(nèi)部提供,即系統(tǒng)時鐘經(jīng)過12分頻后作為定時器的時鐘。計數(shù)工作作時,兩個計數(shù)器的時鐘脈沖(計數(shù)脈沖)由T0和T1(即P3.4和P3.5)兩個引腳輸入。可以產(chǎn)生中斷。173.串行口

8051單片機內(nèi)部有一個可編程的、全雙工的串行接口。使得數(shù)據(jù)可以一位一位串行地在計算機和外設(shè)之間傳送。4.中斷系統(tǒng)8051的中斷系統(tǒng)允許接受5個獨立的中斷源,即兩個外部中斷申請,兩個定時/計數(shù)器中斷以及一個串行口中斷。可以設(shè)置兩個中斷優(yōu)先級,即高優(yōu)先級和低優(yōu)先級,由中斷優(yōu)先控制寄存器IP來控制。18四、51單片機存儲器配置(結(jié)構(gòu))8051片內(nèi)有256B的RAM和4KB的ROM。還可以在片外擴展RAM和ROM,并且各占64KB的尋址范圍。也就是最多可以在外部擴展2×64KB存儲器。程序存儲器數(shù)據(jù)存儲器191、物理、邏輯上的分區(qū)物理上分為:4個空間,即片內(nèi)ROM、片外ROM片內(nèi)RAM、片外RAM邏輯上分為:

3個空間,即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址MOVC

數(shù)據(jù)存儲器(片內(nèi))MOV

數(shù)據(jù)存儲器(片外)MOVX20程序存儲器數(shù)據(jù)存儲器物理上分為:4個空間,即片內(nèi)ROM、片外ROM片內(nèi)RAM、片外RAM21程序存儲器數(shù)據(jù)存儲器邏輯上分為:

3個空間,即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址MOVC

數(shù)據(jù)存儲器(片內(nèi))MOV

數(shù)據(jù)存儲器(片外)MOVX222、程序存儲器程序存儲器:EA的作用;當EA接低電平時,CPU只從片外ROM取指令。程序存儲器的某些單元是保留給系統(tǒng)使用的(有固定的作用)。程序存儲器數(shù)據(jù)存儲器232、程序存儲器尋址范圍:0000H~FFFFH容量64KB,即地址長度:16位

,尋址內(nèi)部ROM;

,尋址外部ROM。

當PC值超過片內(nèi)ROM容量時會自動轉(zhuǎn)向外部存儲器空間。8031單片機接低電平。作用:

存放程序及程序運行時所需的常數(shù)。24七個具有特殊含義的單元是:

0000H——

系統(tǒng)復(fù)位,PC指向此處;

0003H——

外部中斷0入口

000BH——T0溢出中斷入口

0013H——

外中斷1入口

001BH——T1溢出中斷入口

0023H——

串口中斷入口

002BH——T2溢出中斷入口

253、數(shù)據(jù)存儲器數(shù)據(jù)存儲器:片內(nèi)、片外片內(nèi)RAM256個字節(jié)被分為兩個區(qū)域:00H~7FH:是真正的RAM區(qū),可以讀寫各種數(shù)據(jù);80H~FFH:是專門用做特殊功能寄存器(SFR)的區(qū)域。8051:21個8位SFR。128個字節(jié)并沒有全部利用。程序存儲器數(shù)據(jù)存儲器26內(nèi)部數(shù)據(jù)存儲器物理上分為兩大區(qū)域:00H~7FH即128B內(nèi)RAM區(qū)

80H~FFH即SFR區(qū)。R0、R1、R2、R3、R4、R5、R6、R7既可位操作,又可字節(jié)操作數(shù)據(jù)緩沖區(qū)、堆棧區(qū)、工作單元27(1)工作寄存器區(qū)工作寄存器區(qū):從00H~1FH安排了4組工作寄存器,每組占用8個RAM字節(jié),記為R0~R7。在某一時刻,只能使用其中的一組工作寄存器,其選擇則由程序狀態(tài)字寄存器PSW中的兩位來確定。工作寄存器的作用就相當于一般微處理器中的通用寄存器28位尋址區(qū)(20H—2FH)16個字節(jié)。16*8=128位,每一位都有一個位地址,范圍為:00H—7FH,位地址區(qū)也可作為一般RAM使用。SFR也有一部分是可以位尋址的。特點是字節(jié)地址可以被8整除。(2)位尋址區(qū)29(3)特殊功能寄存器SFR為特殊功能寄存器。其尋址空間:80H--FFH其中,51子系列有18個寄存器,占有21個字節(jié);52子系列有21個寄存器,占有26個字節(jié)。

51子系列SFR的地址分配見下頁表:3051子系列SFR一覽表31五、并行I/O端口8051有4個8位并行輸入/輸出端口,記作P0、P1、P2和P3,共32條I/O線,實際它們就是特殊功能寄存器中的4個。它們都是雙向通道,每一條I/O線都能獨立地用做輸入或輸出。作輸出時數(shù)據(jù)可以鎖存;作輸入時數(shù)據(jù)可以緩沖;但這4個通道的功能不完全相同。4個通道特性上的差別主要是通道0、通道2和通道3都還有第二功能,而通道1則只能用做I/O口。3251的并行I/O口邏輯圖33作為IO方式時基本特性相同作為輸出口:內(nèi)部帶鎖存器,故可以直接和外設(shè)相連,不必外加鎖存器。作為輸入口:都有兩種工作方式,即所謂讀端口和讀引腳。每個端口各有兩個輸入緩沖器,CPU根據(jù)不同的指令,分別發(fā)出“讀端口”或“讀引腳”信號,以完成兩種不同的讀操作。讀端口時實際上并不從外部讀入數(shù)據(jù),而只是把端口鎖存器中的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運算和變換后,再寫回到端口鎖存器。如對端口內(nèi)容取反等。有時稱為“讀—改—寫”指令。讀引腳時才真正地把從外部加到引腳上的數(shù)據(jù)讀入到內(nèi)部總線,“準雙向”口。34讀引腳輸入操作時的附加準備動作讀引腳時,要先通過指令,把端口鎖存器置1,然后再進行讀引腳操作,否則就可能讀入出錯。場效應(yīng)管導(dǎo)通,可能讀到的永遠是0。若不先對端口置1,端口鎖存器中原來狀態(tài)有可能為0,加到輸出驅(qū)動場效應(yīng)管柵極的/Q信號為1,使得場效應(yīng)管導(dǎo)通,對地呈現(xiàn)低阻抗。這時即使引腳上輸入的是1信號,也會出端口的低阻抗而使信號變低,使得外加的1信號讀入后不一定是1。若先執(zhí)行置1操作,則/Q=0可以驅(qū)動場效應(yīng)管截止,引腳信號直接加到三態(tài)緩沖器,實現(xiàn)正確的讀人。由于在輸入操作時還必須附加一個準備動作,所以這類IO口被稱為“準雙向”口。35P0口邏輯圖作地址/數(shù)據(jù)時,控制=1.總結(jié)特點:(1)P0口既可作通用I/O口使用,又可作地址/數(shù)據(jù)總線口;(2)P0既可按字節(jié)尋址,又可按位尋址;(3)作地址/數(shù)據(jù)總線口時,P0是一真正雙向口。而作通用I/O口時,只是一個準雙向口(4)P0作為輸入口使用時:是準雙向口;(5)作通用I/O口輸出時:是開漏輸出,

應(yīng)外接上拉電阻。36P1口邏輯圖只能作I/O口用,且是一個準雙向口。內(nèi)部已有上拉電阻,不是開漏輸出口??砂醋止?jié)尋址,也可按位尋址。特點:37P2口邏輯圖特點:(1)當P2口作為通用I/O時,是一準雙向口;(2)可位尋址,也可按字節(jié)尋址;(3)可輸出地址高8位。(即使有空余,也不能作通用I/

O口)

38P3口邏輯圖特點:(1)作通用I/O時,“第二輸出功能”保持高電平;(2)工作于第二功能時,該位鎖存器應(yīng)置1;(3)作輸入口時,輸出鎖存器和選擇輸出功能端都應(yīng)置1;(4)第二功能專用輸入,取自輸入通道第一緩沖器(G1)輸出端,通用輸入信號取自“讀引腳”。

39P3口的第二功能40在系統(tǒng)需要外部擴展時小結(jié):1、P0口:地址低8位與數(shù)據(jù)線分時使用端口,2、P1口:按位可編址的輸入輸出端口,3、P2口:地址高8位輸出口4、P3口:用第二功能。若不用第二功能,也可作通用I/O口。5、按三總線劃分:

地址線:P0低八位地址,P2高八地址;數(shù)據(jù)線:P0輸入輸出8位數(shù)據(jù);控制線:P3口的8位加上/PSEN、ALE共同完成控制總線。41外接上拉問題及負載能力系統(tǒng)采用CMOS輸入時,P0口應(yīng)外加上拉電阻(5.1K或者4.7K

),P1、P2、P3口無需外加上拉電阻即可驅(qū)動。P0口能驅(qū)動8個LSTTL負載,

P1、P2、P3口只能驅(qū)動4個系統(tǒng)復(fù)位后,鎖存器均自動置“1”,不需作任何設(shè)置即可正常工作。423.28051單片機的引腳及其功能40線雙列直插式封裝許多引腳具有雙功能

43引腳分類:1、主電源引腳Vss、Vcc2、外接晶振引腳XTAL1、XTAL2在使用單片機內(nèi)部振蕩電路時,這兩個端子用來外接石英晶體和微調(diào)電容。使用外部時鐘時,用來輸入時鐘脈沖443、輸入/輸出引腳P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7四個I/O口,每口八條線;還兼作地址/數(shù)據(jù)線。第二功能。454、控制與復(fù)位引腳=0時,只訪問外部程序存儲器,即外ROM=1時,訪問內(nèi)部程序存儲器,即內(nèi)ROM

/Vpp——內(nèi)\外ROM選擇端

EAEAEAALE/PROG--------ALE地址鎖存控制端提供1/6fosc振蕩頻率;---------PROG為8751內(nèi)的EPROM輸入編程脈沖。PSEN——外部程序存儲器的讀選通信號端。Vpp8751的21v編程電源輸入。46復(fù)位引腳RST/VPD——復(fù)位/備用電源輸入。當出現(xiàn)兩個機器周期高電平時,單片機復(fù)位。復(fù)位后,P0~P3輸出高電平;SP寄存器為07H;其它寄存器全部清0;不影響RAM狀態(tài)。參考復(fù)位電路如下:47參考復(fù)位電路如下48MCS-51對外三總線的形成MCS-51對外三總線的形成外部程存讀選通外部數(shù)存讀選通外部數(shù)存寫選通493.3MCS-51單片機的工作方式3.3.1復(fù)位方式3.3.2程序執(zhí)行方式3.3.3單步執(zhí)行方式3.3.4掉電和節(jié)電方式3.3.5編程和校驗方式503.4MCS-51單片機的時序

時鐘的基本概念

啟動單片機后,指令執(zhí)行順序:

取指令

分析

執(zhí)行微型計算機的CPU實質(zhì)上就是一個復(fù)雜的同步時序電路,所有工作都是在時鐘信號控制下進行的。每執(zhí)行一條指令,CPU的控制器都要發(fā)出一系列特定的控制信號,這些控制信號在時間上的相互關(guān)系問題就是CPU的時序問題。513.4.1機器周期和指令周期機器周期和指令周期執(zhí)令周期:即從取指到執(zhí)行完,所需時間。不同機器指令周期不一樣;即使相同機器,不同的指令其指令周期也不一樣。機器周期:機器的基本操作周期。5251單片機的機器周期和指令周期MCS-51的一個機器周期包括12個振蕩周期(時鐘周期),分為6個S狀態(tài)S1~S6,而每個狀態(tài)又分為兩拍,稱為P1和P2。在MCS-51系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。

指令長度為1字節(jié)、2字節(jié)、3字節(jié)。53機器周期的計算振蕩周期:由振蕩時鐘產(chǎn)生。

振蕩周期Tosc=1/fosc

一個機器周期=12個振蕩周期=12×1/fosc。

例如:若fosc=12MHz,則一個機器周期=1μs。543.4.2

MCS-51指令的取指/執(zhí)行時序

每一條指令的執(zhí)行都包括取指令和執(zhí)行指令兩個階段。在一般所指令執(zhí)行過程中,ALE信號是周期出現(xiàn)的信號,可以給其他外設(shè)作時鐘用。對于MCS-51來說,并不是指令的字節(jié)數(shù)越多需要的執(zhí)行指令的機器周期數(shù)也越多。每個機器周期出現(xiàn)兩次ALE信號,可以讀兩次指令。在S1P2和S2P1及S4P2和S5P1期間。有效寬度為1個狀態(tài)。551字節(jié)單周期指令例:INCA2字節(jié)單周期指令例:ADDA,DATA1字節(jié)雙周期指令例:INCDPTR56(1)單字節(jié)單周期指令:INCA只需進行一次讀指令操作(指令只有一個字節(jié)),當?shù)诙€ALE有效時,由于PC沒有加1,讀出的還是原指令。屬于一次無效操作。(2)雙字節(jié)單周期指令:ADDA,#dataALE兩次讀操作都有效,第一次讀操作碼(指令第一字節(jié)),第二次讀立即數(shù)(指令第二字節(jié))。(3)單字節(jié)雙周期指令:INCDPTR兩個機器周期共進行四次讀指令操作,但其后三次的讀操作都是無效的。573.4.3訪問外部ROM和外部RAM的時序

如果指令是從外部程序ROM中讀取,P0口和P2口提供地址和數(shù)據(jù)總線,ALE地址鎖存允許,控制信號還有PSEN。訪問外部數(shù)據(jù)RAM的時序,包括從RAM中讀和寫兩種時序,但基本過程是相同的??刂菩盘栍蠥LE和RD(讀)/WR(寫)。P0口和P2口在取指階段用來傳送ROM地址和指令,而在執(zhí)行階段,傳送RAM地址和讀寫的數(shù)據(jù)。MCS-51對外三總線的形成外部程存讀選通外部數(shù)存讀選通外部數(shù)存寫選通581、讀外部程序存儲器ROM的時序592、外部數(shù)據(jù)RAM的讀時序外部數(shù)據(jù)RAM的寫時序是類似的。ROM地址A8~A15RAM地址A8~A15A0~7

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論