二的結(jié)構(gòu)和原理_第1頁
二的結(jié)構(gòu)和原理_第2頁
二的結(jié)構(gòu)和原理_第3頁
二的結(jié)構(gòu)和原理_第4頁
二的結(jié)構(gòu)和原理_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學1二的結(jié)構(gòu)和原理

本章將以MCS-51系列的8051為典型例子,詳細介紹單片機的結(jié)構(gòu)、性能、存儲器結(jié)構(gòu)及工作原理等內(nèi)容。通過對這些內(nèi)容的掌握,可以起到舉一反三、觸類旁通的作用?!?.1MCS-51單片機的結(jié)構(gòu)以8051為例給出的單片機功能方塊圖如下:第1頁/共58頁MCS-51單片機組成框圖時鐘OSCCPU并行接口定時/計數(shù)器ROMRAMP0中斷系統(tǒng)T0T1P1P2P3串行接口TXDRXDINT0INT1第2頁/共58頁8051的內(nèi)部結(jié)構(gòu)展開圖128×8RAMRAM地址寄存器P3口P1口P2口P0口鎖存器鎖存器鎖存器鎖存器中斷控制定時/計數(shù)器串行I/O口SP寄存器B累加器A暫存器1暫存器2程序狀態(tài)字PSW指令寄存器IR指令譯碼器ID數(shù)據(jù)指針DPTR緩沖器程序計數(shù)器PC增1程序地址寄存器AR定時與控制4K×8ROMALUCPU第3頁/共58頁2.1.1CPU運算器CPU算術(shù)/邏輯部件ALU(ArithmeticLogicUnit)累加器ACC

(Accumulator)程序狀態(tài)字寄存器PSW(ProgramStatusWord)暫存寄存器寄存器B控制器定時控制與條件轉(zhuǎn)移邏輯電路程序計數(shù)器PC指令寄存器IR指令譯碼器ID第4頁/共58頁1.8051的時鐘

時鐘可以由兩種方式產(chǎn)生:內(nèi)部方式和外部方式。XTAL1內(nèi)部方式XTAL2XTAL2外部方式XTAL1VSS外部時鐘第5頁/共58頁(1)內(nèi)部方式:在XTAL1和XTAL2端外接石英晶體作定時元件;時鐘發(fā)生器對振蕩脈沖二分頻,即若石英頻率fosc=6MHz,則時鐘頻率=3MHz;

fosc可在1.2MHz~12MHz選擇;小電容可以取30pF左右。(2)外部方式:通過XTAL2接入外部時鐘。第6頁/共58頁2.8051的基本時序周期

計算機工作要有嚴格的時序。事實上,計算機更象一個大鐘,什么時候分針動,什么時候秒針動,什么時候時針動,都有嚴格的規(guī)定,一點也不能亂。基本時序單位:3.機器周期:一個機器周期包括6個時鐘周期。4.指令周期:執(zhí)行一條指令的時間。1.振蕩周期:晶體振蕩器的周期。2.狀態(tài)周期:振蕩周期2分頻,也稱時鐘周期。第7頁/共58頁INTEL對每一條指令都給出了它的指令周期數(shù),MCS-51單片機的所有指令中,有一些完成得比較快,只要一個機器周期就行了,有一些完成得比較慢,得要2個機器周期,還有兩條指令要4個機器周期才行。

若fosc=6MHz,則8051的:振蕩周期=1/6us;時鐘周期=1/3us;機器周期=2us;指令周期=2~8us。第8頁/共58頁2.1.28051的片內(nèi)存儲器

8051單片機與一般微機的存儲器配置方式很不相同。一般微機通常只有一個邏輯空間,可以隨意安排ROM或RAM。訪問存儲器時,同一地址對應唯一的存儲單元,可以是ROM也可以是RAM,并用同類訪問指令,這種結(jié)構(gòu)稱為普林斯頓結(jié)構(gòu)(馮·諾依曼結(jié)構(gòu))。第9頁/共58頁而MCS-51則不同:

8051在物理結(jié)構(gòu)上設(shè)計成程序存儲器與數(shù)據(jù)存儲器獨立分開的哈佛結(jié)構(gòu):

片內(nèi)程序存儲器4KB(ROM0000H~0FFFH)

片內(nèi)數(shù)據(jù)存儲器128B(RAM00H~7FH)第10頁/共58頁2.1.38051的I/O端口8051有四個8位并行雙向I/O口P0、P1、P2、P3,

一個串行口2.1.48051的特殊功能寄存器SFR

8051內(nèi)部有21個特殊功能寄存器,分別叫SP、IE、IP、PCON......(與內(nèi)部RAM統(tǒng)一編址80H~FFH)第11頁/共58頁★§2.2MCS-51單片機的存儲器組織8051在物理結(jié)構(gòu)上有四個存儲空間:

片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。new第12頁/共58頁64KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00HSFRRAM64KBRAM(I/O)0000HFFFFH片內(nèi)片外片外程序存儲器數(shù)據(jù)存儲器第13頁/共58頁8051在邏輯上,即從用戶角度上8051有三個存儲空間:片內(nèi)外統(tǒng)一編址的程序存儲器

片內(nèi)外不統(tǒng)一編址的數(shù)據(jù)存儲器特殊功能寄存器(片內(nèi))第14頁/共58頁一、程序存儲器及地址空間作用--程序存儲器用于存放編好的程序和表格常數(shù)。①8051片內(nèi)有4K字節(jié)ROM,片外用16位地址線最多可擴展64K字節(jié)ROM,兩者是統(tǒng)一編址的?!锶绻鸈A端保持高電平,8051執(zhí)行片內(nèi)前4KB

ROM地址(0000H~0FFFH)中的程序。當尋址范圍超過4KB(1000H~FFFFH)時,則從片外存儲器取指令。★當EA端保持低電平時,8051的所有取指令操作均在片外程序存儲器中進行,這時片外存儲器可以從

0000H開始編址。第15頁/共58頁②在程序存儲器中,有6個單元具有特殊功能0003H:外部中斷0入口。000BH:定時器0溢出中斷入口。0013H:外部中斷1入口。001BH:定時器1溢出中斷入口。0023H:串行口中斷入口。

使用時,通常在這些入口地址處存放一條絕對跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷程序起始地址,或者從0000H起始地址跳轉(zhuǎn)到用戶設(shè)計的初始程序上。0000H:8051復位后,PC=0000H,即程序從0000H

開始執(zhí)行指令。第16頁/共58頁二、數(shù)據(jù)存儲器及地址空間數(shù)據(jù)存儲器片外RAM64KB,地址范圍0000H~FFFFH片內(nèi)RAM128B,地址范圍00H~7FH第17頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)寄存器區(qū)4組(32B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器區(qū)4組(32B).........①由PSW中的2位RS1、RS0來決定選哪一組為當前工作寄存器:

RS1、RS0=00

選0組

RS1、RS0=01

選1組

RS1、RS0=10

選2組

RS1、RS0=11

選3組②在位地址區(qū),每一個BIT都有一個

地址,共16×8=128位00H30H2FH20H1FH...第18頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器0組寄存器區(qū)4組(32B).........RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H00H30H2FH20H1FH...第19頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器1組R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FH寄存器區(qū)4組(32B).........RS1、RS0=0100H30H2FH20H1FH...第20頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器2組R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17H寄存器區(qū)4組(32B).........RS1、RS0=1000H30H2FH20H1FH...第21頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器3組R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FH寄存器區(qū)4組(32B).........RS1、RS0=1100H30H2FH20H1FH...第22頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組位地址區(qū)20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H1FH5FH57H4FH47H3FH37H2FH27H1FH17H........................D7D6D5D4D3D2D1D0.........00H30H2FH20H1FH...第23頁/共58頁片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū)

(80B)位地址區(qū)

(16B)00H30H2FH20H1FH7FH寄存器3組寄存器2組寄存器1組寄存器0組通用RAM區(qū)............共80個字節(jié),作為一般的數(shù)據(jù)緩沖區(qū)并可設(shè)置堆棧區(qū)第24頁/共58頁三、特殊功能寄存器(21個字節(jié))SFR

(SpecialFunctionalRegister)

見書P6表1-3①與ALU相關(guān)的(3個)

ARegister(Accumulator):累加器。累加器,通常用A或ACC表示??勺止?jié)尋址(E0H),

也可位尋址(E0H~E7H)

它是一個寄存器,而不是一個做加法的部件。在運算器做運算時其中一個數(shù)一定是在ACC中。

BRegister:暫存寄存器。

暫存寄存器。在做乘、除法時放乘數(shù)或除數(shù)及結(jié)果。

PSW(ProgramStatusWord

):程序狀態(tài)字。

PSW是8位寄存器,用于作為程序運行狀態(tài)的標志。這是一個很重要的部件,里面存放了CPU工作時的很多狀態(tài),借此,我們可以了解CPU的當前狀態(tài),并作出相應的處理。第25頁/共58頁它的各位功能如下:

當CPU進行各種邏輯操作或算術(shù)運算時,為反映操作或運算結(jié)果的狀態(tài),把相應的標志位置1或清0。這些標志的狀態(tài),可由專門的指令來測試,也可通過指令來讀出。它為計算機確定程序的下一步進行方向提供依據(jù)。PSW寄存器中各位的名稱及位置如下表所示,下面說明各標志位的作用。D7D6D5D4D3D2D1D0CYACF0RS1RS0OVPPSW位地址第26頁/共58頁

CY:進位標志。

加減運算時,保存最高位進位、借位狀態(tài)。

AC:半進位標志。

例:78H+97H01111000+10010111100001111

D7D6D5D4D3D2D1

D0

CYACF0RS1RS0OVPPSW位地址有進位CY=1沒有半進位AC=0第27頁/共58頁

RS1、RS0:工作寄存器組選擇位。

00選擇工作寄存器0組

01選擇工作寄存器1組

10選擇工作寄存器2組

11選擇工作寄存器3組

P:奇偶校驗位,它用來表示累加器A內(nèi)容中二進制數(shù)位

“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。例:某運算結(jié)果是78H(01111000),則P=0。D7D6D5D4D3D2D1

D0CY

ACF0

RS1

RS0OV

PPSW位地址第28頁/共58頁F0:用戶標志位。作為軟件標志,由編程人員決定何時使用。OV:溢出標志位。有符號數(shù)運算時,如果發(fā)生溢出,OV置“1”,否則清“0”。D7HD6HD5HD4HD3HD2HD1H

D0HCY

AC

F0RS1RS0

OVPPSW位地址第29頁/共58頁②與指針相關(guān)的(2個)

SP(Stack

Pointer):

堆棧指針,8位寄存器,用來指定堆棧的棧頂位置,初值為07H。它是加1計數(shù).

DPTR(DataPointer)(分成DPH、DPL兩個):數(shù)據(jù)指針可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,也可以作為通用寄存器來用,由我們自已決定如何使用。第30頁/共58頁P0、P1、P2、P3:四個并行輸入/輸出口的寄存器。它里面的內(nèi)容對應著管腳的輸出。SCON(SerialControlRegister)

串行口控制器。SBUF

(Serial

DateBuffer)

串行數(shù)據(jù)緩沖器。

PCON(PowerControlRegister)

電源控制及波特率選擇。

③與端口相關(guān)的(7個)第31頁/共58頁④與定時/計數(shù)器相關(guān)的(6個)TMOD(Timer/CounterModeRegister)

定時器工作模式寄存器。TCON(Timer/Counter

Control

Register)

定時器控制寄存器。TH0、TL0、TH1、TL1:分別是T0、T1的記數(shù)初值寄存器。IP(Interrupt

Priority

Register)

中斷優(yōu)先控制器。

IE(InterruptEnableRegister)

中斷允許控制器。

⑤與中斷相關(guān)的(2個)第32頁/共58頁課堂練習及思考題補充題:下列是關(guān)于8051單片機存儲空間的描述,分析其對錯:

a.特殊功能寄存器容量為21B,沒有位地址。

b.外部數(shù)據(jù)存儲器容量可達64kB,字節(jié)地址和位地址范圍均為0000H~FFFFH

c.程序存儲器容量可達64kB,字節(jié)地址和位地址范圍均為0000H~FFFFH

第33頁/共58頁課堂練習及思考題補充題:下列是關(guān)于8051單片機存儲空間的描述,分析其對錯:

d.

內(nèi)部數(shù)據(jù)存儲器容量為128B,字節(jié)地址和位地址范圍均為00H~7FHe.特殊功能寄存器容量為21B,有一部分特殊功能寄存器具有位地址。

f.程序存儲器容量可達64kB,地址范圍為0000H~FFFFH。第34頁/共58頁

2.MCS-51單片機的工作寄存器組如何選擇?若PSW的RS1、RS0位的內(nèi)容是01,那么此時工作寄存器R1的字節(jié)地址是多少?

3.MCS-51內(nèi)部RAM的工作寄存器組一共有多少個存儲單元?分為多少組?每組有多少個存儲單元?分別以什么作為寄存器名?第35頁/共58頁4.8051存儲空間的結(jié)構(gòu)與8086/8088有什么不同?它的物理結(jié)構(gòu)是怎樣的?5.MCS-51單片機的內(nèi)部數(shù)據(jù)存儲器容量是多少?它有什么特點?第36頁/共58頁§2.3MCS-51單片機的并行端口結(jié)構(gòu)與操作

8051單片機有4個I/O端口,每個端口都是8位準雙向口,共占32根引腳。每個端口都包括一個鎖存器(即專用寄存器P0~P3)、一個輸出驅(qū)動器和輸入緩沖器。通常把4個端口籠統(tǒng)地表示為P0~P3。第37頁/共58頁

在無片外擴展存儲器的系統(tǒng)中,這4個端口的每一位都可以作為準雙向通用I/O端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數(shù)據(jù)總線。下面簡單介紹一下輸入/輸出端口結(jié)構(gòu)。2.3.1P0口和P2口的結(jié)構(gòu)第38頁/共58頁下圖為P0口的某位P0.n(n=0~7)結(jié)構(gòu)圖,它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數(shù)據(jù)線用。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳一、P0口的結(jié)構(gòu)第39頁/共58頁1、P0口作為普通I/O口①輸出時若驅(qū)動NMOS或其它拉流負載時,需要外接上拉電阻。P0的輸出級可驅(qū)動8個LSTTL負載。②輸入時----分讀引腳或讀鎖存器讀端口時實際上并不從外部讀入數(shù)據(jù),而只是把端口鎖存器中的內(nèi)容讀入內(nèi)部總線,經(jīng)過某種運算和變換后,再寫回到端口鎖存器。讀引腳時才真正地把外部數(shù)據(jù)讀入到內(nèi)部總線。第40頁/共58頁準雙向口:在端口進行輸入操作前,應先向端口鎖存器寫“1”,使場效應管截止,引腳處于懸浮狀態(tài),變?yōu)楦咦杩馆斎?。這就是所謂的準雙向口。第41頁/共58頁2、P0作為地址/數(shù)據(jù)總線

在系統(tǒng)擴展時,P0端口作為地址/數(shù)據(jù)總線使用時,分為:P0引腳輸出地址/輸入數(shù)據(jù)P0引腳輸出地址/數(shù)據(jù)信息第42頁/共58頁二、P2的內(nèi)部結(jié)構(gòu)1.P2口作為普通I/O口DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳CPU發(fā)出控制電平“0”

,使多路開關(guān)MUX倒向鎖存器輸出Q端,構(gòu)成一個準雙向口。其功能與P1相同。第43頁/共58頁

2.P2口作為地址總線在系統(tǒng)擴展片外程序存儲器/數(shù)據(jù)存儲器且容量超過256B時,CPU發(fā)出控制電平“1”,使多路開關(guān)MUX倒內(nèi)部地址線。此時,P2輸出高8位地址。DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳第44頁/共58頁2.3.2P1口、P3口的內(nèi)部結(jié)構(gòu)

①P1口的一位的結(jié)構(gòu)它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成----準雙向口。DQCLKQP1.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP1口引腳第45頁/共58頁②P3的內(nèi)部結(jié)構(gòu)DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳第二輸入功能第二輸出功能一、作為通用I/O口與P1口類似----準雙向口(W=1)W第46頁/共58頁②P3的內(nèi)部結(jié)構(gòu)DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳第二輸入功能第二輸出功能二、P3第二功能(Q=1)此時引腳部分輸入(Q=1、W=1)

,部分輸出(Q=1、W輸出)

。W第47頁/共58頁P3第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時器0外部輸入P3.5:T1定時器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制第48頁/共58頁課堂復習補充題:1.MCS-51單片機的哪些端口,有兩種功能?分別是什么功能?2.在

溫馨提示

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

最新文檔

評論

0/150

提交評論