![第2章 AT89S51單片機硬件結(jié)構(gòu)_第1頁](http://file4.renrendoc.com/view11/M02/2C/02/wKhkGWX5CI6AVRzKAAEpKwdETak149.jpg)
![第2章 AT89S51單片機硬件結(jié)構(gòu)_第2頁](http://file4.renrendoc.com/view11/M02/2C/02/wKhkGWX5CI6AVRzKAAEpKwdETak1492.jpg)
![第2章 AT89S51單片機硬件結(jié)構(gòu)_第3頁](http://file4.renrendoc.com/view11/M02/2C/02/wKhkGWX5CI6AVRzKAAEpKwdETak1493.jpg)
![第2章 AT89S51單片機硬件結(jié)構(gòu)_第4頁](http://file4.renrendoc.com/view11/M02/2C/02/wKhkGWX5CI6AVRzKAAEpKwdETak1494.jpg)
![第2章 AT89S51單片機硬件結(jié)構(gòu)_第5頁](http://file4.renrendoc.com/view11/M02/2C/02/wKhkGWX5CI6AVRzKAAEpKwdETak1495.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章AT89S51單片機結(jié)構(gòu)及原理
本章內(nèi)容:(1)AT89S51系列的基本結(jié)構(gòu);(2)存儲器結(jié)構(gòu)及其配置;(3)P0、P1、P2、P3四個I/O口的基本工作原理和操作特點;(4)單片機的時序(5)復位12圖2-1
AT89S51單片機片內(nèi)結(jié)構(gòu)21.AT89S51的基本組成
共分十部分1個8位CPU;※核心CPU1個片內(nèi)振蕩器及時鐘電路;※時序電路128字節(jié)RAM(數(shù)據(jù)存儲器);4K字節(jié)ROM(程序存儲器);32條可編程的I/O線(四個8位并行I/O端口);控制線輸出口(4+2)1個全雙工串行口;2個16位定時器/計數(shù)器;1個看門狗定時器5個中斷源;內(nèi)部總線2.1AT89S51單片機組成及結(jié)構(gòu)※存儲器※I/O口※功能部件3要求:※分十部分(各部分聯(lián)于內(nèi)DBUS)※111條指令1條除外,都是針對內(nèi)部硬件的操作!必須懂硬件!42.AT89S51的內(nèi)外部資源(共10個)資源:可供用戶使用的功能部件
片內(nèi)256字節(jié)RAM其中,26個SFR片內(nèi)4K字節(jié)的FlashROM四個8位并行I/O口一個全雙工異步串行I/O口兩個16位定時器/計數(shù)器五個中斷源、六個中斷標志位、兩個中斷優(yōu)先級一個看門狗定時器一套布爾處理器(1位計算機)外部64kB的RAM尋址空間外部64kB的ROM尋址空間2.1AT89S51單片機組成及結(jié)構(gòu)內(nèi)部8個外部2個53.AT89S51單片機的引腳與功能2.1AT89S51單片機組成及結(jié)構(gòu)6(1)第一部分電源腳+5V供電7805可做穩(wěn)壓電源5±0.25V VCC(40)——+5VGND(20)——地2.2AT89S51單片機的引腳與功能(2)第二部分
晶振腳XTAL1(19)——晶體振蕩器信號輸入XTAL2(18)——晶體振蕩器信號輸出(3)第三部分控制總線外引腳9、29、30、31腳,借用P3.6(寫)P3.7(讀)兩腳做外RAM的讀寫信號引腳分四部分72.2AT89S51單片機的引腳與功能
——外部程序存儲器讀選通信號(
ProgramStoreEnable) 該信號為低電平時,CPU從外部程序存儲器單元讀取指令。即:其上得負脈沖將使外ROM被選通的單元內(nèi)容出現(xiàn)在總線上,并被讀入CPU(9)腳——RST(RESET0復位腳。其上外加持續(xù)2個機器周期以上的高電平,單片機復位(硬件和軟件)。(29)腳8(31)腳——內(nèi)外程序存儲器選擇控制(ExternalAccessEnable)
=0,只用外部ROM(8031)=1,使用內(nèi)ROM,超出內(nèi)部范圍(4K)之后將自動使用外ROM
。2.2AT89S51單片機的引腳與功能
(30)腳-
ALE(AddressLatchEnable/programming),——低八位地址鎖存輸出腳/編程脈沖輸入端(固化程序)
不訪問外存儲信號ALE上以振蕩頻率的1/6固定輸出正脈沖,可作為外部定時或時鐘使用。其上的下降沿,將使外接鎖存器產(chǎn)生鎖存功能。9(4)第四部分四個并行I/O口2.2AT89S51單片機的引腳與功能P0P1P2P3P0、P1、P2、P3總共32腳總線P0—數(shù)據(jù)總線(DBUS)/低8位地址總線分時復用P2—高8位地址總線P3—第二功能(復用)其余通用I/O口P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于對片內(nèi)Flash存儲器串行編程和校驗,它們分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。102.2AT89S51單片機的引腳與功能112.2AT89S51單片機的引腳與功能總結(jié):外ROM占用單片機的三個控制腳外RAM借用P3.6/WRP3.7/RD做寫讀信號輸出腳邏輯符號vccvss晶振P1P3P0DBUS/ABUS分時復用P2ABUS高8位控制總線占用4個管腳.借用另外兩個共6控制總線(16地址線、8數(shù)據(jù)線)12總線數(shù)據(jù)存儲器程序存儲器特殊功能寄存器
I/O口
I/O口運算器控制器2.3AT89S51的CPU13中央處理器(CPU)
CPU由運算器和控制器組成,它是單片機的核心,完成運算和控制操作。
2.3AT89S51的CPU
一.
運算器運算器:運算器的核心是ALU
另外三個:ACC.B.PSW功能:1.ALU可完成+-*/—四則與、或、非、異或—邏輯其他:加1、減1、比較、移位142.3AT89S51的CPUALU有兩入兩出:兩入一路輸入來自ACC一路來自DBUS兩出運算結(jié)果一定在ACC中ACC中運算結(jié)果的四個標志狀態(tài)送PSW2.程序狀態(tài)字寄存器PSW(ProgramStatusWord)8位SFR復位時自動清0含四個狀態(tài)標志位(硬件FLAG)字節(jié)地址0D0H位地址0D0H—0D7H點操作法名稱:PSW.0-PSW.715CY(PSW.7)進位/借位標志位??蓪憺镃。若ACC在運算過程中發(fā)生了進位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作?!茿CC隱含的第九位
AC(PSW.6)半進位/借位標志位。若ACC在運算過程中,D3位向D4位發(fā)生了進位或借位,則CY=1,否則=0。機器在執(zhí)行“DAA”指令時自動要判斷這一位,我們可以暫時不關(guān)心它。F0(PSW.5)——用戶標志位。供用戶自定義的標志(軟件清0置1)例:外設(shè)電機是否轉(zhuǎn)否的標志2.3AT89S51的CPU162.3AT89S51的CPURS1(PSW.4)、RS0(PSW.3)工作寄存器組選擇位由程序設(shè)定—表2—2復位后自動指向0區(qū)172.3AT89S51的CPU
OV(PSW.2)溢出標志位。
OV=1時特指累加器在進行帶符號數(shù)(-128—+127)運算時出錯(超出范圍);OV=0時未出錯。PSW.1未定義,52為F1用戶標志位。
P(PSW.0)奇偶標志位。
P=1表示累加器ACC中“1”的個數(shù)為奇數(shù)
P=0表示累加器ACC中“1”的個數(shù)為偶數(shù)
CPU隨時監(jiān)視著ACC中的“1”的個數(shù),并反映在PSW中總之—PSW是SFR設(shè)定單片機狀態(tài)反應單片機狀態(tài)182.3AT89S51的CPU3.累加器ACC—ACCUMULATOR地址0E0H特點①所有運算都是通過ACC(輸入碼、輸出結(jié)果碼)②它雖然是8位寄存器,但運算時隱含第九位CYCY=1表示有進借位
CY=0表示無進借位③數(shù)據(jù)中轉(zhuǎn)④大部分指令要用到ACC,它是最忙碌的寄存器—瓶頸,不允許長期占用192.3AT89S51的CPU4.輔助累加器B—地址0F0H不可位尋址乘法時輔助ACC做運算*/用之其他時間,B可以做普通寄存器或一個RAM使用5.布爾處理器Cy實現(xiàn)各種位邏輯運算和傳送;AT89S51具有一個位尋址空間。
6.TMP1和TMP2為8位暫存寄存器存放參與預算的操作數(shù)。AT89S51僅能實現(xiàn)兩個8位二進制數(shù)的算術(shù)邏輯運算!
20
2.控制器組成:
定時與控制部件,復位電路,程序計數(shù)器(PC),指令寄存器、指令譯碼器,數(shù)據(jù)指針(DPTR),堆棧指針(SP)等作用:產(chǎn)生計算機所需的時序,控制程序自動執(zhí)行。其本能:從ROM連續(xù)、自動、依次取指執(zhí)行CPU程序存儲器指令寄存器外RAM,EPROM,外I/O指令譯碼器控制單片機各部分的運行,產(chǎn)生ALE,PSEN,RD/WR2.3AT89S51的CPU21程序計數(shù)器PC(16位) 程序計數(shù)器PC用來存放即要執(zhí)行的指令地址,即PC的內(nèi)容就是下一條指令所在ROM地址單元,共16位,低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。
CPU每取一次機器碼,PC內(nèi)容自動加一,CPU執(zhí)行一條指令,PC內(nèi)容自動增加該指令的長度。CPU復位后,PC內(nèi)容為0000H,它標志著程序從頭開始執(zhí)行。
PC的內(nèi)容變化決定程序的流向。指令寄存器(8位) 指令寄存器中存放將要執(zhí)行的指令代碼,通過指令譯碼器,將指令代碼轉(zhuǎn)化為電信號——控制信號ALE等。2.3AT89S51的CPU22數(shù)據(jù)指針DPTR(16位) 用于訪問外部RAM或外部I/O口,提供十六位地址。用于程序存儲器的查表和程序散轉(zhuǎn)指令,作為基地址寄存器,提供十六位基地址。堆棧指針寄存器SP(8位)用于管理堆棧,指出棧頂位置。
AT89S51單片機復位后,(SP)=07H
2.3AT89S51的CPU232.4AT89S51存儲器的結(jié)構(gòu)51單片機有四個尋址空間1.重要性※除NOP外全部指令都是針對存儲器/寄存器的①對于8個寄存器的操作,就是對單片機狀態(tài)的設(shè)定②所有外設(shè)都視為外RAM地址故對外RAM的操作,就是對各種設(shè)備的操作。③對單片機沒有專用輸入—輸出指令,對四個特殊功能寄存器的操作,就是引腳的操作※因此必須會※編程用一、綜述
242.4AT89S51存儲器的結(jié)構(gòu)2.(Intel)存儲器采用了哈佛結(jié)構(gòu)(四空間)
普林斯頓結(jié)構(gòu)四個空間統(tǒng)一編址(簡化操作)二.有四個地址互相獨立的存儲空間(尋址空間)內(nèi)二外二
1.256字節(jié)內(nèi)RAM
地址范圍00H—7FH共128B做RAM00H—FFH共128B做SFR2.64K字節(jié)外RAM地址0000H—0FFFFH3.4K字節(jié)內(nèi)FlashROM
地址0000H—0FFFH(12位)
4.64K字節(jié)外ROM地址0000H—0FFFFH(16位)對于用戶內(nèi)外ROM是統(tǒng)一編址。重疊性252.4AT89S51存儲器的結(jié)構(gòu)三.區(qū)別四空間地址的三種方法1.用/EA區(qū)別內(nèi)外ROM/EA=0時(接地),CPU從外ROM取指執(zhí)行(內(nèi)ROM)不用/EA=1時(接+5V),CPU從內(nèi)ROM取指執(zhí)行,但當?shù)刂?gt;4KB時,轉(zhuǎn)而從外ROM取指執(zhí)行(前4K浪費掉)2.三種不同指令,使CPU分別指向(訪問)四個不同的地址空間之一①CPU—內(nèi)RAM使用MOV指令:使用8位地址碼;該指令不產(chǎn)生外部讀寫信號②CPU—外RAM使用MOVX指令;一般使用16位地址碼該指令產(chǎn)生讀/寫信號之一
P3.6/WR—寫外RAMP3.7/RD—讀外RAM262.4AT89S51存儲器的結(jié)構(gòu)③CPU—讀內(nèi)、外ROM,使用MOVC指令:16位地址讀外ROM時,產(chǎn)生讀信號/PSEN29腳讀內(nèi)ROM時,不產(chǎn)生讀寫信號※總之,三種不同的指令可能產(chǎn)生三種不同的讀寫信號輸出單片機P3.6/WRP3.7/RDPSEN6264WEOE2764OE外RAM外ROM負脈沖有效※自動MOV—不產(chǎn)生MOVX—產(chǎn)生之一WR/RDMOVC—產(chǎn)生PSEN
不產(chǎn)生272.4AT89S51存儲器的結(jié)構(gòu)3.內(nèi)部均使用8位地址碼外部一般使用16位地址碼總結(jié)四空間應用—必須在指令中相互區(qū)別開以下是四空間規(guī)定四、內(nèi)部RAM空間共256字節(jié)內(nèi)RAM的特點①可讀可寫②掉電丟失③可選定單片機狀態(tài)④使用8位地址碼,比外RAM取指快※結(jié)論:優(yōu)先使用內(nèi)RAM282.4AT89S51存儲器的結(jié)構(gòu)內(nèi)RAM分五部分高128字節(jié)—SFR低128字節(jié)—堆棧區(qū)(中斷專用區(qū))數(shù)據(jù)緩沖區(qū)(普通RAM)位尋址區(qū)(為選作用)工作寄存器區(qū)(中轉(zhuǎn)專用)29高128字節(jié)有21個SFR共占用21字節(jié)其余無定義堆棧區(qū)數(shù)據(jù)緩沖區(qū)位尋址區(qū)16字節(jié)共128位字節(jié)地址20—2FH位地址00—7FH工作寄存器區(qū)32字節(jié)分四組1FH00H2FH20HSP30H7FHSP+10FFH80FH每單元都是8位地址碼其內(nèi)容都是8位的※復雜性必會!!2.4AT89S51存儲器的結(jié)構(gòu)302.4AT89S51存儲器的結(jié)構(gòu)(1)低128B內(nèi)RAM的四部分1.工作寄存器區(qū)—共32字節(jié)分四個工作寄存器組
※對常數(shù)(和地址)進行中間存儲和中轉(zhuǎn)的寄存器①特點:子程序完成后,分別騰空,給其他程序使用②(32字節(jié))分四個工作寄存器組0、1、2、3組每組都有相同的8個字節(jié)(R0-R7)③規(guī)定:只能按組使用:當前只能使用一組,其他暫不使用※有PSW4和PSW3兩位規(guī)定當前使用組
RS1RS0組RS1、RS0軟件設(shè)定值
000011102113※軟件改變兩位碼,就選擇了不同當前值※復位后(PSW)=00,則自動指向0組④R0、R1可做內(nèi)地址指針—間址寄存器312.4AT89S51存儲器的結(jié)構(gòu)2.位尋址區(qū)共16字節(jié)地址20H—2FH共16*8=128位對兩個位尋址區(qū)內(nèi)的各位可直接進行位操作有幾條內(nèi)部位操作指令例:SETBC;置位CY=1CLRC;清CY位
SETB01H;置位20H.1位這些指令使用8位地址其他指令只能只用字節(jié)地址128位的位地址和字節(jié)地址另一個位尋址區(qū)在SFR中位操作好處比字節(jié)指令快直觀便于記憶長做標志位使用32PSW.4(RS1)PSW.3(RS0)寄存器區(qū)R0R1R2R3R4R5R6R700BANK000H01H02H03H04H05H06H07H01BANK108H09H0AH0BH0CH0DH0EH0FH10BANK210H11H12H13H14H15H16H17H11BANK318H19H1AH1BH1CH1DH1EH1FH2.4AT89S51存儲器的結(jié)構(gòu)33單元地址
D7D6D5D4D3D2D1D02C67666564636261602B5F5E5D5C5B5A59582A5756555453525150294F4E4D4C4B4A4948284746454443424140273F3E3D3C3B3A3938263736353433323130252F2E2D2C2B2A2928242726252423222120231F1E1D1C1B1A1918221716151413121110210F0E0D0C0B0A09082D6F6E6D6C6B6A69682007060504030201002E77767574737271702F7F7E7D7C7B7A7978內(nèi)部RAM中20~2FH的位地址映射2.4AT89S51存儲器的結(jié)構(gòu)342.4AT89S51存儲器的結(jié)構(gòu)3.堆棧區(qū):占據(jù)低128位字節(jié)RAM區(qū)中最高若干字節(jié)其范圍與SFRSP有關(guān)(SP)初+1---7FH堆棧的概念:發(fā)生程序中斷時,專用有存儲斷點地址和斷點數(shù)據(jù)的專用RAM解釋中斷程序地址斷點中斷服務(wù)子程序ROMPC中子內(nèi)RAM堆棧00H△△怎么返回?斷點地址自動(入棧出棧)352.4AT89S51存儲器的結(jié)構(gòu)b)堆棧的兩任務(wù)發(fā)生中斷時兩種保護入棧保護斷點-----斷點地址自動入棧(從PC壓入堆棧)保護現(xiàn)場-----斷點重要數(shù)據(jù)人工入棧(PUSH)恢復現(xiàn)場-----被保護數(shù)據(jù)人工出棧(POP)恢復斷點-----斷點地址自動出棧(入PC)△很明顯中斷時(中斷服務(wù)子程序的最后)362.4AT89S51存儲器的結(jié)構(gòu)c)堆棧空間深度(范圍)的設(shè)定△(SP)=07H復位值初值則表示08H—7FH均為堆??臻g,禁止他用!△故:主程序初始化中必須依程序員經(jīng)驗設(shè)置棧底
MOVSP,#5FH;則表示60H-7FH為堆棧△60H為棧底,禁止他用△(深度要留有余地)d)使用堆棧時,應遵循兩個原則第一原則是入棧原則:后入棧的程序依次向上排列稱之為“向上生長”原則△即每入棧一個數(shù)據(jù),SP的內(nèi)容先增1,再數(shù)據(jù)入棧?!鳎樱锌偸侵赶驐m?shù)淖钚乱粋€數(shù)據(jù)372.4AT89S51存儲器的結(jié)構(gòu)第二個原則是出棧原則-----“先入后出”原則△原理:每出棧一個數(shù)據(jù)后,SP內(nèi)容自動減1,指向棧頂△原則△總之:按此順序排列、自動排列、依次排列先入棧的數(shù)據(jù)---后出棧后入棧的數(shù)據(jù)---先出棧最先入棧的數(shù)據(jù)--最后出棧最后入棧的數(shù)據(jù)--最先出棧e)總結(jié)SP:字節(jié)地址81H不可位尋址△SP有自動增減1功能△SP初值決定了棧底為(SP)初+1(決定空間)382.4AT89S51存儲器的結(jié)構(gòu)△SP指示(最新入棧數(shù)據(jù))指向棧頂每入棧一個數(shù)據(jù)SP先自動增1△故SP內(nèi)容是8位地址碼每出棧一個數(shù)據(jù)SP先自動減1指針作用!f)總結(jié)堆棧-為中斷所設(shè)的專用RAM區(qū)(禁止他用)遵循兩原則入棧時--向上生長出棧時--先進后出與SP有關(guān)4.數(shù)據(jù)緩沖區(qū)(第四區(qū)):地址范圍30H-(SP)初△此區(qū)間才是提供給用戶按字節(jié)存儲的RAM區(qū)△不用的工作寄存器組、位尋址字節(jié),也可以做用戶RAM區(qū)。低128字節(jié)總結(jié):△真正用戶按字節(jié)存儲區(qū)僅為30H-(SP)初△低128字節(jié)有特定安排工作寄存器區(qū)位尋址區(qū)△堆棧是中斷專用區(qū)SP設(shè)定空間范圍不得他用!兩個原則392.4AT89S51存儲器的結(jié)構(gòu)(二)內(nèi)RAM的高128字節(jié)應用--SFR區(qū)設(shè)置功能1.△其中散布有26個SFR共占26字節(jié)(4個16位寄存器)DPTR0DPTR1T0T1其余102個字節(jié)不得訪問其中四個I/O寄存器P0-P3對應四個I/O口其中11個可以位尋址SFR的字節(jié)地址位地址位名稱例:對字節(jié)SP來說可表示為對位來說位累加器可表示為寄存器符號SP地址081H位名稱CY位地址0D7H點操作位PSW.7402.4AT89S51存儲器的結(jié)構(gòu)2.△第二個“位尋址區(qū)”表2-6(P28)SFR中共11字節(jié)可以位尋址,其中六位無定義IE(2)IP(3)PSW(1)故第二個位尋址區(qū)共82位可位尋址△第一區(qū)16字節(jié)128位兩區(qū)共:27字節(jié)210位!其余無位地址位名稱3.11個SFR可以設(shè)定或反映單片機狀PSW
IEIPSCONTMODTCONPCONSPAUXR1AUXR2
WDTRST4.△P25表2-426個SFR的復位值a)二個不定一個SBUF和一個WDTRSTb)四個全一(0FFH)P0P1P2P3c)一個07HSPd)其余全為04142特殊功能寄存器位地址字節(jié)地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIP———BCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFH——ACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6SFR中的位地址分布422.4AT89S51存儲器的結(jié)構(gòu)5.SFR①ACC②B③PSW④SP⑤DPTR0-DPTR1-外部數(shù)據(jù)指針16位SFR△專門存放16位地址--數(shù)據(jù)指針△P0P1P2P3(80H90HA0HB0H)-可位尋址四個SFR對應四個I/O鎖存器(各八位),對應四個口△單片機沒有專用的I/O指令,對各I/O寄存器的操作,就是對管腳的操作。6.總結(jié)△共有6個指針DPTR0DPTR1-外部數(shù)據(jù)指針他們的內(nèi)容都R0R1--內(nèi)部數(shù)據(jù)指針是地址SP-----棧指針PCPC不是SFR只有一條指令中有PC另有十余條指令間接影響PC(中斷調(diào)用,跳轉(zhuǎn))432.4AT89S51存儲器的結(jié)構(gòu)五.外部RAM1.空間:尋址范圍64K字節(jié),每單元8位(根據(jù)需要擴展)地址0000--0FFFFH2.電路連接:外RAM一般指RAM芯片6264622568KB32KB芯片有8個數(shù)據(jù)I/O腳D0----D7連于DBUS13----16個地址腳A0----A15連于ABUS△外RAM必須接在外部三總線上(電路連接正確才能使用MOVX)3.兩用途:①存放用戶數(shù)據(jù)②除ROM以外的所有外設(shè)都視為外RAM,與外RAM芯片統(tǒng)一編址(共同占用空間)4.使用MOVX指令訪問外RAM空間同時自動在P3.6/WR⑩腳或P3.7/RD⒄腳產(chǎn)生一個讀寫信號,表示CPU讀或?qū)懛较?42.4AT89S51存儲器的結(jié)構(gòu)5.與內(nèi)RAM相同點:每字節(jié)內(nèi)容都是8位掉點丟失可讀可寫不同點:內(nèi)RAM8位地址;外RAM一般用16位內(nèi)RAM讀/寫速度快,優(yōu)先用內(nèi)RAM,內(nèi)RAM不夠用才用外RAM
內(nèi)RAM有特殊規(guī)定,外RAM無特殊規(guī)定
六.外ROM共64K地址范圍0000H-0FFFFH根據(jù)需要擴展1.特點:一次性寫入程序,掉電不丟失只讀不寫必須用16位地址2.用途:①存放用戶程序②存放常數(shù)表-常數(shù)必須放在ROM中3.電路連接ROM指ROM芯片(其數(shù)據(jù)I/O腳和地址腳均掛在總線上)452.4AT89S51存儲器的結(jié)構(gòu)4.使用:①從ROM中依PC內(nèi)容自動取指執(zhí)行,是CPU的本能②從ROM中查詢常數(shù)表時,使用MOVC指令該指令將產(chǎn)生一個讀ROM的脈沖單片機:/PSEN,從29腳輸出△MOVC又稱為查表指令5.外ROM的最低48字節(jié)有特殊安排一個復位入口五個中斷入口①復位入口地址0000H占三字節(jié)見P26表2-2保留字節(jié)0000--0002H△因為上電復位后,(PC)=0000H故復位后CPU從首地址0000H單元開始執(zhí)行指令。△講P26表2—3中斷矢量地址表△0003H單元開始有中斷入口故復位入口一定要安排跳轉(zhuǎn)指令(LJMP0030H)跳到轉(zhuǎn)移指令指定的ROM空間去執(zhí)行(跳到0030H)單元,從此處為正式用戶程序。462.4AT89S51存儲器的結(jié)構(gòu)4.使用:①從ROM中依PC內(nèi)容自動取指執(zhí)行,是CPU的本能②從ROM中查詢常數(shù)表時,使用MOVC指令該指令將產(chǎn)生一個讀ROM的脈沖單片機:/PSEN,從29腳輸出△MOVC又稱為查表指令5.外ROM的最低48字節(jié)有特殊安排一個復位入口五個中斷入口①復位入口地址0000H占三字節(jié)保留字節(jié)0000-0002H△因為上電復位后,(PC)=0000H故復位后CPU從首地址0000H單元開始執(zhí)行指令?!?003H單元開始有中斷入口故復位入口一定要安排跳轉(zhuǎn)指令(LJMP0030H)跳到轉(zhuǎn)移指令指定的ROM空間去執(zhí)行(跳到0030H單元),從此處為正式用戶程序。472.4AT89S51存儲器的結(jié)構(gòu)△中斷入口地址:五個中斷源中,其一個中斷申請被響應時,形成斷點,然后轉(zhuǎn)入中斷服務(wù)子程序。---其首地址任意開始?!魅绾握业?--PC應用
PC內(nèi)容分兩字節(jié)自動入棧-------保護斷點相應中斷入口地址自動入棧------轉(zhuǎn)子程序每個入口地址僅有8個字節(jié),不夠中斷服務(wù)子程序使用,所以使用的中斷入口寫入一條跳轉(zhuǎn)指令,跳到相應中斷服務(wù)子程序的首地址。五個中斷入口占據(jù)ROM空間0003H---002BH482.4AT89S51存儲器的結(jié)構(gòu)?例:使用外/INT1:規(guī)定單片機13腳/INT1/P3.3上來的負脈沖引起/INT1外部中斷則指令(在ROM中)
0013H:LJMP3205H;三字節(jié)指令主程序從0030H,中斷服務(wù)子程序首地址為3205H△總之,ROM的低48字節(jié)有一個復位入口,五個中斷入口。一般在入口內(nèi)安排一條跳轉(zhuǎn)指令,以便自動轉(zhuǎn)到用戶主程序,或者轉(zhuǎn)到相應中斷服務(wù)子程序的首地址。③用/EA接入的電平不同,選擇不同的內(nèi)外ROM空間當/EA=0時只用外ROM8031必須/EA=0當/EA=1時,ROM地址小于4KB時,只用內(nèi)ROM大于4KB時,自動轉(zhuǎn)入外ROM外ROM的0-4KB空間不用492.4AT89S51存儲器的結(jié)構(gòu)七.內(nèi)ROM(8031無)△專用于存儲程序和常數(shù)表內(nèi)ROM(不足時,擴展外ROM(芯片△地址范圍(4KB)0000H--0FFFFH,用16位地址碼△低48字節(jié)有特殊安排(同外ROM)總結(jié)五個空間(含位尋址區(qū))△空間相互獨立,但地址重疊。(三種方法區(qū)分之)△低48字節(jié)有特殊安排內(nèi)RAM(工作寄存器區(qū),位尋址區(qū))內(nèi)、外ROM(一個復位入口,五個中斷入口)△內(nèi)RAM重要應用SFR區(qū)堆棧區(qū)△兩個位尋址區(qū),用位操作指令。502.4AT89S51存儲器的結(jié)構(gòu)邏輯上3個、物理上4個51
2.5AT89S51的并行I/O口
一.并口---8位二進制碼從8個管腳同時輸入或輸出△串口----8位二進制碼從一個管腳依次輸入或輸出△單片機四個并口P0—P3對應四個SFRP0—P3
地址:80H、90H、A0H、B0H。二.并口應用原則1.四個口都是雙向I/O口即32個腳既可以作輸入腳又可以作輸出腳一個口允許一部分管腳作輸入腳,另一部分作輸出腳2.對P0—P3SFR的操作就是對四個I/O口的操作(讀寫管腳應該讀寫相應寄存器)3.每個管腳的輸出信號可被相應的SFRP0—P3鎖存,直到軟件改變它為止△但管腳輸入信號都不被鎖存4.四個口都可以位尋址P0—P3(共32位)5.四個口復位值為0FFH
每個管腳輸出電流不大于1mA(工作時0.5mA好)52
三.三個I/O口有兩種功能由于管腳數(shù)量的限制,三個I/O口都有兩種功能第一功能:做通用I/O口,即有用戶定義輸入輸出,任意接外設(shè)第二功能:做專用I/O口,即由INTEL可指定用法三口第二功能:
P0口—低8位地址總線(ABUS)/數(shù)據(jù)DBUS輸出口△使用MOVC、MOVX指令時(對外操作)自動從P0口先輸出低8位地址碼,然后輸出/入數(shù)據(jù)碼△用作外部總線接口的分時復用P2口—高8位ABUS輸出P3口—8個腳各有定義P1—無第二功能,只有一種功能(第一功能)2.5AT89S51的并行I/O口
53四總結(jié)51單片機外部總線的引出外部ABUS:P2、P0口共16位ABUS外部DBUS:P0口8位數(shù)據(jù)總線P0口分時復用外部CBUS:六個引腳外引ALE—30低8位ABUS鎖存信號輸出腳EA—31內(nèi)、外ROM選擇引腳RST—9復位腳三個讀寫信號/PSEN—29外ROM的讀信號P3.6/WR—16外RAM寫信號P3.7/RD—17外RAM讀信號三種不同指令可自動產(chǎn)生三種不同的讀寫信號2.5AT89S51的并行I/O口
54五.外部總線應用△除ROM外,所有外設(shè)都視為RAM芯片△所有外設(shè)都有(10—16位)地址引腳和8位數(shù)據(jù)I/O腳△這些腳分別接到三總線上,供MOVC、MOVX指令讀寫2.5AT89S51的并行I/O口
55(一)P0.0~P0.7:雙向I/O
(內(nèi)置場效應管上拉)
訪問外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。引腳P0.X21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制34Vcc六、單片機I/O的工作原理2.5AT89S51的并行I/O口
5621DQCK/Q讀引腳=1讀鎖存器=0寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸入口(事先必須對它寫“1”)00100截止截止=0Vcc(1)P0.0~P0.7做輸入口,事先必須先寫1,然后再讀引腳的狀態(tài)。(△當FET2導通,輸入的高電平拉成低電平從而產(chǎn)生誤讀。)六、單片機I/O的工作原理2.5AT89S51的并行I/O口
5721DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸出口(外接上拉電阻)00100截止截止=0Vcc
(2)P0.0~P0.7作為輸出口,引腳應外接上拉電阻。(原因:漏極開路,外接上拉電阻才能夠輸出高電平)六、單片機I/O的工作原理VccR(外接)輸出=12.5AT89S51的并行I/O口
5821DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復用口:(1)輸出地址/數(shù)據(jù)=0時1011=0導通截止=0Vcc(3)P0.0~P0.7作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口
【輸出0】六、單片機I/O的工作原理2.5AT89S51的并行I/O口
59(4)P0.0—P0.7作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口【輸出1】21DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復用口:(2)輸出地址/數(shù)據(jù)=1時1100=1截止導通=1地址/數(shù)據(jù)控制=1Vcc六、單片機I/O的工作原理2.5AT89S51的并行I/O口60
(二)P2.0—P2.7:雙向I/O
(內(nèi)置了上拉電阻)
外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X3內(nèi)部上拉電阻Vcc六、單片機I/O的工作原理2.5AT89S51的并行I/O口
61(1)P2.0—P2.7作為8位準雙向I/O口使用【輸出】。21DQCK/Q讀引腳=1讀鎖存器=0寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時,此腳作通用輸出口:輸出=1時110截止3內(nèi)部上拉電阻11Vcc=1=0六、單片機I/O的工作原理2.5AT89S51的并行I/O口
6221DQCK/Q讀引腳=1讀鎖存器=0寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時,先寫1,此腳作通用輸入口10截止3內(nèi)部上拉電阻11Vcc=0六、單片機I/O的工作原理(2)P2.0—P2.7作為8位準雙向I/O口使用【輸入】。2.5AT89S51的并行I/O口
6321DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線地址高8位控制=1引腳P2.X01導通3內(nèi)部上拉電阻0=0=0控制=1時,此腳作高8位地址A8—A15輸出口:當輸出=0時六、單片機I/O的工作原理(3)P2.0—P2.7作為高八位地址總線【輸出地址】。Vcc2.5AT89S51的并行I/O口
64
(三)P3.0—P3.7:雙功能口(內(nèi)置了上拉電阻)
具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入4六、單片機I/O的工作原理2.5AT89S51的并行I/O口
65
(1)P3.0—P3.7作為第二功能【輸出RD/RW/TXD】。21DQCK/Q讀引腳讀鎖存器=0寫鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4第二功能輸出時,內(nèi)部自動D=1111反相器六、單片機I/O的工作原理2.5AT89S51的并行I/O口
6621DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線第二個能輸出此端自動=1引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入(RxD/T0/T1/INT0/INT1)4第二功能輸入時,信號經(jīng)緩沖器4直接進入內(nèi)總線1110截止
(2)P3.0—P3.7作為第二功能【輸入RXD/T0/INT0】。六、單片機I/O的工作原理2.5AT89S51的并行I/O口
67
(3)P3.0—P3.7作為通用I/O口【輸入】。六、單片機I/O的工作原理21DQCK/Q讀引腳=1讀鎖存器=0寫鎖存器內(nèi)部總線引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入4先寫1,再讀引腳1110截止第二個能輸出此端自動=12.5AT89S51的并行I/O口
68
(4)P3.0—P3.7作為通用I/O口【輸出】。六、單片機I/O的工作原理21DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入4輸出1的操作1110截止1第二個能輸出此端自動=1輸出12.5AT89S51的并行I/O口
69
(四)
P1.0—P1.7:準雙向I/O口(內(nèi)置了上拉電阻)21DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻六、單片機I/O的工作原理2.5AT89S51的并行I/O口
70
(1)P1.0—P1.7作為輸出口【輸出1】21DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸出數(shù)據(jù)=1時110截止=1六、單片機I/O的工作原理2.5AT89S51的并行I/O口
7121DQCK/Q讀引腳=0讀鎖存器=0寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸出數(shù)據(jù)=0時001=0導通
(2)P1.0—P1.7作為輸出口【輸出0】六、單片機I/O的工作原理2.5AT89S51的并行I/O口
7221DQCK/Q讀引腳=1讀鎖存器=0寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸入數(shù)據(jù)時,要先對其寫“1”110截止
(3)P1.0—P1.7作為輸入口六、單片機I/O的工作原理2.5AT89S51的并行I/O口
7321DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻
(五)讀單片機I/O口寄存器(以P1口為例)六、單片機I/O的工作原理=12.5AT89S51的并行I/O口
74(1)驅(qū)動能力:
P0:雙向,8個TTLP1、P2和P3:準雙向,4個TTL
(2)作為輸入口使用,必須先寫1,再讀引腳狀態(tài)。 (3)由于P0口為內(nèi)置場效應管上拉,作為輸出口時,上拉的場效應截止,輸出引腳與電源Vcc之間呈現(xiàn)開路狀態(tài),因此,為了保證輸出口能夠輸出標準的高低電平,其輸出引腳應上拉電阻。七、單片機I/O的使用2.5AT89S51的并行I/O口
752.5AT89S51的并行I/O口
任何一個口要想獲得較大的驅(qū)動能力,只能用低電平輸出。例如,使用單片機的并行口P1~P3直接驅(qū)動發(fā)光二極管,電路如圖2-12。由于P1~P3內(nèi)部有30kΩ左右的上拉電阻。如高電平輸出,則強行從P1、P2和P3口輸出的電流Id會造成單片機端口的損壞,如圖2-12(a)所示。如端口引腳為低電平,能使電流Id
從單片機外部流入內(nèi)部,則將大大增加流過的電流值,如圖2-12(b)所示。所以,當P1~P3口驅(qū)動LED發(fā)光二極管時,應該采用低電平驅(qū)動。762.5AT89S51的并行I/O口
(a)不恰當?shù)倪B接:高電平驅(qū)動(b)恰當?shù)倪B接:低電平驅(qū)動圖2-12
發(fā)光二極管與AT89S51并行口的直接連接772.6AT89S51單片機的時鐘電路與時序一.概念1.時鐘(CLOCK)——直接輸入到CPU的主頻方波。(脈沖)△是“單片機系統(tǒng)”各電路有序工作的源頻率信號?!?1單片機的時鐘主頻為(1.2M—12MHz)0—24MHz33M2.時序——單片機系統(tǒng)要按照時鐘脈沖所規(guī)定的節(jié)拍和時間順序同步的運行,這些同步節(jié)拍和時間順序統(tǒng)稱時序。3.四個周期主頻要經(jīng)過分頻,產(chǎn)生某些低頻多節(jié)拍翻轉(zhuǎn)脈沖①時鐘周期(CP)——主頻方波的一個周期。(時間)△是晶振電路輸出方波的一個周期△是節(jié)拍的最小單位②狀態(tài)周期(S)——連續(xù)兩個CP持續(xù)時間
782.6AT89S51單片機的時鐘電路與時序③機器周期---六個連續(xù)的狀態(tài)周期(S)=12CP【T=12/fosc】
概念:機器周期是執(zhí)行一條指令的時間單位△51單片機111條指令中單周期指令64
雙周期指令45
四周期指令2
時鐘周期1/12us△設(shè)晶振為12MHZ則狀態(tài)周期2*1/12=1/6us
機器周期6*1/6=12*1/12=1us④指令周期——執(zhí)行完一條指令所用的時間(用1,2,4機器周期表示)平均1.5us執(zhí)行一條指令,每秒執(zhí)行約70萬條指令二.時鐘的引入(兩種方法)792.6AT89S51單片機的時鐘電路與時序(一)內(nèi)部時鐘方式(使用片內(nèi)振蕩器)原理:借助于單片機內(nèi)部電路(反相放大器)外接晶體振蕩器和微調(diào)電容構(gòu)成自激振蕩器,提供時鐘信號。
OSC:1.2M~12MHzC1、C2:5~30pF80XTAL1XTAL2外部振蕩源8051VCCR(2)外部方式使用外部另一電路引來的5V方波做單片機的時鐘電路(直接使用外部振蕩脈沖信號。外部振蕩脈沖信號為滿足一定的幅寬的方波,頻率不大于12MHz。)2.6AT89S51單片機的時鐘電路與時序XTAL1,19IN腳接地,內(nèi)部振蕩器停振18OUT腳外接時鐘信號,引入單片機內(nèi)部,同時接一個上拉電阻(4.7—10K)△應用:兩個或多個單片機同步工作HMOSCHMOS812.6AT89S51單片機的時鐘電路與時序
執(zhí)行任何一條指令時,都可以分為取指階段和指令執(zhí)行階段
取指階段:PC中的地址送到程序存儲器,并從中取出需要執(zhí)行指令的操作碼和操作數(shù)指令執(zhí)行階段:對指令操作碼進行譯碼,以產(chǎn)生一系列控制信號,完成指令的執(zhí)行
ALE信號是為地址所存而定義的,以時鐘脈沖1/6的頻率出現(xiàn)在一個機器周期內(nèi)。ALE信號兩次有效
注意:在執(zhí)行訪問外RAM的指令MOVX時,將會丟失一個ALE脈沖822.7AT89S51單片機的復
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度長沙新環(huán)境房屋租賃與節(jié)能改造合同
- 2025年度辦公室助理實習生實習期間權(quán)益保護合同
- 家具買賣合同
- 農(nóng)業(yè)生產(chǎn)質(zhì)量管理體系建設(shè)作業(yè)指導書
- 房屋買賣合同委托書
- 合伙人合作協(xié)議合同
- 企業(yè)危機管理作業(yè)指導書
- 第三方代付款協(xié)議書
- 三農(nóng)村環(huán)境保護與管理方案
- 建筑垃圾買賣合同
- 項目部、公司成本管理流程圖
- CCAA 基于風險的認證合規(guī)管理-認證檔案質(zhì)量管理的風險控制
- 高中英語選擇性必修二 Unit 1 Period 1 Reading and thinking(課件)(共38張)
- 小學生電子小報通用模板-A4電子小報15
- CAS云計算軟件平臺深入介紹
- 課堂教學方法與手段(課堂PPT)課件(PPT 16頁)
- 固定資產(chǎn)投資統(tǒng)計培訓PPT課件
- 一年級上冊必背古詩
- 氯鹽型和環(huán)保型融雪劑發(fā)展現(xiàn)狀
- 平頂山第四屆名師名班主任名校長培養(yǎng)方案
- 蒸壓加氣混凝土砌塊作業(yè)指導書(共14頁)
評論
0/150
提交評論