單片機硬件結(jié)構(gòu)和原理_第1頁
單片機硬件結(jié)構(gòu)和原理_第2頁
單片機硬件結(jié)構(gòu)和原理_第3頁
單片機硬件結(jié)構(gòu)和原理_第4頁
單片機硬件結(jié)構(gòu)和原理_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

§2.1 89C51單片機芯片內(nèi)部結(jié)構(gòu)及特點§2.2 89C51單片機引腳及其功能§2.3 89C51單片機存儲器配置§2.4 時鐘電路及89C51CPU§2.5 復位操作§2.6 89C51單片機的低功耗工作方式返回第2章 89C51單片機的結(jié)構(gòu)和原理§2.7 輸出/輸入端口結(jié)構(gòu)5/21/2024§2.1 89C51單片機芯片內(nèi)部結(jié)構(gòu)及特點返回89C51單片機結(jié)構(gòu)框圖A89C51CPU振蕩器和時鐘OSC64KB總線擴展控制器數(shù)據(jù)存儲器256BRAM/SFR2×16位定時器/計數(shù)器可編程I/O程序存儲器4KBFLASHROM可編程全雙工串行口內(nèi)外中斷源控制并行口串行通信外部時鐘源外部事件計數(shù)片內(nèi)振蕩器和時鐘產(chǎn)生電路,需外接晶振和電容。片內(nèi)4kB/8kBFlashROM,用以存放程序、一些原始數(shù)據(jù)和表格。128B/256B片內(nèi)RAM,用以存放運算的中間結(jié)果等都可以設(shè)置成計數(shù)/定時方式,完成對外部事件進行計數(shù)或?qū)崿F(xiàn)定時控制。8位CPU。指令簡單,實現(xiàn)加減乘除運算、邏輯運算和強大的位控制功能。四個8位并行I/O口P0~P3,或32位獨立的I/O口,可以用作輸入,也可以用作輸出。一個全雙工UART的串行I/O口,可實現(xiàn)單片機與單片機或其它微機之間串行通信。用于外部ROM、RAM或外設(shè)的擴展。五個中斷源的中斷控制系統(tǒng)。5/21/2024二、89C51系列單片機的性能1)

89C51單片機與8051相比,具有節(jié)電工作方式,即休閑方式及掉電方式。2)89C51是用靜態(tài)邏輯來設(shè)計的,其工作頻率可下降到0Hz。在空閑方式中,CPU停止工作,而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的15%。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結(jié)”,使一切功能都暫停,故只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復位為止。這種方式下的電流可降到15μA以下,最小可降到0.6μA。3)89C51單片機還有一種低電壓的型號,即89LV51,除了電壓范圍有區(qū)別之外,其余特性與89C51完全一致。89C51采用5V電源,89LV采用512.7~6V電源。4)89C51/LV51是一種低功耗/低電壓、高性能的8位單片機。它采用了CMOS工藝和高密度非易失性存儲器(NURAM)技術(shù),而且其輸出引腳和指令系統(tǒng)都與MCS51兼容;片內(nèi)的FlashROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此89C51/LV51是一種功能強、靈活性高,且價格合理的單片機,可方便地應(yīng)用在各種控制領(lǐng)域。返回5/21/2024§2.1.289C51單片機芯片內(nèi)部結(jié)構(gòu)一、結(jié)構(gòu)圖二、結(jié)構(gòu)組成返回5/21/2024P0驅(qū)動器P2驅(qū)動器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器緩沖器PC增1PCDPTR中斷、串行口和定時器PSWP1鎖存器P1驅(qū)動器P3鎖存器P3驅(qū)動器定時控制指令寄存器指令譯碼器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARESET89C51單片機內(nèi)部結(jié)構(gòu)圖返回運算器控制器存儲器I/O接口5/21/20241、中央處理單元(89C51CPU):運算器+控制器返回1)8位的ALU:可對4位、8位、16位數(shù)據(jù)進行操作。2)8位累加器ACC(A):它經(jīng)常作為一個運算數(shù)經(jīng)暫存器2進入ALU的輸入端,與另一個來自暫存器1的運算數(shù)進行運算,運算結(jié)果又送回ACC。3)8位程序狀態(tài)寄存器PSW:指示指令執(zhí)行后的狀態(tài)信息供程序查詢和判別用。4)8位寄存器B:在乘除運算時,用來存放一個操作數(shù)也用來存放運算后的一部分結(jié)果;如不能做乘除運算時,作為通用寄存器。5)布爾處理器:專門用于處理位操作的,以PSW中的C為其累加器。6)2個8位暫存器:ALU的兩個入口處。(1)運算器二、結(jié)構(gòu)組成:CPU+存儲器+I/O接口5/21/20242)控制器(1)程序計數(shù)器PC(16位):PC是程序的字節(jié)地址計數(shù)器,PC內(nèi)容為將要執(zhí)行的指令地址。改變PC內(nèi)容,改變執(zhí)行的流向。PC可對64KB的ROM和片外RAM直接尋址,不可對89C51片內(nèi)RAM尋址。由兩個8位計數(shù)器PCH、PCL組成。(2)指令寄存器IR及指令譯碼器ID由PC中的內(nèi)容指定ROM地址。取出來的指令經(jīng)IR送至ID。由ID對指令譯碼產(chǎn)生一定序列的控制信號,以執(zhí)行指令所規(guī)定的操作。(3)振蕩器和定時電路89C51單片機片內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容(2個30pF左右),其頻率范圍為1.2MHz-12MHz。該信號作為89C51工作的基本節(jié)拍,即時間的最小單位。返回5/21/20242、存儲器1)程序存儲器(ROM)89C51片內(nèi)為4kBFlashROM。地址從0000H開始。用于存放程序和表格常數(shù)。2)數(shù)據(jù)存儲器(RAM)89C51RAM均為128B,地址為00H~7FH。用于存放運算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。128B的RAM=工作寄存器組+位尋址空間+普通RAM+堆棧。片內(nèi)還有21個特殊功能寄存器(SFR),它們同128字節(jié)RAM統(tǒng)一編址,地址為80H~FFH。3、I/O接口89C51有四個8位并行I/O接口P0~P3。它們都是雙向端口,每個端口各有8條獨立的I/O口線。P0-P3口四個鎖存器同RAM統(tǒng)一編址,可作為SFR來尋址。返回5/21/20242.2 89C51單片機引腳及其功能§2.2.189C51單片機引腳§2.2.289C51單片機引腳功能返回5/21/2024§2.2.1 89C51單片機引腳下圖是89C51/LV51的引腳結(jié)構(gòu)圖,有雙列直插封裝(DIP)方式和方形封裝方式。返回2.2 89C51單片機引腳及其功能5/21/2024§2.2.289C51單片機引腳功能一、電源引腳:Vcc(40腳)+5V電源端,Vss(20腳):接地端。二、時鐘電路引腳:XTAL1和XTAL2XTAL2(18腳)、XTAL1(19腳):分別接外部晶體和微調(diào)電容的一端,為單片機提供時鐘;三、控制信號引腳RST、ALE、PSEN和EARST(9腳):復位信號輸入端,高電平有效。當此輸入端保持兩個機器周期的高電平時,就可以完成復位操作。ALE(30腳):地址鎖存允許信號端。正常工作時,該引腳以振蕩頻率的1/6固定輸出正脈沖。CPU訪問片外存儲器時,該引腳輸出信號作為鎖存低8位地址的控制信號。PSEN(29腳):程序存儲器允許信號輸出端。在訪問片外ROM時,定時輸出負脈沖作為讀片外ROM的選通信號,接片外ROM的OE端。EA(31腳):外部程序存儲器地址允許輸入端。EA=1:CPU訪問片內(nèi)ROM并執(zhí)行片內(nèi)程序存儲器中的指令,但當PC值超過0FFFH(片內(nèi)ROM為4KB)時,將自動轉(zhuǎn)向執(zhí)行片外ROM中的程序。EA=0:CPU只訪問片外ROM并執(zhí)行外部程序存儲器中的程序。返回5/21/2024四、I/O端口P0、P1、P2和P31、均可字節(jié)訪問。2、均可分為8位獨立的I/O口使用。3、準雙向:當I/O口作為輸入時,應(yīng)先向此口鎖存器寫入全1,此時該口引腳浮空,可作高阻抗輸入。返回5/21/2024P3端口引腳與復用功能表5/21/2024§2.3 89C51存儲器配置§2.3.1 89C51存儲器分類§2.3.2 程序存儲器地址空間§2.3.3 數(shù)據(jù)存儲器地址空間返回5/21/2024§2.3.189C51存儲器分類返回片內(nèi)程序存儲器片外程序存儲器片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器89C51存儲器程序存儲器ROM數(shù)據(jù)存儲器RAM1、片內(nèi)、外統(tǒng)一編址的64kBROM地址空間。CPU訪問片內(nèi)、片外ROM用MOVC指令。2、64kB的片外數(shù)據(jù)存儲器地址空間。訪問片外RAM指令用MOVX。3、256字節(jié)的片內(nèi)數(shù)據(jù)存儲器地址空間。訪問片內(nèi)RAM指令用MOV。上述三個存儲空間地址是重疊的,須采用不同的數(shù)據(jù)傳送指令符號訪問。5/21/2024§2.3.2程序存儲器地址空間一、用途:用于存放編好的程序和表格常數(shù)。二、編址:89C51片內(nèi)FlashROM的容量為4kB。地址為0000H~0FFFH。片外最多可擴至64kBFLASH,地址為1000H~FFFFH。片內(nèi)外統(tǒng)一編址。三、尋址方式:1、當EA=“1”時:89C51的PC在0000~0FFFH范圍內(nèi)執(zhí)行片內(nèi)ROM中的程序,當指令地址超過0FFFH后就自動轉(zhuǎn)向片外ROM中取指令。2、當EA=”0”時:89C51片內(nèi)ROM不起作用,CPU只能從片ROM/EPROM中取指令。3、89C51從片內(nèi)ROM和片外ROM取指的速度相同。4、目前單片機通常只用內(nèi)部ROM,EA=“1”。返回5/21/2024四、程序存儲器的保留存儲單元返回1、0000H~0002H:因為復位后PC的內(nèi)容為0000H,CPU總是從0000H開始執(zhí)行程序。2、0003H~002AH:均分為五段,每段8字節(jié),用作五個中斷服務(wù)程序的入口。中斷矢量地址表如下所示。5/21/2024中斷矢量表返回5/21/2024§2.3.3數(shù)據(jù)存儲器地址空間一、用途:用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標志位等,目前通常只用于測量數(shù)據(jù)的存儲。二、片外RAM:地址:0000H~FFFFH。尋址:只能用MOVX指令。三、片內(nèi)RAM:低128字節(jié)RAM(00H~7FH):工作寄存器組+位尋址空間+普通RAM+堆棧。高128字節(jié)RAM(80H~FFH):——特殊功能寄存器SFR區(qū),只能用直接尋址!返回5/21/2024(一)片內(nèi)RAM地址空間尋址:用指令MOV最大可尋址256個單元。返回低128B(00H-7FH):真正RAM區(qū)高128B(80H-FFH):特殊功能寄存器(SFR)區(qū)地址:00H-FFH5/21/20241、工作寄存器區(qū)(00H~1FH)1)由四組工作寄存器組成,每組8個寄存器(R0-R7),共32個單元。2)通過程序狀態(tài)寄存器PSW中RS1、RS0兩位設(shè)定來選擇CPU的當前工作寄存器組。復位時,第0組為當前的工作寄存器。3)若不需要四組,則其余可作為一般RAM單元。返回5/21/20242、位尋址區(qū)(20H~2FH)位尋址區(qū)有16個單元,每個單元8位,共128位。位地址為00H-7FH。只能用位尋址方式(如置1、清0、判斷轉(zhuǎn)移等)訪問位地址空間。位尋址是89C51的一個重要特點。返回字節(jié)地址與位地址形式相同,只能用指令區(qū)分!MOV20H,30HMOVC,20H5/21/20243、用戶RAM區(qū)(30H~7FH)用于堆棧和臨時數(shù)據(jù)存儲。只能用字節(jié)尋址方式尋址。未用的工作寄存器區(qū)和位尋址區(qū)空間可以用作用戶RAM區(qū)返回5/21/2024(三)高128字節(jié)RAM(80H~FFH)返回有21個特殊功能功能寄存器。地址分布在80H~FFH的RAM空間。只能用直接尋址方式。字節(jié)地址能被8整除的11個SFR具有位尋址能力(*號)。5/21/2024特殊功能寄存器地址表返回5/21/2024部分特殊功能寄存器介紹1.累加器ACC(E0H):用A作為ACC的助記符。用于存放第一個運算操作數(shù)及運算結(jié)果。2.寄存器B(F0H):在乘法指令中,B用于存放乘數(shù)和乘積的高8位。在除法指令中用于存放除數(shù)和余數(shù)。在其它指令中用作一般的寄存器或RAM單元。3.堆棧指針SP(81H):堆棧:在片內(nèi)RAM中,開辟的一個按“后進先出”的結(jié)構(gòu)方式處理數(shù)據(jù)的區(qū)域。用于調(diào)用子程序或中斷保護現(xiàn)場。

SP的內(nèi)容必須指向片內(nèi)RAM00H—7FH的某個單元。系統(tǒng)復位時,SP初始化為07H。堆棧的操作:進棧:SP+1,內(nèi)容進棧。出棧:內(nèi)容出棧,SP-1,。返回5/21/2024PSW包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢或判斷用。返回PSW程序狀態(tài)寄存器(D0H)ACCYP—OVRS0RS1F0PSW(D0H)D7D6D5D4D3D2D1D0(1)CY位:進(借)位標志位。加法有進位,減法有借位,CY=1;否則,CY=0。在位操作指令中,CY位是布爾累加器,用C表示。(2)AC位:半進位標志位(輔助進位標志)。執(zhí)行加法(減法)運算指令時,如運算結(jié)果的低半字節(jié)(D3)向高半字節(jié)有進位(借位),AC=1;否則,AC=0。(3)FO位:用戶標志。由用戶自己定義、置位、復位,以作為軟件標志。(4)RS1、RS0位:工作寄存器組選擇控制位。由用戶用軟件改變RS0和RS1的值,以切換當前選用的工作寄存器組。上電復位時,RS1=RS0=0,CPU選擇第0組為當前工作寄存器組。(5)OV位:溢出標志位。有符號數(shù)運算出錯,OV=1;否則,OV=0。(6)PSW.1:為保留位。(7)P位:奇偶檢驗位。每條指令執(zhí)行后,A中“1”的個數(shù)為奇數(shù),則P=1;5/21/2024RS1 RS0 寄存器組 片內(nèi)RAM地址0 0 第0組 00H~07H 0 1 第1組 08H~0FH 1 0 第2組 10H~17H 1 1 第3組 18H~1FH 表2-8RS0,RS1的組合關(guān)系返回5/21/2024返回數(shù)據(jù)指針DPTR(83H,82H):DPTR是唯一一個可直接訪問的16位特殊功能寄存器。由DPH(83H),DPL(82H)組成。DPH,DPL可以單獨使用。I/O端口P0、P1、P2、P3(80H、90H、A0H、B0H):為四個并行I/O端口的鎖存器。每個口鎖存器分別對應(yīng)8個位地址,所以每一條I/O線可獨立輸入或輸出。5/21/2024返回一、振蕩周期:石英晶體的固有周期。為最小的時序單位。二、狀態(tài)周期S:振蕩周期2分頻。由時鐘信號P1和P2組成?!?.4時鐘電路及89C51CPU時序

§2.4.1片內(nèi)時鐘信號的產(chǎn)生5/21/2024三、機器周期:是指CPU訪問存儲器一次所需的時間。例如,取指令、讀存儲器、寫存儲器等等。

51單片機的一條指令由若干個字節(jié)組成。執(zhí)行一條指令需要多長時間則以機器周期為單位。一個機器周期包括12個振蕩周期,分為6個S狀態(tài):S1~S6。四、指令周期:執(zhí)行一條指令所需的時間。每條指令都由一個或幾個機器周期組成。每條指令由一個或若干個字節(jié)組成。有單字節(jié)指令,雙字節(jié)指令,…多字節(jié)指令等。字節(jié)數(shù)少則占存儲器空間少。每條指令的指令周期都由一個或幾個機器周期組成。有單周期指令、雙周期指令、和四周期指令。機器周期數(shù)少則執(zhí)行速度快。返回5/21/2024外接晶振頻率12MHz時的各種時序單位的大小。

振蕩周期=1/fOSC=1/12MHz=0.0833μs 狀態(tài)周期=2/fOSC=2/12MHz=0.167μs 機器周期=12/fOSC=12/12MHz=1μs 指令周期=(1~4)機器周期=1~4μs返回基本時序定時單位89C51單片機各種周期的相互關(guān)系5/21/2024返回§2.4.2CPU取指、執(zhí)指時序5/21/2024§2.5 復位操作

2.5.1 復位操作的主要功能一、復位:單片機的初始化操作。將所需的內(nèi)部資源設(shè)置為規(guī)定的狀態(tài),使單片機工作不會產(chǎn)生二義性,程序地址指針PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。當由于程序運行出錯或操作錯誤使系統(tǒng)死鎖狀態(tài)時,需要復位后重新啟動。返回5/21/2024§2.5.2 復位信號及其產(chǎn)生一、復位信號:當RST引腳為高電平,且有效時間持續(xù)24個fOSC以上,才能復位。二、產(chǎn)生復位信號的電路邏輯圖:返回VCCCRVCCRST/VPDVSS1KΩ22μF89C51VCCCR2VCCRST/VPDVSS1KΩ22μF89C51R1200ΩRESET上電自動復位手動復位5/21/2024§2.6 89C51單片機的低功耗工作方式1、提供兩種節(jié)電工作方式,即空閑(等待、待機)方式和掉電(停機)工作方式。2、空閑方式:CPU停止工作;振蕩器仍繼續(xù)運行;中斷、串行口和定時器等環(huán)節(jié)在時鐘控制下正常運行;內(nèi)部資源狀態(tài)不變。3、掉電方式:振蕩器凍結(jié)。內(nèi)部RAM區(qū)和特殊功能寄存器的內(nèi)容被保留。4、硬件復位(2個機器周期以上)或中斷請求被響應(yīng)都可以退出空閑工作方式,進入工作狀態(tài),CPU從進入空閑方式的下一條指令開始重新執(zhí)行程序。退出掉電方式的惟一方法是由硬件復位,復位后將所有特殊功能寄存器的內(nèi)容初始化,但不改變片內(nèi)RAM區(qū)的數(shù)據(jù)。返回5/21/2024§2.7 輸出/輸入端口結(jié)構(gòu)返回1.89C51單片機有四個8位并行I/O端口:P0、P1、P2和P3。2.每個端口都是8位準雙向口,共占32根引腳。3.每一條I/O線都能獨立地用作輸入或輸出。4.每個端口都包括一個鎖存器(即特殊功能寄存器P0~P3),一個輸出驅(qū)動器和輸入緩沖器,作輸出是數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖。5/21/2024§2.7.1P1口讀鎖存器、寫鎖存器、讀引腳信號由指令決定。MOVA,P1:讀引腳。ANLP1,A:讀鎖存器?!白x—修改—寫”操作MOVP1,A:寫鎖存器。P1口是一個準雙向口。在端口用作輸入時,必須先向?qū)?yīng)的鎖存器寫入1,使FET截止。當P1口輸出高電平時,能向外提供拉電流,不必接上拉電阻。返回5/21/2024§2.7.2P2口返回讀鎖存器、寫鎖存器、讀引腳信號由指令決定。在端口用作輸入時,必須先向?qū)?yīng)的鎖存器寫入1。通常內(nèi)部硬件自動使開關(guān)MUX倒向鎖存器的Q端,P2口為一般I/O口。使用“MOVXA,@Ri”指令:尋址范圍是256B,只需低8位地址線就可以實現(xiàn)。P2口不受該指令影響,仍可作通用I/O口。使用“MOVXA,@DPTR”指令:尋址范圍64KB,此時,高8位地址總線用P2口輸出。在片外RAM讀/寫周期內(nèi),P2口鎖存器仍保持原來端口的數(shù)據(jù);在訪問片外RAM周期結(jié)束后,多路開關(guān)MUX自動切換倒鎖存器Q端。通常無法再用作通用I/O口。5/21/2024返回§2.7.3P0口C=0C=1讀鎖存器、寫鎖存器、讀引腳信號由指令決定。控制C的狀態(tài)由指令決定:當P0為地址/數(shù)據(jù)總線時,C=1。在端口進行輸入操作前,應(yīng)先向端口鎖存器寫入1。當P0口被地址/數(shù)據(jù)總線占用時,不能作為I/O口使用。做I/O口時必須須外接上拉電阻。P0口用作輸出地址/數(shù)據(jù)總線:上下兩個FET處于反相,構(gòu)成推拉式的輸出電路(T1導通時上拉,T2導通時下拉),提高了負載驅(qū)動能力。5/21/2024讀鎖存器、寫鎖存器、讀引腳信號由指令決定。在端口進行輸入操作前,應(yīng)先向端口鎖存器寫入1。當P3口為通用I/O口時,由內(nèi)部硬件自動將第二功能輸出線W置1。當P3口用作第二功能線時,P3口不得輸出0,即Q=1。返回§2.7.4 P3口W5/21/2024P3口用作第二功能使用返回5/21/2024§2.7.5端口的負載能力和接口要求1、P0口:做I/O口時必須外接上拉電阻。

在端口進行輸入操作前,應(yīng)先向端口鎖存器寫入1。當作地址/數(shù)據(jù)總線時(片外擴展ROM或RAM的情況),無須外接上拉電阻。每一位輸出可驅(qū)動8個LS型TTL負載。2、P1~P3口做I/O口時無需外接上拉電阻。在端口進行輸入操作前,應(yīng)先向端口鎖存器寫入1。每一位輸出可驅(qū)動4個LS型TTL

溫馨提示

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

評論

0/150

提交評論