




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第2章 AT89S51單片機 硬件結構2 第第2章章 目錄目錄2.1 AT89S51單片機的硬件組成單片機的硬件組成2.2 AT89S51的引腳功能的引腳功能 2.2.1 電源及時鐘引腳 2.2.2 控制引腳 2.2.3 并行I/O口引腳2.3 AT89S51的的CPU 2.3.1 運算器 2.3.2 控制器 2.4 AT89S51存儲器的結構存儲器的結構 2.4.1 程序存儲器空間3 2.4.2 數據存儲器空間 2.4.3 特殊功能寄存器(SFR) 2.4.4 位地址空間2.5 AT89S51的并行的并行I/O端口端口 2.5.1 P0口 2.5.2 P1口 2.5.3 P2口 2.5.4
2、 P3口 2.5.5 P1P3口驅動LED發光二極管42.6 時鐘電路與時序時鐘電路與時序 2.6.1 時鐘電路設計 2.6.2 機器周期、指令周期與指令時序2.7 復位操作和復位電路復位操作和復位電路 2.7.1 復位操作 2.7.2 復位電路設計2.8 低功耗節電模式低功耗節電模式 2.8.1 空閑模式 2.8.2 掉電運行模式 2.8.3 掉電和空閑模式下的WDT5nAT89S51AT89S51的片內硬件基本結構、引腳功能、存儲器結構、的片內硬件基本結構、引腳功能、存儲器結構、特殊功能寄存器功能、特殊功能寄存器功能、4 4個并行個并行I/OI/O口的結構和特點,口的結構和特點,n復位電路
3、和時鐘電路的設計復位電路和時鐘電路的設計, ,節電工作模式。節電工作模式。目的:目的:本章本章學習學習,為,為AT89S51AT89S51系統的應用系統的應用設計設計打下基礎。打下基礎。在原理和結構上,單片機把微機的許多概念、技術與特點都在原理和結構上,單片機把微機的許多概念、技術與特點都繼承下來。用學習微機的思路來學習單片機。繼承下來。用學習微機的思路來學習單片機。內容概要內容概要62.1 AT89S512.1 AT89S51單片機的硬件組成單片機的硬件組成片內硬件組成結構如片內硬件組成結構如圖圖2-12-1所示。把作為控制應用所必需的基所示。把作為控制應用所必需的基本功能部件都集成在一個尺
4、寸有限的集成電路芯片上。本功能部件都集成在一個尺寸有限的集成電路芯片上。有如下有如下功能部件功能部件和和特性特性:(1 1)8 8位微處理器(位微處理器(CPUCPU););(2 2)數據存儲器()數據存儲器(128B RAM128B RAM););(3 3)程序存儲器()程序存儲器(4KB Flash ROM4KB Flash ROM););(4 4)4 4個個8 8位可編程并行位可編程并行I/OI/O口(口(P0P0口、口、P1P1口、口、P2P2口口和和P3P3口);口);(5 5)1 1個全雙工的異步串行口;個全雙工的異步串行口;(6 6)2 2個可編程的個可編程的1616位定時器位定
5、時器/ /計數器;計數器;7圖圖2-12-1 AT89S51AT89S51單片機片內結構單片機片內結構8(7 7)1 1個看門狗定時器;個看門狗定時器;(8 8)中斷系統具有)中斷系統具有5 5個中斷源、個中斷源、5 5個中斷向量;個中斷向量;(9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)2626個;個;(1010)低功耗模式有)低功耗模式有空閑模式空閑模式和和掉電模式掉電模式,且具有掉電模式,且具有掉電模式 下的中斷恢復模式;下的中斷恢復模式;(1111)3 3個程序加密鎖定位個程序加密鎖定位。與AT89C51相比,AT89S51有更突出的優點有更突出的優點:(1)增加在線可編程
6、功能ISPISP(In System Program),字字節節和頁編程頁編程,現場程序調試和修改更加方便靈活;(2)數據指針數據指針增加到兩個兩個,方便了對片外RAM的訪問過程;(3)增加增加了看門狗定時器看門狗定時器,提高了系統的抗干擾能力;(4)增加增加斷電標志;(5)增加掉電狀態下的中斷恢復模式。片內各功能部件通過片內單一總線連接而成(見圖2-1),基本結構依舊是CPU 加上外圍芯片的傳統微機結構。CPU對各種功能部件的控制對各種功能部件的控制是采用特殊功能寄存器特殊功能寄存器(SFR,Special Function Register)的集中控制方式。下面介紹圖2-1中片內各功能部件
7、片內各功能部件。(1 1)CPUCPU(微處理器)(微處理器) 8位的CPU,與通用CPU基本相同,同樣包括了運算器運算器和控制控制器器兩大部分,還有面向控制的位處理功能位處理功能。9(2 2)數據存儲器()數據存儲器(RAMRAM)片內為128B(52子系列為256B),片外最多可擴64KB。片內128B的RAM以高速RAM的形式集成,可加快單片機運行的速度和降低功耗。(3 3)程序存儲器()程序存儲器(Flash ROMFlash ROM)片內集成有4KB4KB的Flash存儲器(AT89S52 則為8KB;AT89C55片內20KB),如片內容量不夠,片外可外擴至64KB。(4 4)中斷
8、系統)中斷系統具有6個中斷源,2級中斷優先權。(5 5)定時器)定時器/ /計數器計數器2個16位定時器/計數器(52子系列有3個),4種工作方式。10(6 6)1 1個看門狗定時器個看門狗定時器WDTWDT當CPU由于干擾使程序陷入死循環或跑飛時,WDT可使程序恢復正常運行。(7 7)串行口)串行口1個全雙工的異步串行口,4種工作方式。可進行串行通信,擴展并行I/O口,還可與多個單片機構成多機系統。(8 8)P0P0口口、P1P1口、口、P2P2口口和和P3P3口口4個8位并行I/O口。(9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)26個,對片內各功能部件管理、控制和監視。是各個
9、功能部件的控制寄存器控制寄存器和狀態寄存器,映射在片內狀態寄存器,映射在片內RAM區80H80HFFHFFH內。11AT89S51完全兼容AT89C51,在充分保留原來軟、硬件條件下,完全可以用AT89S51直接代換。2.2 AT89S512.2 AT89S51的引腳功能的引腳功能先了解引腳,牢記各引腳的功能。AT89S51與51系列中各種型號芯片的引腳互相兼容。目前多采用4040只只引腳引腳雙列直插雙列直插,如圖圖2-22-2所示。引腳按其功能可分為如下3類:(1 1)電源及時鐘引腳)電源及時鐘引腳VCC、VSS;XTAL1、XTAL2。(2 2)控制引腳)控制引腳 、ALE/ 、 / /V
10、PP、RST(RESET)(3 3)I/OI/O口引腳口引腳P0、P1、P2、P3,為4個8位I/O口12EAEAEAPSENPROG2.2.1 2.2.1 電源及時鐘引腳電源及時鐘引腳1 1電源引腳電源引腳(1 1)V VCCCC(4040腳):腳):+5V電源。(2 2)V VSSSS(2020腳):腳):數字地。13圖圖2-2 AT89S51雙列直插封裝方式的引腳2 2時鐘引腳時鐘引腳 (1 1)XTAL1XTAL1(1919腳):腳):片內振蕩器反相放大器和時鐘發生器電路輸入端。用片內振蕩器時,該腳接外部石英晶體和微調電容。外接時鐘源時外接時鐘源時,該腳接外部時鐘振蕩器的信號。(2 2
11、)XTAL2XTAL2(1818腳):腳):片內振蕩器反相放大器的輸出端。當使用片內振蕩器片內振蕩器,該腳連接外部石英晶體和微調電容。當使用外部時鐘源外部時鐘源時,本腳懸空。2.2.2 2.2.2 控制引腳控制引腳(1 1)RST (RESETRST (RESET,9 9腳腳) )復位信號輸入,在引腳加上持續時間大于持續時間大于2 2個機器周期的高電個機器周期的高電平平,可使單片機復位復位。正常工作,此腳電平應 0.5V。1415當看門狗定時器溢出輸出時,該腳將輸出長達當看門狗定時器溢出輸出時,該腳將輸出長達9696個時鐘振蕩個時鐘振蕩周期周期的的高電平高電平。(2 2) /VPP/VPP (
12、Enable Address/Voltage Pulse of (Enable Address/Voltage Pulse of ProgramingPrograming,3131腳腳) ) :引腳引腳第一功能第一功能:外部程序存儲器訪問允許控制端。:外部程序存儲器訪問允許控制端。=1=1,在,在PCPC值不超出值不超出0FFFH0FFFH(即不超出片內(即不超出片內4KB Flash4KB Flash存存儲器的地址范圍)時,單片機讀儲器的地址范圍)時,單片機讀片內程序存儲器片內程序存儲器(4KB4KB)中的程序,但中的程序,但PCPC值超出值超出0FFFH0FFFH (即超出片內(即超出片內
13、4KB Flash4KB Flash地地址范圍)時,將址范圍)時,將自動轉向讀取片外自動轉向讀取片外60KB60KB(1000H-FFFFH1000H-FFFFH)程序存儲器空間中的程序。程序存儲器空間中的程序。EAEAEA =0 =0,只讀取只讀取外部的程序存儲器外部的程序存儲器中的內容,讀取的地中的內容,讀取的地址范圍為址范圍為0000H0000HFFFFHFFFFH,片內的,片內的4KB Flash 4KB Flash 程序存儲器不起程序存儲器不起作用。作用。 V VPPPP:引腳引腳第二功能第二功能,對片內,對片內FlashFlash編程,接編程,接編程電壓編程電壓。(3 3)ALE/
14、 ALE/ (Address Latch Enable/Address Latch Enable/PROGrammingPROGramming,3030腳)腳)ALEALE為為CPUCPU訪問外部程序存儲器或外部數據存儲器提供訪問外部程序存儲器或外部數據存儲器提供地地址鎖存信號址鎖存信號,將,將低低8 8位地址位地址鎖存在片外的地址鎖存器中。鎖存在片外的地址鎖存器中。16EAPROG此外,單片機此外,單片機正常運行正常運行時,時,ALEALE端端一直有正脈沖信號輸出一直有正脈沖信號輸出,此,此頻率為時鐘振蕩器頻率頻率為時鐘振蕩器頻率f foscosc的的1/61/6。可用作外部定時或觸發。可用
15、作外部定時或觸發信號。信號。注意注意,每當,每當AT89S51AT89S51訪問外部訪問外部RAMRAM時(執行時(執行MOVXMOVX類指令),要類指令),要丟失一個丟失一個ALEALE脈沖脈沖。如需要,可將如需要,可將特殊功能寄存器特殊功能寄存器AUXRAUXR(地址為(地址為8EH8EH,將在后面介,將在后面介紹)的紹)的第第0 0位位(ALEALE禁止位)置禁止位)置1 1,來,來禁止禁止ALEALE操作操作,但執行,但執行訪問外部程序存儲器或外部數據存儲器指令訪問外部程序存儲器或外部數據存儲器指令“MOVCMOVC”或或“MOVXMOVX”時,時,ALEALE仍然有效。仍然有效。即即
16、ALEALE禁止位不影響對外部存禁止位不影響對外部存儲器的訪問。儲器的訪問。 :引腳引腳第二功能第二功能,對片內,對片內 FlashFlash編程,為編程,為編程脈沖輸編程脈沖輸入入 腳。腳。17PROG(4 4) (Program Strobe Program Strobe ENableENable,2929腳)腳) 片外程序存儲器讀選通信號,低電平有效。2.2.3 2.2.3 并行并行I/OI/O口引腳口引腳(1 1)P0P0口:口:8 8位,漏極開路的雙向位,漏極開路的雙向I/OI/O口口當外擴存儲器及外擴存儲器及I/OI/O接口芯片時接口芯片時,P0口作為低8位地址總線及數據總線的分時
17、復用分時復用端口。P0口也可用用作通用的作通用的I/OI/O口口,需加上拉電阻,這時為準雙向準雙向口口。作為通用I/O輸入,應先向端口寫入1。可驅動8個LS型TTL負載。(2 2)P1P1口:口:8 8位,準雙向位,準雙向I/OI/O口,具有內部上拉電阻。口,具有內部上拉電阻。準雙向I/O口,作為通用I/O輸入時,應先向端口鎖存器寫1。18PSEN19P1口可驅動4 4個個LSLS型型TTLTTL負載。P1.5/MOSIP1.5/MOSI、P1.6/MISOP1.6/MISO和和P1.7/SCKP1.7/SCK可用于對片內Flash存儲器串行編程和校驗,它們分別是串行數據輸入、輸出和移位脈沖引
18、腳。(3 3)P2P2口:口:8位,準雙向I/O口,具有內部上拉電阻。當AT89S51擴展外部存儲器及I/O口時,P2口作為高高8 8位地址總線位地址總線用,輸出高8位地址。P2P2口口也可作為普通的也可作為普通的I/OI/O口口使用。當作為通用使用。當作為通用I/OI/O輸入時,輸入時, 應先向端口輸出鎖存器寫應先向端口輸出鎖存器寫1 1。P2P2口可驅動口可驅動4 4個個LSLS型型TTLTTL負載負載。(4 4)P3P3口:口:8 8位,位,準雙向準雙向I/OI/O口口,具有內部上拉電阻。,具有內部上拉電阻。可作為可作為通用的通用的I/OI/O口使用口使用。作為。作為通用通用I/OI/O
19、輸入輸入,應先向端,應先向端口輸出鎖存器寫入口輸出鎖存器寫入1 1。可驅動。可驅動4 4個個LSLS型型TTLTTL負載。負載。P3P3口還可提供口還可提供第二功能第二功能。第二功能定義。第二功能定義見見表表2-12-1,應熟,應熟記。記。2021INT0INT1WRRD綜上所述,綜上所述,P0P0口口可可作為總線作為總線口口,為雙向口。作為通用的,為雙向口。作為通用的I/OI/O口使用時,為準雙向口,這時需加上拉電阻。口使用時,為準雙向口,這時需加上拉電阻。P1P1口、口、P2P2口、口、P3P3口口均為準雙向口。均為準雙向口。注意注意:準雙向口與雙向口的差別準雙向口與雙向口的差別。準雙向口
20、僅有兩個狀態。準雙向口僅有兩個狀態。而。而P0P0口作為總線使用,口線內無上拉電阻,處于高阻口作為總線使用,口線內無上拉電阻,處于高阻“懸浮懸浮”態。故態。故P0P0口為雙向三態口為雙向三態I/OI/O口。口。為什么為什么P0P0口要有高阻口要有高阻“懸浮懸浮”態?態?準雙向準雙向I/OI/O口則無高阻的口則無高阻的“懸浮懸浮”狀態。狀態。另外,另外,準雙向口準雙向口作通用作通用I/OI/O的輸入口使用時,的輸入口使用時,一定要向該口一定要向該口先寫入先寫入“1 1”。以上的準雙向口與雙向口的差別,讀者在閱讀以上的準雙向口與雙向口的差別,讀者在閱讀2.52.5節后,將會有深刻的理解。節后,將會
21、有深刻的理解。22至此,至此,4040個個引腳已介紹引腳已介紹完完,應熟記每一引腳功能對應用,應熟記每一引腳功能對應用系統硬件電路設計十分重要。系統硬件電路設計十分重要。2.3 AT89S512.3 AT89S51的的CPUCPU由圖由圖2-12-1可見,可見,CPUCPU由由運算器運算器和和控制器控制器構成。構成。2.3.1 2.3.1 運算器運算器對操作數進行算術、邏輯和位操作運算。主要包括算術對操作數進行算術、邏輯和位操作運算。主要包括算術邏輯運算單元邏輯運算單元ALUALU、累加器、累加器A A、位處理器、程序狀態字寄存、位處理器、程序狀態字寄存器器PSWPSW及兩個暫存器等。及兩個暫
22、存器等。1 1算術邏輯運算單元算術邏輯運算單元ALUALU可對可對8 8位變量位變量邏輯邏輯運算運算(與、或、異或、循環、求補和清與、或、異或、循環、求補和清零零),還可,還可算術運算算術運算(加、減、乘、除加、減、乘、除)23ALUALU還有位操作功能,對位變量進行位處理,如置還有位操作功能,對位變量進行位處理,如置“1 1”、清、清“0 0”、求補、測試轉移及邏輯、求補、測試轉移及邏輯“與與”、“或或”等等。2 2累加器累加器A A使用最頻繁的寄存器,使用最頻繁的寄存器,可可寫為寫為AccAcc。“A A”與與“AccAcc” 書寫書寫上的差別,將在第上的差別,將在第3 3章介紹。章介紹。
23、作用如下:作用如下:(1 1)ALUALU單元的輸入數據源之一,又是單元的輸入數據源之一,又是ALUALU運算結果存放單運算結果存放單元元。(2 2)數據傳送大多都通過累加器)數據傳送大多都通過累加器A A,相當于數據的中轉站。,相當于數據的中轉站。為解決為解決“瓶頸堵塞瓶頸堵塞”問題,問題,AT89S51AT89S51增加了一部分可以不增加了一部分可以不經過累加器的傳送指令。經過累加器的傳送指令。24A A的進位標志的進位標志CyCy是特殊的,因為它同時又是是特殊的,因為它同時又是位處理機的位處理機的位累位累加器加器3 3程序狀態字寄存器程序狀態字寄存器PSWPSWPSWPSW(Progra
24、m Status WordProgram Status Word)位于片內特殊功能寄存器區,)位于片內特殊功能寄存器區,字節地址為字節地址為D0HD0H。包含了包含了程序運行狀態的信息程序運行狀態的信息,其中,其中4 4位保存當前指令執行后位保存當前指令執行后的狀態,供程序查詢和判斷。的狀態,供程序查詢和判斷。格式如圖格式如圖2-32-3所示所示。 圖圖2-32-3 PSW PSW的格式的格式25PSWPSW中各個位的功能中各個位的功能:(1 1)CyCy(PSW.7PSW.7)進位標志位)進位標志位 可寫為可寫為C C。在算術和邏輯運算時,若有。在算術和邏輯運算時,若有進位進位/ /借位借位
25、,CyCy1 1;否則,否則,CyCy0 0。在位處理器中,它是位累加器。在位處理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)輔助進位標志位)輔助進位標志位 在在BCDBCD碼運算時,用作十進位調整。即當碼運算時,用作十進位調整。即當D3D3位向位向D4D4位產生進位產生進位或借位時,位或借位時,AcAc1 1;否則,;否則,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用戶設定標志位)用戶設定標志位 由用戶使用的一個狀態標志位,可用指令來使它置由用戶使用的一個狀態標志位,可用指令來使它置1 1或清或清0 0,控制程序的流向。用戶應充分利用。控制程序的流向。用戶應
26、充分利用。26(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4組工作寄存器區選擇組工作寄存器區選擇選擇片內選擇片內RAMRAM區中的區中的4 4組工作寄存器區中的某一組為當前工組工作寄存器區中的某一組為當前工作寄存區作寄存區見見表表2-22-2。(5 5)OVOV(PSW.2PSW.2)溢出標志位)溢出標志位當執行算術指令時,用來指示運算結果是否產生溢出。如當執行算術指令時,用來指示運算結果是否產生溢出。如果結果產生溢出,果結果產生溢出,OV=1OV=1;否則,;否則,OV=0OV=0。(6 6)PSW.1PSW.1位位 保留位保留位(7 7)P P(P
27、SW.0PSW.0)奇偶標志位)奇偶標志位指令執行完,累加器指令執行完,累加器A A中中“1 1”的個數的個數是是奇數奇數還是還是偶數偶數。27P=1P=1,表示表示A A中中“1 1”的個數為的個數為奇數奇數。P=0P=0,表示,表示A A中中“1 1”的個數為的個數為偶數偶數。此標志位對串行通信有重要的意義此標志位對串行通信有重要的意義,常用常用奇偶檢驗奇偶檢驗的的方法來檢驗數據串行傳輸的可靠性。方法來檢驗數據串行傳輸的可靠性。28292.3.2 2.3.2 控制器控制器 任務任務識別指令,并根據指令的性質控制單片機各功能部件識別指令,并根據指令的性質控制單片機各功能部件,從而保證單片機各
28、部分能自動協調地工作。,從而保證單片機各部分能自動協調地工作。 控制器包括控制器包括:程序計數器、指令寄存器、指令譯碼器、定程序計數器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執行時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執行,從而對各功能部件進行定時和邏輯控制。,從而對各功能部件進行定時和邏輯控制。 程序計數器程序計數器PCPC是一個獨立的是一個獨立的1616位計數器,不可訪問。單片位計數器,不可訪問。單片機復位時,機復位時,PCPC中內容為中內容為0000H0000H,從程序存儲器,從程序存儲器0000H0000H單元取指單元取指令,開始執行程序。令
29、,開始執行程序。 PC PC工作過程是工作過程是:CPUCPU讀指令時,讀指令時,PCPC的內容作為所取指令的地的內容作為所取指令的地址,程序存儲器按此地址輸出指令字節,同時址,程序存儲器按此地址輸出指令字節,同時PCPC自動加自動加1 1。 PC PC中內容變化軌跡中內容變化軌跡決定程序流程。當決定程序流程。當順序執行順序執行程序時自動程序時自動加加1 1;執行;執行轉移程序轉移程序或或子程序、中斷子程序調用子程序、中斷子程序調用時,自動時,自動將其內容更改成所要轉移的目的地址。將其內容更改成所要轉移的目的地址。 PC PC的計數寬度的計數寬度決定了程序存儲器的地址范圍。決定了程序存儲器的地
30、址范圍。PCPC為為1616位,位,故可對故可對64KB64KB(=2=21616B B)尋址。尋址。2.4 AT89S512.4 AT89S51存儲器的結構存儲器的結構存儲器存儲器的的結構特點之一是將程序存儲器和數據存儲器分開結構特點之一是將程序存儲器和數據存儲器分開(哈佛結構),哈佛結構),并有并有各自各自的訪問指令。的訪問指令。存儲器空間可分為存儲器空間可分為4 4類類。30. .程序存儲器空間程序存儲器空間片內和片外兩部分。片內和片外兩部分。片內片內4KB4KB FlashFlash ,編程和擦除完全是電氣實現。可用通用編,編程和擦除完全是電氣實現。可用通用編程器對其編程,也可程器對其
31、編程,也可在線編程在線編程。當片內當片內4KB Flash 4KB Flash 存儲器不夠用時,可片外擴展,最多可擴存儲器不夠用時,可片外擴展,最多可擴展至展至64KB64KB程序存儲器。程序存儲器。. .數據存儲器空間數據存儲器空間片內片內與與片外片外兩部分。兩部分。片內有片內有128 B RAM128 B RAM(5252子系列為子系列為256B256B)。片內片內RAM RAM 不夠用時,在不夠用時,在片外可擴展至片外可擴展至64KB RAM64KB RAM 。31. .特殊功能寄存器特殊功能寄存器SFRSFR (Special Function RegisterSpecial Func
32、tion Register)片內各功能部件的控制寄存器及狀態寄存器。片內各功能部件的控制寄存器及狀態寄存器。SFRSFR綜合反映了綜合反映了整個單片機基本系統內部實際的工作狀態及工作方式。整個單片機基本系統內部實際的工作狀態及工作方式。. .位地址空間位地址空間共有共有211211個個可尋址位,構成了位地址空間。它們位于內部可尋址位,構成了位地址空間。它們位于內部 RAMRAM(共(共128128位)和特殊功能寄存器區(共位)和特殊功能寄存器區(共8383位)中。位)中。2.4.1 2.4.1 程序存儲器空間程序存儲器空間存放程序和表格之類的固定常數。片內為存放程序和表格之類的固定常數。片內為
33、4KB4KB的的 Flash Flash ,地址,地址為為0000H0000H0FFFH0FFFH。1616位地址線,可外擴的程序存儲器空間最位地址線,可外擴的程序存儲器空間最大為大為64KB64KB,地址為,地址為0000H0000HFFFFHFFFFH。使用使用時時應注意以下問題應注意以下問題:32(1 1)分為)分為片內片內和和片外片外兩部分兩部分,訪問片內的還是片外的程序,訪問片內的還是片外的程序存儲器,由存儲器,由 引腳電平引腳電平確定。確定。 =1 =1時,時,CPUCPU從片內從片內0000H0000H開始取指令,開始取指令,當當PCPC值沒有超出值沒有超出0FFFH0FFFH時
34、,只訪問片內時,只訪問片內Flash Flash 存儲器,存儲器,當當PCPC值超出值超出0FFFH0FFFH自自動轉向讀片外程序存儲器空間動轉向讀片外程序存儲器空間1000H1000HFFFFH FFFFH 內的程序。內的程序。 =0 =0時,只能執行片外程序存儲器(時,只能執行片外程序存儲器(0000H0000HFFFFHFFFFH)中的)中的程序。不理會片內程序。不理會片內4KB Flash 4KB Flash 存儲器。存儲器。(2 2)程序存儲器某些固定單元)程序存儲器某些固定單元用于各中斷源中斷服務程序用于各中斷源中斷服務程序入口。入口。33EAEAEA3464KB64KB程序存儲器
35、空間中有程序存儲器空間中有5 5個特殊單元個特殊單元分別對應于分別對應于5 5個中斷源個中斷源 的中斷入口地址,見的中斷入口地址,見表表2-32-3。通常這通常這5 5個中斷入口個中斷入口地址處地址處都放一條跳轉指令都放一條跳轉指令跳向對應的跳向對應的 中斷服務子程序,而不是直接存放中斷服務子程序中斷服務子程序,而不是直接存放中斷服務子程序。2.4.2 2.4.2 數據存儲器空間數據存儲器空間 片內與片外兩部分。片內與片外兩部分。. .片內數據存儲器片內數據存儲器 片內數據存儲器(片內數據存儲器(RAMRAM)共)共128128個單元,字節地址個單元,字節地址為為00H00H7FH7FH。圖圖
36、2-42-4為片內數據存儲器的結構。為片內數據存儲器的結構。35圖圖2-4 2-4 AT89S51AT89S51片內片內RAMRAM結構結構00H00H1FH1FH 的的3232個單元個單元是是4 4組通用工作寄存器區,每區包含組通用工作寄存器區,每區包含8B8B,為為R7R7R0R0。可。可通過指令改變通過指令改變RS1RS1、RS0RS0兩位兩位來選擇。來選擇。20H20H2FH2FH的的1616個個單元的單元的128128位可位尋址,也可字節尋址。位可位尋址,也可字節尋址。30H30H7FH7FH的單元只能字節尋址,用作存數據以及作為堆棧區。的單元只能字節尋址,用作存數據以及作為堆棧區。
37、. .片外數據存儲器片外數據存儲器當片內當片內128B128B的的RAMRAM不夠用時,需外擴,最多可外擴不夠用時,需外擴,最多可外擴64KB64KB的的RAMRAM。注意,片內注意,片內RAMRAM與片外與片外RAMRAM兩個空間是相互獨立的,兩個空間是相互獨立的,片內片內RAMRAM與片外與片外RAMRAM的低的低128B128B的地址是相同的的地址是相同的,但由于使用的是不同,但由于使用的是不同的訪問指令,所以不會發生沖突。的訪問指令,所以不會發生沖突。362.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR)采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件
38、各功能部件。特殊功能寄存器特殊功能寄存器映射在片內映射在片內RAMRAM的的 80H80HFFH FFH 區域區域中,共中,共2626個個。表表2-4 2-4 SFRSFR的名稱及其分布。有些還可位尋址,位地址的名稱及其分布。有些還可位尋址,位地址見見表表2-42-4。與與AT89C51AT89C51相比,相比,新增新增5 5個個SFRSFR:DP1LDP1L、DP1HDP1H、AUXRAUXR、AUXR1AUXR1和和WDTRSTWDTRST,已在,已在表表2-42-4中標出。中標出。凡是凡是可位尋址的可位尋址的SFRSFR,字節地址末位只能是,字節地址末位只能是0H0H或或8H8H。另外,
39、。另外,若讀若讀/ /寫寫未未定義單元,將得到一個不確定的隨機數。定義單元,將得到一個不確定的隨機數。下面介紹某些下面介紹某些SFRSFR,余下的,余下的SFRSFR將在后將在后面面介紹。介紹。3738391 1堆棧指針堆棧指針SPSP指示堆棧頂部在內部指示堆棧頂部在內部RAMRAM塊中的位置。塊中的位置。堆棧結構堆棧結構向上生長型向上生長型。單片機。單片機復位復位后,后,SPSP為為07H07H,使得堆,使得堆棧實際上從棧實際上從08H08H單元開始,單元開始,由于由于08H08H1FH1FH單元分別是屬于單元分別是屬于1 13 3組的工作寄存器區,組的工作寄存器區,最好在復位最好在復位后后
40、把把SPSP值改置為值改置為60H60H或或更大的值更大的值,避免堆棧與工作寄存器沖突。,避免堆棧與工作寄存器沖突。堆棧是為堆棧是為子程序調用子程序調用和和中斷操作中斷操作而設而設,主要主要用來用來保護斷點保護斷點和和現場現場。(1 1)保護斷點。)保護斷點。無論是子程序調用操作還是中斷服務子程無論是子程序調用操作還是中斷服務子程序調用,最終都要返回主程序。應預先把主程序的斷點在序調用,最終都要返回主程序。應預先把主程序的斷點在堆棧中保護起來,為程序正確返回做準備。堆棧中保護起來,為程序正確返回做準備。40(2 2)現場保護。)現場保護。執行子程序或中斷服務子程序時,要用到一執行子程序或中斷服
41、務子程序時,要用到一些寄存器單元,會破壞原有內容。要把有關寄存器單元的內些寄存器單元,會破壞原有內容。要把有關寄存器單元的內容保存起來,送入堆棧,這就是所謂的容保存起來,送入堆棧,這就是所謂的“現場保護現場保護”。兩種操作:兩種操作:數據壓入數據壓入(PUSHPUSH)堆棧,堆棧,數據彈出數據彈出(POPPOP)堆棧。堆棧。數據壓入堆棧,數據壓入堆棧,SPSP自動加自動加1 1;數據彈出堆棧,;數據彈出堆棧,SPSP自動減自動減1 1。2 2寄存器寄存器B B為執行乘法和除法為執行乘法和除法而而設。在不執行乘、除法操作的情況下,可設。在不執行乘、除法操作的情況下,可把它當作一個普通寄存器來使用
42、。把它當作一個普通寄存器來使用。4142乘法乘法,兩乘數分別在,兩乘數分別在A A、B B中,執行乘法指令后,乘積在中,執行乘法指令后,乘積在BABA中中除法除法,被除數取自,被除數取自A A,除數取自,除數取自B B,商存放在,商存放在A A中,余數存中,余數存B B中。中。3 3AUXRAUXR寄存器寄存器 AUXR AUXR是輔助寄存器,其格式如是輔助寄存器,其格式如圖圖2-52-5所示所示:圖圖2-52-5 AUXRAUXR寄存器的格式寄存器的格式43其中其中: :DISALEDISALE:ALEALE的禁止的禁止/ /允許位允許位。0 0:ALEALE有效,發出脈沖;有效,發出脈沖;
43、 1 1:ALEALE僅在執行僅在執行MOVCMOVC和和MOVXMOVX類指令時有效,不訪問外部類指令時有效,不訪問外部存儲器時,存儲器時,ALEALE不輸出脈沖信號不輸出脈沖信號。DISRTODISRTO:禁止禁止/ /允許允許WDTWDT溢出時的復位輸出溢出時的復位輸出。0 0:WDTWDT溢出時,在溢出時,在RSTRST引腳輸出一個高電平脈沖;引腳輸出一個高電平脈沖;1 1:RSTRST引腳僅為輸入腳。引腳僅為輸入腳。WDIDLEWDIDLE:WDTWDT在空閑模式下的禁止在空閑模式下的禁止/ /允許位。允許位。 0 0: WDTWDT在空閑模式下繼續計數;在空閑模式下繼續計數; 1
44、1: WDTWDT在空閑模式下暫停計數。在空閑模式下暫停計數。444. 4. 數據指針數據指針DPTR0DPTR0和和DPTR1DPTR1雙數據指針寄存器雙數據指針寄存器,便于訪問便于訪問數據存儲器數據存儲器。DPTR0DPTR0:AT89C51AT89C51單片機單片機原有原有的數據指針的數據指針;DPTR1DPTR1:新增加新增加的數據指針。的數據指針。AUXR1AUXR1的的DPSDPS位位用于用于選擇選擇兩個數據指針兩個數據指針。當。當DPS=0DPS=0時,選用時,選用DPTR0DPTR0;當;當DPS=1DPS=1時,選用時,選用DPTR1DPTR1。數據指針數據指針可作為一個可作
45、為一個1616位寄存器來用,也可作為兩個獨立的位寄存器來用,也可作為兩個獨立的8 8位寄存器位寄存器DP0HDP0H(或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)來用。)來用。455. AUXR15. AUXR1寄存器寄存器AUXR1AUXR1是輔助寄存器,格式如是輔助寄存器,格式如圖圖2-62-6所示所示: DPSDPS:數據指針寄存器選擇位。數據指針寄存器選擇位。0 0:選擇數據指針寄存器選擇數據指針寄存器DPTR0DPTR0;1 1:選擇數據指針寄存器選擇數據指針寄存器DPTR1DPTR1。圖圖2-62-6 AUXR1AUXR1寄存器的格式寄存器的格式6. 6
46、. 看門狗定時器看門狗定時器WDTWDTWDTWDT包含一個包含一個1414位計數器位計數器和和看門狗定時器復位寄存器看門狗定時器復位寄存器 (WDTRSTWDTRST)。)。當當CPUCPU由于干擾,程序陷入死循環或跑飛狀態時,由于干擾,程序陷入死循環或跑飛狀態時,WDTWDT提供了一種提供了一種使程序恢復正常運行的有效手段。使程序恢復正常運行的有效手段。有關有關WDTWDT在抗干擾設計中的應用以及低功耗模式下運行的狀態,在抗干擾設計中的應用以及低功耗模式下運行的狀態,將在相應的章節中具體介紹。將在相應的章節中具體介紹。上面介紹的特殊功能寄存器,上面介紹的特殊功能寄存器,除了前兩個除了前兩個
47、SPSP和和B B以外,其余的均以外,其余的均為為AT89S51AT89S51在在AT89C51AT89C51基礎上基礎上新增加的新增加的SFRSFR。462.4.4 2.4.4 位地址空間位地址空間211211個尋址位的位地址,位地址范圍為個尋址位的位地址,位地址范圍為 00H00HFFHFFH,其中,其中 00H00H7FH7FH 這這128128位處于位處于片內片內RAM RAM 字節地址字節地址 20H20H2FH2FH 單元中,如單元中,如表表2-52-5所示。其余的所示。其余的8383個可尋址位個可尋址位分布在分布在特殊功能寄存器特殊功能寄存器SFRSFR中,中,見見表表2-62-
48、6。可被位尋址的可被位尋址的特殊寄存器特殊寄存器有有1111個個,共有位地址,共有位地址8888個,個,5 5個位未個位未用,其余用,其余8383個位的位地址離散地分布于片內數據存儲器區字個位的位地址離散地分布于片內數據存儲器區字節地址為節地址為80H80HFFHFFH的范圍內,其的范圍內,其最低的位地址等于其字節地最低的位地址等于其字節地址址,且其字節地址的,且其字節地址的末位都為末位都為0H0H或或8H8H。4748特殊功能寄存器位 地 址字 節地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0
49、HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布 作為對作為對AT89S51AT89S51存儲器結構的總結,
50、存儲器結構的總結,圖圖2-72-7為為各類存儲各類存儲器的結構圖。器的結構圖。從圖中可從圖中可清楚看出各類存儲器在存儲器空間清楚看出各類存儲器在存儲器空間的位置。的位置。50圖圖2-7 2-7 AT89S51AT89S51單片機的存儲器結構單片機的存儲器結構2.5 AT89S512.5 AT89S51的并行的并行I/OI/O端口端口4 4個雙向的個雙向的8 8位并行位并行I/OI/O端口,分別記為端口,分別記為P0P0、P1P1、P2P2和和P3P3,其中,其中輸出鎖存器輸出鎖存器屬于屬于特殊功能寄存器特殊功能寄存器。端口的每一位均由輸出鎖。端口的每一位均由輸出鎖存器、輸出驅動器和輸入緩沖器組
51、成,存器、輸出驅動器和輸入緩沖器組成,4 4個端口按個端口按字節輸入字節輸入/ /輸出輸出外,外,也也可可位尋址位尋址。2.5.1 P02.5.1 P0口口P0P0口是一個口是一個雙功能雙功能的的8 8位并行端口,位并行端口,字節地址字節地址為為80H80H,位地址為,位地址為80H80H87H87H。端口的各位具有完全相同但又相互獨立的電路結。端口的各位具有完全相同但又相互獨立的電路結構,構,P0P0口口某一位的某一位的位電路結構位電路結構如如圖圖2-82-8所示所示。5152圖圖2-8 2-8 P0P0口某一位的位電路結構口某一位的位電路結構1 1位電路結構位電路結構 P0 P0口某一位的
52、電路包括:口某一位的電路包括:(1 1)一個數據輸出的鎖存器,用于數據位的鎖存。)一個數據輸出的鎖存器,用于數據位的鎖存。(2 2)兩個三態的數據輸入緩沖器,分別是用于)兩個三態的數據輸入緩沖器,分別是用于讀鎖存器數讀鎖存器數據據的輸入緩沖器的輸入緩沖器BUF1BUF1和和讀引腳數據讀引腳數據的輸入緩沖器的輸入緩沖器BUF2BUF2。(3 3)一個多路轉接開關)一個多路轉接開關MUXMUX,它的一個輸入來自鎖存器的,它的一個輸入來自鎖存器的 端,另一個輸入為地址端,另一個輸入為地址/ /數據信號的反相輸出。數據信號的反相輸出。MUXMUX由由“控控制制”信號控制,實現鎖存器的輸出和地址信號控制
53、,實現鎖存器的輸出和地址/ /數據信號之間數據信號之間的轉接。的轉接。(4 4)數據輸出的)數據輸出的控制和驅動電路控制和驅動電路,由,由兩個場效應管兩個場效應管(FETFET)組成。組成。532 2工作過程分析工作過程分析(1 1)P0P0口用作地址口用作地址/ /數據總線數據總線外擴存儲器或外擴存儲器或I/OI/O時,時,P0P0口作為單片機系統口作為單片機系統復用的復用的地址地址/ /數據數據總線使用。總線使用。當作為當作為地址或數據輸出地址或數據輸出時,時,“控制控制”信號為信號為1 1,硬件自動使轉,硬件自動使轉接開關接開關MUXMUX打向上面,接通反相器的輸出,同時使與門處于打向上
54、面,接通反相器的輸出,同時使與門處于開啟狀態。開啟狀態。當當輸出的地址輸出的地址/ /數據信息為數據信息為1 1時,與門輸出為時,與門輸出為1 1,上方的場效應,上方的場效應管導通,下方的場效應管截止,管導通,下方的場效應管截止,P0.xP0.x引腳輸出為引腳輸出為1 1;當輸出當輸出的地址的地址/ /數據信息為數據信息為0 0時,時,上方的場效應管上方的場效應管截止截止,下方的場下方的場效應管效應管導通導通,P0.xP0.x引腳輸出為引腳輸出為0 0。5455輸出電路是輸出電路是上、下兩個場效應管形成的上、下兩個場效應管形成的推拉式結構推拉式結構,大大提高了,大大提高了負載能力,上方的場效應
55、管這時起到負載能力,上方的場效應管這時起到內部上拉電阻內部上拉電阻的作用。的作用。當當P0P0口作為口作為數據數據輸入時輸入時,僅從外部存儲器(或,僅從外部存儲器(或I/OI/O)讀入信息,)讀入信息,對應的對應的“控制控制”信號為信號為0 0,MUXMUX接通鎖存器的接通鎖存器的 端。端。由于由于P0P0口作為地址口作為地址/ /數據復用方式訪問外部存儲器時,數據復用方式訪問外部存儲器時,CPUCPU自動向自動向P0P0口寫入口寫入FFHFFH,使下方場效應管截止,上方場效應管由于控制,使下方場效應管截止,上方場效應管由于控制信號為信號為0 0也截止,從而也截止,從而保證數據信息的保證數據信
56、息的高阻抗高阻抗輸入輸入,從外部存,從外部存儲器輸入的數據信息直接由儲器輸入的數據信息直接由P0.xP0.x引腳通過輸入緩沖器引腳通過輸入緩沖器BUF2BUF2進進入內部總線。入內部總線。Q具有具有高阻抗輸入的高阻抗輸入的I/OI/O口口應具有應具有高電平高電平、低電平低電平和和高阻抗高阻抗3 3種狀種狀態態的端口。因此,的端口。因此,P0P0口作為地址口作為地址/ /數據總線使用時是一個真正數據總線使用時是一個真正的雙向端口,簡稱的雙向端口,簡稱雙向口雙向口。 (2 2)P0P0口用作通用口用作通用I/OI/O口口當當P0P0口不作為系統的地址口不作為系統的地址/ /數據總線使用時,此時數據
57、總線使用時,此時P0P0口也可作口也可作為通用的為通用的I/OI/O口使用。口使用。作通用的作通用的I/OI/O口時,對應的口時,對應的“控制控制”信號為信號為0 0,MUXMUX打向下面,打向下面,接通鎖存器的接通鎖存器的 端,端,“與門與門”輸出為輸出為0 0,上方場效應管截止,上方場效應管截止,形成的形成的P0P0口輸出電路為漏極開路輸出。口輸出電路為漏極開路輸出。P0P0口作輸出口口作輸出口時,來自時,來自CPUCPU的的“寫寫”脈沖加在脈沖加在D D鎖存器的鎖存器的CPCP端,端,內部總線上的數據寫入內部總線上的數據寫入D D鎖存器,并由引腳鎖存器,并由引腳P0.xP0.x輸出。輸出
58、。56Q當當D D鎖存器為鎖存器為1 1時,時, 端為端為0 0,下方場效應管截止,輸出為漏極開,下方場效應管截止,輸出為漏極開路,此時,必須外接上拉電阻才能有高電平輸出;當路,此時,必須外接上拉電阻才能有高電平輸出;當D D鎖存器鎖存器為為0 0時,下方場效應管導通,時,下方場效應管導通,P0P0口輸出為低電平。口輸出為低電平。P0P0口作輸入口口作輸入口使用時,有使用時,有兩種讀入方式兩種讀入方式:“讀鎖存器讀鎖存器”和和“讀讀引腳引腳”。當當CPUCPU發出發出“讀鎖存器讀鎖存器”指令時,指令時,鎖存器的狀態鎖存器的狀態由由Q Q端經上方的端經上方的三態緩沖器三態緩沖器BUF1BUF1進
59、入內部總線;進入內部總線;當當CPUCPU發出發出“讀引腳讀引腳”指令指令時,鎖存器的輸出狀態時,鎖存器的輸出狀態=1=1(即(即 端端為為0 0),而使下方場效應管截止,),而使下方場效應管截止,引腳的狀態引腳的狀態經下方的三態緩經下方的三態緩沖器沖器BUF2BUF2進入內部總線。進入內部總線。57QQ3 3P0P0口的特點口的特點P0P0口為口為雙功能口雙功能口地址地址/ /數據復用數據復用口和口和通用通用I/OI/O口。口。(1 1)當當P0P0口用作口用作地址地址/ /數據復用數據復用口時,是一個口時,是一個真正的雙向口真正的雙向口, 輸出低輸出低8 8位地址和輸出位地址和輸出/ /輸
60、入輸入8 8位數據。位數據。(2 2)當當P0P0口用作口用作通用通用I/OI/O口時,由于需要在片外接上拉電阻,口時,由于需要在片外接上拉電阻,端口不存在高阻抗(懸浮)狀態,因此是一個端口不存在高阻抗(懸浮)狀態,因此是一個準雙向口準雙向口。為保證引腳信號的為保證引腳信號的正確讀入正確讀入,應,應首先向鎖存器寫首先向鎖存器寫1 1。單片機復。單片機復位后,鎖存器自動被置位后,鎖存器自動被置1 1;當;當P0P0口由原來輸出轉變為輸入時,口由原來輸出轉變為輸入時,應先置鎖存器為應先置鎖存器為1 1,方可執行輸入操作。,方可執行輸入操作。58P0P0口口大多作為地址大多作為地址/ /數據復用口數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省棗莊市現代實驗學校2024-2025學年高考原創信息試卷物理試題(三)含解析
- 山西省忻州市岢嵐縣中學2025屆高三下學期教學質量調研考試(二模)歷史試題試卷含解析
- 四川托普信息技術職業學院《NoSQ數據庫原理》2023-2024學年第二學期期末試卷
- 上海外國語大秀洲外國語校2024-2025學年初三4月階段性測試語文試題含解析
- 西北師范大學《地方文化研究》2023-2024學年第二學期期末試卷
- 武漢科技大學《印度文化遺產賞析》2023-2024學年第二學期期末試卷
- 上海師范大學《中國古代文學I》2023-2024學年第一學期期末試卷
- 江蘇省高郵市陽光雙語初中重點名校2025年初三最后一考生物試題試卷含解析
- 西安高新科技職業學院《外國史學史》2023-2024學年第一學期期末試卷
- 江蘇省蘇州市東山中學2025年初三5月月考英語試題理試題含答案
- 變電站通信中斷處理經驗分享
- 光伏治沙的方案
- 農藝師考試試題及答案(種植業卷)
- 醫療器械(耗材)項目投標服務投標方案(技術方案)
- 鄉村醫生從業管理條例全面解讀
- DB4409-T 38-2023 奇楠沉香栽培技術規程
- 光伏工程光伏場區箱式變壓器安裝方案
- 進度款支付報告
- 上市公司財務質量綜合評價-以伊利公司為例
- 原發性月經稀少的護理
- 中建項目機電工程系統聯動調試方案
評論
0/150
提交評論