單片機(jī)原理及應(yīng)用電子_第1頁(yè)
單片機(jī)原理及應(yīng)用電子_第2頁(yè)
單片機(jī)原理及應(yīng)用電子_第3頁(yè)
單片機(jī)原理及應(yīng)用電子_第4頁(yè)
單片機(jī)原理及應(yīng)用電子_第5頁(yè)
已閱讀5頁(yè),還剩79頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章AT89C51的構(gòu)造和原理教學(xué)目的2.1AT89C51單片機(jī)的構(gòu)造2.2AT89C51單片機(jī)外形及引腳功能2.3AT89C51存儲(chǔ)器2.4AT89C51單片機(jī)任務(wù)方式2.5AT89C51時(shí)鐘電路與時(shí)序本章小結(jié)思索題與習(xí)題教學(xué)目的1.總體了解AT89C51單片機(jī)內(nèi)部構(gòu)造。2.熟習(xí)AT89C51單片機(jī)40個(gè)引腳及其功能。3.熟習(xí)AT89C51三個(gè)不同存儲(chǔ)空間配置及地址范圍,了解不同存儲(chǔ)空間的操作指令和控制信號(hào)。4.熟習(xí)AT89C51片內(nèi)RAM低128B分區(qū)構(gòu)造和作用。5.了解特殊功能存放器地址分布范圍,了解ACC、B、SP、DPTR的作用和功能,重點(diǎn)掌握PSW構(gòu)造組成和各位作用。經(jīng)過(guò)本章教學(xué),要求到達(dá)以下目的:6.了解程序計(jì)數(shù)器PC的功能。7.了解AT89C514個(gè)I/O端口構(gòu)造及任務(wù)原理。8.了解在擴(kuò)展外存儲(chǔ)器情況下,P0、P2及P3口的功能作用。9.了解堆棧指針SP及堆棧的作用;10.掌握堆棧的設(shè)置及運(yùn)用方式;11.熟習(xí)AT89C51復(fù)位條件、復(fù)位電路和復(fù)位后常用的SFR的形狀。12.了解時(shí)鐘電路組成、時(shí)鐘和機(jī)器周期的概念。課前預(yù)習(xí)和復(fù)習(xí)檢測(cè)1號(hào)題2號(hào)題3號(hào)題4號(hào)題5號(hào)題6號(hào)題7號(hào)題8號(hào)題9號(hào)題溫故知新檢測(cè)微機(jī)中常用的進(jìn)制有哪些?各有何特點(diǎn)?1號(hào)題溫故知新檢測(cè)什么是BCD碼和BCD數(shù)?BCD數(shù)的加減運(yùn)算有何特點(diǎn)?2號(hào)題溫故知新檢測(cè)什么是原碼、反碼和補(bǔ)碼?

3號(hào)題溫故知新檢測(cè)

4號(hào)題1101101.1011B=?H溫故知新檢測(cè)5號(hào)題AT89C51系列單片機(jī)內(nèi)部包含哪些主要功能部件?溫故知新檢測(cè)程序計(jì)數(shù)器PC的作用是什么?

6號(hào)題溫故知新檢測(cè)AT89C51的CPU主要由哪幾部分組成?7號(hào)題溫故知新檢測(cè)單片機(jī)CPU運(yùn)算器的中心部件是什么?其主要功能有哪些?8號(hào)題溫故知新檢測(cè)AT89C51單片機(jī)內(nèi)部有多少字節(jié)的RAM和FlashROM?

9號(hào)題2.1AT89C51單片機(jī)的構(gòu)造AT89系列單片機(jī)在內(nèi)部構(gòu)造上根本一樣,其中不同型號(hào)的單片機(jī)只不過(guò)在個(gè)別模塊和功能方面有些區(qū)別。AT89C51單片機(jī)內(nèi)部硬件構(gòu)造框圖如圖2.1所示。它由一個(gè)8位中央處置器〔CPU〕、一個(gè)256B片內(nèi)RAM及4KBFlashROM、21個(gè)特殊功能存放器、4個(gè)8位并行I/O口、兩個(gè)16位定時(shí)/計(jì)數(shù)器、一個(gè)串行I/O口以及中斷系統(tǒng)等部分組成,各功能部件經(jīng)過(guò)片內(nèi)單一總線(xiàn)聯(lián)成一個(gè)整體,集成在一塊芯片上。2.1AT89C51單片機(jī)的構(gòu)造時(shí)序和振蕩電路程序存儲(chǔ)器ROM數(shù)據(jù)存儲(chǔ)器RAM2個(gè)16位定時(shí)/計(jì)數(shù)器CPU內(nèi)部8位數(shù)據(jù)總線(xiàn)中斷系統(tǒng)并行I/O口串行I/O口內(nèi)部中斷外部中斷P0P1P2P3RXDTXD時(shí)鐘源外部事件圖2.1AT89C51單片機(jī)內(nèi)部構(gòu)造框圖RAM128BRAM地址存放器P3口P1口P2口P0口鎖存器鎖存器鎖存器鎖存器中斷定時(shí)/計(jì)數(shù)器串行口SPBACC暫存器1暫存器2PSW指令存放器IR指令譯碼器IDDPL緩沖器程序計(jì)數(shù)器PCPC增量器地址存放器AR定時(shí)與控制4KROMALUDPH運(yùn)算器控制器存儲(chǔ)器I/O接口圖2.2AT89C51單片機(jī)的內(nèi)部構(gòu)造表示2.1.1中央處置器(CPU)CPU是單片機(jī)內(nèi)部的中心部件,是一個(gè)8位二進(jìn)制數(shù)的中央處置單元,主要由運(yùn)算器、控制器和存放器陣列構(gòu)成。1.運(yùn)算器運(yùn)算器用來(lái)完成算術(shù)運(yùn)算和邏輯運(yùn)算功能,它是AT89C51內(nèi)部處置各種信息的主要部件。運(yùn)算器主要由算術(shù)邏輯單元(ALU)、累加器(ACC)、暫存存放器(TMP1、TMP2)和形狀存放器(PSW)組成。1.運(yùn)算器(1)算術(shù)邏輯單元(ALU):AT89C51中的ALU由加法器和一個(gè)布爾處置器組成。(2)累加器(ACC):用來(lái)存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的一個(gè)操作數(shù)或運(yùn)算的結(jié)果。(3)暫存存放器(TMP1、TMP2):用來(lái)存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的另一個(gè)操作數(shù),它對(duì)用戶(hù)不開(kāi)放。(4)形狀存放器(PSW):PSW是一個(gè)8位標(biāo)志存放器,用來(lái)存放ALU操作結(jié)果的有關(guān)形狀。表2.1PSW各位定義表位編號(hào)PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0位定義CYCYACF0RS1RS0OV—P位地址D7HD6HD5HD4HD3HD2HD1HD0H①進(jìn)位標(biāo)志位CY:表示累加器A在加減運(yùn)算過(guò)程中其最高位A7有無(wú)進(jìn)位或借位。②輔助進(jìn)位位AC:表示累加器A在加減運(yùn)算時(shí)低4位(A3)有無(wú)向高4位(A4)進(jìn)位或借位。③用戶(hù)標(biāo)志位F0:是用戶(hù)定義的一個(gè)形狀標(biāo)志位,根據(jù)需求可以用軟件來(lái)使它置位或去除。1.運(yùn)算器④存放器選擇位RS1、RS0:AT89C51共有四組,每組八個(gè)任務(wù)存放器R0~R7。編程時(shí)用于存放數(shù)據(jù)或地址。但每組任務(wù)存放器在內(nèi)部RAM中的物理地址不同。RS1和RS0的四種形狀組合就是用來(lái)確定四組任務(wù)存放器的實(shí)踐物理地址的。RS1、RS0形狀與任務(wù)存放器R0~R7的物理地址關(guān)系如表2.2所示。表2.2任務(wù)存放器組R0~R7的物理地址RS1RS0任務(wù)存放器組號(hào)R0~R1的物理地址00011011012300H~07H08H~0FH10H~17H18H~1FH⑤溢出標(biāo)志位OV:當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件自動(dòng)置位或清零,表示累加器A的溢出形狀。⑥奇偶標(biāo)志位P:用于指示運(yùn)算結(jié)果中1的個(gè)數(shù)的奇偶性,假設(shè)累加器A中1的個(gè)數(shù)為奇數(shù),那么P=1;假設(shè)1的個(gè)數(shù)為偶數(shù),那么P=0。2.控制器

控制器是單片機(jī)內(nèi)部按一定時(shí)序協(xié)調(diào)任務(wù)的控制中心,是分析和執(zhí)行指令的部件??刂破髦饕沙绦蛴?jì)數(shù)器PC、指令存放器IR、指令譯碼器ID和定時(shí)控制邏輯電路等構(gòu)成。程序計(jì)數(shù)器PC是專(zhuān)門(mén)用于存放現(xiàn)行指令的16位地址的。CPU就是根據(jù)PC中的地址到ROM中去讀取程序指令碼和數(shù)據(jù),并送給指令存放器IR進(jìn)展分析。2.控制器指令存放器IR用于存放CPU根據(jù)PC地址從ROM中讀出的指令操作碼。指令譯碼器ID是用于分析指令操作的部件,指令操作碼經(jīng)譯碼后產(chǎn)生相應(yīng)于某一特定操作的信號(hào)。定時(shí)控制邏輯中定時(shí)部件用來(lái)產(chǎn)生脈沖序列和多種節(jié)拍脈沖。3.存放器陣列存放器陣列是單片機(jī)內(nèi)部的暫時(shí)存儲(chǔ)單元或固定用途單元,包括通用存放器組和公用存放器組。通用存放器組用來(lái)存放過(guò)渡性的數(shù)據(jù)和地址,提高CPU的運(yùn)轉(zhuǎn)速度。公用存放器組主要用來(lái)指示當(dāng)前要執(zhí)行指令的內(nèi)存地址,存放特定的操作數(shù),指示指令運(yùn)轉(zhuǎn)的形狀等。2.1.2存儲(chǔ)器

AT89C51單片機(jī)內(nèi)部有256個(gè)字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器和4?KB的閃存程序存儲(chǔ)器(Flash),當(dāng)不夠運(yùn)用時(shí),可分別擴(kuò)展為64KB外部RAM存儲(chǔ)器和64KB外部程序存儲(chǔ)器。它們的邏輯空間是分開(kāi)的,并有各自的尋址機(jī)構(gòu)和尋址方式。這種構(gòu)造的單片機(jī)稱(chēng)為哈佛型構(gòu)造單片機(jī)。程序存儲(chǔ)器是可讀不可寫(xiě)的,用于存放編好的程序和表格常數(shù)。數(shù)據(jù)存儲(chǔ)器是既可讀也可寫(xiě)的,用于存放運(yùn)算的中間結(jié)果,進(jìn)展數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。AT89C51單片機(jī)對(duì)外部電路進(jìn)展控制或交換信息都是經(jīng)過(guò)I/O端口進(jìn)展的。單片機(jī)的I/O端口分為并行I/O端口和串行I/O端口,它們的構(gòu)造和作用并不一樣。1.并行I/O端口AT89C51有四個(gè)8位并行I/O端口,分別命名為P0口、P1口、P2口和P3口,它們都是8位準(zhǔn)雙向口,每次可以并行輸入或輸出8位二進(jìn)制信息。2.1.3I/O端口AT89C51有一個(gè)全雙工的可編程串行I/O端口,它利用了P3口的第二功能,即將P3.1引腳作為串行數(shù)據(jù)的發(fā)送線(xiàn)TXD,將P3.0引腳作為串行數(shù)據(jù)的接納線(xiàn)RXD。2.串行I/O端口2.1.4定時(shí)器/計(jì)數(shù)器AT89C51內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,簡(jiǎn)稱(chēng)為定時(shí)器0(T0)和定時(shí)器1(T1),T0和T1分別由兩個(gè)8位存放器構(gòu)成,其中T0由TH0(高8位)和TL0(低8位)構(gòu)成,T1由TH1(高8位)和TL1(低8位)構(gòu)成。TH0、TL0、TH1、TL1都是SFR中的特殊功能存放器。T0和T1在TCON和TMOD的控制下可任務(wù)在定時(shí)器方式或計(jì)數(shù)器方式下,每種方式下又有不同的任務(wù)方式。當(dāng)定時(shí)或計(jì)數(shù)溢出時(shí)還可懇求中斷。詳細(xì)情況參見(jiàn)第6章。2.1.5中斷系統(tǒng)單片機(jī)中的中斷是指CPU暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源效力(執(zhí)行中斷效力程序),在執(zhí)行完中斷效力程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指可以處置上述中斷過(guò)程所需求的部分電路。AT89C51的中斷系統(tǒng)由中斷源、中斷允許控制器IE、中斷優(yōu)先級(jí)控制器IP、定時(shí)器控制器TCON(中斷標(biāo)志存放器)等構(gòu)成,IE、IP、TCON均為SFR特殊功能存放器(見(jiàn)表2.2)。2.1.6內(nèi)部總線(xiàn)總線(xiàn)是用于傳送信息的公共途徑。總線(xiàn)可分為數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制總線(xiàn)。單片機(jī)內(nèi)的CPU、存儲(chǔ)器、I/O接口等單元部件都是經(jīng)過(guò)總線(xiàn)銜接到一同的。采用總線(xiàn)構(gòu)造可以減少信息傳輸線(xiàn)的根數(shù),提高系統(tǒng)可靠性,加強(qiáng)系統(tǒng)靈敏性。AT89C51單片機(jī)內(nèi)部總線(xiàn)是單總線(xiàn)構(gòu)造,即數(shù)據(jù)總線(xiàn)和地址總線(xiàn)是公用的。2.2AT89C51單片機(jī)引腳及其功能AT89C51有40條引腳,與其他51系列單片機(jī)引腳是兼容的。這40條引腳可分為I/O端口線(xiàn)、電源線(xiàn)、控制線(xiàn)、外接晶體線(xiàn)四部分。其封裝方式有兩種:雙列直插封裝(DIP)方式和方形封裝方式,如圖2.2所示。圖2.2AT89C51封裝和引腳分配圖(a)雙列直插式封裝(b)方形封裝2.2AT89C51單片機(jī)引腳及其功能AT89C51AT89C511.P0口P0口有八條端口線(xiàn),命名為P0.0~P0.7,其中P0.0為低位,P0.7為高位。每條線(xiàn)的構(gòu)造組成如圖2.3所示。它由一個(gè)輸出鎖存器,兩個(gè)三態(tài)緩沖器,輸出驅(qū)動(dòng)電路和輸出控制電路組成。P0口是一個(gè)三態(tài)雙向I/O口,它有兩種不同的功能,用于不同的任務(wù)環(huán)境。2.2.1I/O端口功能圖2.3P0口位構(gòu)造圖1.P0口P1口有八條端口線(xiàn),命名為P1.0~P1.7,每條線(xiàn)的構(gòu)造組成如圖2.4所示。P1口是一個(gè)準(zhǔn)雙向口,只作普通的I/O口運(yùn)用,其功能與P0口的第一功能一樣。作輸出口運(yùn)用時(shí),由于其內(nèi)部有上拉電阻,所以不需外接上拉電阻;作輸入口運(yùn)用時(shí),必需先向鎖存器寫(xiě)入“1〞,使場(chǎng)效應(yīng)管T截止,然后才干讀取數(shù)據(jù)。2.P1口圖2.4P1口位構(gòu)造圖2.P1口P2口有八條端口線(xiàn),命名為P2.0~P2.7,每條線(xiàn)的構(gòu)造如圖2.5所示。P2口也是一個(gè)準(zhǔn)雙向口,它有兩種運(yùn)用功能:一種是當(dāng)系統(tǒng)不擴(kuò)展外部存儲(chǔ)器時(shí),作普通I/O口運(yùn)用,其功能和原理與P0口第一功能一樣,只是作為輸出口時(shí)不需外接上拉電阻;另一種是當(dāng)系統(tǒng)外擴(kuò)存儲(chǔ)器時(shí),P2口作系統(tǒng)擴(kuò)展的地址總線(xiàn)口運(yùn)用,輸出高8位的地址A7~A15,與P0口第二功能輸出的低8位地址相配合,共同訪(fǎng)問(wèn)外部程序或數(shù)據(jù)存儲(chǔ)器(64KB),但它只確定地址并不能像P0口那樣還可以傳送存儲(chǔ)器的讀寫(xiě)數(shù)據(jù)。3.P2口圖2.5P2口位構(gòu)造圖3.P2口P3口有八條端口線(xiàn),命名為P3.0~P3.7,每條線(xiàn)的構(gòu)造如圖2.6所示。P3口是一個(gè)多用途的準(zhǔn)雙向口。第一功能是作普通I/O口運(yùn)用,其功能和原理與P1口一樣。第二功能是作控制和特殊功能口運(yùn)用,這時(shí)八條端口線(xiàn)所定義的功能各不一樣,如表2.3所示。4.P3口圖2.6P3口位構(gòu)造圖4.P3口表2.3P3口各位的第二功能引腳第二功能功能說(shuō)明P3.0RXD串行數(shù)據(jù)輸入端P3.1TXD串行數(shù)據(jù)輸出端P3.2INT0外部中斷0中斷請(qǐng)求信號(hào)輸入端P3.3INT1外部中斷1中斷請(qǐng)求信號(hào)輸入端P3.4T0定時(shí)/計(jì)數(shù)器0外部計(jì)數(shù)脈沖輸入端P3.5T1定時(shí)/計(jì)數(shù)器1外部計(jì)數(shù)脈沖輸入端P3.6WR片外RAM寫(xiě)選通信號(hào)輸出端P3.7RD片外RAM讀選通信號(hào)輸出端在單片機(jī)中,口是一個(gè)集數(shù)據(jù)輸入緩沖、數(shù)據(jù)輸出驅(qū)動(dòng)及鎖存等多項(xiàng)功能于一體的I/O電路。AT89C51的4個(gè)口在電路構(gòu)造上根本一樣,P0~P3口都可作為普通I/O口來(lái)運(yùn)用。但又各具特點(diǎn),因此在功能和運(yùn)用上各口之間有一定的差別。各口用作輸入時(shí),均須先寫(xiě)入“1〞;P0口用作輸出時(shí),應(yīng)外接上拉電阻。5.I/O口的讀寫(xiě)(1)VCC:+5V電源線(xiàn)。(2)VSS:接地線(xiàn)。2.2.2電源線(xiàn)2.2.3外接晶體引腳(1)XTAL1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時(shí)鐘任務(wù)的輸入端。采用內(nèi)部振蕩器時(shí),它接外部石英晶體和微調(diào)電容的一個(gè)引腳。(2)XTAL2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時(shí),該引腳懸空。AT89C51單片機(jī)的控制線(xiàn)有如下幾種:(1)RST:復(fù)位輸入端,高電平有效。(2)ALE/:地址鎖存允許/編程線(xiàn)。(3):外部程序存儲(chǔ)器的讀選通線(xiàn)。(4)/VPP:片外ROM允許訪(fǎng)問(wèn)端/編程電源端。2.2.4控制線(xiàn)2.3AT89C51存儲(chǔ)器AT89C51單片機(jī)存儲(chǔ)器構(gòu)造采用哈佛型構(gòu)造,即將程序存儲(chǔ)器(ROM)和數(shù)據(jù)存儲(chǔ)器(RAM)分開(kāi),它們有各自獨(dú)立的存儲(chǔ)空間、尋址機(jī)構(gòu)和尋址方式。其典型構(gòu)造如圖2.7所示。圖2.7AT89C51存儲(chǔ)器構(gòu)造圖(a)程序存儲(chǔ)器地址分配;(b)數(shù)據(jù)存儲(chǔ)器地址分配FFFFH1000H外部ROM0000H內(nèi)部ROMEA=1外部ROMEA=0任務(wù)存放器區(qū)位尋址區(qū)數(shù)據(jù)緩沖區(qū)00H20H30H80H外部RAM0000HFFFFH0FFFHSFRFFH2.3AT89C51存儲(chǔ)器AT89C51程序存儲(chǔ)器有片內(nèi)和片外之分。片內(nèi)有4KB字節(jié)的Flash程序存儲(chǔ)器,地址范圍為0000H~0FFFH。當(dāng)不夠運(yùn)用時(shí),可以擴(kuò)展片外程序存儲(chǔ)器,因程序計(jì)數(shù)器PC和程序地址指針DPTR都是16位,片外程序存儲(chǔ)器擴(kuò)展的最大空間是64KB,地址范圍為0000H~FFFFH。2.3.1程序存儲(chǔ)器AT89C51數(shù)據(jù)存儲(chǔ)器也有片內(nèi)和片外之分。片內(nèi)有256個(gè)字節(jié)RAM,地址范圍為00H~FFH。按功能又可分為兩部分;低128字節(jié)〔地址為00H~7FH〕為普通RAM區(qū),高128字節(jié)〔地址為80H~FFH〕為特殊功能存放器(SFR)區(qū)。片外數(shù)據(jù)存儲(chǔ)器可擴(kuò)展64KB存儲(chǔ)空間,地址范圍為0000H~FFFFH,但兩者的地址空間是分開(kāi)的,各自獨(dú)立的,構(gòu)造分配如圖2.7(b)所示。2.3.2數(shù)據(jù)存儲(chǔ)器AT89C51單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器可分為兩部分:00H~7FH單元空間的128字節(jié)為RAM區(qū);0H~FFH單元空間的128字節(jié)為公用存放器(SFR)區(qū)。兩部分的地址空間是延續(xù)的。(1)片內(nèi)RAM區(qū):共128字節(jié),它又可劃分為通用存放器區(qū)、位尋址區(qū)、普通RAM區(qū),如表2.4所示。1.片內(nèi)數(shù)據(jù)存儲(chǔ)器7FH

30H2FH7F7E7D7C7B7A7978

2EH7776757473727170

2DH6F6E6D6C6B6A6968

2CH6766656463626160

2BH5F5E5D5C5B5A5958

2AH5756555453525150

29H4F4E4D4C4B4A4948

28H474645444342414027H3F3E3D3C3B3A3938

26H373635343332313025H2F2E2D2C2B2A2928

24H2726252423222120

23H1F1E1D1C1B1A1918

22H1716151413121110

21H0F0E0D0C0B0A0908

20H0706050403020100

1FH3組

18H

17H2組

10H0FH1組

08H

07H

0組

00H表2.4AT89C51片內(nèi)數(shù)據(jù)存儲(chǔ)器位尋址區(qū)通用存放器區(qū)①通用存放器區(qū):00H~1FH這32個(gè)單元為通用存放器區(qū),分為四組,每組占八個(gè)RAM單元,地址由小到大分別用代號(hào)R0~R7表示。經(jīng)過(guò)設(shè)置程序形狀字PSW中的RS1、RS0形狀來(lái)決議哪一組存放器任務(wù),如表2.2所示。②位尋址區(qū):20H~2FH這16個(gè)單元為位尋址區(qū)。它有雙重尋址功能,既可以按位尋址操作,也可以普通RAM單元那樣按字節(jié)尋址操作。(1)片內(nèi)RAM區(qū)③普通RAM區(qū):30H~7FH這80個(gè)單元為普通RAM區(qū)。用于存放用戶(hù)數(shù)據(jù),只能按字節(jié)存取。④堆棧區(qū):堆棧是片內(nèi)RAM中的特殊群體。用來(lái)暫時(shí)存放諸如子程序端口地址、中斷端口地址以及其它需求維護(hù)的數(shù)據(jù)。(1)片內(nèi)RAM區(qū)圖2.8堆棧構(gòu)造圖棧頂棧底〔可用軟件設(shè)置〕35H34H33H32H31H30H堆棧指針〔SP〕片內(nèi)80H~FFH區(qū)間,AT89C51集合了一些特殊用途的存放器,普通稱(chēng)之為特殊功能存放器〔SFR〕。AT89C51單片機(jī)共有21個(gè)SFR,每個(gè)SFR占一個(gè)RAM單元。它們離散地分布在80H~FFH地址范圍內(nèi),如表2.5所示。(2)公用存放器區(qū)表2.5AT89C51特殊功能存放器一覽表SFR符號(hào)地址復(fù)位值功能名稱(chēng)*ACC0E0H00000000B累加器*B0F0H00000000BB寄存器*PSW0D0H00000000B程序狀態(tài)字SP81H00000111B堆棧指針DPL82H00000000B數(shù)據(jù)寄存器指針(低8位)DPH83H00000000B數(shù)據(jù)寄存器指針(高8位)*P080H11111111BP0口鎖存器*P190H11111111BP1口鎖存器*P20A0H11111111BP2口鎖存器*P30B0H11111111BP3口鎖存器*IP0B8HXXX00000B

中斷優(yōu)先級(jí)控制寄存器表2.5AT89C51特殊功能存放器一覽表〔續(xù)〕SFR符號(hào)地址復(fù)位值功能名稱(chēng)*IE0A8HXXX00000H中斷允許控制寄存器TMOD89H000000000B定時(shí)/計(jì)數(shù)器方式控制寄存器*TCON88H00000000B定時(shí)/計(jì)數(shù)器控制寄存器TH08CH00000000B定時(shí)/計(jì)數(shù)器0高字節(jié)TL08AH00000000B定時(shí)/計(jì)數(shù)器0低字節(jié)TH18DH00000000B定時(shí)/計(jì)數(shù)器1高字節(jié)TL18BH00000000B定時(shí)/計(jì)數(shù)器1低字節(jié)*SCON98H00000000B串行控制寄存器SBUF99H不定串行數(shù)據(jù)緩沖器PCON87H0XXX0000B電源控制寄存器沒(méi)有被SFR占據(jù)的地址能夠在片內(nèi)并不存在。對(duì)這些地址讀出時(shí),通常會(huì)得到隨機(jī)的數(shù)據(jù),而寫(xiě)入時(shí)將會(huì)有不確定的效應(yīng),因此軟件設(shè)計(jì)時(shí)不要運(yùn)用這些單元。特殊功能存放器通常用存放器尋址,但也可以用直接尋址方式進(jìn)展字節(jié)訪(fǎng)問(wèn)。其中11個(gè)存放器還可進(jìn)展位尋址〔表2.5中帶*號(hào)的存放器〕操作,其位地址的分配如表2.6所示。(2)公用存放器區(qū)表2.6SFR中的位地址分配存放器符號(hào)位地址字節(jié)地址D7D6D5D4D3D2D1D0BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HIP

BCBBBAB9B8B8HP3B7B6B5B4B3B2B1B0B0HIEAF

ACABAAA9A8A8HP2A7A6A5A4A3A2A1A0A0HSCON9F9E9D9C9B9A999898HP1979695949392919090HTCON8F8E8D8C8B8A898888HP0878685848382818080HAT89C51單片機(jī)可擴(kuò)展片外64KB空間的數(shù)據(jù)存儲(chǔ)器,地址范圍為0000H~FFFFH,它與程序存儲(chǔ)器的地址空間是重合的,但兩者的尋址指令和控制線(xiàn)不同。如表2.7所示。2.片外數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器類(lèi)別訪(fǎng)問(wèn)指令控制線(xiàn)ROMMOVCPSEN片外RAMMOVXWR、RD表2.7存儲(chǔ)器的訪(fǎng)問(wèn)指令及控制線(xiàn)2.4AT89C51單片機(jī)任務(wù)方式2.4.1復(fù)位方式單片機(jī)在開(kāi)機(jī)時(shí)或在任務(wù)中因干擾而使程序失控或任務(wù)中程序處于某種死循環(huán)形狀等情況下都需求復(fù)位。復(fù)位的作用是使中央處置器CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始形狀,并從這個(gè)形狀開(kāi)場(chǎng)任務(wù)。1.復(fù)位原理:AT89C51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由RESET(RST)引腳輸入,高電平有效,在振蕩器任務(wù)時(shí),只需堅(jiān)持RST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位。復(fù)位后,PC程序計(jì)數(shù)器的內(nèi)容為0000H,其他特殊功能存放器的復(fù)位形狀如表2.5所示。片內(nèi)RAM中內(nèi)容不變。2.常用復(fù)位電路:普通有上電復(fù)位、手動(dòng)開(kāi)關(guān)復(fù)位和自動(dòng)復(fù)位電路三種,如圖2.9所示。2.4.1復(fù)位方式圖2.9單片機(jī)復(fù)位電路圖(a)上電復(fù)位電路;(b)手動(dòng)復(fù)位電路;(c)自動(dòng)復(fù)位電路2.常用復(fù)位電路程序執(zhí)行方式是單片機(jī)的根本任務(wù)方式,即執(zhí)行用戶(hù)編寫(xiě)好并存放在ROM中的程序。2.4.2程序執(zhí)行方式2.4.3省電方式AT89系列單片機(jī)有兩種省電運(yùn)轉(zhuǎn)方式,即空閑方式和掉電方式。省電方式可使單片機(jī)功耗最小。單片機(jī)正常任務(wù)時(shí)耗費(fèi)10~20mA電流,空閑方式任務(wù)時(shí)耗費(fèi)1.75mA電流,掉電方式任務(wù)時(shí)耗費(fèi)5~50μA電流。在空閑和掉電方式下,單片機(jī)內(nèi)部硬件控制電路如圖2.10所示。圖2.10空閑和掉電方式內(nèi)部電路圖單片機(jī)省電方式下內(nèi)部控制電路2.5AT89C51時(shí)鐘電路與時(shí)序2.5.1振蕩器與時(shí)鐘電路單片機(jī)內(nèi)各部件之間有條不紊的協(xié)調(diào)任務(wù),其控制信號(hào)是在一種根本節(jié)拍的指揮下按一定時(shí)間順序發(fā)出的,這些控制信號(hào)在時(shí)間上的相互關(guān)系就是CPU時(shí)序。而產(chǎn)生這種根本節(jié)拍的電路就是振蕩器和時(shí)鐘電路。AT89C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的單級(jí)反相放大器,如圖2.11所示。圖2.11AT89C51內(nèi)部振蕩器電路圖AT89C51內(nèi)部振蕩器電路引腳XTAL1為反相器輸入端,XTAL2為反相器輸出端。當(dāng)在放大器兩個(gè)引腳上外接一個(gè)晶體(或陶瓷振蕩器)和電容組成的并聯(lián)諧振電路作為反響元件時(shí),便構(gòu)成一個(gè)自激振蕩器,如圖2.12所示。AT89C51內(nèi)部振蕩器電路單片機(jī)也可采用外部振蕩器向內(nèi)部時(shí)鐘電路輸入一固定頻率的時(shí)鐘源信號(hào)。此時(shí),外部信號(hào)接至XTAL1端,輸入給內(nèi)部時(shí)鐘電路,而XTAL2端浮空即可,如圖2.13所示。圖2.12內(nèi)部振蕩器等效電路圖反相器輸入端反相器輸出端AT89C51內(nèi)部振蕩器電路圖2.13外部時(shí)鐘電路圖懸空1.振蕩周期振蕩周期指由單片機(jī)片內(nèi)或片外振蕩器所產(chǎn)生的,為單片機(jī)提供時(shí)鐘源信號(hào)的周期(其值為1/fosc)。2.時(shí)鐘周期時(shí)鐘周期又稱(chēng)為形狀周期S,由內(nèi)部時(shí)鐘電路產(chǎn)生,是振蕩周期的二倍。每個(gè)時(shí)鐘周期分為P1和P2兩個(gè)節(jié)拍,前半周期P1節(jié)拍信號(hào)有效,后半周期P2節(jié)拍信號(hào)有效,每個(gè)節(jié)拍完成不同的邏輯操作。2.5.2時(shí)序一個(gè)機(jī)器周期由6個(gè)形狀周期(12個(gè)振蕩周期)組成,6個(gè)形狀周期用S1~S6表示,每一形狀周期的兩個(gè)節(jié)拍用P1、P2表示,那么一個(gè)機(jī)器周期的12個(gè)節(jié)拍就可用S1P1、S1P2、S2P1、…、S6P1、S6P2來(lái)表示,見(jiàn)以下圖。3.機(jī)器周期S1S2S3S4S5S6P1P2P1P2P1P2P1P2P1P2P1P2圖2.14一個(gè)機(jī)器周期的12個(gè)節(jié)拍〔振蕩周期〕執(zhí)行一條指令所占用的全部時(shí)間。一個(gè)指令周期通常由1~4個(gè)機(jī)器周期組成。假設(shè)外接晶振頻率為fosc=12MHZ,那么四個(gè)根本周期的詳細(xì)數(shù)值為:(1)振蕩周期=1/12μs。(2)時(shí)鐘周期=1/6μs。(3)機(jī)器周期=1μs。(4)指令周期=1~4μs。4.指令周期圖2.15AT89C51單片機(jī)典型指令時(shí)序圖5.AT89C51單片機(jī)典型指令時(shí)序(1)訪(fǎng)問(wèn)外部ROM時(shí)序圖2.16讀外部程序ROM時(shí)序圖圖2.17讀外部數(shù)據(jù)RAM時(shí)序圖(2)讀外部數(shù)據(jù)RAM時(shí)序圖2.18寫(xiě)外部數(shù)據(jù)RAM的時(shí)序圖(3)寫(xiě)外部數(shù)據(jù)RAM的時(shí)序本章小結(jié)1.單片機(jī)是將微處置器、存儲(chǔ)器和I/O接口等電路集成在一塊芯片上所構(gòu)成的微型計(jì)算機(jī)。因此,它比微機(jī)體積更小,價(jià)錢(qián)更低,因此在某些場(chǎng)所運(yùn)用得更加廣泛。2.89C51單片機(jī)有40個(gè)引腳,采用雙列直插的封裝方式,每個(gè)引腳都有其特定功能。這40個(gè)引腳按功能可分為四大類(lèi):電源線(xiàn)、I

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論