單片機原理與應(yīng)用第二版_第1頁
單片機原理與應(yīng)用第二版_第2頁
單片機原理與應(yīng)用第二版_第3頁
單片機原理與應(yīng)用第二版_第4頁
單片機原理與應(yīng)用第二版_第5頁
已閱讀5頁,還剩120頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 MCS-51單片機結(jié)構(gòu)(jigu)及原理內(nèi)容提要本章介紹單片機的概念、分類及應(yīng)用領(lǐng)域。單片機從硬件角度看由中央處理器CPU、程序存儲器及數(shù)據(jù)存儲器、多種輸入和輸出(I/O)口組成,從軟件的角度看通過程序控制單片機各部分的運行,本章重點介紹MCS-51系列單片機中央處理器、各種存儲器、寄存器、輸入和輸出口,復(fù)位方法等。這些都是與程序有關(guān)的基礎(chǔ)知識。自1970-1975年美國多家公司開發(fā)出單片微型計算機以來,單片機技術(shù)已成為計算機技術(shù)的一個獨特(dt)分支。本書主要介紹單片機的發(fā)展概況,單片機的基礎(chǔ)知識以及單片機原理和應(yīng)用。共一百二十五頁1.1 單片機的概念(ginin)1.1.1 單片機

2、的概念隨著大規(guī)模集成電路技術(shù)和計算機技術(shù)的飛速發(fā)展,把計算機的運算器和控制器(即CPU),存儲器(程序存儲器和數(shù)據(jù)存儲器)和多種接口集成在一塊芯片上,稱為微處理器(Microprocessor),也叫微控制器,在我國習(xí)慣上又叫單片機。微型計算機問世20年來,發(fā)展速度之迅猛(xnmng),應(yīng)用范圍之廣泛是以往任何技術(shù)都無法比擬的。單片機作為嵌入式微控制器其應(yīng)用非常普及。是電類專業(yè)需要掌握的一門常用電子技術(shù)。共一百二十五頁單片機的組成(z chn)一個最基本的微型計算機通常由以下幾部分組成:(1)中央處理器(CPU),包括運算器、控制器和寄存器組;(2)存儲器,包括ROM(只讀存儲器)和RAM(靜

3、態(tài)可讀寫存儲器);(3)多種輸入/輸出(shch)(I/O)接口,與外部輸入輸出(shch)設(shè)備連接。共一百二十五頁 隨著計算機微型化的需要,把上述微型計算機的基本功能部件全部集成在一塊半導(dǎo)體芯片上,使得一塊集成電路芯片就是一個單片機,單片機除了具備一般微型計算機的功能外,為了(wi le)增強實時控制能力,絕大部分單片機的芯片上還集成有定時器/計數(shù)器,某些單片機帶有A/D(模擬量轉(zhuǎn)換成數(shù)字量)轉(zhuǎn)換器,D/A轉(zhuǎn)換,串行接口等功能部件,使單片機能夠滿足多功能控制技術(shù)要求。共一百二十五頁 單片機結(jié)構(gòu)上的設(shè)計重點是面向控制的需要,因此,它在硬件結(jié)構(gòu)、指令系統(tǒng)和I/O能力等方面均有其獨特之處,其顯著的

4、特點之一就是具有非常有效的控制功能。所以(suy),單片機不但與一般的微機結(jié)構(gòu)一樣是有效的數(shù)據(jù)處理機,而且還是一個功能很強的過程 控制機。只要加上較少的、所需要的輸入/輸出設(shè)備或驅(qū)動電路,就可以構(gòu)成一個實用的系統(tǒng),滿足各種應(yīng)用領(lǐng)域的需要。并且也可把有些硬件功能軟件化。圖1.1是一單片機實驗電路,其中較大的一塊集成電路是AT89C51單片機,上部是采用數(shù)碼管顯示電路。共一百二十五頁 圖1.1 單片機實驗(shyn)電路圖 共一百二十五頁單片機的特點 單片機具有集成度高、體積小、功耗低、系列齊全、功能(gngnng)擴展容易、使用靈活方便、抗干擾能力強、性能可靠、價格低廉等特點。用行話講叫“性/價

5、”比高。單片機的發(fā)展概況 單片機自從1975年誕生以來,經(jīng)歷了近30年的發(fā)展。目前單片機的產(chǎn)品已達(dá)60多種系列,300多種型號。每年還有很多新型號產(chǎn)生。就字長而言,單片機主要有4位、8位、16位和32位等多種。這里說的“位”指CPU一次能處理、傳送的二進(jìn)制數(shù)位數(shù)。共一百二十五頁1.1.2 單片機的應(yīng)用領(lǐng)域 由于單片機具有(jyu)體積小、使用靈活、成本低、易于產(chǎn)品化等的特點,特別是有強大的、面向控制的能力,使它在工業(yè)控制、智能儀表、外設(shè)控制、家用電器、機器人、軍事裝置等方面得到了廣泛的應(yīng)用。 單片機的主要應(yīng)用領(lǐng)域有以下幾方面。共一百二十五頁 智能化產(chǎn)品(chnpn) 單片機與傳統(tǒng)的機械產(chǎn)品相結(jié)

6、合,使傳統(tǒng)的機械產(chǎn)品結(jié)構(gòu)簡單化,控制智能化,構(gòu)成新一代的機、電一代化產(chǎn)品。目前,廣泛用于工業(yè)自動控制,如數(shù)控機床、可編程順序控制、電機控制、工業(yè)機器人,離散與連續(xù)過程自動控制等;家用電器,如微波爐、電視機、錄像機、音響設(shè)備、游戲機等;辦公設(shè)備,如傳真機、復(fù)印機、數(shù)碼相機等;電訊技術(shù),如調(diào)制解調(diào)器、聲像處理、數(shù)字濾波、智能線路運行(ynxng)控制;在電傳、打印機設(shè)計中由于采用了單片機,取代了近千個機械部件;用單片機控制空調(diào)機,使制冷量無級調(diào)節(jié)的優(yōu)點得到了充分的發(fā)揮,并增加了多種報警與控制功能;用單片機實現(xiàn)了通信系統(tǒng)中的臨時監(jiān)控、自適應(yīng)控制、頻率合成、信道搜索等,構(gòu)成了自動撥號無線電話網(wǎng)、自動呼

7、叫應(yīng)答設(shè)備及程控調(diào)度電話分機等等。共一百二十五頁 智能化儀表(ybio) 單片機引入到已有的測量、控制儀表后,能促進(jìn)儀表向數(shù)字化、智能化、多功能化、綜合化、柔性化發(fā)展,并使監(jiān)測、處理、控制等功能一體化,使儀表重量大大減輕,便于攜帶和使用。同時成本低,提高了性能價格比,長期以來測量儀器中的誤差修正、線性化處理等難題也可迎刃而解。單片機智能儀表的這些特點不僅使傳統(tǒng)的儀器、儀表發(fā)生根本的變革,也給傳統(tǒng)的儀器、儀表行業(yè)技術(shù)(jsh)改革帶來了曙光。共一百二十五頁 智能化測控(c kn)系統(tǒng) 測控系統(tǒng)特點是工作環(huán)境惡劣,各種干擾繁雜,而且往往要求控制實時,要求檢測與控制系統(tǒng)工作穩(wěn)定、可靠、抗干擾能力強。

8、單片機最適合應(yīng)用于工業(yè)控制領(lǐng)域,可以構(gòu)成各種工業(yè)檢測控制系統(tǒng)。例如,溫室人工氣候控制、電鍍生產(chǎn)線自動控制系統(tǒng)等。在導(dǎo)航控制方面,如在導(dǎo)彈控制、魚雷制導(dǎo)、智能武器裝置、航天導(dǎo)航系統(tǒng)等領(lǐng)域中也發(fā)揮著不可(bk)替代的作用。 共一百二十五頁 智能化接口(ji ku) 通用計算機外部設(shè)備上已實現(xiàn)了單片機的鍵盤管理、打印機、繪圖儀、掃描儀、磁盤驅(qū)動器、UPS等,并實現(xiàn)了圖形終端和智能(zh nn)終端。 在計算機應(yīng)用系統(tǒng)中,除通用外部設(shè)備(鍵盤、顯示器、光電鼠標(biāo)、打印機)外,還有許多外部設(shè)備和接口全部由主機管理,勢必造成主機負(fù)擔(dān)過重、運行速度降低,并且不能提高對各種接口的管理水平。共一百二十五頁 現(xiàn)在一

9、般采用單片機專門對接口設(shè)備進(jìn)行控制和管理,使主機和單片機能并行工作,不僅大大提高系統(tǒng)的運算速度,而且單片機還可以對接口處進(jìn)行預(yù)處理,如數(shù)字濾波、線性化處理、誤差修正等,減少主機和接口界面的通信密度,極大地提高了接口控制管理的水平。例如,在通信接口中采用單片機可以對數(shù)據(jù)進(jìn)行編碼解碼、分配管理、接收/發(fā)送控制等工作。 如要開發(fā)單片機的應(yīng)用產(chǎn)品,不但要掌握(zhngw)單片機硬件和軟件方面的知識,而且還要深入了解各應(yīng)用產(chǎn)品系統(tǒng)的專業(yè)知識,只有將這兩方面的知識融會貫通并有機結(jié)合,才能設(shè)計出優(yōu)良的應(yīng)用系統(tǒng)。共一百二十五頁1.1.3 單片機的產(chǎn)品(chnpn)介紹 Intel公司在單片機的早期開發(fā)中,一直

10、處于(chy)領(lǐng)先地位。因此我們以Intel公司的產(chǎn)品為例,介紹其較流行的三種系列產(chǎn)品的功能。當(dāng)然其他公司也有性價比很高的產(chǎn)品。共一百二十五頁 MCS-48系列(xli)單片機 MCS-48系列單片機是Intel公司1976年以后陸續(xù)開發(fā)的第一代8位單片機系列產(chǎn)品。本系列單片機有很廣泛的應(yīng)用(yngyng),對后來單片機的發(fā)展影響深遠(yuǎn),它包括基本型:8048/8748/8035;強化型:8049/8749/8039和8050/8750/8040;簡化型:8020/8021/8022;專用型:UPI-8041/8741等。共一百二十五頁 MCS-51系列(xli)單片機 MCS-51系列單片機是

11、Intel公司1980年推出的高檔8位單片機系列產(chǎn)品。該系列包括: 基本型 8051/8751/8031; 強化(qinghu)型 8052/8032; 改進(jìn)型 8044/8344/8744, 超級型 83C252/87C252/80C252等。共一百二十五頁 基本型采用HMOS工藝,片內(nèi)集成有8位CPU;片內(nèi)駐留4K字節(jié)ROM(8031片內(nèi)無ROM)和128字節(jié)RAM以及21個特殊功能寄存器;片內(nèi)還包括兩個16位定時器/計數(shù)器、1個全雙工串行I/O口(UART)、32條I/O端口線、5個中斷源和兩級中斷,尋址能力達(dá)128K字節(jié)(其中程序存儲器ROM和數(shù)據(jù)(shj)存儲器RAM各64K字節(jié))。

12、指令系統(tǒng)中設(shè)置了乘、除運算指令、數(shù)據(jù)(shj)查找指令和位處理指令等。當(dāng)主機時鐘頻率為12MHz時,大部分指令執(zhí)行周期只需ls或2s,乘除指令也僅需4s。共一百二十五頁 強化型8052是1982年推出的產(chǎn)品,與基本型8051不同的是片內(nèi)ROM增加到8K字節(jié),RAM增加到256個字節(jié),16位的定時器/計數(shù)器增加到3個,串行接口(UART)的通信速度比基本型快6倍。 改進(jìn)型8X44系列是在基本型上用一種新的串行接口SIU取代UART。SIU是一個HDLC/SDLC通信控制器,屬于SIO的通信標(biāo)準(zhǔn),通信軟件已固化在器件內(nèi)。由于SIU是有兩根I/O線的串行通信方式,因而(yn r)最適宜遠(yuǎn)距離通信和網(wǎng)

13、絡(luò)接口。共一百二十五頁 采用CMOS工藝的8XC51系列,其基本結(jié)構(gòu)和功能與基本型相同。87C51和8XC252還具有兩級程序保密系統(tǒng)(xtng),可禁止外部對片內(nèi)ROM中的程序進(jìn)行讀取,為用戶提供了一種保護軟件不被竊取的有效手段。由于采用CMOS工藝,功耗極低。 超級型8XC252系列是超級8位單片機。它們的結(jié)構(gòu)、引腳和指令與MCS-51系列完全相同,但又具有MCS-96系列單片機的高速輸入/輸出(HIS/O)功能和脈沖寬度調(diào)制功能PWM,1個可加可減計數(shù)的定時器。共一百二十五頁 51系列單片機由Intel公司轉(zhuǎn)讓技術(shù)給Philips公司后也生產(chǎn)了很多個型號,產(chǎn)品性能也有大幅度提高。 ATM

14、EL公司生產(chǎn)了AT89C51 AT89C52和AT89C1051、AT89C2051、AT89s2051等,這些單片機片內(nèi)除采用51內(nèi)核外,還增加了加密閃速程序存儲器,性能優(yōu)良,性價比及高,在我國單片機應(yīng)用產(chǎn)品中被大量使用,也是我們將來課程設(shè)計和產(chǎn)品開發(fā)的首選芯片之一。其它新產(chǎn)品,如AT89S51系列以后的產(chǎn)品還支持在線更新程序功能(ISP)。我國臺灣也在生產(chǎn)51內(nèi)核的單片機。 總之,51系列單片機資料很多,實驗開發(fā)設(shè)備(shbi)較為普及,各高校都有長期的教學(xué)經(jīng)驗和相應(yīng)的師資力量,從教學(xué)和自學(xué)的角度看,編者認(rèn)為51系列單片機最適合初學(xué)者學(xué)習(xí)。共一百二十五頁 MCS-96系列(xli)單片機

15、Intel公司于1983年研制出MSC-96系列16位單片機。它與8位機比較,主要有兩個特點。第一,集成度高。它的內(nèi)部除了有常規(guī)I/O口、定時/計數(shù)器、全雙工串行口外,還有高速I/O部件、多路10位A/D轉(zhuǎn)換、脈寬調(diào)制輸出以及監(jiān)視定時器;第二,運算速度快。MCS-96具有豐富的指令系統(tǒng)、先進(jìn)(xinjn)的尋址方式和帶符號運算等功能,使運算速度大大提高,它的16位運算器不但可以對字或字節(jié)操作,還可以進(jìn)行帶或不帶符號數(shù)的乘除運算。共一百二十五頁 MCS-96系列單片機有809X(外接ROM)、839X(內(nèi)駐掩膜ROM)和879X(內(nèi)駐EPROM)機種,其總體結(jié)構(gòu)是相同的。按其內(nèi)部是否帶A/D轉(zhuǎn)換

16、器,每類機種又可分兩種機型,其中BH型芯片可由用戶設(shè)定,使外部數(shù)據(jù)總線為16位長或8位長,內(nèi)部帶A/D轉(zhuǎn)換器的BH型芯片還具有采樣保持電路。MCS-196系列單片機也常有所見。 各種不同系列的單片機由于其內(nèi)部功能單元組成及指令系統(tǒng)不盡相同,表現(xiàn)出各種不同的特點,從用戶使用角度來看應(yīng)當(dāng)有所選擇。在各種系列的單片機中,片內(nèi)ROM的配置狀態(tài)(zhungti)通常有4種形式;共一百二十五頁 (1)片內(nèi)駐留掩膜ROM。這種單片機(如MCS-51系列中的8051)是由廠家(chn ji)用掩摸技術(shù)把應(yīng)用程序?qū)懭肫瑑?nèi)ROM中。用戶無法自行改寫片內(nèi)的程序,或采用PROM,可一次性寫入的程序存儲器,其優(yōu)勢是價格

17、低廉,適用于大批量生產(chǎn)。 (2)片內(nèi)駐留EPROM。這種單片機(如MCS-51系列中的8751)可由用戶把應(yīng)用程序?qū)懭肫瑑?nèi)EPROM中。需要修正程序時,用紫外線擦除后又能重新寫入程序。共一百二十五頁 (3)片內(nèi)無ROM。這種單片機(如MCS-51系列中的8031)必須外接EPROM芯片作為程序存儲器,其容量可視需要來靈活配置。這是目前學(xué)校教學(xué)中使用最廣泛的一種單片機,不僅其價格低廉,而且可供用戶靈活使用。 (4)片內(nèi)帶閃速可編程電可擦除只讀存儲器(如AT89S51)。當(dāng)前較好的產(chǎn)品(chnpn)可在線方便的更新程序,這是目前應(yīng)用產(chǎn)品(chnpn)開發(fā)中使用最多的一類單片機系列。 共一百二十五頁

18、1.1.4單片機的學(xué)習(xí)(xux)方法 單片機的應(yīng)用與開發(fā)作為一個系統(tǒng)性很強的當(dāng)代技術(shù),涉及到的知識點較多,只有全面的、系統(tǒng)的掌握相關(guān)內(nèi)容,并且多記憶、多理解、多練習(xí)。才能靈活使用單片機,單片機作為一種現(xiàn)代電子技術(shù),必須掌握合理的、相應(yīng)的學(xué)習(xí)方法。 (1)要學(xué)習(xí)別人成熟的設(shè)計(shj)思想,首先,掌握基本原理、規(guī)律、各知識點的應(yīng)用方法和內(nèi)在聯(lián)系,教學(xué)上采用:“授人以漁”的方法,學(xué)習(xí)上要了解外國人的思維方式,主動地采取研究式的學(xué)習(xí)。最終要求靈活運用知識,舉一反三。共一百二十五頁 (2)單片機中很多內(nèi)容可采用:記憶-理解-練習(xí)使用-再理解記憶-最后熟練使用的過程,如:專用寄存器和指令系統(tǒng),第一次接觸

19、時我們只能被動的記憶-理解,當(dāng)我們在編程練習(xí),系統(tǒng)設(shè)計中多次使用后,我們才能較好的理解和掌握它們,最后就能較好的使用它們。 (3)當(dāng)前單片機相關(guān)產(chǎn)品(chnpn)系列和型號很多,擺在初學(xué)者面前的問題是學(xué)習(xí)什么機型、怎樣學(xué)習(xí)效果更好?由于單片機技術(shù)都是建立在計算機技術(shù)之上,系統(tǒng)結(jié)構(gòu)和技術(shù)大同小異,但又不能通用,本書建議讀者選取資料多,應(yīng)用較廣的一種系列芯片的單片機進(jìn)行研究。掌握相應(yīng)的技術(shù)后再學(xué)習(xí)別的單片機則會事半功倍。共一百二十五頁1.2 MCS-51系列(xli)單片機的結(jié)構(gòu)和引腳 MCS-51系列單片機是在一塊芯片上集成了CPU,RAM,ROM、定時器/計數(shù)器和多功能I/O口等基本功能部件的

20、一臺計算機。單片機必須(bx)配備部分外圍元件才能使用,其系統(tǒng)核心是單片機芯片,本課程今后將圍繞8051芯片講解單片機原理和應(yīng)用。共一百二十五頁1.2.1 MCS-51引腳及功能(gngnng)說明 生產(chǎn)廠家生產(chǎn)出硅芯片后,通常(tngchng)用工程材料包裝,同時制定芯片的名稱、封裝和引腳名稱。8051單片機的外形采用40條引腳雙列直插封裝(DIP)或LCC/QFP封裝。DIP封裝的引腳和邏輯符號如圖1.2所示。共一百二十五頁圖1.2單片機的引腳和邏輯(lu j)符號 共一百二十五頁 圖1.2單片機的引腳和邏輯(lu j)符號 共一百二十五頁 MCS-51因為受到集成電路芯片引腳數(shù)目的限制,

21、所以有許多引腳具有雙功能。現(xiàn)對各引腳功能簡要說明如下: (1)主電源引腳Vcc和Vss Vcc電源輸入端。為單片機提供工作電源和編程校驗電源,(8051/8751)為+5V。 Vss(GND)接共用(n yn)地端。每個電路芯片都少不了直流電源。也叫地線。共一百二十五頁 (2)時鐘振蕩電路引腳XTALI和XTAL2 XTAL1和XTAL2分別用做晶體振蕩(zhndng)電路的反相器輸入端和輸出端。在使用內(nèi)部振蕩(zhndng)電路時,這兩個端子用來外接石英晶體,振蕩(zhndng)器的振蕩(zhndng)頻率為晶體標(biāo)稱頻率,振蕩(zhndng)信號送至內(nèi)部時鐘電路產(chǎn)生時鐘脈沖信號。這個部分電路

22、給單片機提供工作節(jié)拍,是單片機的主頻。共一百二十五頁 (3)控制信號(xnho)引腳RST/VPD、ALE/PROG(_) 、PSEN(_)和EA(_) /Vpp 由于單片機很多引腳使用方法相同或相近,常把這些引腳分為控制總線、地址總線、數(shù)據(jù)總線,總線指一類在使用方法上功能相同的引腳。這里講到的4 條引腳可看成是控制總線(ALE/RST/EA(_) /PSEN(_)。當(dāng)其中某條引腳起作用時,單片機將完成某控制操作。 共一百二十五頁 RST/VppRST為復(fù)位信號輸入端。在電源Vcc正常(zhngchng)時,當(dāng)RST端保持兩個機器周期(24個時鐘周期)以上的高電平時,使單片機完成復(fù)位操作。VP

23、D為內(nèi)部RAM的備用電源輸入端。當(dāng)主電源Vcc一旦發(fā)生斷電或電壓降到一定值時,可通過VPD為單片機內(nèi)部RAM提供電源,以保護片內(nèi)RAM中的信息不丟失,使Vcc上電后能繼續(xù)正常(zhngchng)運行。共一百二十五頁 ALE/PROG(_)ALE為地址鎖存允許信號,在訪問外部存儲器時,ALE用來鎖存PO口送出的低8位地址信號。在不訪問外部存儲器時,ALE也以時鐘振蕩頻率的1/6的固定速率輸出(shch),因而它又可用做外部定時脈沖源或其它需要;注:每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。ALE能驅(qū)動8個LS TTL門輸入電路。PROG(_)是對8751內(nèi)部EPROM編程時的編程脈沖輸入端

24、。共一百二十五頁 PSEN(_)-外部程序存儲器的讀選通信號。當(dāng)訪問外部ROM時,PSEN(_)產(chǎn)生負(fù)脈沖作為外部ROM的選通信號;在訪問外部RAM或片內(nèi)ROM時,不會產(chǎn)生有效的PSEN(_)信號。PSEN可驅(qū)動(q dn)8個LS TTL門輸入端。共一百二十五頁 EA(_)/Vpp-訪問外部程序存儲器控制信號。對于8051和8751,它們的片內(nèi)有4KB的程序存儲器。當(dāng)EA(_)為高電平時,CPU訪問程序存儲器有兩種情況:一是,訪問的地址空間在04K范圍(fnwi)內(nèi),CPU訪問片內(nèi)程序存儲器;二是,訪問的地址超出4K時,CPU將自動執(zhí)行外部程序存儲器的程序。對于8031, EA(_)必須接地

25、,只能訪問外部ROM。Vpp為8751片內(nèi)EPROM的21V編程電源輸入端。共一百二十五頁 (4)4個8位I/O端口PO,P1,P2和P3 PO口(P0.0P0.7)第一功能是一個8位漏極開路型的雙向I/O口; 這時P0口可看成是用戶數(shù)據(jù)總線。第二功能:在訪問外部存儲器時,分時先提供低8位地址和后提供8位雙向數(shù)據(jù)總線。這時先作地址總線再作數(shù)據(jù)總線,在對8751片內(nèi)EPROM進(jìn)行編程和校驗時,PO用于數(shù)據(jù)的輸入和輸出。引腳的分時復(fù)用是計算機芯片節(jié)省引腳的基本(jbn)方法,這樣的情況后面還有很多。同樣的引腳在不同的時間或不同的地方作不同的用途,初學(xué)者應(yīng)注意這個用法。共一百二十五頁 P1口(P1.

26、0P1.7)是一個內(nèi)部帶提升電阻的8位準(zhǔn)雙向I/O口。在對8751片內(nèi)EPROM編程和校驗時,P1口用于接收(jishu)低8位地址。 P2口(P2.0P2.7)第一功能是一個內(nèi)部帶提升電阻的8位準(zhǔn)雙向I/O口。第二功能是在訪問外部存儲器時,輸出高8位地址。在對8751片內(nèi)EPROM進(jìn)行編程和校驗時及擴展外部存儲器時,P2口用于接收和發(fā)出高8位地址。 P3口(P3.0P3.7)第一功能是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。在系統(tǒng)中,這8個引腳都有各自的第二功能。詳見表1.1。共一百二十五頁表1.1 P3口各位的第二(d r)功能P3口引腳 第二功能P3.0 RXD(串行輸入口)P3.1 T

27、XD(串行輸出(shch)口)P3.2 INT0(_)(外部中斷0輸端)P3.3 INT1(_)(外部中斷1輸入端)P3.4 TO(計數(shù)器0外部輸入)P3.5 T1(計數(shù)器1外部輸入)P3.6 WR(_)(外部數(shù)據(jù)存儲器寫脈沖輸出端)P3.7 RD(_) (外部數(shù)據(jù)存儲器讀脈沖輸出端)共一百二十五頁 各端口的負(fù)載能力(nngl)有差異,PO口的每一位能驅(qū)動8個TTL門輸入端;P1P3口的每一位只能驅(qū)動4個TTL門輸入端。 舉例說明:單片機引腳傳送數(shù)據(jù)功能簡單分析,I/O口傳送數(shù)據(jù)教學(xué)參考圖如圖1.3所示: 圖中使用P0口和P2口傳送地址和數(shù)據(jù)、用到控制線/PSEN和地址鎖存信號ALE。單片機P

28、0口接到鎖存器輸入端D0D7,也接到程序存儲器2764的程序數(shù)據(jù)輸出端。共一百二十五頁圖1.3單片機的引腳功能(gngnng)及使用參考簡圖 共一百二十五頁 按照Intel公司的方法是把單片機的引腳按功能分成三類:數(shù)據(jù)總線、地址總線、控制總線,本例中8位數(shù)據(jù)總線是P0口,連接到存儲器數(shù)據(jù)端D。16位地址總線是P0、P2口。P0口輸出的地址經(jīng)373鎖存后再送存儲器地址端A,高8位地址由P2口直接送到存儲器。這時8個引腳的功能相同,只是在應(yīng)用時傳送(chun sn)不同的數(shù)據(jù)位或地址位。共一百二十五頁 計算機中把一個2位十六進(jìn)制數(shù)叫8位數(shù),實際上是指8位二進(jìn)制數(shù),如數(shù)68H(十六進(jìn)制,H是標(biāo)志符號

29、)可等同二進(jìn)制數(shù)0110 1000B(B是二進(jìn)制數(shù)標(biāo)志符號),在實際使用中這8個二進(jìn)制數(shù)分別從P0口的8個引腳傳送,P0口的8位又可叫做P00/P01/P02/P03/P04/P05/P06/P07,同樣的P1、P2、P3也可叫做,控制總線是:ALE為地址鎖存信號,單片機用它通知鎖存器把低8位地址接收過去(guq)。PSEN(_)通知程序存儲器傳送指令碼到P0口。共一百二十五頁 我們簡單描述單片機讀取程序的過程:首先P0、P2口輸出低、高共16位地址,控制信號ALE通知鎖存器接收P0口的低8位地址,這時由鎖存器和P2口給程序存儲器提供16位地址,PSEN(_)通知程序存儲器傳送該地址的指令碼經(jīng)

30、2764的D0D7傳到P0口內(nèi),完成讀指令過程。對于位的意義我們已經(jīng)知道:數(shù)字化的一條線的電平有高低兩種,計算機中簡單地用兩種狀態(tài):1和0表示。實際上這就是(jish)一個二進(jìn)制位,因此我們就把一根線稱之為一“位”,用BIT表示。 共一百二十五頁 字節(jié)的含義: 一根線可以(ky)表示0和1,兩根線可以(ky)表達(dá)00,01,10,11四種狀態(tài),也就是可以(ky)表示0到3,而三根可以(ky)表達(dá)0-7,計算機中通常用8根線放在一起,同時計數(shù),就可以(ky)表達(dá)0-255一共256種狀態(tài)。這8根線或者8位就稱之為一個字節(jié)(BYTE)。實際上、我們經(jīng)常把這樣的8位數(shù)寫成2位十六進(jìn)制數(shù)。十六進(jìn)制的1

31、6個數(shù)用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F表達(dá)。同二進(jìn)制數(shù)的對應(yīng)關(guān)系如下:共一百二十五頁 十進(jìn)制數(shù) 二進(jìn)制數(shù)( B ) 十六進(jìn)制(sh li jn zh)數(shù)(H) 15 1111 F 14 1110 E 13 1101 D 12 1100 C 11 1011 B 10 1010 A 9 1001 9 8 1000 8 7 0111 7 6 0110 6 5 0101 5 4 0100 4 3 0011 3 2 0010 2 1 0001 1 0 0000 0共一百二十五頁 當(dāng)把二進(jìn)制數(shù)D3D2D1D0的各位按D38+D24+D12+D01=XH,結(jié)果(ji gu)很

32、容易把二進(jìn)制轉(zhuǎn)換成十進(jìn)制或十六進(jìn)制,多位二進(jìn)制數(shù)以四位為單位和十六進(jìn)制的一位對應(yīng),從低位到高位進(jìn)行轉(zhuǎn)換,按8421方式互相轉(zhuǎn)化。如1 1000 1101 0110B=18D6H 共一百二十五頁1.2.2 MCS-51單片機的結(jié)構(gòu)(jigu)方框圖 1、MCS-51的核心電路 MCS-51系列單片機的典型芯片是8051。其結(jié)構(gòu)方框圖如下圖1.4所示,它包含(bohn)如下功能部件。 共一百二十五頁 圖1.4 單片機8051內(nèi)部結(jié)構(gòu)框圖(kungt) 共一百二十五頁 一個8位CPU; 一個片內(nèi)振蕩器和時鐘電路; 4K字節(jié)片內(nèi)部程序存儲器ROM; 128字節(jié)片內(nèi)部數(shù)據(jù)存儲器RAM; 可尋址64K外部

33、程序存儲器; 可尋址64K外部數(shù)據(jù)存儲器; 21個特殊功能寄存器(專用寄存器); 32條可編程的I/O線(4個8位并行I/O端口); 兩個16位定時器/計數(shù)器; 一個可編程全雙工串行口; 具有5個中斷(zhngdun)源,兩個優(yōu)先級嵌套中斷(zhngdun)結(jié)構(gòu)。 共一百二十五頁圖1.5 MCS-51單片機結(jié)構(gòu)(jigu)框圖單片機各功能部件(bjin)由內(nèi)部總線聯(lián)系在一起。簡化結(jié)構(gòu)如圖1.5所示。共一百二十五頁 2、中央(zhngyng)處理單元CPU CPU是單片機的核心部件,如圖1.4所示,各方框表示功能部件,可以看出本單片機是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)

34、(fz)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成各種運算,實現(xiàn)對單片機各功能部件的指揮和控制任務(wù),它是由運算器和控制器等部件組成的。各功能部件實際上是CPU的有機組成部分,各功能部件通過運行程序相聯(lián)系,很難用語言描述其工作過程,但這里還是簡單的給出說明。注意各部分通過內(nèi)部總線相聯(lián)系。各部件的聯(lián)系用箭頭表示。 共一百二十五頁 (1)運算器 運算器的功能是進(jìn)行算術(shù)運算和邏輯運算,它還包含一個布爾處理器,用來處理位的操作。運算器模塊包括(boku)算術(shù)和邏輯運算部件ALU、布爾處理器,累加器ACC、B寄存器、暫存器TMP1和TMP2、程序狀態(tài)字寄存器PSW和十進(jìn)制數(shù)調(diào)整電路等。 1、累加器ACC

35、是一個最常用的專用寄存器。大部分單操作數(shù)據(jù)指令的操作數(shù)取自累加器。很多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。加、減、乘、除算術(shù)運算指令的運算結(jié)果都存放在累加器A或AB寄存器對中。指令系統(tǒng)中用A作為累加器的助記符。共一百二十五頁 2、B寄存器 在乘除操作中,乘法指令的兩個(lin )操作數(shù)分別取自A和B,其結(jié)果存放在B(高8位)和A(低8位)寄存器中。除法指令中,被除數(shù)取自A,除數(shù)取自B,商數(shù)存放于A,余數(shù)存放于B。有人把B叫乘法寄存器。 3、程序狀態(tài)字PSW 程序狀態(tài)字記錄程序狀態(tài)信息,反映程序運算結(jié)果的特征,它是一個8位寄存器。其中PSW的1位未用,格式如下:(按D7D0順序排列) Cy

36、Ac F0 RS1 RS0 OV - P共一百二十五頁 Cy(PSW.7)進(jìn)位標(biāo)志。在執(zhí)行某些算術(shù)和邏輯指令時,當(dāng)運算結(jié)果的最高位有進(jìn)位或借位時,Cy將被硬件置位,否則就被清零。不同的是在布爾處理機中,它被認(rèn)為是位累加器,可由軟件置位或清零。 AC(PSW.6)輔助進(jìn)位標(biāo)志。在進(jìn)行加法或減法操作中,當(dāng)?shù)?位數(shù)向高4位數(shù)有進(jìn)位或借位時,AC將被硬件置位,否則就被清零。AC被用于十進(jìn)制調(diào)整。 FO(PSW.5)用戶定義標(biāo)志??捎捎脩糇屍溆涗洺绦驙顟B(tài),用作標(biāo)記(bioj),即用軟件使其置位或復(fù)位。 共一百二十五頁 RS1、 RS0(PSW.4,PSW.3)工作寄存器組選擇控制位??梢杂密浖梦换蚯辶?/p>

37、,以確定當(dāng)前工作寄存器組。 OV(PSW.2)溢出標(biāo)志位。在對有符號數(shù)作加減運算時,用C6表示D6位向D7位的進(jìn)位或借位,用C7表示D7位向更高位的進(jìn)位或借位,則OV標(biāo)志可由下式求得:OV=C6C7。OV=1表示加減運算的結(jié)果超出了目的(md)寄存器A所能表示的帶符號數(shù)的范圍(-128+127)。共一百二十五頁 無符號數(shù)乘法指令MUL的執(zhí)行結(jié)果也會影響溢出標(biāo)志。若置于累加器A和寄存器B的兩個(lin )數(shù)的乘積超過255時(8位數(shù)),OV=1,否則OV=0。此積的高8位放在B內(nèi),低8位放在A內(nèi)。因此,OV=0時,只要從A中取得乘積即可,否則還要從B中取得乘積的高8位。 除法指令DIV也會影響溢

38、出標(biāo)志,當(dāng)除數(shù)為0時,OV=1,否則OV=0 共一百二十五頁 (PSW.0)奇偶標(biāo)志。每個指令周期都由硬件來置位或清零,以表示累加器A中有1的位數(shù)的奇偶數(shù)。若1的位數(shù)為奇數(shù),則P置位,否則清零。該標(biāo)志位對串行通信(tng xn)中的數(shù)據(jù)傳輸有重要意義。和數(shù)學(xué)中的數(shù)據(jù)本身的奇偶性有區(qū)別。當(dāng)A=10101000B時,因數(shù)中是三個1使P置位。在數(shù)據(jù)傳輸時,當(dāng)把一批數(shù)的P位和原8位放在一起構(gòu)成9位數(shù),這批9位數(shù)中1的個數(shù)應(yīng)全為偶數(shù)。接收端如收到的數(shù)沒有偶數(shù)個1則認(rèn)為出錯。 共一百二十五頁 (2)控制器 控制器部件是由指令寄存器、程序計數(shù)器PC,定時與控制電路等組成的。 指令寄存器和譯碼 指令寄存器中存

39、放指令代碼。 程序計數(shù)器PC 程序計數(shù)器PC用來存放即將要執(zhí)行(zhxng)的指令地址,共16位,可對64K程序存儲器直接尋址。共一百二十五頁 定時與控制電路 定時與控制電路是產(chǎn)生CPU操作時序的,它是單片機的心臟。控制各種操作的時間。 8051芯片內(nèi)部有一個反向放大器所構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端。放大器可以(ky)產(chǎn)生自激振蕩,此時時鐘由內(nèi)部方式產(chǎn)生。當(dāng)XTAL1接地,XTAL2接外部振蕩器時,時鐘由外部方式產(chǎn)生。 我們對CPU的操作或命令是通過對指令和寄存器編程完成,要學(xué)好CPU我們首先應(yīng)學(xué)好存儲器(寄存器)和指令。下面開始講解存儲器。共一百二十五

40、頁1.3 MCS-51單片機存儲器結(jié)構(gòu)(jigu) 存儲器是計算機的重要硬件之一,單片機存儲器結(jié)構(gòu)有兩種類型:一種是程序存儲器和數(shù)據(jù)存儲器統(tǒng)一編址,屬于普林斯頓結(jié)構(gòu),另一種是程序存儲器和數(shù)據(jù)存儲器分開編址的哈佛結(jié)構(gòu)。MCS-51采用的是哈佛結(jié)構(gòu)。它的存儲器結(jié)構(gòu)與典型(dinxng)的微型計算機不同,結(jié)構(gòu)也比較復(fù)雜,下面將從硬件結(jié)構(gòu)和功能來分析。共一百二十五頁 存儲器就是用來存放數(shù)據(jù)的地方。它是利用電平的高低來存放數(shù)據(jù)的,也就是說,它存放的實際上是電平的高低,我們把他作為數(shù)據(jù)看待,計算機中有數(shù)量眾多的存儲器,結(jié)構(gòu)可看成同一座大樓一樣,為了方便找到每一個(y )房間,或者住在房間的某人,給房間分配

41、地址號碼是比較簡單的方法,如果再詳細(xì)一點可能關(guān)心這人是工作人員還是客人?同樣結(jié)構(gòu)的房間又能叫辦公室、工作間、客房等等,存儲器在使用時也出現(xiàn)了地址,也使用了別名:寄存器、程序存儲器、數(shù)據(jù)存儲器等名稱。這樣做的目的讓我們直接從名稱上可初步了解其作用。共一百二十五頁 1.3.1存儲器具有(jyu)的特點 (1) 程序存儲器和數(shù)據(jù)存儲器截然分開,各有自己的尋址系統(tǒng),控制信號和特定(tdng)的功能。程序存儲器只存放程序和始終要保留的常數(shù),數(shù)據(jù)存儲器通常用來存放程序運行中所需要的大量數(shù)據(jù)。程序存儲器一般為只讀存儲器ROM或EPROM,數(shù)據(jù)存儲器一般則采用靜態(tài)隨機存儲器RAM。共一百二十五頁 (2) 單片

42、機中與存儲器有關(guān)的名稱有:程序(chngx)存儲器和數(shù)據(jù)存儲器、內(nèi)部存儲器和外部存儲器、字節(jié)地址和位地址。存儲器有一定的容量,常把一個8位二進(jìn)制數(shù)作基本單位,叫作字節(jié)。存儲器有很多字節(jié)單元,也用二進(jìn)制數(shù)來標(biāo)識,叫地址。這些存儲器空間的地址多數(shù)從零開始編址。8位地址00HFFH,十六位地址0000HFFFFH。由于每一位十六進(jìn)制數(shù)可直接換成四位二進(jìn)制數(shù)(如0H0000B、9H1001B、FH1111B,其中H代表十六進(jìn)制數(shù)標(biāo)識符,B代表二進(jìn)制數(shù)標(biāo)識符),以后我們也把兩位十六進(jìn)制數(shù)說成是8位二進(jìn)制數(shù)共一百二十五頁 (3) 工作寄存器以RAM形式組成,I/O接口也采用存儲器方式工作。工作寄存器、I/

43、O口鎖存器和數(shù)據(jù)存儲器RAM在單片機中統(tǒng)一(tngy)編址。 (4) 具有一個功能很強的布爾處理器,可尋址位空間有256位。共一百二十五頁1.3.2 MCS-51具有(jyu)的存儲器編址空間 MCS-51單片機寄儲器結(jié)構(gòu)如圖1.6所示。有六個編址空間.有四個物理存儲器空間:即由PC作地址(dzh)指針的片內(nèi)4K(0000H-0FFFH)程序存儲器。片外4K+60K(0000H-FFFFH)程序存儲器。由數(shù)據(jù)指針作地址(dzh)的片外64K數(shù)據(jù)存儲器。片內(nèi)8位地址(dzh)的128字節(jié)RAM(00H-7FH)和特殊功能寄存器(80H-FFH),這里數(shù)0-9、A-F表示十六進(jìn)制的16個數(shù)。并且在

44、以后用字母A-F表示數(shù)據(jù)最高位時,常在前面加0,區(qū)別于英文字母 共一百二十五頁 程序存儲器,片內(nèi)4K程序存儲器空間,其地址為0000H0FFFH,外部EPROM也從0000H開始編址。在地址0000H0FFFH區(qū)間,地址有重疊,由EA(_)引腳信號來控制內(nèi)、外程序存儲器的選擇。 EA(_)=0時,不管PC值的大小,CPU總是訪問(fngwn)外部程序存儲器。對于8031芯片,其內(nèi)部沒有程序存儲器,必然外接EPROM,所以EA(_)必須接地,即 EA(_)=0時。外部程序存儲器從0000H開始編址,尋址范圍64K。當(dāng)EA(_)=1時,先執(zhí)行內(nèi)部4K程序,滿4K后接著執(zhí)行外部程序。共一百二十五頁

45、程序存儲器以16位的程序計數(shù)器PC作為地址指針可尋址64K字節(jié)空間范圍PSEN(_)作為程序存儲器的讀選通信號。 程序存儲器也存放程序所需要的常數(shù)。單片機以指令形式的不同(b tn)來區(qū)分是訪問程序存儲器,還是訪問數(shù)據(jù)存儲器,凡是從程序存儲器的常數(shù)表中取數(shù)據(jù)時,都要用查表指令MOVC形式。共一百二十五頁圖1.6 單片機8051存儲器結(jié)構(gòu)(jigu)分布圖 共一百二十五頁 1.3.3 數(shù)據(jù)(shj)存儲器 數(shù)據(jù)存儲器用于存放運算過程中的結(jié)果,用做緩沖和數(shù)據(jù)暫存,以及設(shè)置特征位標(biāo)志等。數(shù)據(jù)存儲器又分為片內(nèi),片外兩部分,內(nèi)部RAM采用8位地址(dzh)編址為00HFFH,容量為256字節(jié),外部RAM

46、采用16位地址(dzh)編址為0000HFFFFH,容量為65536字節(jié),這樣地址(dzh)有重疊,由指令形式的不同來區(qū)分它們。采用MOV指令時讀/寫內(nèi)部數(shù)據(jù)存儲器、特殊功能寄存器和位地址(dzh)空間;采用MOVX指令時讀/寫外部數(shù)據(jù)存儲器。每個8位或16位地址(dzh)中都存放1個字節(jié)數(shù)據(jù) 共一百二十五頁 (1)外部(wib)數(shù)據(jù)存儲器 外部數(shù)據(jù)存儲器以16位的DPTR和Ri內(nèi)容作為地址指針(高8位為默認(rèn)地址),可尋址64K字節(jié)空間。RD/WR作為數(shù)據(jù)存儲器的讀/寫信通信號。 (2)內(nèi)部數(shù)據(jù)存儲器 MCS-51內(nèi)部有128個字節(jié)的數(shù)據(jù)存儲器RAM,它們可以作為數(shù)據(jù)緩沖器、堆棧、工作寄存器和

47、軟件標(biāo)志等使用。CPU對內(nèi)部RAM有豐富的操作指令。在編程時經(jīng)常用到它們,內(nèi)部RAM地址為00H7FH,不同的地址區(qū)域內(nèi),規(guī)定的功能不完全相同。128字節(jié)地址空間的RAM中不同的地址區(qū)域功能分配為:工作寄存器區(qū)(00H-1FH)、位地址區(qū)(20H-2FH)、堆棧和緩沖區(qū)(30H-7FH),下面分別說明。共一百二十五頁 工作寄存器區(qū) 單片機的內(nèi)部工作寄存器以RAM形式(xngsh)組成,即工作寄存器包含在內(nèi)部數(shù)據(jù)存儲器中。地址為00H1FH單元,內(nèi)部RAM的低32字節(jié)分成4個工作寄存器區(qū),每一個區(qū)有8個工作寄存器,編號為R0R7。工作寄存器和RAM地址對應(yīng)關(guān)系見表1.2所示。共一百二十五頁表1.

48、2 工作(gngzu)寄存器和RAM地址對照表RS1 RS0 區(qū)號 R0 R1 R2 R3 R4 R5 R6 R7 0 0 0區(qū) 00H 01H 02H 03H 04H 05H 06H 07H 0 1 1區(qū) 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 1 0 2區(qū) 10H 11H 12H 13H 14H 15H 16H 17H 1 1 3區(qū) 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH共一百二十五頁 每一個工作寄存器區(qū)都可被選為CPU的當(dāng)前工作寄存器,用戶(yngh)可以通過改變程序狀態(tài)字PSW中的RS1、RSO兩位來任選一個當(dāng)前工作寄存器區(qū)(組)、PSW

49、的狀態(tài)和工作寄存器區(qū)的對應(yīng)關(guān)系,如表1.2所示。這一特點使MCS-51具有快速保護現(xiàn)場功能,這對于提高程序的效率和響應(yīng)中斷的速度是很有利的。但當(dāng)前工作寄存器組只有一個,編程時8個當(dāng)前工作寄存器有點太少。共一百二十五頁 位尋址空間 CPU不僅對內(nèi)部RAMR 20H2FH這16個單元有字節(jié)尋址功能,而且具有位尋址功能(可以單獨(dnd)讀寫某一位)。給這128位賦以位地址為00H7FH,CPU能直接尋址這些位。 其中字節(jié)20H中的八個位D7-D0(以后我們用這表示字節(jié)的8位,其中D0是最低位)定義為位地址07H-00H,見表1.3所示。共一百二十五頁 堆棧和數(shù)據(jù)緩沖區(qū) 原則上MCS-51單片機的堆

50、??梢栽O(shè)在內(nèi)部RAM的任意區(qū)域內(nèi),但是一般設(shè)在30H7FH的范圍內(nèi)。棧頂?shù)奈恢糜啥褩V羔楽P指出。堆棧指針是8位的,而且堆棧是向上生成的。復(fù)位時SP=07H,30H7FH也可作數(shù)據(jù)緩沖區(qū)使用(shyng)。在地址00H7FH之間,所有工作寄存器、位地址、堆棧等沒有用上的RAM空間都可用作數(shù)據(jù)緩沖區(qū)。共一百二十五頁 1.3.4 特殊功能(gngnng)寄存器SFR(專用寄器) MCS-51單片機內(nèi)除程序計數(shù)器(PC)和4個工作寄存器區(qū)外,所有其它寄存器如I/O口鎖存器、定時器、數(shù)據(jù)地址指針,各種控制寄存器都是以特殊功能寄存器(SFR)的形式出現(xiàn)的。8051有21個特殊功能寄存器,它們離散地分布在

51、80HFFH的地址空間內(nèi),并允許像訪問內(nèi)部RAM一樣方便地訪問特殊功能寄存器。這些特殊功能寄存器和內(nèi)部RAM一樣,擁有(yngyu)大量的邏輯操作指令。兩者之間也存在著明顯區(qū)別,即對于特殊功能寄存器,只有直接尋址的指令。在80H-FFH內(nèi)其它沒用到的地址,后來開發(fā)的有些芯片中增加成為新的寄存器,如T2。共一百二十五頁 特殊功能寄存器大致可以分為兩類,一類與I/O有關(guān),即PO, P3;另一類做芯片內(nèi)部功能控制用。其中(qzhng)有11個特殊功能寄存器即可字節(jié)尋址,又可位尋址。如表1.4帶的部分和表1.3所示。共一百二十五頁字節(jié)地址(dzh) 寄存器名 位 地 址F0H B F7H F6H F5

52、H F4H F3H F2H F1H F0HE0H ACC E7H E6H E5H E4H E3H E2H E1H E0HD0H PSW D7H D6H D5H D4H D3H D2H D1H D0H 位名稱 Cy AC F0 RS1 RS0 OV - PB8H IP位 BFH BEH BDH BCH BBH BAH B9H B8H 位名稱 PS PT1 PX1 PT0 PX0 B0H P3 B7H B6H B5H B4H B3H B2H B1H B0HA8H IE AFH AEH ADH ACH ABH AAH A9H A8H 位名稱 EA ES ET1 EX1 ET0 EX0A0H P2 A

53、7H A6H A5H A4H A3H A2H A1H A0H98H SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位名稱 SM0 SM1 SM2 REN TB8 RB8 TI RI90H P1 97H 96H 95H 94H 93H 92H 91H 90H88H TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位名稱 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT080H P0 87H 86H 85H 84H 83H 82H 81H 80H共一百二十五頁表1.3 單片機51系列(xli)全部位地址空間字節(jié)(z ji)地址位地址

54、2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H2EH 77H 76H 75H 74H 73H 72H 71H 70H2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H2CH 67H 66H 65H64H 63H 62H 61H 60H2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H 58H2AH 57H 56H 55H 54H 53H 52H 51H 50H29H 4FH 4EH 4DH 4CH 4BH 4AH 49H 48H 28H 47H 46H 45H 44H 43H 42H 41H 40H 27H 3FH 3EH 3DH 3CH

55、 3BH 3AH 39H 38H26H 37H 36H 35H 34H 33H 32H 31H 30H 25H 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H24H 27H 26H 25H 24H 23H 22H 21H 20H 23H 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H 22H 17H 16H 15H 14H 13H 12H 11H 10H21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H20H 07H 06H 05H 04H 03H 02H 01H 00H共一百二十五頁 為了適應(yīng)控制領(lǐng)域的需要,MCS51具有一個功能(gngn

56、ng)很強的布爾處理器。位尋址空間的每一位都可以看成是軟件觸發(fā)器,由程序直接進(jìn)行位處理,執(zhí)行置位(即寫1)、清零、取反等操作。通常把各種程序的狀態(tài)標(biāo)志,位控制變量設(shè)在位尋址區(qū)內(nèi)。這種功能(gngnng)提供了把硬件實現(xiàn)的邏輯式變?yōu)橛绍浖崿F(xiàn),且不需要過多的數(shù)據(jù)傳送,字節(jié)屏蔽和測試分支就能實現(xiàn)復(fù)雜的組合邏輯功能(gngnng)。實現(xiàn)功能(gngnng)的方法更簡單。表1.4 特殊功能寄存器地址對照表共一百二十五頁MCS-51可直接位尋址空間256位。其中內(nèi)部RAM的20H2FH這16個單元具有128個位地址,賦以地址00H7FH;另一部分在特殊功能寄存器中,凡是能被8整除(zhngch)的字節(jié)單

57、元都可位尋址,表1.4中標(biāo)有#的寄存器即可字節(jié)尋址,也可位尋址。實際上只用了11個字節(jié),賦以地址在80HFFH區(qū)間。有些位還有單獨的名稱。具體內(nèi)容見表1.3所示。盡管位地址和字節(jié)地址有重疊,讀/寫位地址空間時也采用MOV指令形式,但所有的位操作指令都是以進(jìn)位Cy作為另一個操作數(shù),指令中所指的操作數(shù)地址為位地址。也就是說位操作使用單獨的指令系統(tǒng),單片機的位操作功能很強。共一百二十五頁注:標(biāo)有#的寄存器即可字節(jié)(z ji)尋址,也可位尋址。寄存器符號寄存器中文名稱字節(jié)地址# BB寄存器F0H# ACC累加器E0H# PSW程序狀態(tài)字節(jié)D0H# IP中斷優(yōu)先級控制寄存器B8H# P3P3口鎖存器BO

58、H# IE中斷允許控制寄存器A8H# P2P2口鎖存器A0H SBUF串行口數(shù)據(jù)緩沖器99H# SCON串行口控制寄存器98H# P1P1口鎖存器90H TH1定時器/計數(shù)器1(高字節(jié))8DH THO定時器/計數(shù)器0(高字節(jié))8CH TL1定時器/計數(shù)器1(低字節(jié))8BH TLO定時器/計數(shù)器0(低字節(jié))8AH TMOD定時器/計數(shù)器 方式(fngsh)控制寄存器89H# TCON定時器/計數(shù)器 控制寄存器88H PCON電源控制寄存器87H DPH數(shù)據(jù)地址指針(高字節(jié))83H DPL數(shù)據(jù)地址指針(低字節(jié))82H SP堆棧地址指針81H# POP0口鎖存器80H共一百二十五頁1.4 并行(bn

59、gxng)輸入/輸出口、時序、復(fù)位1.4.1 并行輸入/輸出(shch)口(I/O)MCS-51單片機具有4個8位雙向并行I/O端口,共32條引腳線,每位均有自己的鎖存器,輸出驅(qū)動器和輸入緩沖器。共一百二十五頁 I/O端口的特點(tdin)4個并行I/O端口都是雙向的。PO口為漏極開路驅(qū)動;P1,P2,P3口均具有內(nèi)部上拉電阻驅(qū)動,它們有時被稱為準(zhǔn)雙向口。所有(suyu)32條并行I/O線都能獨立地用做輸入或輸出。還可以進(jìn)行位操作。當(dāng)并行I/O線作為輸入時,該口的鎖存器必須先寫入“1”,這是一個重要條件,否則,輸出口鎖存器讓口線為 “0”,而使輸入不能為1,從而使輸入可能無效(可能讀入全0)。

60、即當(dāng)外電路輸入1時,讀入的是鎖存器輸出的0。共一百二十五頁 各口功能(gngnng)MCS-51單片機屬總線型結(jié)構(gòu),這樣(zhyng)在系統(tǒng)結(jié)構(gòu)上增加了靈活性。通過總線,可使用戶根據(jù)應(yīng)用需要擴展不同功能的應(yīng)用系統(tǒng)。8031和8032芯片沒有片內(nèi)程序存儲器,它的應(yīng)用系統(tǒng)必定是擴展系統(tǒng)。共一百二十五頁在擴展系統(tǒng)中PO口用于輸出外部程序存儲器或外部數(shù)據(jù)存儲器的低8位地址,并分時復(fù)用(從PO先輸出地址、接著(ji zhe)傳送數(shù)據(jù))為外部程序存儲器的數(shù)據(jù)線或外部數(shù)據(jù)存儲器的8位數(shù)據(jù)線。P0口的地址為8OH,P0.0P0.7的位地址為80H87H。P2口用于輸出外部程序存儲器或外部數(shù)據(jù)存儲器的高8位地址

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論