第2章硬件結構._第1頁
第2章硬件結構._第2頁
第2章硬件結構._第3頁
第2章硬件結構._第4頁
第2章硬件結構._第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第2章 AT89S51單片機 硬件結構2 2.12.1 AT89S51 AT89S51單片機的硬件組成單片機的硬件組成片內硬件組成結構如片內硬件組成結構如圖圖2-12-1所示。把作為控制應用所必需的基所示。把作為控制應用所必需的基本功能部件都集成在一個尺寸有限的集成電路芯片上。本功能部件都集成在一個尺寸有限的集成電路芯片上。3 3有如下有如下功能部件功能部件和和特性特性:(1 1)8 8位微處理器(位微處理器(CPUCPU););(2 2)數據存儲器()數據存儲器(128B RAM128B RAM););(3 3)程序存儲器()程序存儲器(4KB Flash ROM4KB Flash ROM

2、););(4 4)4 4個個8 8位可編程并行位可編程并行I/OI/O口(口(P0P0口、口、P1P1口、口、P2P2口口和和P3P3口);口);(5 5)1 1個全雙工的異步串行口;個全雙工的異步串行口;(6 6)2 2個可編程的個可編程的1616位定時器位定時器/ /計數器;計數器;(7 7)1 1個看門狗定時器;個看門狗定時器;(8 8)中斷系統具有)中斷系統具有5 5個中斷源、個中斷源、5 5個中斷向量;個中斷向量;(9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)2626個;個;(1010)低功耗模式有)低功耗模式有空閑模式空閑模式和和掉電模式掉電模式,且具有掉電模式,且具有

3、掉電模式 下的中斷恢復模式;下的中斷恢復模式;(1111)3 3個程序加密鎖定位個程序加密鎖定位。4P0 P2 P1 P3 并行口并行口89S51CPU振蕩器和時序振蕩器和時序OSC64KB 總線總線擴展控制器擴展控制器數據存儲器數據存儲器256B RAM216位位定時器定時器/計數器計數器可編程可編程I/O程序存儲器程序存儲器4KBROM可編程全雙工可編程全雙工串行口串行口外中斷外中斷內中斷內中斷控制控制串行通信串行通信外部時鐘源外部時鐘源外部事件計數外部事件計數5P0驅動器驅動器P2驅動器驅動器P0鎖存器鎖存器P2鎖存器鎖存器RAM地地址寄存器址寄存器256BRAM4KBFlash ROM

4、B寄存器寄存器暫存器暫存器1暫存器暫存器2ACCSP程序地址程序地址寄存器寄存器 緩沖器緩沖器PC增增1PCDPTR中斷、串行口和定時器中斷、串行口和定時器PSWP1鎖存器鎖存器P1驅動器驅動器P3鎖存器鎖存器P3驅動器驅動器定定時時控控制制指指令令寄寄存存器器指指令令譯譯碼碼器器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARET看門狗看門狗6與與AT89C51AT89C51相比,相比,AT89S51AT89S51有更突出的優點有更突出的優點:(1 1)增加在線可編程功能)增加在線可編程功能ISPISP(In Sy

5、stem ProgramIn System Program),),字字節節和和頁編程頁編程,現場程序調試和修改更加方便靈活;,現場程序調試和修改更加方便靈活;(2 2)數據指針數據指針增加到增加到兩個兩個,方便了對片外,方便了對片外RAMRAM的訪問過程;的訪問過程;(3 3)增加增加了了看門狗定時器看門狗定時器,提高了系統的抗干擾能力;,提高了系統的抗干擾能力;(4 4)增加增加斷電標志斷電標志;(5 5)增加)增加掉電狀態掉電狀態下的下的中斷恢復模式中斷恢復模式。 2.22.2 AT89S51 AT89S51的引腳功能的引腳功能AT89S51AT89S51與與5151系列中各種型號芯片的引

6、腳互相兼容。目前系列中各種型號芯片的引腳互相兼容。目前多采用多采用4040只只引腳引腳雙列直插雙列直插,如圖如圖所示所示。引腳按其功能可分為如下引腳按其功能可分為如下3 3類類:(1 1)電源及時鐘引腳)電源及時鐘引腳V VCCCC、V VSSSS;XTAL1XTAL1、XTAL2XTAL2。(2 2)控制引腳)控制引腳 、ALE/ ALE/ 、 /V/VPPPP、RSTRST(RESETRESET)(3 3)I/OI/O口引腳口引腳P0P0、P1P1、P2P2、P3P3,為,為4 4個個8 8位位I/OI/O口口7EAPSENPROG840引腳引腳DIP封裝封裝944引腳引腳PLCC表貼封裝

7、表貼封裝1011Vcc()()P0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VppALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)89S5112345678910111213141516171819204039383736353433323130292827262524232221 P1.0 P1.1 P1.2 P1.3 P1.4 (MOSI) P1.5 (MISO)P1.6

8、(SCK) P1.7 RST RXD/ P3.0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 GND1 1電源引腳電源引腳 VCCVCC(Pin 40Pin 40):電源端,接):電源端,接+5V+5V電壓。電壓。 GNDGND(Pin 20Pin 20):接地。):接地。2 2外接晶振引腳外接晶振引腳采用內部時鐘時,在采用內部時鐘時,在XTAL1XTAL1(Pin 19Pin 19)和)和XTAL2XTAL2(Pin 18Pin 18)端)端外接晶振。外接晶振。采用外部時鐘時,

9、采用外部時鐘時,XTAL2XTAL2外接脈沖信號,外接脈沖信號,ATAL1ATAL1接地。接地。3 3 控制信號引腳控制信號引腳(1 1)RSTRST(Pin 9Pin 9):復位信號輸入端。當該引腳上出現連):復位信號輸入端。當該引腳上出現連續兩個機器周期以上的高電平時,將使單片機復位。續兩個機器周期以上的高電平時,將使單片機復位。 1213(2 2)ALE/PROGALE/PROG(Pin 30Pin 30):地址鎖存允許信號):地址鎖存允許信號/Flash/Flash編程編程脈沖輸入端。當單片機訪問外部擴展程序存儲器或數據脈沖輸入端。當單片機訪問外部擴展程序存儲器或數據存儲器時,存儲器時

10、,ALEALE信號的下降沿鎖存地址信號的低信號的下降沿鎖存地址信號的低8 8位。位。 在在進行進行FlashFlash編程期間,該引腳用于輸入編程脈沖。編程期間,該引腳用于輸入編程脈沖。(3 3)PSENPSEN(Pin 29Pin 29):片外):片外ROM ROM 讀選通信號。讀選通信號。(4 4)EA/VPPEA/VPP(Pin 31Pin 31):外部):外部ROMROM訪問控制信號。訪問控制信號。EA=0EA=0,單片機從,單片機從0000H0000H單元開始只訪問外部單元開始只訪問外部ROMROM。EA=1EA=1,單片機從內部,單片機從內部ROMROM的的0000H0000H單元

11、開始訪問,到存儲器單元開始訪問,到存儲器最后地址后,若有外部最后地址后,若有外部ROMROM,則接著訪問。,則接著訪問。 4 4 并行并行I/OI/O口口P0 P0 口(口(Pin 39-32Pin 39-32):雙向):雙向I/O I/O 口。口。P1 P1 口(口(Pin 1-8Pin 1-8):準雙向通用):準雙向通用I/0 I/0 口???。P2 P2 口(口(Pin 21-28Pin 21-28):準雙向):準雙向I/0 I/0 口。口。P3 P3 口(口(Pin 10-17Pin 10-17):多用途口。):多用途口。14 P0 P0 口口(P0.0-P0.7,39-32(P0.0-

12、P0.7,39-32腳腳) ): P0P0口是一個口是一個8 8位準雙向位準雙向I/OI/O端口。端口。在不接片外存在不接片外存儲器與不擴展儲器與不擴展I/OI/O口時,可作為準雙向輸入口時,可作為準雙向輸入/ /輸出口。輸出口。在接有片外存儲器或擴展在接有片外存儲器或擴展I/OI/O口時,口時,P0P0口分時復用為口分時復用為低低8 8位地址總線和雙向數據總線。位地址總線和雙向數據總線。P1P1口口(P1.0-P1.7,1-8(P1.0-P1.7,1-8腳腳) ): P1P1口是一個口是一個8 8位準雙向位準雙向I/OI/O端口。端口。 15P2P2口口(P2.0-P2.7,21-28(P2

13、.0-P2.7,21-28腳腳) ): P2P2口是一個口是一個8 8位準雙向位準雙向I/OI/O端口。端口。在接有片外在接有片外存儲器或擴展存儲器或擴展I/OI/O口且尋址范圍超過口且尋址范圍超過256256字節時,字節時,P2P2口用作高口用作高8 8位地址總線。位地址總線。 P3P3口口(P3.0-P3.7,10-17(P3.0-P3.7,10-17腳腳) ): P3P3口是一個雙向口是一個雙向I/OI/O端口。端口。除作為準雙向除作為準雙向I/OI/O口使用外,還可以將每一位用于第二功能,口使用外,還可以將每一位用于第二功能,而且而且P3P3口的每一條引腳均可獨立定義為第一功能口的每一

14、條引腳均可獨立定義為第一功能的輸入輸出或第二功能。的輸入輸出或第二功能。 16INT0INT1WRRDP3 口各位的第二功能口各位的第二功能 2.3 2.3 AT89S51 AT89S51的的CPUCPU由圖由圖2-12-1可見,可見,CPUCPU由由運算器運算器和和控制器控制器構成。構成。2.3.1 2.3.1 運算器運算器對操作數進行算術、邏輯和位操作運算。主要包括算術對操作數進行算術、邏輯和位操作運算。主要包括算術邏輯運算單元邏輯運算單元ALUALU、累加器、累加器A A、位處理器、程序狀態字寄存、位處理器、程序狀態字寄存器器PSWPSW及兩個暫存器等。及兩個暫存器等。1 1算術邏輯運算

15、單元算術邏輯運算單元ALUALU可對可對8 8位變量位變量邏輯邏輯運算運算(與、或、異或、循環、求補和清與、或、異或、循環、求補和清零零),還可,還可算術運算算術運算(加、減、乘、除加、減、乘、除)17ALUALU還有位操作功能,對位變量進行位處理,如置還有位操作功能,對位變量進行位處理,如置“1 1”、清、清“0 0”、求補、測試轉移及邏輯、求補、測試轉移及邏輯“與與”、“或或”等等。2 2累加器累加器A A使用最頻繁的寄存器,使用最頻繁的寄存器,可可寫為寫為AccAcc。“A A”與與“AccAcc” 書寫書寫上的差別,將在第上的差別,將在第3 3章介紹。章介紹。作用如下:作用如下:(1

16、1)ALUALU單元的輸入數據源之一,又是單元的輸入數據源之一,又是ALUALU運算結果存放單運算結果存放單元元。(2 2)數據傳送大多都通過累加器)數據傳送大多都通過累加器A A,相當于數據的中轉站。,相當于數據的中轉站。為解決為解決“瓶頸堵塞瓶頸堵塞”問題,問題,AT89S51AT89S51增加了一部分可以不增加了一部分可以不經過累加器的傳送指令。經過累加器的傳送指令。18A A的進位標志的進位標志CyCy是特殊的,因為它同時又是是特殊的,因為它同時又是位處理機的位處理機的位累位累加器加器3 3程序狀態字寄存器程序狀態字寄存器PSWPSW 19PF1OVRS0RS1F0ACCy位符號D0H

17、D1HD2HD3HD4HD5HD6HD7H位地址PSW.0PSW.1PSW.2PSW.3PSW.4PSW.5PSW.6PSW.7PSW位進位標志進位標志半字節進半字節進位標志位標志用戶可自定用戶可自定義的標志位義的標志位溢出標志溢出標志用戶可自定用戶可自定義的標志位義的標志位奇偶標志奇偶標志寄存器組寄存器組選擇位選擇位PSWPSW中各個位的功能中各個位的功能:(1 1)CyCy(PSW.7PSW.7)進位標志位)進位標志位 可寫為可寫為C C。在算術和邏輯運算時,若有。在算術和邏輯運算時,若有進位進位/ /借位借位,CyCy1 1;否則,否則,CyCy0 0。在位處理器中,它是位累加器。在位處

18、理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)輔助進位標志位)輔助進位標志位 在在BCDBCD碼運算時,用作十進位調整。即當碼運算時,用作十進位調整。即當D3D3位向位向D4D4位產生進位產生進位或借位時,位或借位時,AcAc1 1;否則,;否則,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用戶設定標志位)用戶設定標志位 由用戶使用的一個狀態標志位,可用指令來使它置由用戶使用的一個狀態標志位,可用指令來使它置1 1或清或清0 0,控制程序的流向。用戶應充分利用。控制程序的流向。用戶應充分利用。20(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW

19、.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(PSW.0PSW.0)奇偶標志位)奇偶標志位指令執行完,累加器指令執行完,累加器A

20、 A中中“1 1”的個數的個數是是奇數奇數還是還是偶數偶數。21P=1P=1,表示表示A A中中“1 1”的個數為的個數為奇數奇數。P=0P=0,表示,表示A A中中“1 1”的個數為的個數為偶數偶數。此標志位對串行通信有重要的意義此標志位對串行通信有重要的意義,常用常用奇偶檢驗奇偶檢驗的的方法來檢驗數據串行傳輸的可靠性。方法來檢驗數據串行傳輸的可靠性。22232.3.2 2.3.2 控制器控制器 任務任務識別指令,并根據指令的性質控制單片機各功能部件識別指令,并根據指令的性質控制單片機各功能部件,從而保證單片機各部分能自動協調地工作。,從而保證單片機各部分能自動協調地工作。 控制器包括控制器

21、包括:程序計數器、指令寄存器、指令譯碼器、定程序計數器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執行時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執行,從而對各功能部件進行定時和邏輯控制。,從而對各功能部件進行定時和邏輯控制。 程序計數器程序計數器PCPC是一個獨立的是一個獨立的1616位計數器,不可訪問。單片位計數器,不可訪問。單片機復位時,機復位時,PCPC中內容為中內容為0000H0000H,從程序存儲器,從程序存儲器0000H0000H單元取指單元取指令,開始執行程序。令,開始執行程序。 PC PC工作過程是工作過程是:CPUCPU讀指令時,讀指令時

22、,PCPC的內容作為所取指令的地的內容作為所取指令的地址,程序存儲器按此地址輸出指令字節,同時址,程序存儲器按此地址輸出指令字節,同時PCPC自動加自動加1 1。 PCPC中內容變化軌跡中內容變化軌跡決定程序流程。當決定程序流程。當順序執行順序執行程序時自動程序時自動加加1 1;執行;執行轉移程序轉移程序或或子程序、中斷子程序調用子程序、中斷子程序調用時,自動時,自動將其內容更改成所要轉移的目的地址。將其內容更改成所要轉移的目的地址。 PC PC的計數寬度的計數寬度決定了程序存儲器的地址范圍。決定了程序存儲器的地址范圍。PCPC為為1616位,位,故可對故可對64KB64KB(=2=21616

23、B B)尋址。尋址。2425 片內程序存儲器片內程序存儲器 片外程序存儲器片外程序存儲器 片內數據存儲器片內數據存儲器 片外數據存儲器片外數據存儲器 89S5189S51存儲器地址空間分為三類:存儲器地址空間分為三類: (1 1)片內、片外統一編址片內、片外統一編址0000H-FFFFH0000H-FFFFH的的64KB64KB程序程序存儲器地址空間(用存儲器地址空間(用1616位地址)。位地址)。 (2 2)64KB64KB片外數據存儲器地址空間,地址也從片外數據存儲器地址空間,地址也從0000H-FFFFH0000H-FFFFH(用(用1616位地址)編址。位地址)編址。 (3 3)256

24、B256B數據存儲器地址空間(用數據存儲器地址空間(用8 8位地址)。位地址)。 89S5189S51存儲器空間配置如圖所示。存儲器空間配置如圖所示。共有四個存儲空間:共有四個存儲空間: 2.4 AT89S51 2.4 AT89S51存儲器的結構存儲器的結構26統一編址統一編址0 0F FF FF FF FH H0 0F FF FF FH H0EAROM外部1EAROM內部H0000 程序存儲器程序存儲器1000H1000HF FF FH H0 0F FF FF FF FH HH00008 80 0H H單獨編址單獨編址00HRAM內內部部能寄存器特殊功)(外部外部K64RAM 數據存儲器數據

25、存儲器7 7F FH H27 上述三個存儲空間地址是重疊的,如何區別這三個上述三個存儲空間地址是重疊的,如何區別這三個不同的邏輯空間呢?不同的邏輯空間呢?89s5189s51的指令系統設計了不同的數的指令系統設計了不同的數據傳送指令符號:據傳送指令符號: MOVC MOVC :CPUCPU訪問片內、片外訪問片內、片外ROMROM指令用指令用 MOVXMOVX:訪問片外:訪問片外RAMRAM指令用指令用 MOVMOV:訪問片內:訪問片內RAMRAM指令用指令用28 程序存儲器地址空間程序存儲器地址空間 89S5189S51存儲器地址空間分為程序存儲器(存儲器地址空間分為程序存儲器(64KB RO

26、M64KB ROM)和)和數據存儲器(數據存儲器(64KB RAM64KB RAM)。程序存儲器用于存放編好的程)。程序存儲器用于存放編好的程序和表格常數。程序存儲器通過序和表格常數。程序存儲器通過1616位程序計數器位程序計數器PCPC尋址,尋址,尋址能力為尋址能力為64KB64KB 。這使得指令能在。這使得指令能在64KB64KB地址空間內任意地址空間內任意跳轉,但不能使程序從程序存儲器空間轉移到數據存儲器跳轉,但不能使程序從程序存儲器空間轉移到數據存儲器空間??臻g。 89S5189S51片內片內ROM/EPROMROM/EPROM的容量為的容量為4KB4KB,地址為,地址為0000H-0

27、000H-0FFFH0FFFH,片外最多可擴至,片外最多可擴至64KB 64KB ROM/EPROMROM/EPROM,地址為,地址為1000H-1000H-FFFFHFFFFH,片內外統一編址。,片內外統一編址。 29 當引腳當引腳EAEA接高電平時接高電平時,89s5189s51的程序計數器的程序計數器PCPC在在0000H-0FFFH0000H-0FFFH范圍內(即前范圍內(即前4KB4KB地址)執行片內地址)執行片內ROMROM中的程中的程序序; ;當指令地址超過當指令地址超過0FFFH0FFFH后,就自動轉向片外后,就自動轉向片外ROMROM中去取中去取指令。指令。 當引腳當引腳EA

28、EA接地電平(接地)時接地電平(接地)時,89C5189C51片內片內ROMROM不起作不起作用,用,CPUCPU只能從片外只能從片外ROM/EPROMROM/EPROM中取指令。中取指令。30存儲器(存儲器( ROM ROM )中某些單元是保留給系統使用的。)中某些單元是保留給系統使用的。31 數據存儲器地址空間數據存儲器地址空間 數據存儲器數據存儲器RAMRAM用于存放運算的中間結果、數據暫存和用于存放運算的中間結果、數據暫存和緩緩 沖、標志位等。沖、標志位等。 數據存儲器空間也分成片內和片外兩大部分,即片內數據存儲器空間也分成片內和片外兩大部分,即片內RAMRAM和片外和片外RAMRAM

29、。 89s5189s51片外數據存儲器空間為片外數據存儲器空間為64KB64KB,地址從,地址從0000H-0000H-FFFFHFFFFH;片內存儲器空間為;片內存儲器空間為256B256B,地址從,地址從0000H-00FFH0000H-00FFH。32 一一. .片外片外RAMRAM 片外數據存儲器與片內數據存儲器空間的低地址部分片外數據存儲器與片內數據存儲器空間的低地址部分(0000H-FFFFH0000H-FFFFH)是重疊的。)是重疊的。 89S5189S51有有MOVMOV和和MOVXMOVX兩種指令兩種指令 MOV-MOV-片內片內RAM RAM MOVX- MOVX-片外片外

30、64KB64KBRAMRAM 二二. .片內片內RAMRAM 片內數據存儲器最大可尋址片內數據存儲器最大可尋址256256個單元,它們又分為兩個單元,它們又分為兩個部分,低個部分,低128B(00H-7FH)128B(00H-7FH)是真正的是真正的RAMRAM區,高區,高128B128B(80H-FFH)80H-FFH)為特殊功能寄存器(為特殊功能寄存器(SFRSFR)區。如圖所示。)區。如圖所示。 如何區別片內、片外如何區別片內、片外RAM空間呢?空間呢?33RAM的低128字節的配置 工作寄存器區:工作寄存器區:由由PSW的的RS1、RS0的組合值選擇。的組合值選擇。位尋址區:位尋址區:

31、可對每一位單獨操作??蓪γ恳晃粏为毑僮鳌S脩敉ㄓ脜^用戶通用區34 片內RAM地址空間35361 1堆棧指針堆棧指針SPSP指示堆棧頂部在內部指示堆棧頂部在內部RAMRAM塊中的位置。塊中的位置。堆棧結構堆棧結構向上生長型向上生長型。單片機。單片機復位復位后,后,SPSP為為07H07H,使得堆,使得堆棧實際上從棧實際上從08H08H單元開始,單元開始,由于由于08H08H1FH1FH單元分別是屬于單元分別是屬于1 13 3組的工作寄存器區,組的工作寄存器區,最好在復位最好在復位后后把把SPSP值改置為值改置為60H60H或或更大的值更大的值,避免堆棧與工作寄存器沖突。,避免堆棧與工作寄存器沖突

32、。兩種操作:兩種操作:數據壓入數據壓入(PUSHPUSH)堆棧,堆棧,數據彈出數據彈出(POPPOP)堆棧堆棧。數據壓入堆棧,。數據壓入堆棧,SPSP自動加自動加1 1;數據彈出堆棧,;數據彈出堆棧,SPSP自動減自動減1 1。37382 2寄存器寄存器B B為執行乘法和除法為執行乘法和除法而而設。在不執行乘、除法操作的情況下,可把設。在不執行乘、除法操作的情況下,可把它當作一個普通寄存器來使用。它當作一個普通寄存器來使用。乘法乘法,兩乘數分別在,兩乘數分別在A A、B B中,執行乘法指令后,乘積在中,執行乘法指令后,乘積在BABA中中除法除法,被除數取自,被除數取自A A,除數取自,除數取自

33、B B,商存放在,商存放在A A中,余數存中,余數存B B中。中。3 3AUXRAUXR寄存器寄存器: :輔助寄存器輔助寄存器圖圖2-52-5 AUXRAUXR寄存器的格式寄存器的格式39其中其中: :DISALEDISALE:ALEALE的禁止的禁止/ /允許位允許位。0 0:ALEALE有效,發出脈沖;有效,發出脈沖; 1 1:ALEALE僅在執行僅在執行MOVCMOVC和和MOVXMOVX類指令時有效,不訪問外部類指令時有效,不訪問外部存儲器時,存儲器時,ALEALE不輸出脈沖信號不輸出脈沖信號。DISRTODISRTO:禁止禁止/ /允許允許WDTWDT溢出時的復位輸出溢出時的復位輸出

34、。0 0:WDTWDT溢出時,在溢出時,在RSTRST引腳輸出一個高電平脈沖;引腳輸出一個高電平脈沖;1 1:RSTRST引腳僅為輸入腳。引腳僅為輸入腳。WDIDLEWDIDLE:WDTWDT在空閑模式下的禁止在空閑模式下的禁止/ /允許位。允許位。 0 0: WDTWDT在空閑模式下繼續計數;在空閑模式下繼續計數; 1 1: WDTWDT在空閑模式下暫停計數。在空閑模式下暫停計數。404. 4. 數據指針數據指針DPTR0DPTR0和和DPTR1DPTR1雙數據指針寄存器雙數據指針寄存器,便于訪問便于訪問數據存儲器數據存儲器。DPTR0DPTR0:AT89C51AT89C51單片機單片機原有

35、原有的數據指針的數據指針;DPTR1DPTR1:新增加新增加的數據指針。的數據指針。AUXR1AUXR1的的DPSDPS位位用于用于選擇選擇兩個數據指針兩個數據指針。當。當DPS=0DPS=0時,選用時,選用DPTR0DPTR0;當;當DPS=1DPS=1時,選用時,選用DPTR1DPTR1。數據指針數據指針可作為一個可作為一個1616位寄存器來用,也可作為兩個獨立的位寄存器來用,也可作為兩個獨立的8 8位寄存器位寄存器DP0HDP0H(或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)來用。)來用。415. AUXR15. AUXR1寄存器寄存器AUXR1AUXR1是輔

36、助寄存器,格式如是輔助寄存器,格式如圖圖2-62-6所示所示: DPSDPS:數據指針寄存器選擇位。數據指針寄存器選擇位。0 0:選擇數據指針寄存器選擇數據指針寄存器DPTR0DPTR0;1 1:選擇數據指針寄存器選擇數據指針寄存器DPTR1DPTR1。圖圖2-62-6 AUXR1AUXR1寄存器的格式寄存器的格式42 AT89S51 AT89S51 看門狗定時器由一個看門狗定時器由一個1414位定時器及位定時器及WDTRSTWDTRST(地址為(地址為A6HA6H)寄存器)寄存器構成。開啟看門狗定時器后構成。開啟看門狗定時器后,14,14位定位定時器會自動計數,每時器會自動計數,每16384

37、16384(2 21414)個機器周期溢出一次,并)個機器周期溢出一次,并產生一個高電平復位信號,使系統復位。對于產生一個高電平復位信號,使系統復位。對于12MHZ12MHZ的時鐘的時鐘脈沖每脈沖每16384us16384us(約(約0.016s0.016s)產生一個復位信號。)產生一個復位信號。 如果啟動看門狗定時器,當系統超過如果啟動看門狗定時器,當系統超過0.016s0.016s沒有動沒有動作(程序跑飛),看門狗定時器自動復位,讓系統歸復于作(程序跑飛),看門狗定時器自動復位,讓系統歸復于正常運作狀態。為了系統既能正常工作又不會出現死機正常運作狀態。為了系統既能正常工作又不會出現死機(程

38、序跑飛),在(程序跑飛),在0.016s0.016s內必須喂狗一次,即對看門狗定內必須喂狗一次,即對看門狗定時器進行復位,看門狗的啟動和復位的方法是一樣的。時器進行復位,看門狗的啟動和復位的方法是一樣的。在匯編語言中啟動或復位看門狗定時器的命令如下。在匯編語言中啟動或復位看門狗定時器的命令如下。MOVMOV A6H, A6H, #1EH #1EHMOVMOV A6H, A6H, #0E1H #0E1H6. 6. 看門狗定時器看門狗定時器WDTWDT2.4.4 2.4.4 位地址空間位地址空間 211 211個尋址位的位地址,位地址范圍為個尋址位的位地址,位地址范圍為 00H00HFFHFFH,

39、其中,其中 00H00H7FH7FH 這這128128位處于位處于片內片內RAM RAM 字節地址字節地址 20H20H2FH2FH 單元中單元中,其余的,其余的8383個可尋址位個可尋址位分布在分布在特殊功能寄存器特殊功能寄存器SFRSFR中。中。 可被位尋址的可被位尋址的特殊寄存器特殊寄存器有有1111個個,共有位地址,共有位地址8888個,個,5 5個位未用,其余個位未用,其余8383個位的位地址離散地分布于片內數據存儲個位的位地址離散地分布于片內數據存儲器區字節地址為器區字節地址為80H80HFFHFFH的范圍內,其的范圍內,其最低的位地址等于其最低的位地址等于其字節地址字節地址,且其

40、字節地址的,且其字節地址的末位都為末位都為0H0H或或8H8H。4344單元地址位地址LSBMSB21H20H0FH07H0EH06H0DH05H0CH04H09H01H0AH02H0BH03H08H00H2FH2EH7FH77H7EH76H7DH75H7CH74H79H71H7AH72H7BH73H78H70H RAM位尋址區位地址表特殊功能寄存器位 地 址字 節地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHB

41、AHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布 2.6 2.6 時鐘電路與時序時鐘電路與時序 時鐘電路產生時鐘電路產生AT89S51AT89S51工作時所工作時所必需的控制信號必需的控制信號,

42、在時,在時鐘信號的控制下,嚴格按時序執行指令。鐘信號的控制下,嚴格按時序執行指令。2.6.1 2.6.1 時鐘電路設計時鐘電路設計 時鐘頻率時鐘頻率直接影響單片機的直接影響單片機的速度速度,時鐘電路的質量也,時鐘電路的質量也直接影響單片機系統的穩定性。直接影響單片機系統的穩定性。常用的時鐘電路有常用的時鐘電路有兩種方兩種方式式,一種是,一種是內部時鐘內部時鐘方式,另一種是方式,另一種是外部時鐘外部時鐘方式。方式。461 1內部時鐘方式內部時鐘方式 AT89S51 AT89S51內部有一個用于構成振蕩器的內部有一個用于構成振蕩器的高增益反相放高增益反相放大器大器,輸入端為芯片引腳,輸入端為芯片引

43、腳XTAL1XTAL1,輸出端為引腳,輸出端為引腳XTAL2XTAL2。這。這兩個引腳跨接石英晶體振蕩器和微調電容,構成一個穩定兩個引腳跨接石英晶體振蕩器和微調電容,構成一個穩定的自激振蕩器,的自激振蕩器,圖圖2-132-13是是AT89S51AT89S51內部時鐘方式內部時鐘方式的的電路電路。47482 2外部時鐘方式外部時鐘方式 用現成的外部振蕩器產生脈沖信號,用現成的外部振蕩器產生脈沖信號,常用于常用于多片多片AT89S51AT89S51同時同時工作,以便于多片工作,以便于多片AT89S51AT89S51單片機之間的同步,一般為低于單片機之間的同步,一般為低于12MHz12MHz的方波。

44、的方波。 外部時鐘源外部時鐘源直接接到直接接到XTAL1XTAL1端端,XTAL2XTAL2端懸空端懸空,見,見圖圖2-142-14。 圖圖2-142-14 AT89S51AT89S51的外部時鐘方式電路的外部時鐘方式電路3 3時鐘信號的輸出時鐘信號的輸出當使用片內振蕩器,當使用片內振蕩器,XTAL1XTAL1、XTAL2XTAL2引腳還能為應用系統中的引腳還能為應用系統中的其他芯片提供時鐘,但需增加驅動能力。其其他芯片提供時鐘,但需增加驅動能力。其引出的方式有引出的方式有兩種兩種,如,如圖圖2-152-15所示所示。492.6.2 2.6.2 機器周期、指令周期與指令時序機器周期、指令周期與指令時序各種指令時序與時鐘周期各種指令時序與時鐘周期相相關。關。1 1時鐘周期時鐘周期時鐘控制信號的時鐘控制信號的基本時間單位基本時間單位。若晶振頻率為。若晶振頻率為f foscosc,則時鐘周,則時鐘周期期T Toscosc=1/=1/f foscosc。如。如f foscosc=6MHz=6MHz,T Toscosc=166.7ns=166.7ns。2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論