AT89C51單片機的結構《單片機》_第1頁
AT89C51單片機的結構《單片機》_第2頁
AT89C51單片機的結構《單片機》_第3頁
AT89C51單片機的結構《單片機》_第4頁
AT89C51單片機的結構《單片機》_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-2-1012.1 AT89C51單片機的基本結構2.2 AT89C51單片機的存儲器配置2.3 AT89C51的時鐘電路與CPU時序2.4 AT89C51復位與復位電路2.5 AT89C51單片機的最小系統(tǒng)22022-2-102. 1 AT89C51單片機的基本結構單片機的基本結構nAT89C51是具有MCS-51內核、片內帶有4KB的flash ROM的單片機,圖2-1為AT89C51基本結構示意圖。n從圖中可以看出,單片機有一條內部總線,各個功能模塊都掛在這條總線上,通過內部總線傳送數據信息和控制信息。AT89C51主要由以下部件組成。32022-2-1042022-2-1052

2、022-2-101CPUCPU是單片機的核心部分,CPU包括兩個基本部分:運算器和控制器。(1)運算器運算器即算術邏輯運算單元ALU(Arithmetic Logic Uint),是進行算術或邏輯運算的部件,可以對半字節(jié) (4位)和單字節(jié) (8位)數據進行操作。例如可實現(xiàn)加、減、乘、除等算術運算和與、或、異或、取反、移位等邏輯運算。操作的結果一般送回累加器 ACC (Accumulator),而其狀態(tài)信息送至程序狀態(tài)寄存器PSW(Program Status Word)。(2)控制器控制器是用來控制計算機工作的部件??刂破鹘邮諄碜源鎯ζ鞯闹噶?,進行譯碼,并通過定時和控制電路,在規(guī)定時刻發(fā)出指令

3、所需的各種控制信息和CPU外部所需的各種控制信號,使各部分協(xié)調工作,完成指令所規(guī)定的操作。62022-2-102內部數據存儲器2內部數據存儲器內部數據存儲器AT89C51芯片內共有256B(地址為:00HFFH)的數據存儲器,其中高128B(地址為:80HFFH)被專用寄存器占用,能作為寄存器供用戶使用的只是低128B(地址為:00H7FH),用于存放可讀寫的數據,如程序執(zhí)行過程中的變量。72022-2-103內部程序存儲器內部程序存儲器AT89C51共有4KB(地址為:0000H0FFFH)的flash程序存儲器,用于存放程序、原始數據或表格常數。4定時定時/計數器計數器AT89C51共有兩

4、個16位的定時/計數器,每個定時/計數器都可以設置成計數方式,用于對外部事件進行計數;也可以設置成定時方式,并可以根據計數或定時的結果實現(xiàn)對單片機運行的控制。82022-2-105并行并行I/O口口AT89C51共有4個8位的I/O口(P0、Pl、P2、P3)。每個8位的口,既可用作輸入口,也可用作輸出口,每個口即可以8位同步讀寫,又可對每一位進行單獨的操作,十分的方便。6串行口串行口AT89C51單片機有一個全雙工的串行接口,以實現(xiàn)單片機和其他設備之間的串行數據傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。92022-2-107中斷控制系統(tǒng)中斷控制系統(tǒng)AT

5、89C51單片機有較強的中斷系統(tǒng),可以滿足控制應用的需要。AT89C51的中斷系統(tǒng)有5個中斷源,包括兩個外中斷、兩個定時/計數中斷和一個串行口中斷。8時鐘電路時鐘電路AT89C51芯片的內部有時鐘電路,但石英晶體和微調電容需外接。時鐘電路為單片機產生時鐘脈沖序列。102022-2-102.1.2 AT89C51單片機的引腳功能單片機的引腳功能 AT89C51單片機采用40腳雙列直插式的DIP40封裝,還提供較小尺寸表面封裝形式的PQFP/TQFP44,其引腳排列如圖2-2所示。為使結構更加緊湊,單片機的許多引腳具有雙重功能。112022-2-10122022-2-10132022-2-10引腳

6、功能引腳功能 4040個引腳大致可分為個引腳大致可分為4 4類:電源、時鐘、控制和類:電源、時鐘、控制和I/OI/O引腳。引腳。142022-2-10 電源電源: : V VCCCC - - 芯片電源,接芯片電源,接+5V+5V; V VSSSS - - 接地端;接地端; 時鐘時鐘: :XTAL1XTAL1、XTAL2 - XTAL2 - 晶體振蕩電路反相輸入端和輸出端。晶體振蕩電路反相輸入端和輸出端。 控制線控制線: :控制線共有控制線共有4 4根,根, ALEALE/ /PROGPROG: :地址鎖存允許地址鎖存允許/ /片內片內EPROMEPROM編程脈沖編程脈沖 ALEALE功能:用來

7、鎖存功能:用來鎖存P0P0口送出的低口送出的低8 8位地址位地址 PROGPROG功能:片內有功能:片內有EPROMEPROM的芯片,在的芯片,在EPROMEPROM編程期間,此編程期間,此引腳輸入編程脈沖。引腳輸入編程脈沖。 PSEN:PSEN:外外ROMROM讀選通信號。讀選通信號。 RSTRST/ /V VPDPD: :復位復位/ /備用電源。備用電源。 RSTRST(ResetReset)功能:復位信號輸入端。)功能:復位信號輸入端。 V VPDPD功能:在功能:在VccVcc掉電情況下,接備用電源。掉電情況下,接備用電源。 EAEA/ /VppVpp: :內外內外ROMROM選擇選擇

8、/ /片內片內EPROMEPROM編程電源。編程電源。 EAEA功能:內外功能:內外ROMROM選擇端。選擇端。 VppVpp功能:片內有功能:片內有EPROMEPROM的芯片,在的芯片,在EPROMEPROM編程期間,施加編程期間,施加編程電源編程電源VppVpp。152022-2-10 I/OI/O線線 80C5180C51共有共有4 4個個8 8位并行位并行I/OI/O端口:端口:P0P0、P1P1、P2P2、P3P3口,口,共共3232個引腳。個引腳。P3P3口還具有第二功能,用于特殊信號口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。輸入輸出和控制信號(屬控制總線)。

9、P3.0 P3.0 RXDRXD:串行口輸入端;:串行口輸入端;P3.1 P3.1 TXDTXD:串行口輸出端;:串行口輸出端; P3.2 P3.2 INT0INT0:外部中斷:外部中斷0 0請求輸入端;請求輸入端; P3.3 P3.3 INT1INT1:外部中斷:外部中斷1 1請求輸入端;請求輸入端; P3.4 P3.4 T0T0:定時:定時/ /計數器計數器0 0外部信號輸入端;外部信號輸入端; P3.5 P3.5 T1T1:定時:定時/ /計數器計數器1 1外部信號輸入端;外部信號輸入端; P3.6 P3.6 WRWR:外:外RAMRAM寫選通信號輸出端;寫選通信號輸出端; P3.7 P

10、3.7 RDRD:外:外RAMRAM讀選通信號輸出端。讀選通信號輸出端。162022-2-10表表2-1 P3口的第二功能表口的第二功能表端口端口引腳(引腳(DIP40封裝)封裝)第二功能第二功能P3.010RXD(串行輸入口)(串行輸入口)P3.111TXD(串行輸出口)(串行輸出口)P3.212INT0(外部中斷(外部中斷0輸入)輸入)P3.313INT1(外部中斷(外部中斷1輸入)輸入)P3.414T0(定時(定時/計數器計數器0的外部計數輸入)的外部計數輸入)P3.515T1(定時(定時/計數器計數器1的外部計數輸入)的外部計數輸入)P3.616WR(外部數據存儲器寫脈沖輸出)(外部數

11、據存儲器寫脈沖輸出)P3.717RD(外部數據存儲器讀脈沖輸出)(外部數據存儲器讀脈沖輸出)172022-2-102.2 AT89C51單片機的存儲器配置單片機的存儲器配置 一般微機通常是程序和數據共用一個存儲空間,屬于“馮諾依曼”(Von Neumann)結構。而單片機的存儲器組織結構則把程序存儲空間和數據存儲空間嚴格區(qū)分開來,屬于“哈佛”(Harvard)結構。182022-2-10AT89C51單片機存儲器在物理結構上分成四個存儲空間:片內程序存儲器、片外程序存儲器、片內數據存儲器和片片內程序存儲器、片外程序存儲器、片內數據存儲器和片外數據存儲器外數據存儲器。從用戶使用的角度,即從邏輯上

12、考慮,則有三個存儲空間:片內外統(tǒng)一編址的64KB程序存儲器地址空間(0000H FFFFH)、256B的片內數據存儲器地址空間 (00H FFH)及片外數據存儲器地址空間(0000H FFFFH)。CPU在訪問三個不同的邏輯空間時,通過采用不同形式的指令,來產生相應的存儲器選通信號,訪問程序存儲器使用MOVC指令、訪問片內數據存儲器使用MOV指令、訪問片外數據存儲器使用MOVX指令192022-2-10n89C51單片機內部有4K的程序存儲器,0000H0FFFH;n程序從0000H開始;n有一些特殊功能的區(qū)域,如中斷入口地址。202022-2-10特殊功能特殊功能寄存器寄存器(21個個SFR

13、)內部內部RAM128B00H7FH80HFFH外部外部RAM(64KB)0000HFFFFHWERD外部外部ROM(60KB)EA=0/1內部內部ROM(4KB)EA=1外部外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH212022-2-10AT89C51程序存儲器配置程序存儲器配置222022-2-10中斷入口地址表:中斷源入口地址外部中斷00003H定時器0000BH外部中斷10013H定時器1001BH串行口0023H232022-2-10 內部數據存儲器在物理上分為兩個不同的存儲空間:n數據存儲器空間(低128單元)n特殊功能寄存器空間(高128單元)。

14、 這兩個空間是相連的。從用戶角度而言,低128單元才是真正的數據存儲器。242022-2-10MCS51數據存儲器配置數據存儲器配置252022-2-10數據存儲器由RAM構成,一旦掉電,其數據將丟失。低128B的數據存儲器(地址范圍:00H7FH)用于存放程序運算的中間結果的暫存,用作緩存、堆棧等。低128B的數據存儲器的存儲器配置如圖2-4。數據存儲器空間(低128單元)按功能劃分為:n通用寄存器區(qū)n位尋址區(qū)n用戶區(qū)262022-2-10用戶RAM區(qū)工作寄存器區(qū)位尋址區(qū)00H2FH30H7FH1FH20H工作寄存器3區(qū)工作寄存器2區(qū)工作寄存器1區(qū)工作寄存器0區(qū)07H00H08H0FH10H

15、17H18H1FH272022-2-101)片內片內RAM工作寄存器區(qū):工作寄存器區(qū):字節(jié)地址:字節(jié)地址:00H1FH位尋址區(qū):位尋址區(qū):字節(jié)地址:字節(jié)地址:20H2FH位地址為:位地址為:00H7FH數據緩沖區(qū)數據緩沖區(qū)/堆棧區(qū):堆棧區(qū):字節(jié)地址:字節(jié)地址:00H7FH一般使用一般使用30H7FH282022-2-10在低128B的RAM區(qū)中,將地址00H1FH共32個單元設為工作寄存器區(qū),分為4組,每組由8個單元按序組成通用寄存器R0R7。通用寄存器R0R7不僅用于暫存中間結果,而且是CPU指令中尋址方式不可缺少的工作單元。任一時刻CPU只能選用一組工作寄存器為當前工作寄存器。CPU復位后

16、,自動選中第0組工作寄存器,即R0的地址為00H、R1的地址為01H、R7的地址為07H。同理當選擇寄存器組1時,R0的地址為08H。可以通過程序對程序狀態(tài)字PSW中的RS1、RS0位進行設置,以實現(xiàn)工作寄存器組的切換,對應關系如表2-2。表2-2 工作寄存器選擇RS1RS0寄存器組片內RAM地址00第0組00H07H01第1組08H0FH10第2組10H17H11第3組18H1FH292022-2-10地址為20H2FH的16個RAM(字節(jié))單元,既可以作為一般的數據存儲器按字節(jié)讀寫,又可以按位存取。16個RAM單元,每個單元8位,共有128位,將每一位分配一個地址,稱為位地址,地址編碼00

17、FFH。AT89C51單片機可以對位直接進行操作,程序中常常將一些計算或運行中的狀態(tài)、標記等作為位變量(布爾變量)存放在位尋址區(qū)。表2-3是位地址的分布表。由表2-3可見,字節(jié)地址和位地址都是用8位的二進制表示,理解上容易產生混淆。字節(jié)地址單元的數據是8位二進制數,而位地址的數據僅是1位二進制數。例如,字節(jié)地址2AH單元的數為0,表示位地址50H57H中8個單元的數均為0,又例如位地址28H的數為0表示字節(jié)地址25H的D0位(最低位)為0。也可以用“字節(jié)地址.位”表示位地址,例如25H.1(字節(jié)地址25H的第1位D1)等于位地址29H。302022-2-10位尋址區(qū)位尋址區(qū)nRAM中的20H2

18、FH的16個單元除了可作為一般RAM單元進行字節(jié)尋址外,還可進行位尋址,稱作位尋址區(qū)。n位尋址區(qū)共有16個RAM單元,合計128位,位地址為00H7FH。80C51單片機具有位處理機(又稱布爾處理機)功能,位處理機的存儲空間就包括這個位尋址區(qū)。表2-3為位尋址區(qū)的位地址表。 312022-2-10位尋址區(qū)(20H2FH)16個字節(jié)。16*8=128位,每一位都有一個位地址,范圍為:00H7FH,位地址區(qū)也可作為一般RAM使用。位尋址區(qū)位尋址區(qū)單元地址單元地址位地址位地址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07

19、FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H08322022-2-10用戶用戶RAM區(qū)區(qū)n在30H7FH區(qū)的80個RAM單元為用戶RAM區(qū),只能按字節(jié)存取。30H7FH區(qū)是真正的數據緩沖區(qū)。由于工作寄存器區(qū)、位尋址區(qū)、數據緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪問,這三個區(qū)的單元既有自己獨特的功能,又可統(tǒng)一調度使用。因此,前兩區(qū)未使用的單元也可用為一般的用戶RAM單元,使容量較小的片內RAM得以充分利用。程序設計時,將中間的計算結果,作為變量存放在該區(qū)域。n對這部分區(qū)域的使用不作任何規(guī)定和限制,但應當說明的是,堆棧一般開辟在此區(qū)。 332022-2-10*關于

20、堆棧n堆棧:是一個特殊的存儲區(qū)域;n特點:“后進先出”。n單片機的堆棧是地址增加型,即壓入數據時地址指針增加。n堆站的操作有壓入:PUSH彈出:POP342022-2-10堆棧操作示意圖89H 1EH F5H 6BH 60H 61H 6BH SP 棧頂 棧底 RAM 圖 2-5 堆棧和堆棧指針示意圖 352022-2-10 圖 2-6 例 2-1 堆棧操作示意圖 PUSH 30H 60H 61H 62H SP PUSH 31H (31H) (30H) POP 30H 30H POP 31H 31H SP 60H 61H 62H XX RAM 60H 362022-2-10n內部RAM的高128

21、單元是給特殊寄存器使用的,因此稱之為專用寄存器區(qū),其單元地址為80HFFH。因為這些寄存器的功能已作專門規(guī)定,所以稱其為專用寄存器或特殊功能寄存器(Special Function Registers)。特殊功能寄存器的總數為21個,僅占用了80HFFH中的很小一部分。表中給出了這些特殊功能寄存器的符號、名稱和地址等。 372022-2-10特殊功能寄存器特殊功能寄存器SFR占用字節(jié)地址:占用字節(jié)地址:80HFFH位尋址寄存器:位尋址寄存器: 其字節(jié)地址可被其字節(jié)地址可被8整除。整除。n專用寄存器:專用寄存器:A、B、PSW、DPTR、SPnI/O接口寄存器:接口寄存器: P0、P1、P2、P

22、3、SBUF、TMOD、TCON、SCON 382022-2-10寄存器位地址/位定義地址F7F6F5F4F3F2F1F0BF0HE7E6E5E4E3E2E1E0ACCE0D7D6D5D4D3D2D1D0PSWCYACF0RS1RS0OV/PD0HBFBEBDBCBBBAB9B8IPB8HB7B6B5B4B3B2B1B0P3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B0HIEA8HA7A6A5A4A3A2A1A0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A0HSBUF99H特殊功能寄存器符號極其分布表 392022-2-10SCON98H9796

23、959493929190P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.090HTH18DHTH08CHTL18BHTL08AHTMODGATEC/TM1M0GATEC/TM1M089H8F8E8D8C8B8A8988TCONTF1TR1TF0TR0IE1IT1IE0IT088HPCONSMOD/GF1GF0PDIDL87HDPH83HDPL82HSP81H8786858483828180P0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.080H注意:位地址和字節(jié)地址的區(qū)分和表達402022-2-10n21個特殊功能寄存器是不連讀地分散在內部RAM的高128單

24、元之中,盡管其中還有許多空閑地址,但用戶不能使用。n程序計數器PC是獨立于SFR之外的唯一的一個不可尋址的專用寄存器。PC不占RAM單元,在物理上是獨立存在的。它不包括在21個特殊功能寄存器中。n在21個特殊功能寄存器中,有11個寄存器不僅可以字節(jié)尋址,也可以進行位尋址。凡是能進行位尋址的SFR,其特征是字節(jié)地址都能被8整除(字節(jié)地址的末位是0或8)。nIP中有3位、IE中有2位、PSW中有一位對用戶無實際意義,所以直接尋址位為82位;再加上數據存儲器中的128位,89C51共計有210位可尋址位。 412022-2-10(1)程序計數器PCnPC是一個16位的計數器。其內容為將要執(zhí)行的指令地

25、址,尋址范圍達64KB。PC有自動加1功能,從而實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的(但在物理上是存在的),因此用戶無法對它進行讀寫;但可以通過轉移、調用返回等指令改變其內容,以實現(xiàn)程序的轉移。 422022-2-10(2)累加器An累加器A為8位寄存器,是最常用的專用寄存器,功能較多。它既可用于存放操作數,也可用來存放中間結果。89C51單片機中大部分單操作數指令的操作數就取自累加器,許多雙操作數指令中的一個操作數也取自累加器。加、減、乘、除運算指令的運算結果都存放在累加器A或AB寄存器對中。 432022-2-10(3)B寄存器nB寄存器是一個8位寄存器,主要用于乘除運算。乘法運

26、算時,B是乘數。乘法操作后,乘積的高8位存于B中。除法運算時,B存放除數。除法操作后,余數存于B中。此外,B寄存器也可作為一般數據寄存器使用。 442022-2-10(4) 程序狀態(tài)字程序狀態(tài)字PSW(PROGRAM STATUS WORD)n程序狀態(tài)字PSW是一個8位寄存器,用于存放程序運行的狀態(tài)信息。其中,有些位的狀態(tài)是程序執(zhí)行的結果,是由硬件自動置位的;而有些位的狀態(tài)則采用軟件的方法來設定。PSW的位狀態(tài)可以用專門指令進行測試,也可以用指令讀出。一些條件轉移指令會根據PSW有關位的狀態(tài)進行程序轉移。PSW的各位含義如圖所示。其中PSW.1為保留位,未用。 452022-2-10程序狀態(tài)字

27、PSW 位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位含義CYACF0RS1RS0OV/P462022-2-10nCY(PSW.7):進位標志位:進位標志位CY是PSW中最常用的標志位,其功能有二:一是存放算術運算的進位標志;二是在位操作中作累加位使用。位傳送、位與、位或操作,操作數之一為進位標志位。nAC(PSW.6):輔助進位位:輔助進位位當進行加法或減法操作而產生由低4位向高4位的進位或借位時,由硬件將AC置1;否則就被清除。AC還用于十進制調整,同DA A 指令結合起來使用。 472022-2-10nF0(PSW.5):用戶標志位:用戶標志位它是

28、用戶定義的一個狀態(tài)標記,可以用軟件來使它置位或清除,也可用軟件測試F0以控制程序的流向。nRS1、RS0(PSW.4,PSW.3):當前寄存器區(qū)選擇位用軟件來置位或清除,以選擇和確定當前工作寄存器區(qū)。 482022-2-10nOV(PSW.2)溢出標志位溢出標志位 在帶符號數運算中,OV1,表示加減運算結果超出了累加器所能表示的符號數的有效范圍(128127),即產生了溢出,因此運算結果是錯誤的;否則OV0,運算結果正確,無溢出。 在乘法運行中,OV1,表示乘積超過255,即乘積分別放在B與A中;否則OV0,表示乘積只放在中。 在除法運行中,OV1,表示除數為0,除法不能進行;否則,OV0,表

29、示除數不為0,除法可正常進行。492022-2-10n(PSW.0):奇偶位):奇偶位每個指令周期都由硬件來置位或清除,以表示累加器中1的個數的奇偶性。P1,則累加器中1的個數為奇數;若P=0,則累加器中1的個數為偶數。在串行通訊中用于校驗數據的正確性。502022-2-10(5)棧指針棧指針SP棧指針SP是一個8位專用寄存器。它指示出堆棧頂部在內部數據存儲器中的位置。系統(tǒng)復位后,SP初始化為07H,使得堆棧向上由08H單元開始??紤]到08H1FH單元屬于工作寄存器區(qū),若程序設計中要用到這些區(qū),最好把SP的值置為1FH或更大一些,一般將堆棧開辟在30H7FH區(qū)域中。SP的值越小,堆棧深度就越深

30、,但最大為128字節(jié)。 512022-2-10nSP的值除了可以用軟件直接改變外(MOV SP, #DATA),在執(zhí)行堆棧操作,程序調用、子程序返回及中斷返回等指令時,SP的值自動增量或減量。堆棧操作指令為:PUSH ACC (壓入堆棧)POP ACC (彈出堆棧) 522022-2-10(6)數據指針DPTRn數據指針DPTR是唯一1個16位的可尋址的專用寄存器;n由兩個8位寄存器DPH和DPL拼裝而成,其中DPH為DPTR的高8位,DPL為DPTR的低8位。它既可作為一個16位寄存器來使用,也可作為2個獨立的8位寄存器(DPH和DPL)來使用。n DPTR通常用來存放16位地址。既可訪問外

31、部RAM,也可訪問ROM。例如:nMOVDPTR,#2000HnMOVX A,PPTR ;將外RAM2000H單元內容AnMOVC A, A+DPTR;訪問ROM指令 532022-2-10(7)端口P0P3n專用寄存器P0、P1、P2和P3分別是I/O口P0P3的鎖存器。n在89C51中,I/O 和RAM統(tǒng)一編址,既可以字節(jié)尋址,也可以位尋址,使用起來較方便。有關P0P3的詳細情況,在后續(xù)內容中介紹。 542022-2-10+5V+5V+5VS2 C122uFY112MC230PC330PS1 U1AT89C51EA/VP31X119X218RESET9INT0/P3.212INT1/P3.

32、313T0/P3.414T1/P3.515P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728RD/P3.717WR/P3.616PSEN29ALE/P30TXD/P3.111RXD/P3.010VCC40VSS20R11KK1繼電器 Q19013R2 R3 報警燈D1 220V AC12 100D2 12一個單片機的簡單應用系統(tǒng)一個單片機的簡單應用系統(tǒng)552022-2-10特

33、殊功能寄存器P0P3分別是I/O端口P0P3的鎖存器。AT89C51單片機是把I/O當作一般的特殊功能寄存器使用,不專設端口操作指令,使用方便。當I/O端口某一位用于輸入信號(讀端口)時,對應的鎖存器必須先置1。例如在例1-1中P32作為輸入端口,在判斷P32狀態(tài)前必須先將P32置1。P32=1;/P32作為輸入端口必須先置1if (P32= =0)/P32是低電平?如果S1按下,P32為低P20=1;/S1按下,則P20輸出高電平,報警燈亮else/如果S1沒有按下P20=0; /則P20輸出低電平,報警燈滅562022-2-10(8)串行數據緩沖器SBUFn串行數據緩沖器SBUF用于存放欲

34、發(fā)送或接收的數據,它實際上由兩個獨立的寄存器組成,一個是發(fā)送緩沖器,另一個是接收緩沖器。當要發(fā)送的數據傳送到SBUF時,進入的是發(fā)送緩沖器,當要從SBUF取數據時,則取自接收緩沖器,取走的是剛接收到的數據。 572022-2-10(9)定時器/計數器n80C51單片機有兩個16位定時器/計數器T0和T1,它們分別由兩個獨立的8位寄存器組成,共有4個獨立的寄存器:TH0,TL0,TH1,TL1,可對這4個寄存器尋址,但不能把T0和T1當成16位寄存器來訪問。 582022-2-10(10) 其它控制寄存器nIP、IE、TMOD、TCON、SCON和PCON寄存器分別包含有中斷系統(tǒng)、定時器/計數器

35、、串行口和供電方式的控制和狀態(tài)位,這些寄存器將在以后內容中介紹。 592022-2-10外部數據存儲器又稱外部RAM,當片內RAM的容量不能滿足要求時,可通過總線端口和其他I/O口擴展外部數據RAM,其最大容量可達64K字節(jié)。外部數據存儲器和內部數據存儲器的功能基本相同,但外部數據存儲器不能用于堆棧操作,對外部外部數據存儲器的訪問只能使用間接尋址方式。602022-2-10特殊功能特殊功能寄存器寄存器(21個個SFR)內部內部RAM128B00H7FH80HFFH外部外部RAM(64KB)0000HFFFFHWERD外部外部ROM(60KB)EA=0/1內部內部ROM(4KB)EA=1外部外部

36、ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH612022-2-10AT89C52相當于MCS-51單片機中的52子系列,與51子系列的AT89C51相比,片內的程序存儲器flash ROM增加到了8KB,片內的數據存儲器增加了128B。AT89C52的存儲器結構如圖2-7所示。 外部外部ROM(56KB)EA=0/1內部內部ROM(8KB)EA=1外部外部ROM(8KB)EA=0PSEN0000H1FFFH2000HFFFFH特殊功能寄存器(27個SFR)內部RAM低128B00H7FH80HFFH內部RAM高128B內部數據存儲器 內、外程序存儲器 622022-

37、2-1089C51的片內集成有一定容量的程序存儲器和數據存儲器(128B)。當然,還可以根據需要對存儲器進行外部擴展。n從物理上分,89C51的存儲器有4個存儲空間:片內程序存儲器、片外程序存儲器、片內數據存儲器和片外數據存儲器。n從邏輯上分,89C51有3個存儲器地址空間:片內外統(tǒng)一的64KB的程序存儲器地址空間、256B的內部數據存儲器地址空間(其中128B的專用寄存器地址空間,僅有部分字節(jié)有實際意義)和64KB的外部數據存儲器地址空間。n為了區(qū)分不同的存儲器空間,在用指令訪問這三個不同的邏輯空間時采用了不同形式的指令。632022-2-10晶體振蕩器時鐘方式晶體振蕩器時鐘方式利用芯片內部

38、的振蕩器,然后在引腳XTALl和XTAL2兩端跨接晶體振蕩器(簡稱晶振),就構成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內部時鐘電路。外接晶振通常為石英晶體振蕩器或振蕩器。使用石英晶體振蕩器時,Cl和C2的值為30pF左右;使用陶瓷振蕩器時,Cl和C2的值為40pF左右;選用晶振的頻率也就是單片機的時鐘頻率,AT89C51最高時鐘頻率可達到24MHz。晶振和電容要盡可能安裝得與單片機引腳XTALl和XTAL2靠近。XTAL1XTAL2AT89C51C1C2642022-2-10外部時鐘方式外部時鐘方式從單片機外部直接引入振蕩時鐘脈沖。振蕩時鐘脈沖從AT89C51的XTALl輸入,XTAL2應懸空

39、。XTAL1XTAL2AT89C51懸空外部時鐘652022-2-10CPU時序時序單片機的時序是指CPU在執(zhí)行指令時所需控制信號的時間順序。時序信號是以時鐘脈沖為基準產生的。CPU發(fā)出的時序信號有兩類:一類用于片內各功能部件的控制,由于這類信號在CPU內部使用,用戶無須了解;另一類信號通過單片機的引腳送到外部,用于片外存儲器或I/O端口的控制,這類時序信號對單片機系統(tǒng)的硬件設計非常重要。為了便于對CPU時序進行分析,人們按指令的執(zhí)行過程規(guī)定了幾種周期,即時鐘周期、機器周期和指令周期,也稱為時序定時單位。662022-2-10CPU時序時序時鐘周期時鐘周期也稱為振蕩周期,定義為時鐘脈沖頻率(f

40、osc)的倒數,是計算機中最基本的、最小的時間單位。對同一種機型的計算機,時鐘頻率越高,計算機的工作速度就越快,但是,由于不同的計算機硬件電路和器件不完全相同,所以其所要求的時鐘頻率范圍也不一定相同。機器周期完成一個基本操作所需要的時間稱為機器周期。AT89C51有固定的機器周期,規(guī)定一個機器周期就有12個時鐘周期,也就是說一個機器周期共包含12個振蕩脈沖,即機器周期就是振蕩脈沖的12分頻,顯然,如果使用6MHz的時鐘頻率,一個機器周期就是2s,而如果使用12MHz的時鐘頻率,一個機器周期就是1s。672022-2-10指令周期指令周期指令周期是執(zhí)行一條指令所需要的時間一般由若干個機器周期組成

41、,指令不同,所需要的機器周期數也不同。對于一些簡單的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其他的機器周期。對于一些比較復雜的指令,例如,轉移指令、乘除運算則需要兩個或兩個以上的機器周期。 682022-2-10讀外部RAM或I/O的時序圖 MOVX A, DPTR692022-2-10復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H 單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系 統(tǒng)出現(xiàn)死機時,也必須對單片機進行復位,使其重新從頭開始工作。702022-2-10當AT89C51通電,時鐘電路開始工作,在AT89

溫馨提示

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

評論

0/150

提交評論