at89系列單片機的硬件體系結構_第1頁
at89系列單片機的硬件體系結構_第2頁
at89系列單片機的硬件體系結構_第3頁
at89系列單片機的硬件體系結構_第4頁
at89系列單片機的硬件體系結構_第5頁
已閱讀5頁,還剩74頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

12023/7/12第2

章AT89系列單片機的硬件體系結構2023/7/122本章主要內容2.1AT89系列單片機概述2.2

AT89系列單片機的結構原理2.3AT89系列單片機的存儲器結構2.4AT89系列單片機的引腳功能2.5AT89系列單片機的I/O接口2.6

AT89S系列單片機內部看門狗定時器(WDT)2.7AT89系列單片機的復位工作方式2.8AT89系列單片機的低功耗方式2.9AT89系列單片機的時序2023/7/123第2章AT89系列單片機的硬件體系結構ATMEL公司是美國20世紀80年代中期成立并開展起來的半導體公司。該公司率先將獨特的Flash存儲技術注入于單片機產品中。其推出的AT89系列單片機,在世界電子技術行業中引起了極大的反響,在國內也受到廣闊用戶的歡送。本章以AT89S51為主線表達AT89XXX系列單片機的內部結構、引腳功能、工作方式和時序等方面的知識,本章的知識是學習后續章節的根底,也是單片機應用系統硬件設計的根底。2023/7/1242.1AT89系列單片機概述2.1.1AT89系列單片機簡介

AT89系列單片機是與MCS—51系列單片機兼容的低功耗高性能8位Flash單片機。它是在MCS-51的技術內核為主導的根底上傾注了ATMEL公司優良技術進行新的設計和開發,使之功能更強、更具特色,尤其是AT89S系列單片機具有在系統可程序設計功能,使生產維護更加方便靈活。

2023/7/1252.1.2AT89系列單片機的主要性能與MCS-51單片機產品兼容4K/8K等可程序設計Flash內存1000次擦寫周期全靜態操作:0Hz~33MHz(89S系列)或00Hz~24MHz(89C系列)三級加密程序內存32個可程序設計I/O口線兩個/三個16位定時器/計數器6/8個中斷源全雙工UART串行通道低功耗空閑和掉電模式看門狗定時器及雙數據指針(89S系列)靈活的在系統程序設計〔ISP〕(89S系列)2023/7/1262.1.3AT89系列單片機的主要品種

Atmel公司的AT89系列單片機有多種型號,但以AT89X51和AT89X52為代表,其主要單片機品種及其特性見表2-1。

2023/7/1272.1.3AT89系列單片機的主要品種從表2-1中可以看出,AT89系列單片機主要分為51和52兩個子系列,每個子系列都有四種型號.52子系列與51子系列相比不同之處:flash程序內存增至8KB,數據存儲器增至256B,有3個定時器/計數器等;AT89S和AT89C相比新增加了以下功能:支持在系統程序設計ISP使生產及維護更方便;增加了片內看門狗使用戶的應用系統更鞏固;雙數據指針使數據操作更加快捷方便;速度更高最高可使用33MHZ的晶振;AT89LS和AT89LV系列可以在更低的電壓(2.7V)和更寬的范圍下〔2.7V~6.0V〕工作,使應用范圍更加廣泛。

2023/7/1282.1.4AT89系列單片機的型號編碼AT89系列單片機的型號編碼由三個局部組成,它們是前綴、型號和后綴,格式如下:AT89XXXXX-YYYY其中AT是前綴,89XXXXX是型號,YYYY是后綴。有關參數的表示和意義如下:前綴由字母“AT〞組成,表示該器件是ATMEL公司的產品。型號由“89CXXXX〞或“89LVXXXX〞或“89SXXXX〞等表示。“89CXXXX〞中,9是表示內部含Flash內存,C表示為CMOS產品。“89LVXXXX〞中,LV表示低壓產品。“89SXXXX〞中,S表示含有串行下載Flash內存。“XXXX〞,表示器件型號數如51、52、53、1051、8252等2023/7/129后綴由“YYYY〞四個參數組成,每個參數的表示和意義不同。在型號與后綴局部有“-〞號隔開。后綴中的第一個參數Y用于表示速度,后綴中的第二個參數Y用于表示封裝,后綴中第三個參數Y用于表示溫度范圍,后綴中第四個參數Y用于說明產品的處理情況。例如:有一個單片機型號為“AT89C51—12PI〞,那么表示意義為該單片機是ATMEL公司的Flash單片機,內部是CMOS結構,速度為12MHz,封裝為塑封DIP,是工業用產品,按標準處理工藝生產。

2023/7/12102.2

AT89系列單片機的結構原理2.2.1AT89系列單片機的根本組成圖2-1是AT89系列單片機的根本結構框圖。圖2-1AT89系列單片機的根本結構框圖112.2.2AT89系列單片機的內部框圖

圖2-2是AT89S系列單片機的內部結構框圖。圖2-2AT89S系列單片機的內部結構框圖2023/7/12122.2.3AT89系列單片機的CPU

中央處理器CPU是單片機的大腦,它決定了單片機的指令系統及主要功能。CPU由運算器和控制器兩局部組成,主要完成取指令、指令譯瑪、發出各種操作所需的控制信號,使單片機各個局部協調工作。1.運算器運算器是以算術邏輯單元ALU為核心,加上累加器A、存放器B、程序狀態字PSW及專門用于位操作的布爾處理機等組成的,它可以實現數據的算術運算、邏輯運算、位變量處理和數據傳送等操作。〔1)累加器ACC累加器ACC是一個8位累加器,它是CPU中使用最頻繁的存放器,ALU進行運算時,數據絕大多數時候都來自于累加器ACC。它一般用于存放參加運算的操作數和運算結果,在指令系統中用A表示。2023/7/1213〔2)?B存放器B存放器是運算器中的一個工作存放器,它是為乘法和除法指令而設置的。在除法指令中,被除數取自ACC,除數取自B,商數存放在ACC中,而余數那么存放在B中。乘法指令的兩個操作數分別取自ACC和B,乘積那么存放在AB存放器對中(此處的A即ACC)。在其他的運算中,B存放器可作為中間結果存放器使用。〔3〕程序狀態字存放器PSW程序狀態字存放器PSW是一個8位的存放器,包含了各種程序狀態信息,它相當于一個標志存放器,以供程序查詢和判別。PSW的格式、各標志的含義及功能定義見表2-4.

2023/7/1214此存放器各位的含義如下(其中PSW.1未用):CY(PSW.7):進位標志。在執行某些算術和邏輯指令時,它可以被硬件或軟件置位或清零。CY在布爾處理機中被認為是位累加器,其重要性相當于一般中央處理器中的累加器A。AC(PSW.6):輔助進位標志。當進行加法或減法操作而產生由低4位數向高4位數進位或借位時,AC將被硬件置位,否那么就被清零。AC被用于BCD碼調整,詳見指令系統中的“DAA〞指令。?F0(PSW.5):用戶標志位。F0是用戶定義的一個狀態標記,用軟件來使它置位或清零。該標志位狀態一經設定,可由軟件測試F0,以控制程序的流向。?RS1、RS0(PSW.4、PSW.3):存放器區選擇控制位。可以用軟件來置位或清零以確定工作存放器區。RS1、RS0與存放器區的對應關系見表2-5。2023/7/1215OV(PSW.2):溢出標志。帶符號加減運算中,超出了累加器A所能表示的符號數有效范圍〔-128~+127〕時,即產生溢出,OV=1,說明運算運算結果錯誤。如果OV=0,說明運算結果正確。執行加法指令ADD時,當位6向位7進位,而位7不向C進位時,OV=1;或者位6不向位7進位,而位7向C進位時,同樣OV=1。乘法指令,乘積超過255時,OV=1,乘積在AB存放器對中。假設OV=0,那么說明乘積沒有超過255,乘積只在累加器A中。2023/7/1216除法指令,OV=1,表示除數為0,運算不被執行;否那么,OV=0。P(PSW.0):奇偶標志。每個指令周期都由硬件來置位或清零,以表示累加器A中1的位數的奇偶數。假設1的位數為奇數,P置1,否那么P清零。P標志位對串行通信中的數據傳輸有重要的意義,在串行通信中常用奇偶校驗的方法來檢驗數據傳輸的可靠性。在發送端可根據P的值對數據進行奇偶置位或清零。PSW.1:程序狀態字的第1位,該位的含義沒有定義,假設用戶要使用這一位,可直接使用PSW.1的位地址。PSW存放器除具有字節地址外,還具有位地址,因此,可以對PSW中的任一位進行操作,這無疑大大提高了指令執行的效率。2023/7/12172.控制器控制部件是單片機的控制中心,它包括定時和控制電路、指令存放器、指令譯碼器、程序計數器PC、堆棧指針SP、數據指針DPTR以及信息傳送控制部件等。它先以振蕩信號為基準產生CPU的時序,從ROM中取出指令到指令存放器,然后在指令譯碼器中對指令進行譯碼,產生指令執行所需的各種控制信號,送到單片機內部的各功能部件,指揮各功能部件產生相應的操作,完成指令對應的功能。2023/7/1218〔1〕程序計數器PC程序計數器PC用于存放CPU要執行的下一條指令的地址。執行指令時,CPU按PC的指示地址從ROM中讀取指令碼送入指令存放器中,由指令譯碼器對指令進行譯碼,發出相應的控制信號,從而完成指令所指定的操作。讀取指令后PC會自動+1指向CPU要執行的下一條指令的地址。系統復位后PC的初始值為0000H,因此CPU從ROM中0000H單元讀取指令并譯碼執行。程序計數器PC不屬于特殊功能存放器SFR塊,本身并沒有地址,因而不可尋址,用戶無法對它進行讀/寫操作,但是可以通過轉移、調用、返回等指令改變其內容,以控制程序按要求轉移。2023/7/1219(2)堆棧指針SP堆棧指針SP是一個8位特殊功能存放器。它指示出堆棧頂部在內部RAM中的位置。系統復位后,SP初始化為07H,使得堆棧事實上由08H單元開始。考慮到08H~1FH單元分屬于工作存放器區1~3,假設程序設計中要用到這些區,那么最好把SP值改置為1FH或更大的值如60H。

2023/7/1220〔3)數據指針DPTRDPTR為16位的數據指針存放器,由兩個8位的存放器DPH和DPL組成,可存放一個16位的地址值。當CPU訪問64KB的外部數據存儲器時,就用DPTR作地址指針,存放外部內存的地址;當CPU訪問64KB的程序存儲器時,DPTR用作基址存放器。CPU也可單獨對DPH、DPL操作,即將DPTR分成兩個存放器使用。2023/7/12212.3

AT89系列單片機的存儲器結構

AT89系列單片機采用哈佛結構,有單獨的程序存儲器和數據存儲器。外部程序存儲器和數據存儲器都可以64K尋址。AT89系列單片機存儲器的結構如圖2-3所示。

圖2-3

AT89系列單片機內存的結構2023/7/12222.3.1AT89系列單片機的程序存儲器1.AT89系列單片機程序存儲器ROM 程序存儲器用于存放編好的程序、常數或表格。在正常工作時只可讀不可寫,掉電后數據不喪失。以AT89S51單片機為例:〔1〕片內具有4K的flash結構的電可擦除只讀存儲器,與INTEL公司早期產品的紫外線擦除的EPROM結構相比,使用更靈活更方便。〔2〕外部可以擴展64K的ROM,以滿足一些大程序的需要。但是建議用戶盡量不要外擴ROM,因為當擴展外部ROM的時候,系統要占有單片機的P0、P2口及P3口的局部口線作為總線。所以在大多數的應用場合,盡量選擇片內的FLASH內存的容量能夠滿足實際需要單片機型號,這樣不僅可以節省額外的硬件投資、節省單片機的口線資源,更重要的是片內FLASH中的程序在下載、燒寫時通過“加密〞可以得到保護。只有當程序特別大,內部空間無法滿足要求時才選用擴展外部ROM。2023/7/1223〔3〕程序內存最低端的地址可以在片內Flash中,或在外部ROM中。通過單片機/EA的引腳的電平來選擇。例如,在帶有4KB片內Flash的AT89S51中,如果把/EA引腳連到Vcc,當地址為0000H~0FFFH時,那么訪問內部Flash;當地址為1000H~FFFFH時,將自動轉向外部程序內存。如果/EA端接地,那么只訪問外部程序內存,不管是否有內部Flash內存。2023/7/12242.AT89系列單片機程序存儲器管理〔1〕每個ROM單元〔byte〕對應一個惟一的16bit的地址編碼〔Address〕(2)CPU要到某個ROM單元去取指令,是通過把地址編碼寫入16位的程序計數器PC來實現的,因此AT89系列單片機地址的編碼范圍〔通常稱為尋址范圍〕為:0000000000000000B~1111111111111111B〔二進制〕0000H~FFFFH〔十六進制〕0~65535〔十進制〕〔3〕系統復位后,PC的初始值為0000H,以后的取值是CPU根據用戶程序的運行流程自動裝載的〔程序順序執行時,PC值自動加1;執行轉移指令、子程序調用和中斷效勞程序時,PC值分別等于轉移的目標地址、子程序或中斷效勞程序的入口地址。2023/7/12253.AT89系列單片機程序存儲器的分配 程序內存的某些單元是保存給系統使用的,這幾個單元的配置如圖2-4所示。從圖2-4可知,單片機復位后,程序計數器PC的內容為0000H,所以CPU總是從0000H單元開始執行程序。圖2-4程序內存的復位及中斷入口配置2023/7/12263.AT89系列單片機程序存儲器的分配 從地址0003H開始,系統每隔8個單元為6個中斷效勞子程序分配有一個固定的入口地址。如外部中斷0的入口地址為0003H;定時器0的入口地址為000BH;外部中斷1的入口地址為0013H;定時器1的入口地址為001BH;以此類推。中斷響應后,程序指針PC

將自動根據中斷類型指向這些入口地址的某一個,CPU就從這里開始執行中斷效勞子程序。 因此從0003H單元開始的這段區域應該保存給中斷使用,所以程序設計時在0000H~0002H單元放置一條轉移指令,跳過這段區域,轉到系統主程序,除非系統不使用中斷,主程序才可以覆蓋這段區域。

2023/7/12272.3.2AT89系列單片機的數據存儲器數據存儲器RAM用于存放程序中的“中間數據〞或程序運行后的結果。掉電后內容會喪失。與程序存儲器一樣,數據存儲器同樣可分為兩個地址空間:一個為內部256B內存空間,一個為外部擴展的64KB內存空間。使用外部RAM同樣是要付出占用口資源為代價的,所以一般情況下不提倡使用外部RAM。51系列單片機使用MOV指令訪問內部RAM空間,使用MOVX指令訪問外部RAM空間。2023/7/12281.

內部數據存儲器的結構單片機的內部數據存儲器結構如圖2-5所示。片內數據存儲器地址范圍是00H~FFH,只有256個字節。對于51系列高128B被特殊功能存放器占用。對于52等內部具有256B系列單片機,高128字節與特殊功能存放器地址重迭。也就是說高128字節與特殊功能存放器有相同的地址,而物理上是分開的。當一條指令訪問高于7FH的地址時,尋址方式決定CPU訪問高128字節RAM還是特殊功能存放器空間。圖2-5單片機的內部數據存儲器結構2023/7/1229直接尋址方式訪問特殊功能存放器〔SFR〕:例如:MOV0A0H,#data,直接尋址指令訪問0A0H〔P2口〕存儲單元;間接尋址方式訪問高128字節RAM:例如:當R0內容為0A0H,指令MOV@R0,#data,訪問的是地址0A0H的存放器,而不是P2口〔它的地址也是0A0H〕。〔1〕低128字節RAM區 低128字節區的分配情況如圖2-6所示。主要分為三個區域:工作存放器組區、位尋址區和用戶RAM區。圖2-6內部RAM低128字節區的分配2023/7/12301〕工作存放器組區最低32個單元(地址為00H~1FH)是4個通用工作存放器組。每個存放器組含有8個8位存放器,編號為R0~R7。程序狀態字PSW中的2位RS0、RS1用來確定當前采用哪一個工作存放器組,其對應關系如前面的表2-3所示。在某一時刻只能選用其中的一組存放器工作,系統復位后,指向工作存放器組0。如果用戶程序不需要4個工作存放器區,那么不用的工作存放器單元可以作一般的RAM使用。2023/7/12312〕位尋址區內部RAM區中的20H~2FH單元(16字節)可供位尋址,這16個單元共有128位,每位均可直接尋址,其位地址范圍為00H~7FH,具體情況見表2-6。這些位地址有兩種表示方式:一種是采用位地址形式,即00H~7FH;一種是用字節地址(20H~2FH).位數方式表示。例如,位地址00H~07H也可表示為20H.0~20H.7。2023/7/12333〕用戶RAM區30H~7FH共80個字節單元,為字節尋址的內部RAM區,可供用戶作為數據存儲區。這一區域的操作指令非常豐富,數據處理方便靈活,是非常珍貴的資源。堆棧:是按先進后出或后進先出原那么進行讀/寫的特殊RAM區域。51單片機的堆棧區是不固定的,原那么上可設置在內部RAM的任意區域內。實際使用時要根據對片內RAM各功能區的使用情況而靈活設置,應避開工作存放器區、位尋址區和用戶實際使用的數據區,一般設在2FH地址單元以后的區域。2023/7/1234堆棧的作用:主要用在子程序調用或中斷處理過程中,用于保護斷點和現場,實現子程序或中斷的多級嵌套處理。在CPU響應中斷或調用子程序時,會自動地將斷點處的16位返回地址壓入堆棧。在中斷效勞程序或子程序結束時,返回地址會自動由堆棧彈出,并放回到程序計數器PC中,使程序從原斷口處繼續執行下去。堆棧除了用于保護斷點處的返回地址外,還可以用于保護其他一些重要信息,要注意的是,必須按照“后進先出〞的原那么存取信息。堆棧也可以作為特殊的數據交換區使用。2023/7/1235堆棧的開辟:棧頂的位置由專門設置的堆棧指針存放器SP指出。51單片機的SP是8位存放器,堆棧屬向上生長的,當數據壓入堆棧時,SP的內容自動加1,作為本次進棧的指針,然后再存入數據。SP的值隨著數據的存入而增加。當數據從堆棧彈出之后,SP的值隨之減少。復位時,SP的初值為07H,用戶在初始化程序中可以給SP賦新的初值。2023/7/1236〔2〕高128字節的特殊功能存放器SFR區 特殊功能存放器SFR是單片機片內資源的控制指揮單元,單片機內部不管集成了多少外圍接口部件和功能單元,都是通過特殊功能存放器SFR進行控制和管理的,因此學習任何一個單片機的功能部件的使用,一定要了解與之相關的SFR,并弄清通過這些SFR如何去控制你所使用的功能部件。51系列單片機內的I/O鎖存器、定時器、串行口數據緩沖器以及各種控制存放器和狀態存放器都以特殊功能存放器的形式出現。它們離散地分布在80H~FFH的地址空間范圍內,具體分布見表2-7。2023/7/12372023/7/1238表2-7列出了AT89S52單片機所有的特殊功能存放器及其地址和初始值。字節地址能被8整除的專用存放器都可以實現位尋址,個別不能被8整除的專用存放器也可以實現位尋址,其位地址見表2-8。2023/7/12391〕SFR的使用方法①從表2-7可以看出,80H~FFH這128字節并不是所有的地址都定義了SFR。在這個區域當中,除了SFR之外剩余的空閑單元,用戶不得使用。讀這些地址,一般將得到一個隨機數據;寫入的數據將會無效。②必須使用直接尋址方式對SFR進行訪問,可使用存放器名稱〔是它的符號地址〕或地址。例如:0EOH——累加器的地址ACC——累加器的名稱2023/7/1240③具有位地址和位名稱的SFR才可以位尋址,位地址有以下4種表示形式:直接使用位地址表示例如:0D7H——PSW最高位的位地址使用位名稱表示、例如:CY——PSW最高位的位名稱使用SFR字節地址.位形式表示例如:0D7H.7——PSW字節地址.最高位使用SFR名稱.位形式表示例如:PSW.7——PSW名稱.最高位2023/7/12412〕AT89S系列單片機新增的SFR及功能簡介AT89S系列單片機除了如表2-8所示的和AT89C系列單片機相同的SFR以外,又新增了幾個SFR,使其功能更強。①雙數據指針存放器DPTR0和DPTR1:AT89S系列單片機提供了兩路16位數據指針存放器:位于SFR中82H~83H的DPTR0和位于84H~85H的DPTR1,能給程序設計帶來很大的便利。在8051體系中,數據指針DPTR作為一個特殊的16位存放器,用于尋址64KB的XDATA或CODE空間。雙數據指針可以改善同時需要兩個16位指針運用時的性能。DPTR0仍然運用原來的地址,用AUXR1的0位DPS來切換。當DPS位為0時,所有對DPTR的操作運用DPTR0;當DPS位為1時,所有對DPTR的操作運用DPTR1。這樣,通過一個根本的INCAUXR1指令,就可以來回切換兩個數據指針2023/7/1242例如:MOVAUXR1,#0;DPS為0,DPTR0有效……INCAUXR1;DPS為1,DPTR1有效……INCAUXR1;DPS為0,DPTR0有效②輔助存放器1〔AUXR1〕AUXR1用于選擇雙數據指針存放器DP0和DP1,它的字節地址為A2H,不可以位尋址。各位的定義如圖2-7所示。圖2-7輔助存放器1AUXR1其中:-:預留擴展用;DPS:數據指針選擇位DPS=0選擇DPTR存放器DP0L和DP0H;DPS=1選擇DPTR存放器DP1L和DP1H。2023/7/1243③輔助存放器〔AUXR〕AUXR用于選擇ALE的時鐘輸出方式、RESET輸出及空閑模式下WDT的工作方式,地址為8EH,不可以位尋址,各位的定義如圖2-8所示。圖2-8輔助存放器AUXR其中:-:預留擴展用DISALE:ALE使能標志位DISALE=0ALE以1/6晶振頻率輸出信號;DISALE=1ALE只有在執行MOVX或MOVC指令時啟動DISRTO:復位輸出標志位DISRTO=0看門狗〔WDT〕定時結束,Reset輸出高電平;DISRTO=1Reset只有輸入WDIDLE:空閑模式下WDT使能標志位WDIDLE=0空閑模式下,WDT繼續計數;WDIDLE=1空閑模式下,WDT停止計數2023/7/1244④看門狗復位特殊功能存放器WDTRSTWDTRST的地址為0A6H,用于系統初始化時向WDTRST存放器依次寫入0E1H和0E1H來啟動WDT;當WDT啟動后,系統正常工作時,用戶必須定時向WDTRST寫入01EH和0E1H即喂狗來防止WDT溢出。當系統由于干擾造成死機,不能定時向WDTRST寫入01EH和0E1H即喂狗時,WDT溢出使系統復位,使系統恢復正常工作。〔3〕內部高128B的RAM區〔僅52等系列單片機具有〕內部高128B的RAM區具有和SFR區相同的地址,但必須使用間接尋址方式訪問,例如:將50H寫入85H單元,可以采用如下形式:MOVR0,#85HMOV@R0,#50H2023/7/12452.外部數據存儲器外部數據存儲器的尋址空間可達64?KB,地址范圍是0000H~FFFFH。P0端口作為RAM的地址/數據總線,當外部地址空間小于FFH時,只需P0口作為地址總線即可,P2口可以作為一般的I/O使用。當外部地址空間大于FFH時,那么由P2端口傳送高8位地址。對片外數據存儲器的訪問,使用MOVX的間接尋址指令,以區別對內部RAM的訪問,同時產生讀、寫信號。2023/7/12462.4AT89系列單片機的引腳功能2.4.1外部引腳圖2-9是AT89S52單片機的引腳結構圖,它有雙列直插式的PDIP封裝、方形的PLCC封裝和PQFP/TQFP封裝。2023/7/1247圖2-9AT89S52單片機的引腳圖在圖2-9AT89S52單片機的引腳圖中,P1.0〔T2EX〕、P1.1〔T2〕引腳的第二功能〔括號內功能〕,只有52等內部具有T2的系列單片機具有,P1.5〔MOSI〕、P1.6〔MISO〕、P1.7〔SCK〕引腳的第二功能只有89S系列單片機具有。這些引腳從功能角度來看可分為下面四個局部:2023/7/1248

圖2-9AT89S52單片機的引腳圖1.輸入輸出引腳AT89系列單片機共有四個8位的并行I/O口:P0、P1、P2、P3口,對應的引腳分別是P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,共32根I/O線。每根線可以單獨用作輸入或輸出。2023/7/12492.控制引腳〔1〕RST復位輸入端。在振蕩器運行時,在此腳上出現兩個機器周期以上的高電平將使單片機復位。看門狗定時器〔Watchdog〕溢出后,該引腳會保持98個振蕩周期的高電平,也會使單片機復位。〔2〕ALE/PROG————地址鎖存允許/編程脈沖在訪問外部存儲器時,這個輸出信號用于鎖存低字節地址。在對Flash內存編程時,這條引腳用于輸入編程脈沖PROG。一般情況下,ALE是振蕩器頻率的6分頻信號,可用于外部定時或時鐘。但是,在對外部數據存儲器每次存取中,會跳過一個ALE脈沖。在需要時,可以把AUXR存放器的0位置為“1〞,從而屏蔽ALE的工作;而只有在MOVX或MOVC指令執行時ALE才被啟動。在單片機處于外部執行方式時,對ALE屏蔽位置“1〞并不起作用。2023/7/1250(3〕/PSEN————外部程序存儲器的選通信號它用于讀外部程序存儲器的選通信號,低電平有效。當AT89系列單片機在執行來自外部程序存儲器的指令時,每一個機器周期PSEN被啟動2次。在對外部數據存儲器的每次存取中,/PSEN不出現。〔4〕/EA/Vpp————外部程序存儲器訪問允許端/編程電源輸入端/EA接地,單片機從地址為0000H~FFFFH的外部程序內存中讀取代碼。/EA接到Vcc,單片機先從內部程序內存中讀取代碼,然后自動轉向外部。在對Flash內存編程時,這條引腳接收12V編程電壓Vpp。2023/7/1251

3.電源和時鐘引腳

Vcc:電源端。

GND:接地端。

4.外接晶體引腳

XTAL1:接外部晶體的一個引腳。在單片機內部,它是構成片內振蕩器的反相放大器的輸入端。當采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內部時鐘發生器的輸入端。

XTAL2:接外部晶體的另一個引腳。在單片機內部,它是構成片內振蕩器的反相放大器的輸出端。當采用外部振蕩器時,此引腳應懸浮不連接。如圖2-10、圖2-11所示。2023/7/1252

圖2-10內部振蕩器的接法圖2-11外部振蕩器的接法2023/7/12532.4.2片外總線結構從AT89系列單片機引腳可以看出,除了電源、復位、時鐘輸入以及I/O口外,其余的管腳都是為實現系統擴展而設置的。這些管腳構成了片外三總線結構,如圖2-12所示。

圖2-1251系列單片機片外總線結構圖2023/7/12541.地址總線(AB)地址總線的寬度是16位,因此可以尋址的范圍是64?KB。采用分時復用技術,可以對外部64?KB的數據存儲器或程序存儲器直接尋址。它由P0口提供16位地址總線的低8位(A0~A7),由P2口提供地址總線的高8位(A8~A15)。2.數據總線(DB)數據總線的寬度是8位,它由P0口提供。3.控制總線(CB)控制總線由P3口的第二功能(RXD、TXD、INT0、INT1、T0、T1、RD、WR)和4根獨立的控制線(RST、EA、ALE、PSEN)組成。2023/7/12552.5AT89系列單片機的I/O接口

AT89系列單片機有P0(P0.0~P0.7)、P1(P1.0~P1.7)、P2(P2.0~P2.7)、P3(P3.0~P3.7)4個8位雙向輸入/輸出端口,在結構上因端口的使用功能不同,其結構和性能都有所不同因此了解端口的結構特點是十分必要的,下面分別介紹。2.5.1P0口P0口是一個8位漏極開路的雙向I/O口。圖2-13是P0口的位結構圖。2023/7/1256圖2-13P0口的位結構圖1.P0口作通用I/O口使用。對于內部有flash內存的單片機,P0口可以作通用I/O口,此時控制端為低電平,轉換開關MUX把輸出級與鎖存器的端接通,同時因與門輸出為低電平,輸出級T1管處于截止狀態,輸出級為漏極開路電路。〔1〕在I/O模式下作輸出口使用時,P0口應外接上拉電阻〔10K左右〕,否那么P0口無法輸出高電平〔2〕在I/O模式下作輸入口使用時,在輸入操作前應先向端口寫“1〞2023/7/12572.?P0口作低8位地址/數據復用總線使用。假設單片機外部擴展存儲器,P0口輸出低8位地址或數據信息,此時控制端應為高電平,轉換開關MUX將反相器輸出端與輸出級場效應管T2接通。在該模式,P0口擁有內部上拉電阻。工作時低8位地址與數據線分時使用P0口。低8位地址由ALE信號的負跳變使它鎖存到外部地址鎖存器中,而高8位地址由P2口輸出。3.對Flash內存進行編程或校驗時輸入或輸出代碼在對Flash內存進行編程下載時,P0用于接收程序代碼字節;在校驗時,那么輸出程序代碼字節,此時需要外加上拉電阻。2023/7/12582.5.2P1口P1口是一個有內部上拉電阻的準雙向口,位結構如圖2-14所示,P1口在電路結構上與P0口有一些不同之處。首先它不再需要多路轉接電路MUX,其次是電路的內部有上拉電阻。與場效應管共同組成輸出驅動電路。1.?P1口作通用I/O口使用作為輸出口使用時,已能向外提供推拉電流負載,無需再外接上拉電阻。在作輸入時,和P0口一樣,必須先將“1〞寫入鎖存器,使場效應管T2截止,從而完成輸入操作。

圖2-14P1口的位結構圖2023/7/12592.P1口管腳復用功能對于52系列單片機,P1.0與P1.1可以配置成定時/計數器2的外部計數輸入端〔P1.0/T2〕與定時/計數器2的觸發輸入端〔P1.0/T2EX〕;對于AT89S系列單片機P1.5、P1.6、P1.7用于flash內存的ISP下載引腳。3.對Flash內存進行編程或校驗時接收低8位地址在對AT89系列單片機內部Flash并行編程下載和程序校驗時,P1口接收低8位地址。2023/7/12602.5.3P2口1.?P2口作通用I/O口使用。當P2口作通用I/O口使用時,是一個準雙向口,位結構如圖2-14所示,此時轉換開關MUX倒向左邊,輸出級與鎖存器接通,引腳可接I/O設備,其輸入/輸出操作與P1口完全相同。圖2-15P2口的位結構圖2023/7/12612.?P2口作高8位地址總線口使用。

當系統擴展外部存儲器時,P2口用于輸出高8位地址A15~A8。這時在CPU的控制下,轉換開關MUX倒向右邊,接通內部地址總線。。3.對Flash內存進行編程和校驗時接收高位地址在對AT89系列單片機內部Flash并行程序設計和程序校驗時,P2口也接收高位地址或一些控制信號。2023/7/12622.5.4P3口P3口是一個多用途的口,也是一個準雙向口,作為第一功能〔通用I/O端口〕使用時,其功能同P1口。P3口的位結構如圖2-16所示。當作為I/O使用時,第二功能信號引線應保持高電平,與非門開通,以維持從鎖存器到輸出端數據輸出通路的暢通。圖2-16P3口的位結構圖2023/7/12632.5.4P3口P3口還接收一些控制信當作第二功能使用時,每一位功能定義如表2-10所示。P3口的第二功能實際上就是系統具有控制功能的控制線。當輸出第二功能信號時,該位的鎖存器應置“1〞,使與非門對第二功能信號的輸出是暢通的,從而實現第二功能信號的輸出。CPU區分單片機的引腳是否有第二功能只要CPU執行到相應的指令,就自動轉成了第二功能。2023/7/12642.6

AT89S系列單片機內部看門狗定時器(WDT)2.6.1

看門狗定時器(WDT)簡介WDT是為了解決CPU運行時可能進入混亂或死循環而設置的,AT89S51的WDT由一個14bit計數器和看門狗復位SFR〔WDTRST〕構成。外部復位時,WDT默認為關閉狀態,要翻開WDT,用戶必須順序將01EH和0E1H寫到WDTRST存放器〔SFR地址為0A6H〕中。當啟動WDT后,它會隨晶體振蕩器在每個機器周期計數,除硬件復位或WDT溢出復位外沒有其它方法關閉WDT。WDT溢出將使RST引腳輸出高電平的復位脈沖,復位脈沖持續時間98個時鐘周期2023/7/12652.6.2

看門狗定時器(WDT)的使用1.按次序寫01EH和0E1H到WDTRST存放器〔SFR地址為0A6H〕中,翻開WDT。2.當WDT翻開后,需周期性地寫01EH和0E1H到WDTRST存放器以防止WDT計數溢出。3.WDT翻開時它會隨晶體振蕩器在每個機器周期計數,14bitWDT計數器計數到達16383〔即3FFFH〕,WDT將溢出并使器件復位。這意味著用戶必須在小于16383個機器周期內復位WDT〔重寫01EH和0E1H到WDTRST存放器〕。2023/7/12662.7AT89系列單片機的復位工作方式復位:將單片機系統置成特定初始狀態的操作,復位后程序從頭〔0000H單元〕開始執行程序。系統剛接通電源或重新啟動時均進入復位狀態。當系統處于正常工作狀態時,如果RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,那么CPU就可以實現可靠復位,如圖2-17所示,其中TCY為機器周期,等于12個時鐘周期。各存放器和程序計數器PC的狀態見表2-11所示。圖2-17復位電路示意圖2023/7/1267系統簡單的復位電路圖如圖2-18所示其中.圖2.18(a)是上電復位電路,也稱為自動復位電路。當接通電源的瞬間,RST端與VCC同電位,隨著電容上的電壓逐漸上升,RST端的電壓逐漸下降,于是在RST端便形成了一個正脈沖,只要該正脈沖的寬度持續兩個機器周期的高電平,就可實現系統自動復位。圖2.18(b)是上電復位和按鈕復位(也稱為手動復位)的組合,當人工按下P按鈕后就可實現系統復位。單片機復位后,各存放器和程序計數器PC的狀態見表2-11所示。〔a〕上電復位電路〔b〕上電復位及按鈕復位電路圖2-18單片機的復位電路2023/7/12682023/7/12692.8AT89系列單片機的低功耗方式AT89系列單片機提供了兩種省電工作方式:空閑方式和掉電方式。其目的是盡可能地降低系統的功耗。在空閑工作方式中(IDL=1),振蕩器繼續工作,時鐘脈沖輸出到中斷系統、串行口以及定時器模塊,但卻不提供給CPU。在掉電方式中(PD=1),振蕩器停止工作。兩種工作方式都是由SFR中的電源控制存放器PCON的控制位來定義的,PCON存放器的控制格式如圖2-19所示。圖2-19電源控制存放器PCONSMOD:串行口波特率倍率控制位。GF0,GF1:通用標志位。PD:掉電方式控制位。PD=1,進入掉電工作方式。IDL:空閑方式控制位。IDL=1,進入空閑工作方式。PCON存放器的復位值為0XXX000,PCON.4~PCON.6為保存位,用戶不要對它們進行寫操作。2023/7/12702.8.1空閑工作方式當CPU執行完置IDL=1(ORLPCON,#01H,PCON.0=1)的指令后,系統進入了空閑工作方式。這時,內部時鐘不提供給CPU,而只供給中斷、串行口、定時器局部。CPU的內部狀態維持不變,即包括堆棧指針SP、程序計數器PC、程序狀態字PSW、累加器ACC等其他所有的內容保持不變,端口狀態也保持不變。ALE保持邏輯高電平。有兩種方法可以使系統退出空閑工作方式:1、任何的中斷請求都可以由硬件將PCON.0(IDL)清0而中止空閑工作方式。當執行完中斷效勞程序返回時,從置空閑工作方式指令的下一條指令開始繼續執行程序。2、硬件復位。RST端的復位信號直接將PCON.0(IDL)清0,從而退出空閑狀態,CPU那么從進入空閑方式的下一條指令開始重新執行程序。2023/7/12712.8.2掉電工作方式當CPU執行一條置PCON.1位(PD)為1的指令后,系統進入掉電工作方式。在這種工作方式下,內部振蕩器停止工作。由于沒有振蕩時鐘,因此所有的功能部件都停止工作,但內部RAM區和特殊功能存放器的內容被保存,而端口的輸出狀態值都保存在對應的SFR中,ALE和都為低電平。退出掉電方式的惟一方法是硬件復位。復位后將所有的特殊功能存放器的內容初始化,但不改變內部RAM區的數據。在掉電工作方式下,Vcc可以降到2?V,但在進入掉電方式之前,Vcc不能降低。而在準備退出掉電方式之前,Vcc必須恢復到正常的工作電壓值,并維持一段時間(約10?ms),使振蕩器重新啟動并穩定后,方可退出掉電方式。2023/7/12722.9AT89系列單片機的時序單片機取出指令后要對指令進行譯碼產生各種操作信號,所謂時序,就是指各種操作信號的時間序列,它說明了指令執行中各種信號之間的相互關系。為到達同步協調工作的目的,各操作信號在時間上有嚴格的先后次序,這些次序就是C

溫馨提示

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

評論

0/150

提交評論