第二章 單片機的基本結(jié)構(gòu)與工作原理C-改_第1頁
第二章 單片機的基本結(jié)構(gòu)與工作原理C-改_第2頁
第二章 單片機的基本結(jié)構(gòu)與工作原理C-改_第3頁
第二章 單片機的基本結(jié)構(gòu)與工作原理C-改_第4頁
第二章 單片機的基本結(jié)構(gòu)與工作原理C-改_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章

單片機的基本結(jié)構(gòu)與工作原理主要內(nèi)容:MCS-51總體結(jié)構(gòu)MCS-51時鐘及CPU工作時序MCS-51存儲器配置MCS-51系列基本產(chǎn)品型號:

8031、8051、8751、8951統(tǒng)稱為51子系列。不同型號MCS-51單片機CPU處理能力和指令系統(tǒng)完全兼容,只是存儲器和I/O接口的配置有所不同。MCS-51總體結(jié)構(gòu)3硬件基本配置:8位CPU片內(nèi)ROM/EPROM、RAM片內(nèi)并行I/O接口片內(nèi)16位定時器/計數(shù)器片內(nèi)中斷處理系統(tǒng)片內(nèi)全雙工串行I/O口4電源引腳(+5V)和接地引腳;外接晶振引腳和;I/O引腳P0、P1、P2和P3;控制和復位引腳ALE、、、RST。MCS-51單片機引腳1.I/O功能接口(四個8位并行I/O接口):

P0.0~P0.7(低8位地址、數(shù)據(jù)、雙向三態(tài)I/O口)P1.0~P1.7(準雙向I/O口)P2.0~P2.7(高8位地址、準雙向I/O)P3.0~P3.7(準雙向I/O口、每條引腳都有第二功能)為多功能引腳,可自動切換用作數(shù)據(jù)總線、地址總線、控制總線或I/O接口外部引腳。MCS-51單片機引腳2.控制引腳:允許地址鎖存信號輸出端(與P0配合)和對片內(nèi)EPROM編程/校驗時傳送負脈沖(對8751);

:外部ROM讀選通信號端;

:內(nèi)/外ROM選擇信號端和編程電源輸入端(對8751);

:復位信號端和備用電源輸入端。輸入2個機器周期-10ms以上高電平脈沖,單片機復位。當因故障而降至規(guī)定低電平時,上的備用電源自動投入,對片內(nèi)RAM實現(xiàn)掉電保護。MCS-51單片機引腳7ALE與P0配合(8031讀片外ROM):

MOVCA,@A+DPTR步驟:(1)8031CPU將高八位地址送到P2口(管腳)上,將低八位地址送到P0口(管腳)上;(2)一旦P0口上片外ROM的低八位地址穩(wěn)定,8031就在ALE線上發(fā)出正脈沖的下降沿將低八位地址鎖存到地址鎖存器74LS373中;(3)8031自動使

變?yōu)榈碗娖?;?)ROM芯片按CPU所給地址,讀出相應數(shù)據(jù)并送到8031的P0口。8MCS-51單片機內(nèi)部結(jié)構(gòu)(圖)中央處理器CPU內(nèi)部結(jié)構(gòu)1.算術(shù)邏輯單元ALU

(8位)+、–、×、÷算術(shù)運算,與、或、非、異或邏輯運算,循環(huán)移位,位處理。2.寄存器陣列

(1)4個工作寄存器區(qū)(0區(qū)~3區(qū)),每個區(qū)均含8個寄存器R0~R7

(8位)。暫存運算數(shù)據(jù)和中間結(jié)果。用PSW中的兩位PSW.4和PSW.3來切換選擇四個工作寄存器區(qū)中的一個工作寄存器區(qū)進行讀、寫操作。(P21頁表2-3)(2)累加器A(8位)

需要ALU處理的數(shù)據(jù)和計算結(jié)果多數(shù)要經(jīng)過A累加器。(3)寄存器B(8位)

與A累加器配合執(zhí)行乘、除運算。亦可作通用寄存器。(4)程序狀態(tài)字PSW(8位)

存放ALU運算過程的標志狀態(tài)。

CyACF0RS1RS0OV—P進位/輔助進位/用戶定/選工作寄/溢出標志/—/奇偶標志(5)數(shù)據(jù)指針DPTR(16位)

存放片外存儲器地址,作為片外存儲器的指針??煞殖蓛蓚€8位寄存器DPH、DPL使用。(6)堆棧指針SP(8位)(P23頁)按“先進后出、后進先出”的原則存取數(shù)據(jù)的存儲區(qū)。MCS-51堆棧設(shè)在片內(nèi)RAM區(qū)。數(shù)據(jù)入棧/出棧時,(SP)自動先加1/后減1,其內(nèi)容始終為棧頂?shù)刂贰臀粫r:(SP)=07H,可通過對SP初始化具體設(shè)置堆棧區(qū)。3.程序計數(shù)器PC(16位)CPU總是按PC的指示讀取程序。PC可自動加1,CPU執(zhí)行程序一般是順序方式。當發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復位等操作,PC被強制改寫,程序執(zhí)行順序也發(fā)生改變。MCS-51復位時:(PC)=0000H。CPU從地址0開始執(zhí)行程序,即復位入口地址為0.13MCS-51單片機的片外總線結(jié)構(gòu)三總線結(jié)構(gòu):1.地址總線(AddressBus)

總線寬度為16位,可訪問64K外部存儲器。

A0~A7——P0口(經(jīng)鎖存器)A8~A15——P2口2.數(shù)據(jù)總線(DataBus)總線寬度為8位(P0)3.控制總線(ControlBus)由P3口和4根獨立控制線組成MCS-51時鐘時鐘頻率因型號各異,范圍在1.2MHz~12MHz之間,典型值為12MHz和6MHz。1.內(nèi)部時鐘方式:內(nèi)部一個高增益反相放大器與片外石英晶體或陶瓷振蕩器構(gòu)成了一個自激振蕩器。晶體振蕩器的振蕩頻率決定單片機的時鐘頻率。XTAL1

單片機

XTAL22.外部時鐘方式:由外部振蕩器提供時鐘信號。15振蕩周期:為單片機提供時鐘信號的振蕩源的周期。時鐘周期:又稱狀態(tài)周期或S周期,是振蕩周期的兩倍,分為P1和P2兩個節(jié)拍。在每個時鐘周期的前半周期,P1信號有效(完成算術(shù)邏輯操作);在每個時鐘周期的后半周期,P2信號有效(完成數(shù)據(jù)傳送)。機器周期:完成一個基本操作所需要的時間。一個機器周期由12個振蕩周期組成(S1P1、S1P2、S2P1--S6P1、S6P2)。指令周期:執(zhí)行一條指令所占用的全部時間。以機器周期為單位可分為:單周期、雙周期和四周期指令。若外接12MHz晶振時,MCS-51單片機四種周期的具體值為:

振蕩周期=1/12s

時鐘周期=1/6s

機器周期=1s

指令周期=1、2、4s

MCS-51工作時序16

按照指令字節(jié)數(shù)(單字節(jié)、雙字節(jié)、三字節(jié))和機器周期數(shù)(單周期、雙周期、四周期),8051的111條指令可分為六類:

單字節(jié)單周期單字節(jié)雙周期雙字節(jié)單周期雙字節(jié)雙周期三字節(jié)雙周期單字節(jié)四周期:乘、除法指令。注意:

凡指令碼中含有直接地址或立即數(shù)的指令,其字節(jié)數(shù)均應在原有基礎(chǔ)上分別加1。

17單周期指令的時序

對于單字節(jié)單周期指令,在S1P2把指令碼讀入指令寄存器,并開始執(zhí)行指令,在S4P2仍舊讀下一指令的操作碼,但被讀進來的字節(jié)不予考慮(要丟棄),且PC不加1。對于雙字節(jié)單周期指令,在S1P2把指令碼讀入指令寄存器,并開始執(zhí)行指令,在S4P2讀入指令的第二字節(jié)。無論是單字節(jié)還是雙字節(jié)均在S6P2結(jié)束該指令的操作。(a)單字節(jié)指令(a)雙字節(jié)指令XTAL218

對于單字節(jié)雙周期指令,在兩個機器周期之內(nèi)要進行4次讀操作。只是后3次讀操作無效。

單字節(jié)雙周期指令的時序

在片外存儲器不作存取時,每一個機器周期中ALE信號有效兩次,具有穩(wěn)定的頻率。所以,ALE信號是時鐘振蕩頻率的1/6,可以用作外部設(shè)備的時鐘信號。

XTAL219訪問片外RAM的雙周期指令的時序

在對片外RAM進行讀寫時,ALE信號會出現(xiàn)非周期現(xiàn)象。訪問片外RAM的單字節(jié)雙周期指令的時序如下圖所示,在第二個機器周期內(nèi)沒有讀操作碼的操作,而是進行外部數(shù)據(jù)存儲器的尋址和數(shù)據(jù)選通,所以在S1P2~S2P1間無ALE信號。XTAL220MCS-51單片機存儲器空間結(jié)構(gòu)圖圖(a)是程序存儲器(ROM);圖(b)是內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM);圖(c)是外部數(shù)據(jù)存儲器

(外部RAM)。從功能上講,MCS-51單片機有五種獨立存儲空間:1.64KB程序存儲器ROM空間(0~0FFFFH):內(nèi)外統(tǒng)一編址,與有關(guān);2.256B片內(nèi)部數(shù)據(jù)存儲器RAM空間(0H~0FFH);3.128B片內(nèi)特殊功能寄存器SFR空間(80H~0FFH),部分可位尋址;4.

位尋址空間(00H~07FH)5.

64KB外部數(shù)據(jù)存儲器RAM空間(0~0FFFFH)。MCS-51存儲器配置程序存儲器(64KB

=1,若PC值在0~0FFFH之間,則CPU訪問片內(nèi)ROM,若PC值大于0FFFH,則CPU訪問片外ROM;

=0,則忽略片內(nèi)ROM,

CPU只訪問片外ROM。僅當CPU訪問外部ROM時才有效(每機器周期輸出兩次負脈沖)。復位入口:

0000H中斷入口:

0003H-

000BH-T0

0013H-

001BH-T10023H-串口中斷片內(nèi)數(shù)據(jù)存儲器(128B)1.工作寄存器區(qū):物理地址:00H~1FH2.位尋址區(qū):物理地址:20H~2FH,其128bit位地址統(tǒng)一編為:00H~7FH還包括部分特殊功能寄存器3.堆棧/數(shù)據(jù)緩沖區(qū):物理地址:00H~7FH一般使用30H~7FH注意:復位時,(SP)=07H!4.特殊功能寄存器SFR(8051有21個SFR)物理地址:在80H~0FFH之間其中一些物理地址可被8整除的單元可位尋址(位地址從80H開始)。專用寄存器:ACC、B、PSW、DPTR、SPI/O接口、定時器等寄存器:P0、P1、P2、P3、SBUF、TMOD、TCON、SCON…25表2-5特殊功能寄存器地址映象

26存儲器結(jié)構(gòu)注意點:1.ROM(8051)——

引腳片內(nèi):4KB;片外:64KB中的60KB(“MOVC”);2.RAM

片內(nèi):256B(00H-0FFH),片外:64KB(0000H-0FFFFH),

片內(nèi)外RAM總和超過64KB,系統(tǒng)用兩種操作碼助記符區(qū)分片內(nèi)、片外RAM:

“MOV”――對片內(nèi)RAM尋址,

“MOVX”――對片外RAM尋址,片內(nèi)RAM由以下幾部分組成:(1)工作寄存器區(qū)(00H-1FH)分為四個區(qū)——

PSW.4和PSW.3;27(2)位尋址區(qū)(20H-2FH)例:位置位指令:

SETB7FH;

溫馨提示

  • 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

提交評論