版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章單片機(jī)的結(jié)構(gòu)和原理§1-1單片機(jī)概述§1-2MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳§1-3MCS-51單片機(jī)并行I/O§1-4MCS-51單片機(jī)內(nèi)存配置§1-5MCS-51單片機(jī)的時(shí)鐘電路與復(fù)位電路1.1單片機(jī)概述1、微型計(jì)算機(jī)及微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)(Microcomputer)簡(jiǎn)稱(chēng)微機(jī),是計(jì)算機(jī)的一個(gè)重要分類(lèi)。人們通常按照計(jì)算機(jī)的體積、性能和應(yīng)用范圍等條件,將計(jì)算機(jī)分為巨型機(jī)、大型機(jī)、中型機(jī)、小型機(jī)和微型機(jī)等。微型計(jì)算機(jī)不但具有其它計(jì)算機(jī)快速、精確、程序控制等特點(diǎn),最突出的是它還具有體積小、重量輕、功耗低、價(jià)格便宜等優(yōu)點(diǎn)。個(gè)人計(jì)算機(jī)簡(jiǎn)稱(chēng)PC(PersonalComputer)機(jī),是微型計(jì)算機(jī)中應(yīng)用最為廣泛的一種,也是近年來(lái)計(jì)算機(jī)領(lǐng)域中發(fā)展最快的一個(gè)分支。由于PC機(jī)在性能和價(jià)格方面適合個(gè)人用戶購(gòu)買(mǎi)和使用,目前,它已經(jīng)像普通家電一樣深入到了家庭和社會(huì)生活的各個(gè)方面。這種計(jì)算機(jī)系統(tǒng)通常由多塊印刷電路板制成:多板機(jī)
主板顯卡聲卡存儲(chǔ)器接口網(wǎng)卡輸入輸出接口內(nèi)存條CPU單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理2、單片機(jī)微型計(jì)算機(jī)單片機(jī)就是單片微型計(jì)算機(jī)(Single-ChipMicrocomputer)。單片微型計(jì)算機(jī)是指集成在一個(gè)芯片上的微型計(jì)算機(jī),也就是把組成微型計(jì)算機(jī)的各種功能部件,包括CPU(CentralProcessingUnit)、隨機(jī)存取存儲(chǔ)器RAM(RandomAccessMemory)、只讀存儲(chǔ)器ROM(Read-onlyMemory)、基本輸入/輸出(Input/Output)接口電路、定時(shí)器/計(jì)數(shù)器等部件都制作在一塊集成芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī),從而實(shí)現(xiàn)微型計(jì)算機(jī)的基本功能。
CPU存儲(chǔ)器控制電路定時(shí)器時(shí)鐘電路I/O口單片機(jī)單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理單片機(jī)應(yīng)用系統(tǒng)單片機(jī)實(shí)質(zhì)上是一個(gè)芯片。在實(shí)際應(yīng)用中,通常很難將單片機(jī)直接和被控對(duì)象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電路、外部設(shè)備、被控對(duì)象等硬件和軟件,才能構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。
單片機(jī)應(yīng)用系統(tǒng)的組成由此可見(jiàn),單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)人員必須從硬件和軟件兩個(gè)角度來(lái)深入了解單片機(jī),并能夠?qū)⒍哂袡C(jī)結(jié)合起來(lái),才能形成具有特定功能的應(yīng)用系統(tǒng)或整機(jī)產(chǎn)品。單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理單片機(jī)系統(tǒng)硬件部分軟件部分單片機(jī)芯片外圍器件CPU內(nèi)存中斷控制邏輯通用接口運(yùn)算器寄存器組控制器并行I/O口串行UART定時(shí)/計(jì)數(shù)器ADC0809、DAC0832825382518255A、81552764、6264指令系統(tǒng)應(yīng)用程序單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理單片機(jī)的發(fā)展歷史自從1974年美國(guó)Fairchild公司研制出第一臺(tái)單片機(jī)F8之后,迄今為止,單片機(jī)經(jīng)歷了由4位機(jī)到8位機(jī)再到16位機(jī)的發(fā)展過(guò)程。單片機(jī)制造商很多,主要有美國(guó)的Intel、Motorola、Zilog等公司。目前,單片機(jī)正朝著高性能、多品種方向發(fā)展。近年來(lái),32位單片機(jī)已進(jìn)入了實(shí)用階段,但是由于8位單片機(jī)在性能價(jià)格比上占有優(yōu)勢(shì),而且8位增強(qiáng)型單片機(jī)在速度和功能上向現(xiàn)在的16位單片機(jī)挑戰(zhàn),因此在未來(lái)相當(dāng)長(zhǎng)的時(shí)期內(nèi),8位單片機(jī)仍是單片機(jī)的主流機(jī)型。單片機(jī)的發(fā)展趨勢(shì)1、微型化2、低功耗3、高速化(時(shí)鐘頻率的提高,目前有100MHz)4、集成資源更多(定時(shí)器,比較器,AD轉(zhuǎn)換等)5、性能更加優(yōu)異(DigitalSignalProcessing)采用三核結(jié)構(gòu),(微控器核DSP核,數(shù)據(jù)和程序存儲(chǔ)器核,外圍專(zhuān)用集成電路ASIC)6、通信及網(wǎng)絡(luò)功能加強(qiáng)單片機(jī)特點(diǎn)1、體積小,重量輕;2、可靠性高,運(yùn)行速度快,抗干擾能力強(qiáng);3、控制功能強(qiáng),使用靈活,性價(jià)比高;4、易擴(kuò)展,易于開(kāi)發(fā);5、受集成度限制,片內(nèi)存儲(chǔ)器容量較小,一般內(nèi)ROM在8KB以下,內(nèi)RAM在256B以內(nèi)。單片機(jī)的應(yīng)用1、工業(yè)控制領(lǐng)域(過(guò)程控制,機(jī)電一體化控制系統(tǒng))2、家用電器領(lǐng)域(洗衣機(jī),空調(diào)、微波爐等)3、辦公自動(dòng)化領(lǐng)域(鍵盤(pán),打印機(jī),考勤機(jī)等)4、商業(yè)營(yíng)銷(xiāo)領(lǐng)域(電子稱(chēng),收款機(jī),條形碼閱讀器等)5、智能儀表與智能傳感器(存儲(chǔ),數(shù)據(jù)處理、查找、判斷、聯(lián)網(wǎng)等智能化功能)單片機(jī)的分類(lèi)盡管各類(lèi)單片機(jī)很多,但無(wú)論是從世界范圍或是從全國(guó)范圍來(lái)看,使用最為廣泛的應(yīng)屬M(fèi)CS-51單片機(jī)。基于這一事實(shí),本書(shū)以應(yīng)用最為廣泛的MCS-51系列8位單片機(jī)(8031、8051、8751等)為研究對(duì)象,介紹單片機(jī)的硬件結(jié)構(gòu)、工作原理及應(yīng)用系統(tǒng)的設(shè)計(jì)。MCS-51單片機(jī)系列共有十幾種芯片,如表1.1所示。子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量尋址范圍I/O特性中斷源無(wú)ROMEPROM計(jì)數(shù)器并行口串行口51子系列8031805187514KB128B2×64KB2×164×81580C3180C5187C514KB128B2×64KB2×164×81552子系統(tǒng)8032805287528KB256B2×64KB3×164×81680C3280C5287C528KB256B2×64KB3×164×816表1.1
MCS-51系列單片機(jī)分類(lèi)表
單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理51子系列和52子系列表中列出了MCS-51單片機(jī)系列的芯片型號(hào),以及它們的技術(shù)性能指標(biāo),使我們對(duì)它們的基本情況有了一個(gè)概括的了解。下面我們就在這個(gè)表的基礎(chǔ)上對(duì)MCS-51系列單片機(jī)作進(jìn)一步說(shuō)明。MCS-51系列又分為51和52兩個(gè)子系列,并以芯片型號(hào)的最末位數(shù)字作為標(biāo)志。其中,51子系列是基本型,而52子系列則屬增強(qiáng)型。52子系列功能增強(qiáng)的具體方面,從表1.1所列內(nèi)容中可以看出:(1)片內(nèi)ROM從4KB增加到8KB。(2)片內(nèi)RAM從128B增加到256B。(3)定時(shí)/計(jì)數(shù)器從2個(gè)增加到3個(gè)。(4)中斷源從5個(gè)增加到6個(gè)。在52子系列的內(nèi)部ROM中,以掩膜方式集成有8KBBASIC解釋程序,這就是通常所說(shuō)的8052-BASIC。這意味著單片機(jī)已可以使用高級(jí)語(yǔ)言。該BASIC與基本BASIC相比,增加了一些控制語(yǔ)句,以滿足單片機(jī)作為控制機(jī)的需要。1.2MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳MCS-51系列單片機(jī)是因特公司1980推出的高檔8位機(jī)分為二個(gè)子系列,三個(gè)版本:/8KB8052//803252子系列4KB/8751/4KB8051//803151子系列MCS-51EPROM掩膜ROM存儲(chǔ)器類(lèi)型單片機(jī)系列1.8051單片機(jī)的基本組成
MCS-51單片機(jī)的典型芯片是8031、8051、8751。8051內(nèi)部有4KBROM,8751內(nèi)部有4KBEPROM,8031內(nèi)部無(wú)ROM;除此之外,三者的內(nèi)部結(jié)構(gòu)及引腳完全相同。因此,以8051為例,說(shuō)明本系列單片機(jī)的內(nèi)部組成及信號(hào)引腳。
8051單片機(jī)的基本組成請(qǐng)參見(jiàn)圖1.1。下面介紹各部分的基本情況。圖1.1MCS-51單片機(jī)結(jié)構(gòu)框圖單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理1)中央處理器(CPU)中央處理器是單片機(jī)的核心,完成運(yùn)算和控制功能。MCS-51的CPU能處理8位二進(jìn)制數(shù)或代碼。2)內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM)8051芯片中共有256個(gè)RAM單元,但其中后128單元被專(zhuān)用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡(jiǎn)稱(chēng)內(nèi)部RAM。
3)內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM)8051共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,因此,稱(chēng)之為程序存儲(chǔ)器,簡(jiǎn)稱(chēng)內(nèi)部ROM。4)定時(shí)/計(jì)數(shù)器8051共有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。5)并行I/O口MCS-51共有4個(gè)8位的I/O口(P0、P1、P2、P3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入/輸出。
6)串行口MCS-51單片機(jī)有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。7)中斷控制系統(tǒng)MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8051共有5個(gè)中斷源,即外中斷兩個(gè),定時(shí)/計(jì)數(shù)中斷兩個(gè),串行中斷一個(gè)。全部中斷分為高級(jí)和低級(jí)共兩個(gè)優(yōu)先級(jí)別。8)時(shí)鐘電路MCS-51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6MHz和12MHz。2.?MCS-51的信號(hào)引腳MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列請(qǐng)參見(jiàn)圖1.2。1)信號(hào)引腳介紹P0.0~P0.7:P0口8位雙向口線。P1.0~P1.7:P1口8位雙向口線。P2.0~P2.7:P2口8位雙向口線。P3.0~P3.7:P3口8位雙向口線。圖1.2MCS-51引腳圖單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理
ALE:地址鎖存控制信號(hào)。在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口輸出的低8位地址鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振1/6的固定頻率輸出的正脈沖,因此,可作為外部時(shí)鐘或外部定時(shí)脈沖使用。:外部程序存儲(chǔ)器讀選通信號(hào)。在讀外部ROM時(shí),有效(低電平),以實(shí)現(xiàn)外部ROM單元的讀操作。:訪問(wèn)程序存儲(chǔ)器控制信號(hào)。當(dāng)信號(hào)為低電平時(shí),對(duì)ROM的讀操作限定在外部程序存儲(chǔ)器;當(dāng)信號(hào)為高電平時(shí),對(duì)ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延至外部程序存儲(chǔ)器。RST:復(fù)位信號(hào)。當(dāng)輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。VSS:地線。VCC:+5V電源。以上是MCS-51單片機(jī)芯片40條引腳的定義及簡(jiǎn)單功能說(shuō)明。
2)信號(hào)引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限制的。例如,MCS-51系列把芯片引腳數(shù)目限定為40條,但單片機(jī)為實(shí)現(xiàn)其功能所需要的信號(hào)數(shù)目卻遠(yuǎn)遠(yuǎn)超過(guò)此數(shù),因此就出現(xiàn)了需要與可能的矛盾。如何解決這個(gè)矛盾?“兼職”是唯一可行的辦法,即給一些信號(hào)引腳賦以雙重功能。如果把前述的信號(hào)定義為引腳第一功能的話,則根據(jù)需要再定義的信號(hào)就是它的第二功能。下面介紹一些信號(hào)引腳的第二功能。(1)P3口線的第二功能。P3的8條口線都定義有第二功能,詳見(jiàn)表1.2。(2)EPROM存儲(chǔ)器程序固化所需要的信號(hào)。有內(nèi)部EPROM的單片機(jī)芯片(例如8751),為寫(xiě)入程序需提供專(zhuān)門(mén)的編程脈沖和編程電源,這些信號(hào)也是由信號(hào)引腳以第二功能的形式提供的,即:編程脈沖:30腳(ALE/)編程電壓(25V):31腳(/VPP)引腳第二功能信號(hào)名稱(chēng)P3.0
RXD串行數(shù)據(jù)接收P3.1
TXD串行數(shù)據(jù)發(fā)送P3.2
外部中斷0申請(qǐng)P3.3
外部中斷1申請(qǐng)P3.4
T0定時(shí)/計(jì)數(shù)器0的外部輸入P3.5
T1定時(shí)/計(jì)數(shù)器1的外部輸入P3.6
外部RAM寫(xiě)選通P3.7
外部RAM讀選通表1.2P3口各引腳與第二功能表
(3)備用電源引入。MCS-51單片機(jī)的備用電源也是以第二功能的方式由9腳(RST/VPD)引入的。當(dāng)電源發(fā)生故障,電壓降低到下限值時(shí),備用電源經(jīng)此端向內(nèi)部RAM提供電壓,以保護(hù)內(nèi)部RAM中的信息不丟失。以上把MCS-51單片機(jī)的全部信號(hào)引腳分別以第一功能和第二功能的形式列出。對(duì)于各種型號(hào)的芯片,其引腳的第一功能信號(hào)是相同的,所不同的只在引腳的第二功能信號(hào)。對(duì)于9、30和31三個(gè)引腳,由于第一功能信號(hào)與第二功能信號(hào)是單片機(jī)在不同工作方式下的信號(hào),因此不會(huì)發(fā)生使用上的矛盾。但是P3口的情況卻有所不同,它的第二功能信號(hào)都是單片機(jī)的重要控制信號(hào)。因此,在實(shí)際使用時(shí),都是先按需要選用第二功能信號(hào),剩下的才以第一功能的身份作數(shù)據(jù)位的輸入/輸出使用。ALE/PROG——地址鎖存控制端PSEN——外部程序存儲(chǔ)器的讀選通信號(hào)端/Vpp——內(nèi)/外ROM選擇端=1時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,即內(nèi)ROM=0時(shí),只訪問(wèn)外部程序存儲(chǔ)器,即外ROM對(duì)于8751單片機(jī)編程時(shí),該端施加編程電壓3、輸入/輸出引腳P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7四個(gè)I/O口,每口八條線;還兼作地址/數(shù)據(jù)線。1.3并行I/O端口
1、P0口:地址低8位與數(shù)據(jù)線分時(shí)使用端口,2、P1口:按位可編址的輸入輸出端口,3、P2口:地址高8位輸出口4、P3口:雙功能口。若不用第二功能,也可作通用I/O口。5、按三總線劃分:地址線:P0低八位地址,P2高八地址;數(shù)據(jù)線:P0輸入輸出8位數(shù)據(jù);控制線:P3口的8位加上/PSEN、ALE共同完成控制總線。1.4MCS-51單片機(jī)內(nèi)存配置1、MCS-51單片機(jī)的內(nèi)存結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)器外部ROM007FH程序存儲(chǔ)器)(外部K64RAM物理上分為:4個(gè)空間,即片內(nèi)ROM、片外ROM片內(nèi)RAM、片外RAM邏輯上分為:3個(gè)空間,即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址MOVC數(shù)據(jù)存儲(chǔ)器(片內(nèi))MOV數(shù)據(jù)存儲(chǔ)器(片外)MOVX2、程序存儲(chǔ)器尋址范圍:0000H~FFFFH容量64KB,即地址長(zhǎng)度:16位
,尋址內(nèi)部ROM;
,尋址外部ROM。當(dāng)PC值超過(guò)片內(nèi)ROM容量時(shí)會(huì)自動(dòng)轉(zhuǎn)向外部存儲(chǔ)器空間。8031單片機(jī),接低電平。作用:
存放程序及程序運(yùn)行時(shí)所需的常數(shù)。單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理
MCS-51的程序存儲(chǔ)器用于存放編好的程序和表格常數(shù)。8051片內(nèi)有4KB的ROM,8751片內(nèi)有4KB的EPROM,8031片內(nèi)無(wú)程序存儲(chǔ)器。MCS-51的片外最多能擴(kuò)展64KB程序存儲(chǔ)器,片內(nèi)外的ROM是統(tǒng)一編址的。如端保持高電平,8051的程序計(jì)數(shù)器PC在0000H~0FFFH地址范圍內(nèi)(即前4KB地址)是執(zhí)行片內(nèi)ROM中的程序,當(dāng)PC在1000H~FFFFH地址范圍時(shí),自動(dòng)執(zhí)行片外程序存儲(chǔ)器中的程序;當(dāng)保持低電平時(shí),只能尋址外部程序存儲(chǔ)器,片外存儲(chǔ)器可以從0000H開(kāi)始編址。MCS-51的程序存儲(chǔ)器中有些單元具有特殊功能。其中一組特殊單元是0000H~0002H。系統(tǒng)復(fù)位后,(PC)=0000H,單片機(jī)從0000H單元開(kāi)始取指令執(zhí)行程序。如果程序不從0000H單元開(kāi)始,應(yīng)在這三個(gè)單元中存放一條無(wú)條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。還有一組特殊單元是0003H~002AH,共40個(gè)單元。這40個(gè)單元被均勻地分為5段,作為5個(gè)中斷源的中斷地址區(qū)。其中:0003H~000AH外部中斷0中斷地址區(qū)000BH~0012H定時(shí)/計(jì)數(shù)器0中斷地址區(qū)0013H~001AH外部中斷1中斷地址區(qū)001BH~0022H定時(shí)/計(jì)數(shù)器1中斷地址區(qū)0023H~002AH串行中斷地址區(qū)中斷響應(yīng)后,按中斷種類(lèi),自動(dòng)轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程序。但通常情況下,8個(gè)單元難以存下一個(gè)完整的中斷服務(wù)程序,因此通常也是從中斷地址區(qū)首地址開(kāi)始存放一條無(wú)條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過(guò)中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實(shí)際入口地址。0000H——系統(tǒng)復(fù)位,PC指向此處;0003H——外部中斷0入口000BH——T0溢出中斷入口0013H——外中斷1入口001BH——T1溢出中斷入口0023H——串口中斷入口六個(gè)具有特殊含義的單元是:3、內(nèi)部數(shù)據(jù)存儲(chǔ)器物理上分為兩大區(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ū)、工作單元8051的內(nèi)部RAM共有256個(gè)單元,通常把這256個(gè)單元按其功能劃分為兩部分:低128單元(單元地址00H~7FH)和高128單元(單元地址80H~FFH)。表1.3所示為低128單元的配置圖。30H~7FH數(shù)據(jù)緩沖區(qū)20H~2FH位尋址區(qū)(00H~7FH)18H~1FH工作寄存器3區(qū)(R7~R0)10H~17H工作寄存器2區(qū)(R7~R0)08H~0FH工作寄存器1區(qū)(R7~R0)00H~07H工作寄存器0區(qū)(R7~R0)表1.3片內(nèi)RAM的配置低128單元是單片機(jī)的真正RAM存儲(chǔ)器,按其用途劃分為寄存器區(qū)、位尋址區(qū)和用戶RAM區(qū)三個(gè)區(qū)域。1)寄存器區(qū)8051共有4組寄存器,每組8個(gè)寄存單元(各為8),各組都以R0~R7作寄存單元編號(hào)。寄存器常用于存放操作數(shù)中間結(jié)果等。由于它們的功能及使用不作預(yù)先規(guī)定,因此稱(chēng)之為通用寄存器,有時(shí)也叫工作寄存器。4組通用寄存器占據(jù)內(nèi)部RAM的00H~1FH單元地址。在任一時(shí)刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱(chēng)之為當(dāng)前寄存器組。到底是哪一組,由程序狀態(tài)字寄存器PSW中RS1、RS0位的狀態(tài)組合來(lái)決定。通用寄存器為CPU提供了就近存儲(chǔ)數(shù)據(jù)的便利,有利于提高單片機(jī)的運(yùn)算速度。此外,使用通用寄存器還能提高程序編制的靈活性,因此,在單片機(jī)的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡(jiǎn)化程序設(shè)計(jì),提高程序運(yùn)行速度。2)位尋址區(qū)內(nèi)部RAM的20H~2FH單元,既可作為一般RAM單元使用,進(jìn)行字節(jié)操作,也可以對(duì)單元中每一位進(jìn)行位操作,因此把該區(qū)稱(chēng)之為位尋址區(qū)。位尋址區(qū)共有16個(gè)RAM單元,計(jì)128位,地址為00H~7FH。MCS-51具有布爾處理機(jī)功能,這個(gè)位尋址區(qū)可以構(gòu)成布爾處理機(jī)的存儲(chǔ)空間。這種位尋址能力是MCS-51的一個(gè)重要特點(diǎn)。表1.4為位尋址區(qū)的位地址。單元地址MSB位地址LSB2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F077E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800表1.4片內(nèi)RAM位尋址區(qū)的位地址
3)用戶RAM區(qū)在內(nèi)部RAM低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,剩下80個(gè)單元,這就是供用戶使用的一般RAM區(qū),其單元地址為30H~7FH。對(duì)用戶RAM區(qū)的使用沒(méi)有任何規(guī)定或限制,但在一般應(yīng)用中常把堆棧開(kāi)辟在此區(qū)中。內(nèi)部數(shù)據(jù)存儲(chǔ)器高128單元內(nèi)部RAM的高128單元是供給專(zhuān)用寄存器使用的,其單元地址為80H~FFH。因這些寄存器的功能已作專(zhuān)門(mén)規(guī)定,故稱(chēng)之為專(zhuān)用寄存器(SpecialFunctionRegister),也可稱(chēng)為特殊功能寄存器。
1)專(zhuān)用寄存器(SFR)簡(jiǎn)介8051共有21個(gè)專(zhuān)用寄存器,現(xiàn)把其中部分寄存器簡(jiǎn)單介紹如下:(1)程序計(jì)數(shù)器(PC—ProgramCounter)。PC是一個(gè)16位的計(jì)數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)64KB。PC有自動(dòng)加1功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。PC沒(méi)有地址,是不可尋址的,因此用戶無(wú)法對(duì)它進(jìn)行讀寫(xiě),但可以通過(guò)轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。因地址不在SFR(專(zhuān)用寄存器)之內(nèi),一般不計(jì)作專(zhuān)用寄存器。(2)累加器(ACC—Accumulator)。累加器為8位寄存器,是最常用的專(zhuān)用寄存器,功能較多,地位重要。它既可用于存放操作數(shù),也可用來(lái)存放運(yùn)算的中間結(jié)果。MCS-51單片機(jī)中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。(3)B寄存器。B寄存器是一個(gè)8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算時(shí),B存乘數(shù)。乘法操作后,乘積的高8位存于B中,除法運(yùn)算時(shí),B存除數(shù)。除法操作后,余數(shù)存于B中。此外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。(4)程序狀態(tài)字(PSW—ProgramStatusWord)。程序狀態(tài)字是一個(gè)8位寄存器,用于存放程序運(yùn)行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動(dòng)設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。PSW的位狀態(tài)可以用專(zhuān)門(mén)指令進(jìn)行測(cè)試,也可以用指令讀出。一些條件轉(zhuǎn)移指令將根據(jù)PSW有些位的狀態(tài),進(jìn)行程序轉(zhuǎn)移。PSW的各位定義如下:PSW位地址D7HD6HD5HD4HD3HD2HD1HD0H字節(jié)地址D0H
CYACF0RS1RS0OVF1P除PSW.1位保留未用外,其余各位的定義及使用如下:CY(PSW.7)——進(jìn)位標(biāo)志位。CY是PSW中最常用的標(biāo)志位。其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志,在進(jìn)行加或減運(yùn)算時(shí),如果操作結(jié)果的最高位有進(jìn)位或借位時(shí),CY由硬件置“1”,否則清“0”;二是在位操作中,作累加位使用。單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理AC(PSW.6)——輔助進(jìn)位標(biāo)志位。在進(jìn)行加減運(yùn)算中,當(dāng)?shù)?位向高4位進(jìn)位或借位時(shí),AC由硬件置“1”,否則AC位被清“0”。在BCD碼調(diào)整中也要用到AC位狀態(tài)。F0(PSW.5)——用戶標(biāo)志位。這是一個(gè)供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用以控制程序的轉(zhuǎn)向。RS1和RS0(PSW.4,PSW.3)——寄存器組選擇位。它們被用于選擇CPU當(dāng)前使用的通用寄存器組。通用寄存器共有4組,其對(duì)應(yīng)關(guān)系如下:RS1RS0寄存器組片內(nèi)RAM地址
0
0第0組00H~07H
0
1第1組08H~0FH1
0第2組10H~17H1
1第3組18H~1FH這兩個(gè)選擇位的狀態(tài)是由軟件設(shè)置的,被選中的寄存器組即為當(dāng)前通用寄存器組。但當(dāng)單片機(jī)上電或復(fù)位后,RS1RS0=00。OV(PSW.2)——溢出標(biāo)志位。在帶符號(hào)數(shù)加減運(yùn)算中,OV=1表示加減運(yùn)算超出了累加器A所能表示的符號(hào)數(shù)有效范圍(-128~+127),即產(chǎn)生了溢出,因此運(yùn)算結(jié)果是錯(cuò)誤的,否則,OV=0表示運(yùn)算正確,即無(wú)溢出產(chǎn)生。在乘法運(yùn)算中,OV=1表示乘積超過(guò)255,即乘積分別在B與A中,否則,OV=0,表示乘積只在A中。在除法運(yùn)算中,OV=1表示除數(shù)為0,除法不能進(jìn)行,否則,OV=0,除數(shù)不為0,除法可正常進(jìn)行。
P(PSW.0)——奇偶標(biāo)志位。表明累加器A中內(nèi)容的奇偶性。如果A中有奇數(shù)個(gè)“1”,則P置“1”,否則置“0”。凡是改變累加器A中內(nèi)容的指令均會(huì)影響P標(biāo)志位。此標(biāo)志位對(duì)串行通信中的數(shù)據(jù)傳輸有重要的意義。在串行通信中常采用奇偶校驗(yàn)的辦法來(lái)校驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?5)數(shù)據(jù)指針(DPTR)。數(shù)據(jù)指針為16位寄存器。編程時(shí),DPTR既可以按16位寄存器使用,也可以按兩個(gè)8位寄存器分開(kāi)使用,即:DPH:DPTR高8位DPL:DPTR低8位
DPTR通常在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)作地址指針使用。由于外部數(shù)據(jù)存儲(chǔ)器的尋址范圍為64KB,故把DPTR設(shè)計(jì)為16位。(6)堆棧指針(SP—StackPointer)。堆棧是一個(gè)特殊的存儲(chǔ)區(qū),用來(lái)暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。由于MCS-51單片機(jī)的堆棧設(shè)在內(nèi)部RAM中,因此SP是一個(gè)8位寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,從而復(fù)位后堆棧實(shí)際上是從08H單元開(kāi)始的。但08H~1FH單元分別屬于工作寄存器1~3區(qū),如程序要用到這些區(qū),最好把SP值改為30H或更大的值。一般在內(nèi)部RAM的30H~7FH單元中開(kāi)辟堆棧。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來(lái),由于SP可初始化為不同值,因此堆棧位置是浮動(dòng)的。此處,只集中講述了6個(gè)專(zhuān)用寄存器,其余的專(zhuān)用寄存器(如TCON、TMOD、IE、IP、SCON、PCON、SBUF等)將在以后章節(jié)中陸續(xù)介紹。2)專(zhuān)用寄存器中的字節(jié)尋址和位地址MCS-51系列單片機(jī)有21個(gè)可尋址的專(zhuān)用寄存器,其中有11個(gè)專(zhuān)用寄存器是可以位尋址的。對(duì)專(zhuān)用寄存器的字節(jié)尋址問(wèn)題作如下幾點(diǎn)說(shuō)明:(1)21個(gè)可字節(jié)尋址的專(zhuān)用寄存器是不連續(xù)地分散在內(nèi)部RAM高128單元之中,盡管還余有許多空閑地址,但用戶并不能使用。(2)程序計(jì)數(shù)器PC不占據(jù)RAM單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。(3)對(duì)專(zhuān)用寄存器只能使用直接尋址方式,書(shū)寫(xiě)時(shí)既可使用寄存器符號(hào),也可使用寄存器。(4)凡地址能被8整除的寄存器都是可位尋址的寄存器。1.5時(shí)鐘電路與復(fù)位電路1.5.1時(shí)鐘電路與時(shí)序1.時(shí)鐘信號(hào)的產(chǎn)生在MCS-51芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘電路,如圖1.3所示。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。請(qǐng)讀者特別注意時(shí)鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會(huì)造成概念上的錯(cuò)誤。一般地,電容C1和C2取30pF左右,晶體的振蕩頻率范圍是1.2~12MHz。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)運(yùn)行速度也就快。MCS-51在通常應(yīng)用情況下,使用振蕩頻率為6MHz或12MHz。
圖1.3時(shí)鐘振蕩電路單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理2.引入外部脈沖信號(hào)在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時(shí)鐘信號(hào)的同步,應(yīng)當(dāng)引入惟一的公用外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖。這時(shí),外部的脈沖信號(hào)是經(jīng)XTAL2引腳注入,其連接如圖1.4所示。3.時(shí)序時(shí)序是用定時(shí)單位來(lái)說(shuō)明的。MCS-51的時(shí)序定時(shí)單位共有4個(gè),從小到大依次是:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。下面分別加以說(shuō)明。圖1.4外部時(shí)鐘源接法單片機(jī)內(nèi)部結(jié)構(gòu)以及基本原理
1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為節(jié)拍(用P表示)。振蕩脈沖經(jīng)過(guò)二分頻后,就是單片機(jī)的時(shí)鐘信號(hào)的周期,其定義為狀態(tài)(用S表示)。這樣,一個(gè)狀態(tài)就包含兩個(gè)節(jié)拍,具前半周期對(duì)應(yīng)的拍節(jié)叫節(jié)拍1(P1),后半周期對(duì)應(yīng)的節(jié)拍叫節(jié)拍2(P2)。2)機(jī)器周期MCS-51采用定時(shí)控制方式,因此它有固定的機(jī)器周期。規(guī)定一個(gè)機(jī)器周期的寬度為6個(gè)狀態(tài),并依次表示為S1~S6。由于一個(gè)狀態(tài)又包括兩個(gè)節(jié)拍,因此,一個(gè)機(jī)器周期總共有12個(gè)節(jié)拍,分別記作S1P1、S1P2、…、S6P2。由于一個(gè)機(jī)器周期共有12個(gè)振蕩脈沖周期,因此機(jī)器周期就是振蕩脈沖的十二分頻。當(dāng)振蕩脈沖頻率為12MHz時(shí),一個(gè)機(jī)器周期為1
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 部隊(duì)安全制度
- 中考祖國(guó)作文題目及答案
- 軟件測(cè)試自動(dòng)化工具介紹與分析
- 車(chē)輛使用制度
- 財(cái)務(wù)審簽制度
- 試論執(zhí)行異議制度
- 行政復(fù)議制度本質(zhì)上是司法審查制度
- 2025年永興人事資源考試及答案
- 2025年鞍鋼專(zhuān)業(yè)知識(shí)筆試及答案
- 2025年筆試和面試的考試及答案
- 填飼對(duì)鵝肝膽固醇合成相關(guān)基因表達(dá)的影響:基于分子機(jī)制與生理響應(yīng)的研究
- 2025年關(guān)于落實(shí)全面從嚴(yán)治黨主體責(zé)任情況的自查報(bào)告
- 開(kāi)發(fā)票運(yùn)輸合同范本
- 臨床正確標(biāo)本采集規(guī)范
- 基金通道業(yè)務(wù)合同協(xié)議
- 交通銀行理財(cái)合同范本
- 標(biāo)準(zhǔn)化咨詢服務(wù)方案
- 四新安全生產(chǎn)培訓(xùn)課件
- 林業(yè)結(jié)構(gòu)化面試題庫(kù)及答案
- 2025年青島市中考數(shù)學(xué)試卷(含答案解析)
- 長(zhǎng)護(hù)險(xiǎn)護(hù)理培訓(xùn)
評(píng)論
0/150
提交評(píng)論