2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩66頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 單片機(jī)的硬件結(jié)構(gòu)和原理 2.1 MCS-51單片機(jī)的硬件組成,MCS-51單片機(jī)的組成部件:微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存(SFR) MCS-51單片機(jī)片內(nèi)結(jié)構(gòu)圖,結(jié)構(gòu)特點(diǎn):?jiǎn)我豢偩€連接,CPU加外圍芯片的傳統(tǒng)結(jié)構(gòu)模式,采用SFR對(duì)各功能部件進(jìn)行集中控制。,各功能部件說(shuō)明,1.數(shù)據(jù)

2、存儲(chǔ)器(RAM):片內(nèi)有128個(gè)字節(jié)(單元),片外最多可外擴(kuò)至64K字節(jié)。2.程序存儲(chǔ)器(ROM/EPROM/EEPROM):8031無(wú)此部件;8051為4K ROM;8751為4K EPROM。片外最多可外擴(kuò)至64K字節(jié)。3.中斷系統(tǒng):具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。4.定時(shí)器/計(jì)數(shù)器:2個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有四種工作方式。,精確定時(shí)、對(duì)外部事件計(jì)數(shù)的需要、,5.串行口:1個(gè)全雙工的串行口,具有四種工作方式。可用來(lái)進(jìn)行

3、串行通信。6.P0口、P1口、P2口、P3口:4個(gè)并行8位I/O口。7.特殊功能寄存器(SFR):共21個(gè),用于對(duì)片內(nèi)各功能模塊進(jìn)行管理、控制、監(jiān)視。實(shí)際上一些控制寄存器和狀態(tài)寄存器,是一個(gè)特殊功能的RAM區(qū)。 8.微處理器(CPU):8位的CPU,且內(nèi)含一個(gè)1位CPU(位處理器)。不僅可處理字節(jié)數(shù)據(jù),還可進(jìn)行位變量的處理(位處理、查表、狀態(tài)檢測(cè)、中斷處理)。,,MCS-51 CPU中的位處理器,是一個(gè)完整的1位微計(jì)算機(jī),它有自己

4、的CPU、位寄存器、I/O口和指令集。這個(gè)1位機(jī)在開(kāi)關(guān)決策、邏輯電路仿真 、工業(yè)控制方面很有效;而8位機(jī)在數(shù)據(jù)采集、運(yùn)算處理有優(yōu)勢(shì)。二者相輔相成,是單片機(jī)技術(shù)上的1個(gè)突破。,2.2 MCS-51的引腳,制造工藝為HMOS的MCS-51的單片機(jī)都采用40只引腳的雙列直插封裝(DIP)方式,目前大多數(shù)為此類(lèi)封裝方式。制造工藝為CHMOS的80C51/80C31除采用DIP封裝外,還采用方形封裝方式,為44只引腳。,,40只引腳按其功能來(lái)分

5、,可分為三部分:1.電源及時(shí)鐘引腳: Vcc,Vss;XTAL1,XTAL22.控制引腳: PSEN、ALE、EA、RESET(即RST)。3.I/O口引腳: P0、P1、P2、P3,為4個(gè)8位I/O口的外部 引腳。,,,2.2.1 電源及時(shí)鐘引腳,電源引腳 : 接入單片機(jī)的工作電源 Vcc(40腳):接+5V電源; Vss(20腳):接地。時(shí)鐘引腳:時(shí)鐘引腳外接晶體與片內(nèi)的反相放

6、大器構(gòu)成了一個(gè)振蕩器,它提供單片機(jī)的時(shí)鐘控制信號(hào)。時(shí)鐘引腳也可外接晶體振蕩器。,XTAL1(19腳):接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端。這個(gè)放大器構(gòu)成片內(nèi)振蕩器。當(dāng)采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。,XTAL2(18腳):接外部晶體的另一端,在單片機(jī)內(nèi)部,接至內(nèi)部反相放大器的輸出端。當(dāng)采用外接晶體振蕩器時(shí),該引腳接收振蕩器的信號(hào)。,2.2.2 控制引腳,RST/VPD(9腳)RST:單片機(jī)剛接上電源時(shí),

7、其內(nèi)部各寄存器處于隨機(jī)狀態(tài),在此腳輸入24個(gè)時(shí)鐘周期寬度以上的高電平將使單片機(jī)復(fù)位。單片機(jī)正常工作時(shí),此腳應(yīng)為≤0.5V低電平。VPD:備用電源輸入端。當(dāng)Vcc下降到低于規(guī)定 的值,而VPD在其規(guī)定的電壓范圍內(nèi)(5±0.5V)時(shí),VPD就向內(nèi)部RAM提供備用 電源以保持內(nèi)部RAM的數(shù)據(jù)。,ALE/PROG(30引腳)訪問(wèn)片外存儲(chǔ)器時(shí),ALE(地址鎖存允許信號(hào))輸出脈沖的負(fù)跳沿用于16位地址的低8位鎖存

8、信號(hào)。不訪問(wèn)片外存儲(chǔ)器,ALE端以時(shí)鐘振蕩器頻率的1/6固定輸出正脈沖。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)(執(zhí)行MOVX指令),ALE會(huì)丟失一個(gè)ALE脈沖。注:對(duì)于EPROM型單片機(jī)(8751),在EPROM編程期間,此引腳用來(lái)輸入編程脈沖。,,思考:ALE能用做時(shí)鐘源或做定時(shí)嗎,為什么?,,PSEN(29引腳) 此腳的輸出信號(hào)是單片機(jī)訪問(wèn)外部ROM的讀選通信號(hào),在訪問(wèn)外部ROM取指令(或常數(shù))期間,每個(gè)機(jī)器周期PSE

9、N兩次有效,在訪問(wèn)外部RAM時(shí)(即執(zhí)行MOVX類(lèi)指令),這兩次有效的PSEN不出現(xiàn)。PSEN可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。,,,,,EA/VPP,,EA :內(nèi)外程序存儲(chǔ)器選擇控制端。 輸入高電平,CPU訪問(wèn)內(nèi)部程序存儲(chǔ)器(4K)。PC值超過(guò)0FFFH時(shí),將自動(dòng)執(zhí)行片外程序存儲(chǔ)器的程序。 輸入低電平,CPU僅訪問(wèn)片外程序存儲(chǔ)器。 注意:對(duì)于8031來(lái)說(shuō)此腳必須接地。,,VPP: 8751片內(nèi)EPROM固化編程時(shí),用于施加較

10、高的編程電壓。編程電壓。,2.2.3 I/O口引腳,P0口:雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可帶8個(gè)LSTTL負(fù)載。 P1口:8位準(zhǔn)雙向I/O口,可帶4個(gè)LSTTTL負(fù)載。P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位) 復(fù)用。P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口。,無(wú)固定上拉電阻,有兩個(gè)MOS管串接。,有固定的上拉電阻。無(wú)高阻“浮空”狀態(tài)。,,提示:當(dāng)P1、P2、P3

11、口作為輸入口使用時(shí),必須 先向該口寫(xiě)1(對(duì)應(yīng)口線置為高電平). P1口作為輸入口 MOV P1,#0FFH 思考:MOV P2,#07H的作用是什么?,2.3 MCS-51 的CPU,2.3.1 運(yùn)算器 包含部件:ALU、位處理器、累加器A、寄存器B、暫存器以及程序狀態(tài)字寄存器PSW以及BCD碼修正電路。 功能:實(shí)現(xiàn)數(shù)據(jù)的算術(shù)、邏輯運(yùn)算,位變量處理和數(shù)據(jù)傳輸。,,ALU,累加器A(ACC)

12、8位的累加器,也是CPU中使用最頻繁的寄存器。它的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)是位處理器的一位累加器。思考:如何減少“瓶頸”現(xiàn)象的發(fā)生?,數(shù)據(jù)存送大都通過(guò)通過(guò)A,易形成“瓶頸”。,增加了不經(jīng)過(guò)累加器A的傳送指令,既可以加快數(shù)據(jù)的傳送速度,同時(shí)又可減少“瓶頸”現(xiàn)象的發(fā)生。,寄存器B 是為執(zhí)行乘法和除法操作設(shè)置的,在不執(zhí)行乘法、除法操作的情況下,可作普通寄存器使用。乘法:A、B存放乘數(shù)和被乘數(shù),乘積存放

13、 在BA寄存器對(duì)中。除法: 被除數(shù)取自A,除數(shù)取自B,商存放在A, 余數(shù)存放于B。,,程序狀態(tài)寄存器PSW(Program Status Word) 8位可讀寫(xiě)的寄存器。其各位的定義如下:,其中PSW.1是保留位,未用。,位地址:0D0H,Cy:進(jìn)位標(biāo)志位,在執(zhí)行算數(shù)和邏輯指令時(shí),可被硬件或軟件置位或清除,在位處理器中,它是位累加器。 AC:輔助進(jìn)位標(biāo)志位,當(dāng)進(jìn)行加法或減法操作而產(chǎn)生由低4位進(jìn)位或借位時(shí),A

14、C被硬件置1,否則被清除。 F0:標(biāo)志位,它是由用戶使用的標(biāo)志位,可用軟件對(duì)它置位或清除,也可靠軟件測(cè)試F0以控制程序流向。RS1、RS0寄存器區(qū)選擇控制位:這兩位用來(lái)選擇4組工作寄存器區(qū)。,,,OV(PSW.2)溢出標(biāo)志位:當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置1或清0,以指示是否溢出。 P(PSW.0)奇偶標(biāo)志位:每個(gè)指令周期都由硬件來(lái)置位或清除,以表示累加器A中值為1的位數(shù)的奇偶數(shù)。 P=1,則A中1的個(gè)數(shù)為奇數(shù)。 P

15、=0,則A中1的個(gè)數(shù)為偶數(shù)。 此標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有意義,常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃?(A)=10101011 P=1還是0?,2.3.2 控制器,控制器是單片機(jī)的神經(jīng)中樞。單片機(jī)執(zhí)行指令是在控制器下進(jìn)行的。 一條指令的執(zhí)行過(guò)程: 取指令→分析指令(指令譯碼)→執(zhí)行指令 包含部件:指令部件、時(shí)序部件和微操作控制部件。,指令部件介紹,程序計(jì)數(shù)器PCPC中存放的內(nèi)容:下一條將要執(zhí)行的指令在

16、程序 存儲(chǔ)器中的地址。PC的位數(shù)決定了單片機(jī)對(duì)程序存儲(chǔ)器可以直接尋址的范圍。,PC是一個(gè)16位的計(jì)數(shù)器,所以尋址范圍為 64KB(216=65536).,思考:MCS-51系列單片機(jī),尋址范圍是多少?,程序計(jì)數(shù)器的基本工作方式:(1)順序執(zhí)行時(shí),PC自動(dòng)加1。(2)執(zhí)行轉(zhuǎn)移指令時(shí),PC被置入新值,從而使程序流向改變。(3)執(zhí)行子程序調(diào)用或響應(yīng)中斷時(shí),單片機(jī)自動(dòng)完成下列操作: ① P

17、C的現(xiàn)行值(斷點(diǎn)值),自動(dòng)壓入堆棧。 ② 將子程序入口地址或中斷向量的地址送入PC,程序改變流向,轉(zhuǎn)向執(zhí)行子程序或ISR。執(zhí)行完畢后,遇到RET或RETI時(shí),將堆棧中保存的斷點(diǎn)值彈到PC中,程序又返回到斷點(diǎn)處繼續(xù)執(zhí)行未完成的部分。,,指令寄存器IR IR: 存放指令操作碼。,控制器的功能可總結(jié)為:接受來(lái)自存儲(chǔ)器的指令,進(jìn)行指令譯碼,根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,保證單片機(jī)各部分協(xié)調(diào)工作,完成指令做規(guī)定的各種操作。,CP

18、U時(shí)序及時(shí)鐘電路,單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。單片機(jī)運(yùn)行時(shí)是以主振頻率為基準(zhǔn)的,控制器控制CPU的時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),將各個(gè)硬件環(huán)節(jié)組織在一起,這種嚴(yán)格的時(shí)序保證了各部件間的同步工作。 為了便于對(duì)CPU時(shí)序進(jìn)行分析,我們將指令的執(zhí)行過(guò)程規(guī)定了以下幾種周期,即時(shí)鐘周期、機(jī)器周期和指令周期。,時(shí)鐘周期(振蕩周期) 時(shí)鐘周期是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。它定義為時(shí)鐘脈

19、沖頻率的倒數(shù)。在80C51單片機(jī)中將一個(gè)時(shí)鐘周期定義為1個(gè)節(jié)拍。 即 TOSC = 1/f OSC 若 f OSC= 1 MHz, TOSC = 1µS 對(duì)于8051單片機(jī)而言,時(shí)鐘頻率范圍是1.2—12 MHz。,機(jī)器周期 一條指令的指令過(guò)程劃分為若干個(gè)階段,每一階段完成一項(xiàng)基本操作,例如取指令、讀存儲(chǔ)器、寫(xiě)存儲(chǔ)器等,我們將CPU完成這每一個(gè)基本操作所需的時(shí)間定義為機(jī)器周期。

20、 每個(gè)機(jī)器周期(12個(gè)振蕩周期)由6個(gè)狀態(tài)周期組成,即S1、S2、……S6,而每個(gè)狀態(tài)周期由兩個(gè)時(shí)相P1,P2組成(即為2個(gè)主振振蕩周期)。所以一個(gè)機(jī)器周期可依次表示為S1P1、S1P2、S2P1、S2P2……S6P1、S6P2。,從上圖可以看到,一個(gè)機(jī)器周期中通常出現(xiàn)兩次ALE信號(hào),即從ROM中取兩次操作碼,讀入指令寄存器,指令周期的執(zhí)行開(kāi)始于S1P1時(shí)刻,而總是結(jié)束于S6P2時(shí)刻 。提示:訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器(MOVX)時(shí),將

21、會(huì)丟失1個(gè)ALE脈沖。,,指令周期 定義:執(zhí)行一條指令所需的時(shí)間。 MCS-51的指令周期一般只有1—2個(gè)機(jī)器周期,只有乘、 除兩條指令占4個(gè)機(jī)器周期。當(dāng)用12MHz晶體作主振頻率時(shí),執(zhí)行一條指令的時(shí)間,也就是一個(gè)指令周期為1us、2us及4us。,2.4 MCS-51存儲(chǔ)器的結(jié)構(gòu),MCS-51單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間是分開(kāi)的。,8051在物理結(jié)構(gòu)上有 4個(gè)存儲(chǔ)空間: 片內(nèi)程序存儲(chǔ)器

22、 片外程序存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器,8051在邏輯結(jié)構(gòu)(用戶角度)有3個(gè)存儲(chǔ)空間:1.片內(nèi)外統(tǒng)一編址的64K字節(jié)程序存儲(chǔ)器地址空間(用16位地址);2.片內(nèi)256BRAM;3.片外64KBRAM,,提示:訪問(wèn)不同的邏輯空間時(shí),應(yīng)采用不同的指令。 但是,為了對(duì)MCS-51的存儲(chǔ)器講述的更清楚,下面分五類(lèi)加以介紹:程序存儲(chǔ)器、內(nèi)部數(shù)據(jù)存儲(chǔ)器、特殊功能寄存器、位地址空間和外部數(shù)據(jù)存儲(chǔ)器。,2.4.1 程

23、序存儲(chǔ)器,程序存儲(chǔ)器用于存放應(yīng)用程序和表格之類(lèi)的固定常數(shù)。上一小節(jié)我們已經(jīng)了解了由于程序計(jì)數(shù)器PC是16位的(地址總線為16根),所以程序存儲(chǔ)器最多可擴(kuò)展至64KB的。,,EA接高電平, PC的值在低4K字節(jié)(0000H—0FFFH)內(nèi),執(zhí)行片內(nèi)ROM,PC>0FFFH,CPU自動(dòng)訪問(wèn)片外。 EA接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。,,,程序存儲(chǔ)器可分為片內(nèi)和片外。由于邏輯上還是屬于同一空間,所以訪問(wèn)用的是相同的指令。訪問(wèn)片內(nèi)還是

24、片外取決于 EA引腳上所接電平。,,,提示:對(duì)于8051、8751單片機(jī),若將 EA接低電平,可用于程序調(diào)試。 8031由于片內(nèi)無(wú)程序存儲(chǔ)器,必須使 EA引腳固定接低電平。,,,程序存儲(chǔ)器的某些單元被固定用于各中斷源的中斷服務(wù)程序(ISR----Interrupt Service Routine)的入口地址。,2.4.2 內(nèi)部數(shù)據(jù)存儲(chǔ)器,MCS-51 RAM在物理上和邏輯上分為兩個(gè)地址空間。片內(nèi)RAM:128字節(jié),用MOV指令訪問(wèn)

25、。(從廣義上來(lái)說(shuō),應(yīng)該有256B。)片外RAM:可擴(kuò)展64KB,用MOVX指令訪問(wèn)。,,2.4.3 特殊功能寄存器(SFR),SFR的實(shí)質(zhì)是一些具有特殊功能的片內(nèi)RAM單元。個(gè)數(shù)的總數(shù)為21個(gè),字節(jié)地址范圍為80H--FFH。離散地分布在該區(qū)域中。其中有些SFR還可以進(jìn)行位尋址。,在上述表中,打*SFR是可以位尋址的。我們可以發(fā)現(xiàn)一個(gè)規(guī)律,那就是其字節(jié)地址的末尾是0H或是8H(字節(jié)地址能被8整除)。,對(duì)于尚未定義的字節(jié)地址單元,

26、用戶不能作普通寄存器使用,若訪問(wèn)沒(méi)有定義的單元,將得到一個(gè)不確定的隨機(jī)數(shù)。,下面將簡(jiǎn)單介紹幾個(gè)SFR。     堆棧指針SP SP是一個(gè)8位的SFR, 堆棧的實(shí)質(zhì)是一個(gè)特殊的RAM區(qū),主要功能是暫放數(shù)據(jù)和地址。堆棧的具體功能為: (1) 保護(hù)斷點(diǎn):子程序調(diào)用以及中斷時(shí),最終都要返回主程序。為了保證程序能正確返回,應(yīng)該在堆棧中預(yù)先將主程序的斷點(diǎn)保護(hù)起來(lái)。(2) 

27、;現(xiàn)場(chǎng)保護(hù): 單片機(jī)執(zhí)行子程序或ISR之后,很可能要用到單片機(jī)中的一些寄存器,為了不破壞寄存器中的原有內(nèi)容,可以把有關(guān)寄存器的內(nèi)容保存起來(lái),送入堆棧。,堆棧的特點(diǎn): 先進(jìn)后出。堆棧的操作:進(jìn)棧(PUSH),出棧(POP)。第一個(gè)進(jìn)棧的數(shù)據(jù)所在的單元稱為棧底,然后逐次進(jìn)棧,最后進(jìn)棧的數(shù)據(jù)所在的存儲(chǔ)單元稱為棧頂。,堆棧的操作有兩種方式:(1)指令方式,使用堆棧操作指令進(jìn)行進(jìn)棧/出棧操作。(2)自動(dòng)方式,在調(diào)用子程序或產(chǎn)生中斷時(shí),

28、返回地址(斷點(diǎn))自動(dòng)進(jìn)棧。程序返回時(shí),斷點(diǎn)地址再自動(dòng)彈回PC。這種堆棧操作不需要干預(yù),是通過(guò)硬件自動(dòng)實(shí)現(xiàn)的。,提示:系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H開(kāi)始。因?yàn)?8H---1FH單元為工作寄存器區(qū)1---3, 20H---2FH為位尋址區(qū),在程序設(shè)計(jì)很可能要用到這些區(qū),所以用戶在編程時(shí)最好把SP初值設(shè)為2FH或更大值,當(dāng)然同時(shí)還要顧及其允許的深度。要防止設(shè)置不當(dāng),引起內(nèi)部RAM單元沖突。,數(shù)據(jù)指針DPTR

29、 16位的SFR,高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。DPTR既可以作為1個(gè)16位寄存器DPTR來(lái)用,也可以作為2個(gè)獨(dú)立的8位寄存器DPH和DPL來(lái)用。 I/O端口P0---P3 特殊功能寄存器P0---P3分別為I/O端口P0---P3的鎖存器。 在MCS-51中,I/O端口和RAM是統(tǒng)一編址的,所有訪問(wèn)RAM單元的指令,都可用來(lái)訪問(wèn)I/O端口。,串行數(shù)據(jù)緩沖器SBUF 用于存放

30、欲發(fā)送或已接受的數(shù)據(jù),它在SFR塊中只有一個(gè)字節(jié)地址,但是物理上是由兩個(gè)獨(dú)立的寄存器組成的,一個(gè)發(fā)送緩沖器,另一個(gè)是接收緩沖器。 定時(shí)器/計(jì)數(shù)器 MCS-51單片機(jī)有2個(gè)16位定時(shí)器/計(jì)數(shù)器T1和T0,它們各由2個(gè)獨(dú)立的8位寄存器組成,共有4個(gè)獨(dú)立的寄存器:TH1、TL1、TH0、TL0,可以分別對(duì)這4個(gè)寄存器進(jìn)行字節(jié)尋址,但不能把T1或T0當(dāng)作1個(gè)16位寄存器來(lái)尋址訪問(wèn)。,2.4.4 位地址空間,MCS-51有一個(gè)功能

31、很強(qiáng)的位處理器,指令系統(tǒng)中有著豐富的位操作指令,這些指令構(gòu)成了位處理機(jī)的指令機(jī)。在RAM和SFR中共有211個(gè)尋址位的位地址  128位 20H---2FH 211個(gè)尋址位的位地址  83位 80H---FFH  可位尋址的SFR有11個(gè),共有位地址88個(gè),其中5個(gè)未使用,其余83位

32、離散地分布在片內(nèi)字節(jié)地址范圍80H---FFH中。,,MCS-51內(nèi)部RAM的可尋址位及其位地址表,2.4.5 外部數(shù)據(jù)存儲(chǔ)器,當(dāng)MCS-51片內(nèi)的128B的RAM不夠用時(shí),需要通過(guò)外擴(kuò)存儲(chǔ)器,最多可擴(kuò)展64KB,這對(duì)許多應(yīng)用場(chǎng)合已是足夠使用的。,下面就MCS-51存儲(chǔ)器的結(jié)構(gòu)簡(jiǎn)要進(jìn)行小結(jié):  地址的重疊性 存在3處重疊性,但是盡管有這些重疊,卻不會(huì)產(chǎn)生操作的混亂。這是因?yàn)镸CS-51采用了不同的操作指令及EA的控制選

33、擇來(lái)自動(dòng)區(qū)分這些重疊的空間。具體的區(qū)分方法:,,(1) 程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器全部64k重疊。 訪問(wèn)程序存儲(chǔ)器使用MOVC類(lèi)指令。 訪問(wèn)數(shù)據(jù)存儲(chǔ)器使用MOV和MOVX類(lèi)指令。,(2) 數(shù)據(jù)存儲(chǔ)器片內(nèi)和片外低128B重疊 訪問(wèn)片內(nèi)數(shù)據(jù)存儲(chǔ)器使用MOV類(lèi)指令。 訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器使用MOVX類(lèi)指令。,(3) 程序存儲(chǔ)器片內(nèi)和片外低4KB重疊 EA接高電平, 執(zhí)行片內(nèi)RO

34、M中的程序,PC>0FFFH,CPU自動(dòng)訪問(wèn)片外。 EA接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。,程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器在使用上的嚴(yán)格區(qū)分 程序存儲(chǔ)器存放指令及常數(shù)表格,其操作指令不分片內(nèi)與片外。數(shù)據(jù)存儲(chǔ)器存放數(shù)據(jù),訪問(wèn)片內(nèi)與片外的指令是不同的。 位地址共有2個(gè)區(qū)域 片外數(shù)據(jù)存儲(chǔ)區(qū)中,RAM存儲(chǔ)單元與MCS-51外擴(kuò)的I/O口是統(tǒng)一編址的。因此,應(yīng)用系統(tǒng)中所有外圍I/O端口的地址均占

35、用RAM地址單元 .,2.5 并行I/O端口,P0口:雙向8位三態(tài)I/O口,此口為地址總線(低 8位)及數(shù)據(jù)總線復(fù)用口,只有該口能直 接用于對(duì)外部存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)操作。P1口:準(zhǔn)雙向口,專門(mén)供用戶使用的I/O口。P2口:準(zhǔn)雙向口,供系統(tǒng)擴(kuò)展時(shí)輸出高8位地 址,也可作為一般I/O口。P3口:準(zhǔn)雙向口,雙功能口。,P3口的第二功能定義,,2.5.1 I/O口的內(nèi)部結(jié)構(gòu),P0口的字節(jié)地

36、址為80H。P0口既可以作為通用的I/O口使用,也可作為單片機(jī)系統(tǒng)的地址/數(shù)據(jù)線使用,所以在P0口的電路中有一個(gè)多路轉(zhuǎn)換開(kāi)關(guān)MUX。在內(nèi)部控制信號(hào)的作用下,多路開(kāi)關(guān)MUX可以分別接通鎖存器輸出和地址線/數(shù)據(jù)線。,,P1口作通用I/O口使用的。其輸出驅(qū)動(dòng)部分與P0口不同,內(nèi)部有上拉負(fù)載電阻與電源相連。在端口由輸出口轉(zhuǎn)為輸入口時(shí),必須先向?qū)?yīng)的鎖存器寫(xiě)入“1”。,,P2口的字節(jié)地址為A0H。在實(shí)際應(yīng)用中,因?yàn)镻2口用于為系統(tǒng)提供高位地址,因

37、此同P0口一樣,在口電路中有一個(gè)MUX。但MUX的1個(gè)輸入端不再是“地址/數(shù)據(jù)”,而是單一的“地址”,這是因?yàn)镻2口只作為地址線使用。,在系統(tǒng)擴(kuò)展片外程序存儲(chǔ)器時(shí),由P2口輸出高8位地址(低8位地址由P0口輸出)。此時(shí),MUX在CPU的控制下轉(zhuǎn)向內(nèi)部地址線的一端。因?yàn)樵L問(wèn)片外程序存儲(chǔ)器的操作往往接連不斷,P2口要不斷送出高8位地址,所以這是P2口無(wú)法再作通用I/O口。 在不需要外擴(kuò)程序存儲(chǔ)器而只需擴(kuò)展小容量的片外數(shù)據(jù)存儲(chǔ)器的

38、系統(tǒng)中,使用“MOVX @Ri”類(lèi)指令訪問(wèn)片外RAM時(shí),尋址范圍是256B,則只需低8位地址線就可實(shí)現(xiàn)。P2口不受該指令影響,仍可作通用I/O口。,,P3口的字節(jié)地址為B0H。由于MCS-51的引腳數(shù)目有限,因此在P3口電路中增加了引腳的第二功能。,2.5.2 I/0口的讀操作,每個(gè)I/O口都有兩種讀入方法: 讀鎖存器(讀-修改-寫(xiě)指令):當(dāng)目的操作數(shù)為某一I/O口或I/O口的某一位時(shí),這些指令為讀-修改-寫(xiě)指令:例:

39、 ANL P1,A ORL P2,A JBC P1.1LABEL; P1.1=1則轉(zhuǎn)移并清除該位。,讀引腳:以I/O端口為源操作數(shù)的指令,執(zhí)行該指令時(shí),打開(kāi)三態(tài)門(mén),輸入口狀態(tài)(即先向該口寫(xiě)入“1”),例: MOV A,P1,2.6 復(fù)位電路,2.6.1 復(fù)位操作 復(fù)位是單片機(jī)的初始化操作,只需要在復(fù)位引腳RST(RESET)加上大于兩個(gè)機(jī)器周期的高電平就可使MCS-51復(fù)位。復(fù)位時(shí),PC初始化為0000H,所

40、以單片機(jī)是從0000H單元開(kāi)始執(zhí)行程序。復(fù)位時(shí)片內(nèi)個(gè)寄存器的狀態(tài):,,2.6.2 復(fù)位電路,上電復(fù)位的原理: 利用電容充電來(lái)實(shí)現(xiàn)。上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖。只要RST引腳端保持10ms以上高電平,就能使單片機(jī)有效地復(fù)位。 MCS-51的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。,復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。,在實(shí)際的應(yīng)用系統(tǒng)設(shè)計(jì)中,若有外部擴(kuò)展的I/O接口電路也需要初始復(fù)位。如果它們的復(fù)位端和M

41、CS-51的復(fù)位端相連,復(fù)位電路中的R、C參數(shù)要受到影響,為保證可靠復(fù)位,R、C參數(shù)要統(tǒng)一考慮。如果單片機(jī)MCS-51與外圍I/O接口電路的復(fù)位電路和復(fù)位時(shí)間不完全一致,使單片機(jī)初始化程序不能正常運(yùn)行,可采用獨(dú)立的上電復(fù)位電路。,提示:?jiǎn)纹瑱C(jī)的復(fù)位速度比外圍I/O接口電路快,為保證系統(tǒng)可靠復(fù)位,在初始化程序中應(yīng)安排一定的復(fù)位延遲時(shí)間。,2.7 時(shí)鐘電路,時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘控制信號(hào)。MCS-51單片機(jī)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論