《單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)(第4版)》全套教學(xué)課件_第1頁
《單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)(第4版)》全套教學(xué)課件_第2頁
《單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)(第4版)》全套教學(xué)課件_第3頁
《單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)(第4版)》全套教學(xué)課件_第4頁
《單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)(第4版)》全套教學(xué)課件_第5頁
已閱讀5頁,還剩2213頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)第1章

單片機(jī)概述第2章

硬件結(jié)構(gòu)第3章C51語言編程基礎(chǔ)第4章

開發(fā)與仿真工具第5章與顯示器、開關(guān)、鍵盤接口設(shè)計(jì)第6章

中斷系統(tǒng)第7章AT89S51單片機(jī)的定時(shí)器計(jì)數(shù)器第8章AT89S51單片機(jī)的串行口第9章

系統(tǒng)并行擴(kuò)展第10章

串行擴(kuò)展第11章DAC與ADC第12章

應(yīng)用系統(tǒng)設(shè)計(jì)全套可編輯PPT課件

2第1章單片機(jī)概述

全套可編輯PPT課件

3內(nèi)容概要介紹單片機(jī)基礎(chǔ)知識(shí)、發(fā)展歷史、應(yīng)用領(lǐng)域以及發(fā)展趨勢(shì)。8位單片機(jī)的主流機(jī)型,MCS-51系列單片機(jī)及其兼容的單片機(jī)(統(tǒng)稱為8051單片機(jī))對(duì)目前流行的8051單片機(jī)的代表性機(jī)型:美國ATMEL公司的AT89C5x/AT89S5x系列單片機(jī)及代表性產(chǎn)品AT89S51詳細(xì)介紹。結(jié)構(gòu)清晰,易掌握,初學(xué)者入門機(jī)型。簡(jiǎn)要介紹其它類型的單片機(jī)。初步了解嵌入式處理器:?jiǎn)纹瑱C(jī),數(shù)字信號(hào)處理器(DSP)、嵌入式微處理器420世紀(jì)70年代問世,廣泛應(yīng)用:工業(yè)自動(dòng)化、自動(dòng)檢測(cè)與控制、智能儀器儀表、機(jī)電一體化設(shè)備、汽車電子、家用電器等各個(gè)方面。什么是單片機(jī)?1.1單片機(jī)簡(jiǎn)介一片半導(dǎo)體硅片集成:中央處理單元(CPU)、存儲(chǔ)器(RAM、ROM)、并行I/O、串行I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、系統(tǒng)時(shí)鐘電路及系統(tǒng)總線的微型計(jì)算機(jī)。具有微型計(jì)算機(jī)屬性,因而被稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。5主要應(yīng)用測(cè)控領(lǐng)域。單片機(jī)處于測(cè)控系統(tǒng)的核心地位并嵌入其中,所以國際上通常把單片機(jī)稱為嵌入式控制器(EMCU,EmbeddedMicroControllerUnit),或微控制器(MCU,MicroControllerUnit)。我國習(xí)慣于使用“單片機(jī)”這一名稱。單片機(jī)是計(jì)算機(jī)技術(shù)發(fā)展史上重要里程碑,標(biāo)志著計(jì)算機(jī)正式形成了通用計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)兩大分支。單片機(jī)體積小、成本低,嵌入到工業(yè)控制單元、機(jī)器人、智能儀器儀表、汽車電子系統(tǒng)、武器系統(tǒng)、家用電器、辦公自動(dòng)化設(shè)備、金融電子系統(tǒng)、玩具、個(gè)人信息終端及通訊產(chǎn)品中。6按用途可分為通用型和專用型兩大類。(1)通用型

內(nèi)部可開發(fā)資源(如存儲(chǔ)器、I/O等各種外圍功能部件等)可全部提供給用戶。

根據(jù)需要,設(shè)計(jì)一個(gè)以通用單片機(jī)芯片為核心,再配以外圍接口電路及外圍設(shè)備,并編寫相應(yīng)軟件來滿足各種不同需要的測(cè)控系統(tǒng)。通常所說和本書介紹的是指通用型單片機(jī)。(2)專用型

專門針對(duì)某些產(chǎn)品的特定用途而制作的。例如,各種家用電器中的控制器等。由于特定用途,單片機(jī)芯片制造商常與產(chǎn)品廠家合作,設(shè)計(jì)和生產(chǎn)“專用”的單片機(jī)。在設(shè)計(jì)中,已對(duì)“專用”單片機(jī)的系統(tǒng)結(jié)構(gòu)最簡(jiǎn)化、可靠性和成本的最佳化等做了全面綜合考慮,所以“專用”單片機(jī)具有十分明顯的綜合優(yōu)勢(shì)。無論“專用”單片機(jī)在用途上有多么“?!?,其基本結(jié)構(gòu)和工作原理都是以通用單片機(jī)為基礎(chǔ)。71.2單片機(jī)的發(fā)展歷史按處理二進(jìn)制位數(shù)主要分為:4位單片機(jī)、8位單片機(jī)、16位單片機(jī)和32位單片機(jī)。發(fā)展大致分為4個(gè)階段。第一階段(1974年~1976年):?jiǎn)纹瑱C(jī)初級(jí)階段。因工藝限制,雙片形式且功能較簡(jiǎn)單。1974年12月,仙童公司推出了8位的F8單片機(jī),實(shí)際只包括了8位CPU、64BRAM和2個(gè)并行口。第二階段(1976年~1978年):低性能單片機(jī)階段。1976年Intel的MCS-48單片機(jī)(8位)極大地促進(jìn)了單片機(jī)變革和發(fā)展,81977年GI公司推出PIC1650,但這個(gè)階段仍處于低性能階段。第三階段(1978年~1983年):高性能單片機(jī)階段。1978年,Zilog公司推出Z8單片機(jī),1980年,Intel公司在MCS-48系列基礎(chǔ)上推出MCS-51系列,Mortorola推出6801單片機(jī)。使單片機(jī)性能及應(yīng)用躍上新臺(tái)階。此后,各公司8位單片機(jī)迅速發(fā)展。推出的單片機(jī)普遍帶有串行I/O口、多級(jí)中斷系統(tǒng)、16位定時(shí)器/計(jì)數(shù)器,片內(nèi)ROM、RAM容量加大,且尋址范圍可達(dá)64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。由于這類單片機(jī)性/價(jià)比高,得到廣泛應(yīng)用,是目前應(yīng)用數(shù)量最多的單片機(jī)。9第四階段(1983年~現(xiàn)在):8位單片機(jī)鞏固發(fā)展及16位單片機(jī)、32位單片機(jī)推出階段。20世紀(jì)90年代單片機(jī)大發(fā)展時(shí)期,Mortorola、Intel、ATMEL、德州儀器(TI)、三菱、日立、飛利浦、LG等公司開發(fā)一大批性能優(yōu)越的單片機(jī),極大推動(dòng)單片機(jī)應(yīng)用。近年,不少新型高集成度的單片機(jī)涌現(xiàn)。目前,除8位單片機(jī)得到廣泛應(yīng)用外,16位單片機(jī)、32位單片機(jī)也得到廣大用戶青睞。101.3單片機(jī)的特點(diǎn)單片機(jī)是集成電路技術(shù)與微型計(jì)算機(jī)技術(shù)高速發(fā)展的產(chǎn)物。體積小、價(jià)格低、應(yīng)用方便、穩(wěn)定可靠,因此,給工業(yè)自動(dòng)化等領(lǐng)域帶來了一場(chǎng)重大革命和技術(shù)進(jìn)步。由于體積小,很容易地嵌入到系統(tǒng)之中,以實(shí)現(xiàn)各種方式的檢測(cè)、計(jì)算或控制,這一點(diǎn),一般微機(jī)根本做不到。由于單片機(jī)本身就是一個(gè)微型計(jì)算機(jī),因此只要在單片機(jī)的外部適當(dāng)增加一些必要的外圍擴(kuò)展電路,就可靈活構(gòu)成各種應(yīng)用系統(tǒng),如工業(yè)自動(dòng)檢測(cè)監(jiān)視系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)控制系統(tǒng)、智能儀器儀表等。11為什么應(yīng)用廣泛?由于具有以下優(yōu)點(diǎn):(1)簡(jiǎn)單方便,易普及。單片機(jī)技術(shù)是易掌握技術(shù)。應(yīng)用系統(tǒng)設(shè)計(jì)、組裝、調(diào)試已經(jīng)是一件容易的事情,工程技術(shù)人員通過學(xué)習(xí)可很快掌握其應(yīng)用設(shè)計(jì)技術(shù)。(2)功能齊全,應(yīng)用可靠,抗干擾能力強(qiáng)。(3)發(fā)展迅速,前景廣闊。短短幾十年,單片機(jī)經(jīng)過4位機(jī)、8位機(jī)、16位機(jī)、32位機(jī)等幾大發(fā)展階段。集成度高、功能日臻完善的單片機(jī)不斷問世,使單片機(jī)在工業(yè)控制及工業(yè)自動(dòng)化領(lǐng)域獲得長(zhǎng)足發(fā)展和大量應(yīng)用。目前,單片機(jī)內(nèi)部結(jié)構(gòu)愈加完美,片內(nèi)外圍功能部件越來越完善,向更高層次和更大規(guī)模的發(fā)展奠定堅(jiān)實(shí)基礎(chǔ)。12(4)嵌入容易,用途廣泛,體積小、性/價(jià)比高,應(yīng)用靈活性強(qiáng)等特點(diǎn)在嵌入式微控制系統(tǒng)中具有十分重要地位。單片機(jī)問世前,制作一套測(cè)控系統(tǒng),大量模擬電路、數(shù)字電路、分立元件完成,以實(shí)現(xiàn)計(jì)算、判斷和控制功能。系統(tǒng)體積龐大,線路復(fù)雜,連接點(diǎn)多,易出故障。單片機(jī)出現(xiàn)后,絕大部分測(cè)控功能由單片機(jī)軟件程序?qū)崿F(xiàn),其它電子線路則由片內(nèi)外圍功能部件替代。1.4單片機(jī)的應(yīng)用軟硬件結(jié)合、體積小,容易嵌入到各種應(yīng)用系統(tǒng)中。得到廣泛應(yīng)用。131.工業(yè)檢測(cè)與控制主要應(yīng)用:工業(yè)過程控制、智能控制、設(shè)備控制、數(shù)據(jù)采集和傳輸、測(cè)試、測(cè)量、監(jiān)控等。在工業(yè)自動(dòng)化領(lǐng)域中,機(jī)電一體化技術(shù)將發(fā)揮愈來愈重要的作用,在這種集機(jī)械、微電子和計(jì)算機(jī)技術(shù)為一體的綜合技術(shù)(如機(jī)器人技術(shù))中,單片機(jī)發(fā)揮著非常重要作用。2.儀器儀表目前對(duì)儀器儀表的自動(dòng)化和智能化要求越來越高。單片機(jī)的使用有助于提高儀器儀表的精度和準(zhǔn)確度,簡(jiǎn)化結(jié)構(gòu),減小體積而易于攜帶和使用,加速儀器儀表向數(shù)字化、智能化、多功能化方向發(fā)展。143.消費(fèi)類電子產(chǎn)品例如,洗衣機(jī)、電冰箱、空調(diào)機(jī)、電風(fēng)扇、電視機(jī)、微波爐、加濕機(jī)、消毒柜等。嵌入了單片機(jī)后,功能和性能大大提高,并實(shí)現(xiàn)智能化、最優(yōu)化控制。4.通信在調(diào)制解調(diào)器、各類手機(jī)、傳真機(jī)、程控電話交換機(jī)、信息網(wǎng)絡(luò)及各種通訊設(shè)備中,單片機(jī)也已得到廣泛應(yīng)用。5.武器裝備現(xiàn)代化武器裝備,如飛機(jī)、軍艦、坦克、導(dǎo)彈、魚雷制導(dǎo)、智能武器裝備、航天飛機(jī)導(dǎo)航系統(tǒng),都有單片機(jī)嵌入其中。156.各種終端及計(jì)算機(jī)外部設(shè)備計(jì)算機(jī)網(wǎng)絡(luò)終端(如銀行終端)及計(jì)算機(jī)外部設(shè)備(如打印機(jī)、硬盤驅(qū)動(dòng)器、繪圖機(jī)、傳真機(jī)、復(fù)印機(jī)等)中都使用了單片機(jī)作為控制器。7.汽車電子設(shè)備已廣泛應(yīng)用在各種汽車電子設(shè)備中,如汽車安全系統(tǒng)、汽車信息系統(tǒng)、智能自動(dòng)駕駛系統(tǒng)、衛(wèi)星汽車導(dǎo)航系統(tǒng)、汽車緊急請(qǐng)求服務(wù)系統(tǒng)、汽車防撞監(jiān)控系統(tǒng)、汽車自動(dòng)診斷系統(tǒng)及汽車黑匣子等。8.分布式多機(jī)系統(tǒng)在較復(fù)雜多節(jié)點(diǎn)測(cè)控系統(tǒng)中,常采用分布式多機(jī)系統(tǒng)。16一般由若干臺(tái)功能各異的單片機(jī)組成,各自完成特定的任務(wù),它們通過串行通信相互聯(lián)系、協(xié)調(diào)工作。在這種系統(tǒng)中,單片機(jī)往往作為一個(gè)終端機(jī),安裝在系統(tǒng)某些節(jié)點(diǎn)上,對(duì)現(xiàn)場(chǎng)信息進(jìn)行實(shí)時(shí)測(cè)控。

從工業(yè)自動(dòng)化、自動(dòng)控制、智能儀器儀表、消費(fèi)類電子產(chǎn)品等方面,直到國防尖端技術(shù)領(lǐng)域,單片機(jī)都發(fā)揮十分重要作用。1.5單片機(jī)的發(fā)展趨勢(shì)

單片機(jī)發(fā)展趨勢(shì)將是向大容量、高性能化,外圍電路內(nèi)裝化等方面發(fā)展。為滿足不同用戶要求,各公司競(jìng)相推出能滿足不同需要的產(chǎn)品。1.CPU的改進(jìn)

(1)增加CPU數(shù)據(jù)總線寬度。例如,各種16位單片機(jī)和32位單片機(jī),數(shù)據(jù)處理能力要優(yōu)于8位單片機(jī)。另外,8位單片機(jī)內(nèi)部采用16位數(shù)據(jù)總線,其數(shù)據(jù)處理能力明顯優(yōu)于一般8位單片機(jī)。

(2)采用雙CPU結(jié)構(gòu),以提高數(shù)據(jù)處理能力。182.存儲(chǔ)器的發(fā)展(1)片內(nèi)程序存儲(chǔ)器普遍采用閃存。可不用外擴(kuò)展程序存儲(chǔ)器,簡(jiǎn)化系統(tǒng)結(jié)構(gòu)。(2)加大存儲(chǔ)容量。目前有的單片機(jī)片內(nèi)程序存儲(chǔ)器容量可達(dá)128KB甚至更多。3.片內(nèi)I/O的改進(jìn)(1)增加并行口驅(qū)動(dòng)能力,以減少外部驅(qū)動(dòng)芯片。有的單片機(jī)可直接輸出大電流和高電壓,以便能直接驅(qū)動(dòng)LED和VFD(熒光顯示器)。(2)有些單片機(jī)設(shè)置了一些特殊的串行I/O功能,為構(gòu)成分布式、網(wǎng)絡(luò)化系統(tǒng)提供方便條件。194.低功耗CMOS化,功耗小,配置有等待狀態(tài)、睡眠狀態(tài)、關(guān)閉狀態(tài)等工作方式。消耗電流僅在μA或nA量級(jí),適于電池供電的便攜式、手持式的儀器儀表及其它消費(fèi)類電子產(chǎn)品。5.外圍電路內(nèi)裝化

眾多外圍電路全部裝入片內(nèi),即系統(tǒng)的單片化是目前發(fā)展趨勢(shì)之一。例如,美國Cygnal公司的C8051F0208位單片機(jī),內(nèi)部采用流水線結(jié)構(gòu),大部分指令的完成時(shí)間為1或2個(gè)時(shí)鐘周期,峰值處理能力為25MIPS。片上集成有8通道A/D、兩路D/A、兩路電壓比較器,內(nèi)置溫度傳感器、定時(shí)器、可編程數(shù)字交叉開關(guān)和64個(gè)通用I/O口、電源監(jiān)測(cè)。206.編程及仿真的簡(jiǎn)單化目前大多數(shù)單片機(jī)都支持程序的在線編程,也稱在系統(tǒng)編程ISP(InSystemProgram),只需一條ISP并口下載線,就可把仿真調(diào)試通過的程序從PC機(jī)寫入單片機(jī)的Flash存儲(chǔ)器內(nèi),省去編程器。某些機(jī)型還支持在線應(yīng)用編程(IAP),可在線升級(jí)或銷毀單片機(jī)應(yīng)用程序,省去了仿真器。

綜上所述,單片機(jī)正在向多功能、高性能、高速度(時(shí)鐘達(dá)40MHz)、低電壓(2.7V即可工作)、低功耗、低價(jià)格(幾元錢)、外圍電路內(nèi)裝化以及片內(nèi)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器容量不斷增大的方向發(fā)展。1.6MCS-51系列與AT89C5x系列單片機(jī)20世紀(jì)80年代以來,單片機(jī)發(fā)展非常迅速,其中Intel公司的MCS-51系列單片機(jī)是一款設(shè)計(jì)成功、易于掌握并在世界范圍得到廣泛使用的機(jī)型。

1.6.1MCS-51系列單片機(jī)MCS是Intel公司單片機(jī)的系列符號(hào),如MCS-48、MCS-51、MCS-96系列單片機(jī)。22MCS-51系列是在MCS-48系列基礎(chǔ)上于20世紀(jì)80年代初發(fā)展起來的,是最早進(jìn)入我國,并在我國得到廣泛應(yīng)用的單片機(jī)主流品種。MCS-51系列單片機(jī)主要包括

基本型:8031/8051/8751(低功耗型80C31/80C51/87C51)

增強(qiáng)型:8032/8052/8752。

已為我國廣大技術(shù)人員所熟悉和掌握。上世紀(jì)80年代和90年代,MCS-51系列是在我國應(yīng)用最為廣泛的機(jī)型之一。MCS-51系列品種豐富,經(jīng)常使用的是基本型和增強(qiáng)型。23基本型

典型產(chǎn)品:8031/8051/8751。8031內(nèi)部包括1個(gè)8位CPU、128BRAM,21個(gè)特殊功能寄存器(SFR)、4個(gè)8位并行I/O口、1個(gè)全雙工串行口,2個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,但片內(nèi)無程序存儲(chǔ)器,需外擴(kuò)程序存儲(chǔ)器芯片。8051是在8031的基礎(chǔ)上,片內(nèi)又集成有4KBROM作為程序存儲(chǔ)器。所以8051是一個(gè)程序不超過4KB的小系統(tǒng)。ROM內(nèi)的程序是公司制作芯片時(shí),代為用戶燒制的。8751與8051相比,片內(nèi)集成的4KBEPROM取代了8051的4KBROM來作為程序存儲(chǔ)器。242.增強(qiáng)型

Intel公司在基本型基礎(chǔ)上,推出增強(qiáng)型-52子系列,典型產(chǎn)品:8032/8052/8752。內(nèi)部RAM增到256B,8052、片內(nèi)程序存儲(chǔ)器擴(kuò)展到8KB,16位定時(shí)器/計(jì)數(shù)器增至3個(gè),6個(gè)中斷源,串行口通信速率提高5倍。

表1-1列出了基本型和增強(qiáng)型的MCS-51系列單片機(jī)片內(nèi)的基本硬件資源。

1.6.2AT89C5x(AT89S5x)系列單片機(jī)

MCS-51系列單片機(jī)代表性產(chǎn)品為8051,其他單片機(jī)都是在8051內(nèi)核基礎(chǔ)上進(jìn)行了功能增減。20世紀(jì)80年代中期以后,Intel公司已把精力集中在高檔CPU芯片的研發(fā)上,逐漸淡出單片機(jī)芯片的開發(fā)和生產(chǎn)。27MCS-51單片機(jī)設(shè)計(jì)上的成功及較高的市場(chǎng)占有率,已成為許多廠家、公司競(jìng)相選用的對(duì)象,并以此為基核。因此,Intel公司以專利轉(zhuǎn)讓或技術(shù)交換形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如ATMEL、Philips、Cygnal、ANALOG、LG、ADI、Maxim、DEVICES、DALLAS等公司。各廠家的兼容機(jī)型均采用8051內(nèi)核、指令系統(tǒng)相同,采用CMOS工藝;有的公司還在8051內(nèi)核基礎(chǔ)上增加一些片內(nèi)功能模塊,集成度更高,功能和市場(chǎng)競(jìng)爭(zhēng)力更強(qiáng)。人們常用8051(80C51,“C”表示采用CMOS工藝)來稱呼所有這些具有8051內(nèi)核,且使用8051指令系統(tǒng)的單片機(jī),也習(xí)慣把這些兼容機(jī)等各種衍生品種統(tǒng)稱為8051單片機(jī)。

眾多衍生機(jī)型中,ATMEL公司的AT89C5x/AT89S5x系列,在8位單片機(jī)市場(chǎng)中占有較大的市場(chǎng)份額。ATMEL公司1994年以E2PROM技術(shù)與Intel公司80C51內(nèi)核的使用權(quán)進(jìn)行交換。ATMEL公司技術(shù)優(yōu)勢(shì)是閃爍(Flash)存儲(chǔ)器技術(shù),將Flash技術(shù)與80C51內(nèi)核相結(jié)合,形成了片內(nèi)帶有Flash存儲(chǔ)器的AT89C5x/AT89S5x系列單片機(jī)。28AT89C5x/AT89S5x系列與MCS-51系列在原有功能、引腳以及指令系統(tǒng)方面完全兼容。

此外,某些品種又增加一些新功能,如看門狗定時(shí)器WDT、ISP(在系統(tǒng)編程也稱在線編程)及SPI串行接口技術(shù)等。片內(nèi)Flash存儲(chǔ)器允許在線(+5V)電擦除、電寫入或使用編程器對(duì)其重復(fù)編程。AT89C5x/AT89S5x單片機(jī)還支持由軟件選擇的兩種節(jié)電工作方式,適于低功耗場(chǎng)合。AT89S51與87C51相比,AT89C51/AT89S51單片機(jī)片內(nèi)的4KBFlash存儲(chǔ)器取代87C51片內(nèi)的4KBEPROM。AT89S51片內(nèi)的Flash存儲(chǔ)器可在線編程或使用編程器重復(fù)編程,且價(jià)格較低。29AT89C51/AT89S51單片機(jī)作為8051單片機(jī)的代表性產(chǎn)品受到用戶歡迎。

AT89S51與AT89S52單片機(jī)的差別體現(xiàn)在,AT89S51內(nèi)部有4KBFlash存儲(chǔ)器和128BRAM,以及5個(gè)中斷源、兩個(gè)定時(shí)/計(jì)數(shù)器。而AT89S52內(nèi)部有8KBFlash存儲(chǔ)器和256BRAM,以及6個(gè)中斷源、3個(gè)定時(shí)/計(jì)數(shù)器(比AT89S51多出的一個(gè)定時(shí)/計(jì)數(shù)器,具有捕捉功能)。

本書重點(diǎn)介紹AT89S51原理及應(yīng)用設(shè)計(jì)?!癝”檔系列是ATMEL公司繼AT89C5x系列之后推出的新機(jī)型,表示含有串行下載的Flash存儲(chǔ)器,代表性產(chǎn)品為AT89S51和AT89S52。AT89C51單片機(jī)已不再生產(chǎn),可用AT89S51直接代換。

在我國,除8位單片機(jī)廣泛應(yīng)用外,16位單片機(jī)也得到廣大用戶的青睞,例如,美國TI公司的16位單片機(jī)MSP430。本身帶有A/D轉(zhuǎn)換器,一片芯片就構(gòu)成了一個(gè)數(shù)據(jù)采集系統(tǒng)。設(shè)計(jì)使用非常方便。盡管這樣,16位單片機(jī)還遠(yuǎn)遠(yuǎn)沒有8位單片機(jī)應(yīng)用的廣泛和普及,因?yàn)槟壳暗闹饕獞?yīng)用中,8位機(jī)的性能已能夠滿足大部分的實(shí)際需求,況且8位機(jī)的性能價(jià)格比較好。

在眾多廠家各種不同的8位機(jī)中,各種兼容的8051單片機(jī),目前仍是8位單片機(jī)主流品種,若干年內(nèi)仍是自動(dòng)化、機(jī)電一體化、儀器儀表、工業(yè)檢測(cè)控制應(yīng)用主角。311.7各種衍生品種的51單片機(jī)除AT89S5x系列單片機(jī)外,世界各器件廠家推出的以8051為內(nèi)核、各種集成度高、功能強(qiáng)的單片機(jī),也得到廣大用戶青睞。

1.7.1STC系列單片機(jī)STC系列具有我國獨(dú)立自主知識(shí)產(chǎn)權(quán),功能與抗干擾性強(qiáng)的增強(qiáng)型8051單片機(jī),多種子系列,幾百個(gè)品種,以滿足不同需要。其中的STC12C5410/STC12C2052系列的主要性能及特點(diǎn)如下。32(1)高速:傳統(tǒng)8051為每個(gè)機(jī)器周期為12個(gè)時(shí)鐘,而STC可為每機(jī)器周期1個(gè)時(shí)鐘,指令執(zhí)行速度大大提高,速度比普通8051快8~12倍。(2)寬工作電壓:5.5~3.8V,2.4~3.8V。(3)12KB/10KB/8KB/6KB/4KB片內(nèi)Flash程序存儲(chǔ)器,擦寫次數(shù)10萬次以上。(4)512B片內(nèi)的RAM數(shù)據(jù)存儲(chǔ)器。(5)可在線編程(ISP)/在應(yīng)用可編程(IAP),無需編程器/仿真器,可遠(yuǎn)程升級(jí)。(6)8通道10位ADC,4路PWM輸出。(7)4通道捕捉/比較單元,也可用來再實(shí)現(xiàn)4個(gè)定時(shí)器或4個(gè)外部中斷。(8)2個(gè)硬件16位定時(shí)器,兼容8051定時(shí)器。4路PCA還可再實(shí)現(xiàn)4個(gè)定時(shí)器。(9)硬件看門狗(WDT)。(10)高速SPI串口。(11)全雙工異步串行口(UART),兼容普通8051的串口。(12)通用I/O口(27/23/15個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(與8051的I/O接口相似)??稍O(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開漏,每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不可超過55mA。(13)超強(qiáng)抗干擾能力與高可靠性:高抗靜電;寬電壓,不怕電源抖動(dòng);寬溫度范圍:?40℃~+85℃;I/O口經(jīng)過特殊處理;(14)采取了降低單片機(jī)時(shí)鐘對(duì)外部電磁輻射的措施:可禁止ALE輸出;如選每個(gè)機(jī)器周期為6個(gè)時(shí)鐘,外部時(shí)鐘頻率可降一半;單片機(jī)時(shí)鐘振蕩器增益可設(shè)為Gain。(15)超低功耗設(shè)計(jì)掉電模式:典型功耗<0.1μA;空閑模式:典型功耗為2mA;正常工作模式:典型功耗為4mA~7mA;掉電模式可由外部中斷喚醒,適用于電池供電系統(tǒng),如水表、氣表、便攜設(shè)備等。STC可直接替換ATMEL、Philips、Winbond(華邦)等公司的8051兼容產(chǎn)品。由上所述,是一款高性能、高可靠性的機(jī)型,尤其具有較高的抗干擾特性,應(yīng)給予足夠重視。1.7.2C8051Fxxx單片機(jī)美國Cygnal公司產(chǎn)品,集成度高,8051內(nèi)核的8位單片機(jī),代表性產(chǎn)品為C8051F020。C8051F020內(nèi)部采用流水線結(jié)構(gòu),大部分指令時(shí)間為1或2個(gè)時(shí)鐘周期,峰值處理能力為25MIPS,與經(jīng)典的8051單片機(jī)比,可靠性和速度有很大提高。片內(nèi)集成1個(gè)8位ADC、1個(gè)12位ADC、1個(gè)雙12位DAC;64KB片內(nèi)Flash程序存儲(chǔ)器、256BRAM、128BSFR;8個(gè)I/O端口共64根I/O口線;5個(gè)16位通用定時(shí)器;5個(gè)捕捉/比較模塊的可編程計(jì)數(shù)/定時(shí)器陣列(PCA),1個(gè)UART串口、1個(gè)SMBus/I2C串口、1個(gè)SPI串行口;2路電壓比較器、電源監(jiān)測(cè)器、內(nèi)置溫度傳感器。C8051F×××最突出改進(jìn)引入數(shù)字交叉開關(guān)(C8051F2××除外)。1.7.3ADμC812單片機(jī)美國ADI(AnalogDeviceInc)公司的高性能單片機(jī),內(nèi)部集成高精度自校準(zhǔn)8通道12位模數(shù)轉(zhuǎn)換器(ADC),2通道12位數(shù)模轉(zhuǎn)換器(DAC),指令系統(tǒng)與8051兼容。片內(nèi)有8KBFlash程序存儲(chǔ)器、640BFlash數(shù)據(jù)存儲(chǔ)器、256B數(shù)據(jù)SRAM(支持可編程)。片內(nèi)集成看門狗定時(shí)器、電源監(jiān)視器以及ADC

DMA功能。為多處理器接口和I/O擴(kuò)展提供了32條可編程的I/O線、包含有與I2C兼容的串行接口、SPI串行接口和標(biāo)準(zhǔn)UART串口。

ADμC812的MCU內(nèi)核和模數(shù)轉(zhuǎn)換器均設(shè)有正常、空閑和掉電工作模式,軟件可控制從正常模式到空閑模式,也可切換到更省電的掉電模式。掉電模式,消耗總電流約5μA。1.7.4臺(tái)灣華邦公司W(wǎng)77系列和W78系列單片機(jī)臺(tái)灣華邦公司(Winbond)

W78系列與AT89C5x系列完全兼容,W77系列為增強(qiáng)型。W77系列對(duì)8051時(shí)序作了改進(jìn):每個(gè)指令周期只需要4個(gè)時(shí)鐘周期,速度提高3倍,工作頻率最高可達(dá)40MHz。W77系列增加看門狗WatchDog、兩組UART、兩組DPTR數(shù)據(jù)指針(編寫程序非常便利)、ISP(在系統(tǒng)可編程)等功能。片內(nèi)集成了USB接口,語音處理等功能,具有6組外部中斷源。W741系列的4位單片機(jī)帶液晶驅(qū)動(dòng),在線燒錄,保密性高,低工作電壓(1.2V-1.8V)。1.8PIC系列單片機(jī)與AVR系列單片機(jī)

除8051外,其它8位機(jī)型也得到較廣泛的應(yīng)用。目前我國使用較為廣泛的是PIC系列與AVR系列單片機(jī),這兩種機(jī)型博采眾長(zhǎng),又具獨(dú)特技術(shù),已占有較大的市場(chǎng)份額。1.8.1PIC系列單片機(jī)

美國Microchip公司產(chǎn)品。特性如下:

(1)從實(shí)際出發(fā),重視性能價(jià)格比,已開發(fā)出多種型號(hào)來滿足應(yīng)用需求。例如,一個(gè)摩托車點(diǎn)火器需要一個(gè)I/O較少、RAM及程序存儲(chǔ)空間不大、可靠性較高的小型單片機(jī),若用40腳功能強(qiáng)的單片機(jī),投資大,使用也不方便。PIC系列從低到高有幾十個(gè)型號(hào)。其中,PIC10F22單片機(jī)僅有6個(gè)引腳,是世界最小的單片機(jī)。8腳PIC12C508有512字節(jié)ROM、25字節(jié)RAM、一個(gè)8位定時(shí)器、一根輸入線、5根I/O線,價(jià)格非常便宜。用在摩托車點(diǎn)火器非常適合。PIC的高檔型,如PIC16C74(尚不是最高檔型號(hào))有40個(gè)引腳,其內(nèi)部資源為ROM共4K、192字節(jié)RAM、8路A/D、3個(gè)8位定時(shí)器、2個(gè)CCP模塊、3個(gè)串行口、1個(gè)并行口、11個(gè)中斷源、33個(gè)I/O腳。可與其它品牌的高檔型號(hào)媲美。(2)精簡(jiǎn)指令集--執(zhí)行效率大為提高。PIC系列8位單片機(jī)采用精簡(jiǎn)指令集(RISC),數(shù)據(jù)總線和指令總線分離的哈佛總線(Harvard)結(jié)構(gòu),指令單字長(zhǎng),且允許指令代碼的位數(shù)可多于8位的數(shù)據(jù)位數(shù),這與傳統(tǒng)的采用復(fù)雜指令結(jié)構(gòu)(CISC)結(jié)構(gòu)的8位單片機(jī)相比,可達(dá)到2:1的代碼壓縮,速度提高4倍。(3)

優(yōu)越的開發(fā)環(huán)境。PIC推出一款新型號(hào)單片機(jī)的同時(shí)推出相應(yīng)的仿真芯片,所有的開發(fā)系統(tǒng)由專用的仿真芯片支持,實(shí)時(shí)性非常好。(4)引腳具有防瞬態(tài)能力,通過限流電阻可接至220V交流電源,直接與繼電器控制電路相連,無須光耦隔離,給應(yīng)用帶來極大方便。PIC單片機(jī)分低檔型、中檔型和高檔型:(1)低檔8位單片機(jī)PIC12C5XXX/16C5X系列。PIC16C5X系列最早在市場(chǎng)上得到發(fā)展,價(jià)格低,有較完善的開發(fā)手段,因此在國內(nèi)應(yīng)用最為廣泛;而PIC12C5XX是世界第一個(gè)8腳低價(jià)位單片機(jī)可用于簡(jiǎn)單的智能控制等要求體積小的場(chǎng)合,前景廣闊。(2)中檔8位單片機(jī)PIC12C6XX/PIC16CXXX系列。品種最為豐富,其性能比低檔產(chǎn)品有所提高,增加了中斷功能,指令周期可達(dá)到200ns,帶A/D,內(nèi)部E2PROM數(shù)據(jù)存儲(chǔ)器,雙時(shí)鐘工作,比較輸出,捕捉輸入,PWM輸出,I2C和SPI接口,異步串行接口(UART),模擬電壓比較器及LCD驅(qū)動(dòng)等等,其封裝從8腳到68腳,可用于高、中、低檔的電子產(chǎn)品設(shè)計(jì)中,價(jià)格適中,廣泛應(yīng)用在各類電子產(chǎn)品中。(3)高檔8位單片機(jī)PIC17CXX系列。適合高級(jí)復(fù)雜系統(tǒng)開發(fā)的產(chǎn)品,在中檔位單片機(jī)的基礎(chǔ)上增加了硬件乘法器,指令周期可達(dá)成160ns,它是目前世界上8位單片機(jī)中性價(jià)比最高的機(jī)種,可用于高、中檔產(chǎn)品的開發(fā),如電機(jī)控制等。此外,Microchip公司還推出高性能的16位和32位單片機(jī)。1.8.2AVR系列單片機(jī)1997年ATMEL公司利用Flash新技術(shù),研發(fā)的精簡(jiǎn)指令集(ReducedInstructionSetComputer,RISC)的高速8位機(jī)。

特點(diǎn)如下:

(1)廢除機(jī)器周期,拋棄復(fù)雜指令計(jì)算機(jī)(CISC)追求指令完備的做法,采用精簡(jiǎn)指令集。以字為指令長(zhǎng)度單位,將操作數(shù)與操作碼安排在一字之中,指令長(zhǎng)度固定、格式與種類相對(duì)較少、尋址方式也相對(duì)較少,絕大部分指令都為單周期指令。取指周期短,又可預(yù)取指令,實(shí)現(xiàn)流水作業(yè),故可高速執(zhí)行指令,當(dāng)然這種“高速度”是以高可靠性來保障的。(2)新工藝AVR器件的Flash存儲(chǔ)器擦寫可達(dá)10

000次以上。片內(nèi)較大容量RAM,不僅能滿足一般場(chǎng)合的使用,同時(shí)也更有效的支持高級(jí)語言開發(fā)系統(tǒng)程序,并可像MCS-51單片機(jī)那樣很容易地?cái)U(kuò)展外部RAM。(3)豐富的外設(shè)。片內(nèi)有定時(shí)器/計(jì)數(shù)器、看門狗、低電壓檢測(cè)電路BOD,多個(gè)復(fù)位源(自動(dòng)上下電復(fù)位、外部復(fù)位、看門狗復(fù)位、BOD復(fù)位),可設(shè)置的啟動(dòng)后延時(shí)運(yùn)行程序,增強(qiáng)應(yīng)用系統(tǒng)可靠性。片內(nèi)UART,面向字節(jié)的高速硬件串口TWI(與I2C兼容)、SPI串口。還有ADC、PWM等片內(nèi)外設(shè)。48(4)I/O口功能強(qiáng)、驅(qū)動(dòng)能力大。工業(yè)級(jí)產(chǎn)品具有大電流(最大可達(dá)40mA),可省去功率驅(qū)動(dòng)器件,直接驅(qū)動(dòng)可控硅SSR或繼電器。AVR單片機(jī)的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實(shí)情況。I/O口的輸入可設(shè)定為三態(tài)高阻抗輸入或帶上拉電阻輸入,便于滿足各種多功能I/O口應(yīng)用的需要,具備10mA~20mA灌電流的能力。(5)低功耗。有省電功能(PowerDown)及休眠功能(Idle)低功耗工作方式。一般耗電在1~2.5mA;對(duì)典型功耗情況,WDT關(guān)閉時(shí)為100nA,更適于電池供電。有的器件最低1.8V即可工作。(6)支持在線編程,只需一條ISP下載線,就可把程序?qū)懭階VR單片機(jī),無需編程器。其中MEGA系列還支持在線應(yīng)用編程IAP(可在線升級(jí)或銷毀應(yīng)用程序),省去仿真器。AVR系列齊全,3個(gè)檔次,可適于各種不同場(chǎng)合要求:低檔Tiny系列:有Tiny11/12/13/15/26/28等;中檔AT90S系列:有AT90S1200/2313/8515/8535等;高檔

Atmega

系列

:主要有ATmega8/16/32/64/128(存儲(chǔ)容量為8KB/16KB/32KB/64KB/128KB)及ATmega8515/8535等。501.9其它的嵌入式處理器簡(jiǎn)介以各類嵌入式處理器為核心的嵌入式系統(tǒng)的應(yīng)用,已成為當(dāng)今電子信息技術(shù)應(yīng)用的一大熱點(diǎn)。嵌入式處理器按體系結(jié)構(gòu)主要分為如下幾類:嵌入式微控制器(單片機(jī))、嵌入式數(shù)字信號(hào)處理器(簡(jiǎn)稱DSP)及嵌入式微處理器。1.9.1嵌入式DSP處理器(DSP)DSP(數(shù)字信號(hào)處理器)是擅長(zhǎng)高速實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。DSP的硬件結(jié)構(gòu)和指令經(jīng)過了特殊設(shè)計(jì),使其能夠高速完成各種數(shù)字信號(hào)處理運(yùn)算。1981年,美國TI公司研制了著名的TMS320系列的第一個(gè)低成本、高性能DSP芯片—TMS320C10,使DSP技術(shù)向前跨出了意義重大的一步。20世紀(jì)90年代,由于無線通信、網(wǎng)絡(luò)通信、多媒體技術(shù)的普及和應(yīng)用,以及高清晰度數(shù)字電視的研究,極大地刺激了DSP的推廣與應(yīng)用。由此,DSP大量進(jìn)入嵌入式領(lǐng)域。推動(dòng)DSP快速發(fā)展的是嵌入式系統(tǒng)的智能化,例如,各種帶有智能邏輯的消費(fèi)類產(chǎn)品、生物信息識(shí)別終端、

52實(shí)時(shí)語音壓解系統(tǒng)、數(shù)字圖像處理等。這類智能化算法運(yùn)算量一般較大,特別是向量運(yùn)算、指針線性尋址等較多,而這些正是DSP的長(zhǎng)處所在。但在一些實(shí)時(shí)性要求很高的場(chǎng)合,單片DSP的處理能力還是不能滿足要求。因此,各大公司又研制出多總線、多流水線和并行處理的包含多個(gè)DSP的芯片,大大提高了系統(tǒng)的性能。DSP所具有的實(shí)現(xiàn)高速運(yùn)算的硬件結(jié)構(gòu)與指令系統(tǒng)及多總線結(jié)構(gòu),尤其是DSP處理的數(shù)字信號(hào)處理運(yùn)算的復(fù)雜度和大的數(shù)據(jù)處理流量,這些都是單片機(jī)不能企及的。DSP廠商主要有TI、ADI、Motorola、Zilog等公司。其中,TI公司的產(chǎn)品位居榜首,占全球DSP產(chǎn)品市場(chǎng)約60%的份額。TI公司的DSP代表性產(chǎn)品是TMS320系列,其中包括用于控制的2000系列,用于移動(dòng)通信的5000系列,用于網(wǎng)絡(luò)、多媒體及圖像處理的6000系列等。今天,隨著全球信息化和Internet的普及,多媒體技術(shù)的廣泛應(yīng)用,尖端技術(shù)向民用領(lǐng)域的迅速轉(zhuǎn)移,DSP已大范圍進(jìn)入消費(fèi)類電子產(chǎn)品。DSP產(chǎn)品不斷更新?lián)Q代,性能指標(biāo)不斷提高,價(jià)格不斷下降,已成為新興科技領(lǐng)域—通信、多媒體系統(tǒng)、消費(fèi)電子、醫(yī)用電子等飛速發(fā)展的主要推動(dòng)力。市場(chǎng)調(diào)查研究公司ForwardConcepts發(fā)布的一份統(tǒng)計(jì)和預(yù)測(cè)報(bào)告顯示,目前世界DSP產(chǎn)品市場(chǎng)每年正以30%的幅度增長(zhǎng),是目前最有發(fā)展和應(yīng)用前景的嵌入式處理器之一。1.9.2嵌入式微處理器嵌入式微處理器(EmbeddedMicroProcessorUnit,EMPU)的基礎(chǔ)是通用計(jì)算機(jī)中的CPU。雖在功能和標(biāo)準(zhǔn)微處理器基本一樣,但由于只保留和嵌入式應(yīng)用有關(guān)的功能,這樣可大幅度減小系統(tǒng)體積和功耗,同時(shí)在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)處理。54嵌入式微處理器代表性產(chǎn)品為ARM系列,主要5個(gè)產(chǎn)品系列:ARM7、ARM9、ARM9E、ARM10和SecurCore。以ARM7為例,地址線32條,能擴(kuò)展的存儲(chǔ)器空間要比單片機(jī)存儲(chǔ)器空間大得多,可配置實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS),而RTOS則是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái)。常用的RTOS為L(zhǎng)inux(數(shù)百KB)和VxWorks(數(shù)MB)以及μC-OSⅡ。由于嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)具有高度靈活性,可很容易對(duì)它進(jìn)行定制或開發(fā),即“裁剪”、“移植”和“編寫”,從而設(shè)計(jì)出用戶所需的應(yīng)用程序。55

由于能運(yùn)行實(shí)時(shí)多任務(wù)操作系統(tǒng),所以能處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,在移動(dòng)計(jì)算平臺(tái)、媒體手機(jī)、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)備、ATM機(jī)等)、電子商務(wù)平臺(tái)、信息家電(機(jī)頂盒、數(shù)字電視)等方面,甚至軍事上的應(yīng)用,具有巨大的吸引力。以嵌入式微處理器為核心的嵌入式系統(tǒng)的應(yīng)用,已經(jīng)成為繼單片機(jī)、DSP之后的電子信息技術(shù)應(yīng)用的又一大熱點(diǎn)。56

這里要對(duì)“嵌入式系統(tǒng)”這個(gè)名稱作進(jìn)一步說明。從更廣泛意義講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機(jī)、DSP、嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但目前較為流行的說法是,僅把“嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。目前“嵌入式系統(tǒng)”還沒有一個(gè)嚴(yán)格和權(quán)威定義,但通常所說的“嵌入式系統(tǒng)”,多指后種。5758第2章AT89S51單片機(jī)

硬件結(jié)構(gòu)

59單片機(jī)應(yīng)用特點(diǎn)是編寫程序來控制硬件,讀者應(yīng)首先熟知并掌握AT89S51片內(nèi)硬件的基本結(jié)構(gòu)和特點(diǎn)。2.1AT89S51單片機(jī)的硬件組成

片內(nèi)結(jié)構(gòu)如圖2-1所示。把作為控制應(yīng)用所必需的基本功能部件都集成在一個(gè)集成電路芯片上。

下面對(duì)圖2-1中的各部件進(jìn)行簡(jiǎn)單介紹。(1)8位微處理器(CPU);(2)數(shù)據(jù)存儲(chǔ)器(RAM):內(nèi)部為128B(增強(qiáng)型的52子系列為256B),外部最多還可外擴(kuò)64KB的數(shù)據(jù)存儲(chǔ)器。(3)程序存儲(chǔ)器(Flash存儲(chǔ)器):用來存儲(chǔ)程序。AT89S51內(nèi)部有4KB的Flash存儲(chǔ)器(AT89S52內(nèi)部有8KB的Flash存儲(chǔ)器;AT89S53/AT89S54/圖2-1AT89S51單片機(jī)片內(nèi)結(jié)構(gòu)61AT89S55內(nèi)部集成了12KB/20KB/20KB的Flash存儲(chǔ)器)。如果內(nèi)部程序存儲(chǔ)器容量不夠,外部最多可外擴(kuò)至64KB程序存儲(chǔ)器。(4)中斷系統(tǒng)有5個(gè)中斷源,對(duì)應(yīng)5個(gè)中斷向量;(5)2個(gè)可編程的16位定時(shí)器/計(jì)數(shù)器;(6)1個(gè)全雙工的異步串行口;(7)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口);(8)特殊功能寄存器(SFR):共有26個(gè)特殊功能寄存器,用于CPU對(duì)內(nèi)部各外圍部件進(jìn)行管理、控制和監(jiān)視。特殊功能寄存器實(shí)際上是內(nèi)部各外圍部件的控制寄存器和狀態(tài)寄存器,這些特殊功能寄存器映射在內(nèi)部RAM區(qū)的80H~FFH的地址區(qū)間內(nèi)。(9)看門狗定時(shí)器(WDT):當(dāng)單片機(jī)由于干擾而使程序陷入死循環(huán)或跑飛狀態(tài)時(shí),看門狗定時(shí)器可引起單片機(jī)復(fù)位,使程序恢復(fù)正常運(yùn)行。2.2AT89S51的引腳功能

先了解引腳,牢記各引腳功能。AT89S51與各種8051芯片的引腳兼容。目前多采用40只引腳雙列直插,如圖2-2。此外,還有44引腳的PLCC和TQFP封裝方式的芯片。

引腳按其功能可分為如下3類:(1)電源及時(shí)鐘引腳—VCC、VSS;XTAL1、XTAL2。(2)控制引腳—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引腳——P0、P1、P2、P3,為4個(gè)8位I/O口

下面結(jié)合圖2-2介紹各引腳的功能。622.2.1電源及時(shí)鐘引腳1.電源引腳(1)VCC(40腳):+5V電源。(2)VSS(20腳):數(shù)字地。63圖2-2AT89S51雙列直插封裝方式的引腳2.時(shí)鐘引腳

(1)XTAL1(19腳):片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路輸入端。用片內(nèi)振蕩器時(shí),該腳接外部石英晶體和微調(diào)電容。外接時(shí)鐘源時(shí),該腳接來自外部時(shí)鐘振蕩器的信號(hào)。

(2)XTAL2(18腳):片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi)振蕩器,該腳接外部石英晶體和微調(diào)電容。當(dāng)使用外部時(shí)鐘源時(shí),本腳懸空。2.2.2控制引腳(1)RST(RESET,9腳)

復(fù)位信號(hào)輸入,在引腳加上持續(xù)時(shí)間大于2個(gè)機(jī)器周期的高電平,可使單片機(jī)復(fù)位。正常工作,此腳電平應(yīng)≤0.5V。64

當(dāng)看門狗溢出時(shí),該腳將輸出96個(gè)時(shí)鐘振蕩周期的高電平。(2)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31腳)

EA*:第一功能:外部程序存儲(chǔ)器訪問允許控制端。EA*=1,在PC值≤0FFFH(不超出片內(nèi)4KBFlash存儲(chǔ)器地址范圍)時(shí),單片機(jī)讀片內(nèi)Flash存儲(chǔ)器(4KB)中的程序,但PC值>0FFFH

(超出片內(nèi)4KBFlash地址范圍)時(shí),將自動(dòng)轉(zhuǎn)向讀取片外60KB(1000H~FFFFH)程序存儲(chǔ)器空間中的程序。EA*=0,只讀取片外程序存儲(chǔ)器中內(nèi)容,讀取地址范圍為0000H~FFFFH,片內(nèi)的4KBFlash程序存儲(chǔ)器不起作用。VPP:引腳第二功能,對(duì)片內(nèi)Flash編程,接編程電壓。(3)ALE/PROG*(AddressLatchEnable/PROGramming,30腳)ALE:為CPU訪問外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器提供地址鎖存控制信號(hào),將低8位地址鎖存在片外的地址鎖存器中。

66此外,單片機(jī)正常運(yùn)行時(shí),ALE端一直有正脈沖信號(hào)輸出,此頻率為fosc的1/6。該信號(hào)可作外部定時(shí)或觸發(fā)信號(hào)使用。

注意:每當(dāng)AT89S51訪問外部RAM或I/O時(shí),要丟失一個(gè)ALE脈沖,所以ALE引腳的輸出信號(hào)頻率并不是準(zhǔn)確的1/6

fosc。

如不需要ALE端輸出脈沖信號(hào),可將特殊功能寄存器AUXR(地址8EH,本章后面介紹)的第0位(ALE禁止位)置1,來禁止ALE操作,但在執(zhí)行訪問外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器操作時(shí),ALE仍然有效,即ALE禁止位不影響對(duì)單片機(jī)對(duì)外部存儲(chǔ)器的訪問。PROG*:引腳第二功能,對(duì)片內(nèi)Flash編程,加編程脈沖輸入。(4)PSEN*

(ProgramStrobeENable,29腳)

片外程序存儲(chǔ)器讀選通信號(hào),低有效。2.2.3并行I/O口引腳(1)P0口:P0.7~P0.0腳,8位,漏極開路的雙向I/O口

當(dāng)外擴(kuò)存儲(chǔ)器及I/O接口芯片時(shí),P0口作為低8位地址總線及數(shù)據(jù)總線的分時(shí)復(fù)用端口。P0口也可作通用的I/O口用,需加上拉電阻,這時(shí)為準(zhǔn)雙向口。如作輸入,應(yīng)先向端口寫1??沈?qū)動(dòng)8個(gè)LS型TTL負(fù)載。(2)P1口:P1.7~P1.0腳,8位,準(zhǔn)雙向I/O口,內(nèi)部有上拉電阻。

準(zhǔn)雙向I/O口,作通用I/O輸入時(shí),應(yīng)先向端口鎖存器寫1,68P1口可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P1.5/MOSI、P1.6/MISO和P1.7/SCK也可用于對(duì)片內(nèi)Flash存儲(chǔ)器串行編程和校驗(yàn),分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。(3)P2口:P2.7~P2.0腳,8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。

當(dāng)AT89S51擴(kuò)展外部存儲(chǔ)器及I/O口時(shí),P2口作為高8位地址總線輸出高8位地址。P2口也可作普通I/O使用。當(dāng)作通用I/O輸入時(shí),應(yīng)先向端口輸出鎖存器寫1??沈?qū)動(dòng)4個(gè)LS型TTL負(fù)載。(4)P3口:P3.7~P3.0腳,8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。

可作為通用的I/O口使用。作為通用I/O輸入,應(yīng)先向端口輸出鎖存器寫入1??沈?qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口還可提供第二功能。第二功能定義如表2-1,應(yīng)熟記。

綜上所述,P0口作為總線口時(shí),為雙向口,作通用I/O用時(shí),為準(zhǔn)雙向口,需加上拉電阻。P1、P2、P3口均為準(zhǔn)雙向口。7071注意:準(zhǔn)雙向口與雙向口的差別。準(zhǔn)雙向口僅有兩個(gè)狀態(tài)。而P0口作為總線使用,口線內(nèi)無上拉電阻,處于高阻“懸浮”態(tài)。故為雙向三態(tài)I/O口。為什么P0口要有高阻“懸浮”態(tài)?因?yàn)镻0口作為數(shù)據(jù)總線用時(shí),多個(gè)數(shù)據(jù)源都掛在數(shù)據(jù)總線上,當(dāng)P0口不需要讀寫其他數(shù)據(jù)源時(shí),需要與數(shù)據(jù)總線高阻“懸浮”隔離。準(zhǔn)雙向I/O口則無高阻“懸浮”態(tài)。另外,準(zhǔn)雙向口作通用I/O輸入使用時(shí),需先向該口先寫入“1”。準(zhǔn)雙向口與雙向口的差別,學(xué)習(xí)2.5節(jié)的P0~P3口內(nèi)部結(jié)構(gòu)后,會(huì)有更深入了解。

72至此,40只引腳已介紹,應(yīng)熟記每一引腳功能,對(duì)應(yīng)用系統(tǒng)硬件電路設(shè)計(jì)十分重要。2.3AT89S51的CPU由圖2-1,由運(yùn)算器和控制器構(gòu)成。2.3.1運(yùn)算器對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個(gè)暫存器等。1.算術(shù)邏輯運(yùn)算單元ALU可對(duì)8位變量進(jìn)行邏輯運(yùn)算(與、或、異或、循環(huán)、求補(bǔ)和清零),還可進(jìn)行算術(shù)運(yùn)算(加、減、乘、除)73ALU還有位操作功能,對(duì)位變量進(jìn)行位處理,如置“1”、清“0”、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等。2.累加器A累加器A是CPU中使用頻繁的一個(gè)8位寄存器。

作用如下:(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元(2)數(shù)據(jù)傳送大多都通過累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸堵塞”問題,AT89S51增加了一部分可不經(jīng)過累加器的傳送指令。74A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器3.程序狀態(tài)字寄存器PSWPSW(ProgramStatusWord)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址D0H。

包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。格式如圖2-3。

圖2-3PSW的格式75PSW中各位功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位可寫為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位在BCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)D3位向D4位產(chǎn)生進(jìn)位或借位時(shí),Ac=1;否則,Ac=0。(3)F0(PSW.5)用戶設(shè)定標(biāo)志位由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來使它置“1”或清“0,控制程序的流向。用戶應(yīng)充分利用。76(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇

選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)。如表2-2。77RS1RS0所選的4組寄存器000區(qū)(內(nèi)部RAM地址00H~07H)011區(qū)(內(nèi)部RAM地址08H~0FH)102區(qū)(內(nèi)部RAM地址10H~17H)113區(qū)(內(nèi)部RAM地址18H~1FH)表2-2RS1、RS0與4組工作寄存器區(qū)的對(duì)應(yīng)關(guān)系(5)OV(PSW.2)溢出標(biāo)志位

當(dāng)執(zhí)行算術(shù)指令時(shí),用來指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。(6)PSW.1位:保留位。(7)P(PSW.0)奇偶標(biāo)志位

指令執(zhí)行后,累加器A中“1”的個(gè)數(shù)是奇數(shù)還是偶數(shù)。

P=1,A中“1”的個(gè)數(shù)為奇數(shù)。

P=0,A中“1”的個(gè)數(shù)為偶數(shù)。

此標(biāo)志位對(duì)串行通信有重要意義,常用奇偶檢驗(yàn)來檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃浴?92.3.2控制器任務(wù):識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)協(xié)調(diào)地工作??刂破靼ǎ撼绦蛴?jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。程序計(jì)數(shù)器PC是一個(gè)獨(dú)立的16位計(jì)數(shù)器,指令不可直接訪問。單片機(jī)復(fù)位時(shí),PC內(nèi)容為0000H,從程序存儲(chǔ)器0000H單元取指令,開始執(zhí)行程序。PC工作過程:CPU讀指令時(shí),PC的內(nèi)容作為所取指令的地址,程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PC自動(dòng)加1。PC內(nèi)容變化軌跡決定程序流程。當(dāng)順序執(zhí)行程序時(shí)自動(dòng)加1;執(zhí)行轉(zhuǎn)移程序或子程序、中斷子程序調(diào)用時(shí),自動(dòng)將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。PC計(jì)數(shù)寬度決定了程序存儲(chǔ)器的地址范圍,16位,故可對(duì)64KB(=216B)尋址。2.4AT89S51存儲(chǔ)器的結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu)特點(diǎn)之一是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(哈佛結(jié)構(gòu)),并有各自的訪問指令。存儲(chǔ)器空間可分為4類。801.程序存儲(chǔ)器空間

片內(nèi)、片外兩部分。片內(nèi)程序存儲(chǔ)器為4KB的Flash存儲(chǔ)器,編程和擦除全是電氣實(shí)現(xiàn),且速度快。可通用編程器編程,也可在線編程。當(dāng)片內(nèi)4KB的Flash存儲(chǔ)器不夠用時(shí),可在片外擴(kuò)展程序存儲(chǔ)器,最多可擴(kuò)展至64KB程序存儲(chǔ)器。2.數(shù)據(jù)存儲(chǔ)器空間

片內(nèi)、片外兩部分。

片內(nèi)有128BRAM(52子系列為256B)。

片內(nèi)RAM不夠用時(shí),在片外可擴(kuò)展至64KBRAM

。813.特殊功能寄存器SFR

(SpecialFunctionRegister)片內(nèi)共有26個(gè)特殊功能寄存器SFR(SpecialFunctionRegister)。SFR實(shí)質(zhì)是各外圍部件的控制寄存器及狀態(tài)寄存器,綜合反映單片機(jī)內(nèi)部實(shí)際的工作狀態(tài)及工作方式。4.位地址空間共211個(gè)可尋址位,構(gòu)成了位地址空間。它們位于內(nèi)部RAM(共128位)和特殊功能寄存器區(qū)(共83位)中。2.4.1程序存儲(chǔ)器空間存放程序和表格之類的固定常數(shù)。片內(nèi)為4KBFlash,地址為0000H~0FFFH。16位地址線,可外擴(kuò)的程序存儲(chǔ)器空間最大為64KB,地址為0000H~FFFFH。使用應(yīng)注意以下問題82(1)分片內(nèi)和片外兩部分,訪問片內(nèi)的還是片外的程序存儲(chǔ)器,由EA*腳電平確定。

EA*=1,CPU從片內(nèi)0000H開始取指令,當(dāng)PC值≤0FFFH時(shí),只訪問片內(nèi)Flash存儲(chǔ)器,當(dāng)PC值>0FFFH自動(dòng)轉(zhuǎn)向讀片外程序存儲(chǔ)器空間1000H~FFFFH內(nèi)的程序。EA*=0,只執(zhí)行片外程序存儲(chǔ)器(0000H~FFFFH)中的程序。不理會(huì)片內(nèi)4KBFlash存儲(chǔ)器。(2)程序存儲(chǔ)器某些固定單元用于各中斷源中斷服務(wù)程序入口。838464KB程序存儲(chǔ)器空間5個(gè)特殊單元分別對(duì)應(yīng)于5個(gè)中斷源的中斷入口地址,見表2-3。通常這5個(gè)中斷入口地址處都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。這是因?yàn)閮蓚€(gè)中斷入口間隔僅有8個(gè)單元,如果存放中斷服務(wù)子程序,往往不夠用。

AT89S51復(fù)位后,程序存儲(chǔ)器地址指針PC為0000H,程序從程序存儲(chǔ)器地址0000H開始執(zhí)行程序。由于外部中斷0的中斷服務(wù)程序入口地址為0003H,為使主程序不與外部中斷0的中斷服務(wù)程序發(fā)生沖突,用匯編語言編程時(shí),一般在0000H單元存放一條跳轉(zhuǎn)指令,轉(zhuǎn)向主程序的入口地址。上述問題,在使用C51語言編程時(shí),用戶只需正確書寫中斷函數(shù)即可,其他由C51編譯時(shí)自動(dòng)處理,不會(huì)發(fā)生沖突。2.4.2數(shù)據(jù)存儲(chǔ)器空間

片內(nèi)與片外兩部分。1.片內(nèi)數(shù)據(jù)存儲(chǔ)器

片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)共128個(gè)單元,字節(jié)地址00H~7FH。圖2-4為片內(nèi)數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)。86圖2-4AT89S51片內(nèi)RAM結(jié)構(gòu)00H~1FH的32個(gè)單元是4組通用工作寄存器區(qū),每區(qū)包含8B,為R7~R0。可通過指令改變RS1、RS0兩位來選擇。20H~2FH的16個(gè)單元的128位可位尋址,也可字節(jié)尋址。30H~7FH單元只能字節(jié)尋址,用作存數(shù)據(jù)以及作為堆棧區(qū)。2.片外數(shù)據(jù)存儲(chǔ)器

當(dāng)片內(nèi)128B的RAM不夠用時(shí),需外擴(kuò),最多可外擴(kuò)64KB的RAM。注意,片內(nèi)RAM與片外RAM兩個(gè)空間是相互獨(dú)立的,片內(nèi)RAM與片外RAM的低128B的地址是相同的,但由于使用不同的訪問指令,所以不會(huì)發(fā)生沖突。882.4.3特殊功能寄存器(SFR)

特殊功能寄存器映射在片內(nèi)RAM

80H~FFH

區(qū)域中,共26個(gè)。表2-4是名稱及分布。有些還可位尋址,位地址見表2-4。

凡是可位尋址的SFR,字節(jié)地址末位只能是0H或8H。另外,若讀/寫未定義單元,將得到一個(gè)不確定的隨機(jī)數(shù)。累加器A和PSW前面已介紹。下面簡(jiǎn)單介紹某些SFR,余下的SFR與片內(nèi)外圍部件密切相關(guān),將在后續(xù)介紹片內(nèi)外圍部件時(shí)進(jìn)行說明。89901.堆棧指針SP

指示堆棧頂部在內(nèi)部RAM塊中的位置。

堆棧結(jié)構(gòu)--向上生長(zhǎng)型。單片機(jī)復(fù)位后,SP為07H,使得堆棧實(shí)際上從08H單元開始,由于08H~1FH單元分別屬于1~3組的工作寄存器區(qū),最好在復(fù)位后把SP值改為60H或更大值,避免堆棧與工作寄存器沖突。

堆棧主要是為子程序調(diào)用和中斷操作而設(shè)。用于保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。

(1)保護(hù)斷點(diǎn)。無論子程序調(diào)用還是中斷服務(wù)子程序調(diào)用,最終都要返回主程序。應(yīng)預(yù)先把主程序的斷點(diǎn)在堆棧中保護(hù)起來,為程序正確返回做準(zhǔn)備。92(2)現(xiàn)場(chǎng)保護(hù)。執(zhí)行子程序或中斷服務(wù)子程序時(shí),要用到一些寄存器單元,會(huì)破壞原有內(nèi)容。要把有關(guān)寄存器單元的內(nèi)容送入堆棧,保存起來,即“現(xiàn)場(chǎng)保護(hù)”。兩種操作:數(shù)據(jù)壓入(PUSH)堆棧,數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動(dòng)加1;數(shù)據(jù)彈出堆棧,SP自動(dòng)減1。2.寄存器B為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可把它當(dāng)作一個(gè)普通寄存器來使用。乘法:兩乘數(shù)分別在A、B中,執(zhí)行乘法指令后,乘積在BA中除法:被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存B中。93943.AUXR寄存器AUXR是輔助寄存器,其格式如圖2-5:圖2-5AUXR寄存器的格式95其中:DISALE:ALE的禁止/允許位。

0:ALE有效,發(fā)出脈沖;

1:ALE僅在執(zhí)行MOVC和MOVX類指令時(shí)有效,不訪問外部存儲(chǔ)器時(shí),

ALE不輸出脈沖信號(hào);DISRTO:禁止/允許WDT溢出時(shí)的復(fù)位輸出。

0:WDT溢出時(shí),在RST引腳輸出一個(gè)高電平復(fù)位脈沖;

1:禁止WDT,RST引腳僅為輸入腳。WDIDLE:WDT在空閑模式下的禁止/允許位。

0:WDT在空閑模式下繼續(xù)計(jì)數(shù);

1:WDT在空閑模式下暫停計(jì)數(shù)。。964.數(shù)據(jù)指針DPTR0和DPTR1雙數(shù)據(jù)指針寄存器,便于訪問數(shù)據(jù)存儲(chǔ)器。DPTR0:AT89C51單片機(jī)原有的數(shù)據(jù)指針,DPTR1:新增加的數(shù)據(jù)指針。AUXR1的DPS位用于選擇兩個(gè)數(shù)據(jù)指針。DPS=0時(shí),選用DPTR0;DPS=1時(shí),選用DPTR1。AT89S51復(fù)位時(shí),默認(rèn)選用DPTR0。

數(shù)據(jù)指針可作為一個(gè)16位寄存器來用,也可作為兩個(gè)獨(dú)立的8位寄存器DP0H(或DP1H)和DP0L(或DP1L)來用。975.AUXR1寄存器AUXR1是輔助寄存器,格式如圖2-6:

DPS:數(shù)據(jù)指針寄存器選擇位。

0:選擇數(shù)據(jù)指針寄存器DPTR0;

1:選擇數(shù)據(jù)指針寄存器DPTR1。圖2-6AUXR1寄存器的格式6.看門狗定時(shí)器WDT包含1個(gè)14位計(jì)數(shù)器和看門狗定時(shí)器復(fù)位寄存器(WDTRST)。當(dāng)CPU由于干擾,程序陷入死循環(huán)或跑飛狀態(tài)時(shí),WDT提供了一種使程序恢復(fù)正常運(yùn)行的有效手段。有關(guān)WDT的應(yīng)用以及低功耗模式下運(yùn)行的狀態(tài),將在本章2.9節(jié)介紹。

上面介紹的特殊功能寄存器,除SP和B以外,其余的均為AT89S51在AT89C51基礎(chǔ)上新增加的SFR。982.4.4位地址空間211個(gè)尋址位,位地址為00H~FFH,其中00H~7FH128位處于片內(nèi)RAM字節(jié)地址20H~2FH

單元中,如表2-5所示。其余83個(gè)可尋址位分布在特殊功能寄存器SFR中,見表2-6??杀晃粚ぶ返奶厥饧拇嫫饔?1個(gè),共有位地址88個(gè),5個(gè)位未用,其余83個(gè)位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū)字節(jié)地址為80H~FFH的范圍內(nèi),其最低的位地址等于其字節(jié)地址,且其字節(jié)地址的末位都為0H或8H。99字節(jié)地址位

址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H字節(jié)地址位

址D7D6D5D4D3D2D1D024H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H表2-5內(nèi)部RAM中的可尋址位及其位地址101特殊功能寄存器位地址字節(jié)地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIP———BCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFH——ACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6SFR中的位地址分布

作為AT89S51存儲(chǔ)器結(jié)構(gòu)的總結(jié),圖2-7為各類存儲(chǔ)器的結(jié)構(gòu)圖??汕宄闯龈黝惔鎯?chǔ)器在存儲(chǔ)器空間的位置。102圖2-7AT89S51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)2.5AT89S51的并行I/O端口4個(gè)雙向的8位并行I/O端口:P0~P3,表2-4中的特殊功能寄存器P0、P1、P2和P3就是這4個(gè)端口的輸出鎖存器。4個(gè)端口除按字節(jié)輸入/輸出外,還可以按位尋址,以便位控功能的實(shí)現(xiàn)。2.5.1P0口8位并行端口,字節(jié)地址為80H,位地址為80H~87H。P0口的位電路結(jié)構(gòu)如圖2-8。1.P0口的工作原理103(1)P0口用作系統(tǒng)的地址/數(shù)據(jù)總線用AT89S51外擴(kuò)存儲(chǔ)器或I/O時(shí),P0口作為系統(tǒng)復(fù)用的地址/數(shù)據(jù)總線用。此時(shí),圖2-8中的“控制”信號(hào)為1,硬件自動(dòng)使轉(zhuǎn)接開關(guān)MUX打向上面,接通反相器輸出,同時(shí)使“與門”處于開啟狀態(tài)。當(dāng)輸出的“地址/數(shù)據(jù)”信息為1時(shí),“與門”輸出為1,上方的場(chǎng)效應(yīng)管導(dǎo)通,下方的場(chǎng)效應(yīng)管截止,P0.x引腳輸出為1;當(dāng)輸出的“地址/數(shù)據(jù)”信息為0時(shí),上方的場(chǎng)效應(yīng)管截止,下方的場(chǎng)效應(yīng)管導(dǎo)通,P0.x引腳輸出為0。可見P0.x引腳的輸出狀態(tài)隨“地址/數(shù)據(jù)”狀態(tài)的變化而變化。上方場(chǎng)效應(yīng)管起到內(nèi)部上拉電阻作用。105圖2-8P0口某一位的位電路結(jié)構(gòu)當(dāng)P0口作為數(shù)據(jù)線輸入時(shí),僅從外部存儲(chǔ)器(或外部I/O)讀入信息,對(duì)應(yīng)“控制”信號(hào)為0,MUX接通鎖存器的Q*端。由于P0口作為地址/數(shù)據(jù)復(fù)用方式訪問外部存儲(chǔ)器時(shí),CPU自動(dòng)向P0口寫入FFH,使下方場(chǎng)效應(yīng)管截止,由于控制信號(hào)為0,上方場(chǎng)效應(yīng)管也截止,從而保證數(shù)據(jù)信息的高阻抗輸入,從外部存儲(chǔ)器或I/O輸入的數(shù)據(jù)信息直接由P0.x腳通過輸入緩沖器BUF2進(jìn)入內(nèi)部總線。由上分析,P0口具有高電平、低電平和高阻抗輸入3種狀態(tài)的端口,因此,P0口作為地址/數(shù)據(jù)總線使用時(shí)是一真正的雙向端口。(2)P0口用作通用I/O口使用P0口作為通用的I/O口使用,此時(shí),“控制”信號(hào)為0,MUX打向下面,接通鎖存器的Q*端,“與門”輸出為0,上方場(chǎng)效應(yīng)管截止,形成的P0口輸出電路為漏極開路輸出。P0口作通用I/O輸出口時(shí),來自CPU的“寫”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并由引腳P0.x輸出。當(dāng)D鎖存器為1時(shí),端為0,下方場(chǎng)效應(yīng)管截止,輸出為漏極開路,此時(shí),必須外接上拉電阻才能有高電平輸出;當(dāng)D鎖存器為0時(shí),下方場(chǎng)效應(yīng)管導(dǎo)通,P0口輸出為低電平。107P0口作為通用I/O輸入口時(shí),有兩種讀入方式:“讀鎖存器”和“讀引腳”。當(dāng)CPU發(fā)出“讀鎖存器”指令時(shí),鎖存器的狀態(tài)由Q

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論