版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023/2/51第2章AT89C51單片機的結(jié)構(gòu)22023/2/5第2章AT89C51單片機的結(jié)構(gòu)2.1AT89C51單片機的基本結(jié)構(gòu) 2.2AT89C51單片機的存儲器配置 2.3AT89C51的時鐘電路與CPU時序2.4AT89C51復(fù)位與復(fù)位電路 2.5AT89C51單片機的最小系統(tǒng)32023/2/52.1AT89C51單片機的基本結(jié)構(gòu)AT89C51是具有MCS-51內(nèi)核、片內(nèi)帶有4KB的flashROM的單片機,圖2-1為AT89C51基本結(jié)構(gòu)示意圖。從圖中可以看出,單片機有一條內(nèi)部總線,各個功能模塊都掛在這條總線上,通過內(nèi)部總線傳送數(shù)據(jù)信息和控制信息。AT89C51主要由以下部件組成。42023/2/5AT89C51單片機基本結(jié)構(gòu)示意圖52023/2/562023/2/5AT89C51主要組成部件1.CPUCPU是單片機的核心部分,CPU包括兩個基本部分:運算器和控制器。(1)運算器運算器即算術(shù)邏輯運算單元ALU(ArithmeticLogicUint),是進行算術(shù)或邏輯運算的部件??蓪崿F(xiàn)算術(shù)運算和邏輯運算。操作的結(jié)果一般送回累加器ACC(Accumulator),而其狀態(tài)信息送至程序狀態(tài)寄存器PSW(ProgramStatusWord)。(2)控制器控制器是用來控制計算機工作的部件。控制器接收來自存儲器的指令,使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。72023/2/52.內(nèi)部數(shù)據(jù)存儲器AT89C51芯片內(nèi)共有256B(地址為:00H~FFH)的數(shù)據(jù)存儲器,其中高128B(地址為:80H~FFH)被專用寄存器占用,能作為寄存器供用戶使用的只是低128B(地址為:00H~7FH),用于存放可讀寫的數(shù)據(jù),如程序執(zhí)行過程中的變量。82023/2/53.內(nèi)部程序存儲器AT89C51共有4KB(地址為:0000H~0FFFH)的flash程序存儲器,用于存放程序、原始數(shù)據(jù)或表格常數(shù)。4.定時/計數(shù)器AT89C51共有兩個16位的定時/計數(shù)器,每個定時/計數(shù)器都可以設(shè)置成計數(shù)方式,用于對外部事件進行計數(shù);也可以設(shè)置成定時方式,并可以根據(jù)計數(shù)或定時的結(jié)果實現(xiàn)對單片機運行的控制。92023/2/55.并行I/O口AT89C51共有4個8位的I/O口(P0、Pl、P2、P3)。每個8位的口,既可用作輸入口,也可用作輸出口,每個口即可以8位同步讀寫,又可對每一位進行單獨的操作,十分的方便。6.串行口AT89C51單片機有一個全雙工的串行接口,以實現(xiàn)單片機和其他設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。102023/2/57.中斷控制系統(tǒng)AT89C51單片機有較強的中斷系統(tǒng),可以滿足控制應(yīng)用的需要。AT89C51的中斷系統(tǒng)有5個中斷源,包括兩個外中斷、兩個定時/計數(shù)中斷和一個串行口中斷。8.時鐘電路AT89C51芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列。112023/2/52.1.2AT89C51單片機的引腳功能AT89C51單片機采用40腳雙列直插式的DIP40封裝,還提供較小尺寸表面封裝形式的PQFP/TQFP44,其引腳排列如圖2-2所示。為使結(jié)構(gòu)更加緊湊,單片機的許多引腳具有雙重功能。122023/2/5AT89C51采用DIP40封裝132023/2/5AT89C51采用PQFP/TQFP44封裝142023/2/5引腳功能
40個引腳大致可分為4類:電源、時鐘、控制和I/O引腳。152023/2/5⒈電源:⑴VCC-芯片電源,接+5V;⑵VSS-接地端;⒉時鐘:XTAL1、XTAL2-晶體振蕩電路反相輸入端和輸出端。⒊控制線:控制線共有4根,⑴ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖
ALE功能:用來鎖存P0口送出的低8位地址
PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。⑵PSEN:外ROM讀選通信號。⑶RST/VPD:復(fù)位/備用電源。
RST(Reset)功能:復(fù)位信號輸入端。
VPD功能:在Vcc掉電情況下,接備用電源。⑷EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。
EA功能:內(nèi)外ROM選擇端。
Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。162023/2/5⒋
I/O線
80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。P3.0——
RXD:串行口輸入端;P3.1——
TXD:串行口輸出端;P3.2——
INT0:外部中斷0請求輸入端;P3.3——
INT1:外部中斷1請求輸入端;P3.4——
T0:定時/計數(shù)器0外部信號輸入端;P3.5——
T1:定時/計數(shù)器1外部信號輸入端;P3.6——
WR:外RAM寫選通信號輸出端;P3.7——
RD:外RAM讀選通信號輸出端。172023/2/5P3口的第二功能表表2-1P3口的第二功能表端口引腳(DIP40封裝)第二功能P3.010RXD(串行輸入口)P3.111TXD(串行輸出口)P3.212INT0(外部中斷0輸入)P3.313INT1(外部中斷1輸入)P3.414T0(定時/計數(shù)器0的外部計數(shù)輸入)P3.515T1(定時/計數(shù)器1的外部計數(shù)輸入)P3.616WR(外部數(shù)據(jù)存儲器寫脈沖輸出)P3.717RD(外部數(shù)據(jù)存儲器讀脈沖輸出)182023/2/52.2AT89C51單片機的存儲器配置
一般微機通常是程序和數(shù)據(jù)共用一個存儲空間,屬于“馮.諾依曼”(VonNeumann)結(jié)構(gòu)。而單片機的存儲器組織結(jié)構(gòu)則把程序存儲空間和數(shù)據(jù)存儲空間嚴格區(qū)分開來,屬于“哈佛”(Harvard)結(jié)構(gòu)。192023/2/52.2AT89C51單片機的存儲器配置AT89C51單片機存儲器在物理結(jié)構(gòu)上分成四個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。從用戶使用的角度,即從邏輯上考慮,則有三個存儲空間:片內(nèi)外統(tǒng)一編址的64KB程序存儲器地址空間(0000H~FFFFH)、256B的片內(nèi)數(shù)據(jù)存儲器地址空間(00H~FFH)及片外數(shù)據(jù)存儲器地址空間(0000H~FFFFH)。CPU在訪問三個不同的邏輯空間時,通過采用不同形式的指令,來產(chǎn)生相應(yīng)的存儲器選通信號,訪問程序存儲器使用MOVC指令、訪問片內(nèi)數(shù)據(jù)存儲器使用MOV指令、訪問片外數(shù)據(jù)存儲器使用MOVX指令202023/2/5程序存儲器89C51單片機內(nèi)部有4K的程序存儲器,0000H~0FFFH;程序從0000H開始;有一些特殊功能的區(qū)域,如中斷入口地址。212023/2/5特殊功能寄存器(21個SFR)內(nèi)部RAM128B00H7FH80HFFH外部RAM(64KB)0000HFFFFHWERD外部ROM(60KB)EA=0/1內(nèi)部ROM(4KB)EA=1外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH222023/2/5AT89C51程序存儲器配置232023/2/5中斷入口地址表:中斷源入口地址外部中斷00003H定時器0000BH外部中斷10013H定時器1001BH串行口0023H242023/2/5數(shù)據(jù)存儲器
內(nèi)部數(shù)據(jù)存儲器在物理上分為兩個不同的存儲空間:數(shù)據(jù)存儲器空間(低128單元)特殊功能寄存器空間(高128單元)。這兩個空間是相連的。從用戶角度而言,低128單元才是真正的數(shù)據(jù)存儲器。252023/2/5MCS51數(shù)據(jù)存儲器配置262023/2/5AT89C51低128B的片內(nèi)數(shù)據(jù)存儲器數(shù)據(jù)存儲器由RAM構(gòu)成,一旦掉電,其數(shù)據(jù)將丟失。低128B的數(shù)據(jù)存儲器(地址范圍:00H~7FH)用于存放程序運算的中間結(jié)果的暫存,用作緩存、堆棧等。低128B的數(shù)據(jù)存儲器的存儲器配置如圖2-4。數(shù)據(jù)存儲器空間(低128單元)按功能劃分為:通用寄存器區(qū)位尋址區(qū)用戶區(qū)272023/2/5AT89C51低128B的片內(nèi)數(shù)據(jù)存儲器用戶RAM區(qū)工作寄存器區(qū)位尋址區(qū)00H2FH30H7FH1FH20H工作寄存器3區(qū)工作寄存器2區(qū)工作寄存器1區(qū)工作寄存器0區(qū)07H00H08H0FH10H17H18H1FH282023/2/51)片內(nèi)RAM工作寄存器區(qū):字節(jié)地址:00H~1FH位尋址區(qū):字節(jié)地址:20H~2FH位地址為:00H~7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H~7FH一般使用30H~7FH292023/2/5工作寄存器區(qū)
將地址00H~1FH共32個單元設(shè)為工作寄存器區(qū),分為4組,每組由8個單元按序組成通用寄存器R0~R7。任一時刻CPU只能選用一組工作寄存器為當(dāng)前工作寄存器。CPU復(fù)位后,自動選中第0組工作寄存器。通過程序?qū)Τ绦驙顟B(tài)字PSW中的RS1、RS0位進行設(shè)置,以實現(xiàn)工作寄存器組的切換,對應(yīng)關(guān)系如表2-2。表2-2工作寄存器選擇RS1RS0寄存器組片內(nèi)RAM地址00第0組00H~07H01第1組08H~0FH10第2組10H~17H11第3組18H~1FH302023/2/5位尋址區(qū)
地址為20H~2FH的16個RAM(字節(jié))單元,既可以作為一般的數(shù)據(jù)存儲器按字節(jié)讀寫,又可以按位存取。
16個RAM單元,每個單元8位,共有128位,將每一位分配一個地址,稱為位地址,地址編碼00~7FH。表2-3是位地址的分布表。字節(jié)地址和位地址都是用8位的二進制表示,理解上容易產(chǎn)生混淆。字節(jié)地址單元的數(shù)據(jù)(內(nèi)容)是8位二進制數(shù),而位地址的數(shù)據(jù)(內(nèi)容)是1位二進制數(shù)。例如,字節(jié)地址2AH單元的數(shù)為0,表示位地址50H~57H中8個單元的數(shù)均為0,又例如位地址28H的數(shù)為0表示字節(jié)地址25H的D0位(最低位)為0。也可以用“字節(jié)地址.位”表示位地址,例如25H.1(字節(jié)地址25H的第1位D1)等于位地址29H。312023/2/5位尋址區(qū)(20H—2FH)16個字節(jié)。16*8=128位,每一位都有一個位地址,范圍為:00H—7FH,位地址區(qū)也可作為一般RAM使用。位尋址區(qū)322023/2/5用戶RAM區(qū)在30H~7FH區(qū)的80個RAM單元為用戶RAM區(qū),只能按字節(jié)存取。30H~7FH區(qū)是真正的數(shù)據(jù)緩沖區(qū)。由于工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪問,這三個區(qū)的單元既有自己獨特的功能,又可統(tǒng)一調(diào)度使用。因此,前兩區(qū)未使用的單元也可用為一般的用戶RAM單元,使容量較小的片內(nèi)RAM得以充分利用。程序設(shè)計時,將中間的計算結(jié)果,作為變量存放在該區(qū)域。對這部分區(qū)域的使用不作任何規(guī)定和限制,但應(yīng)當(dāng)說明的是,堆棧一般開辟在此區(qū)。332023/2/5*關(guān)于堆棧堆棧:是一個特殊的存儲區(qū)域;特點:“后進先出”。單片機的堆棧是地址增加型,即壓入數(shù)據(jù)時地址指針增加。堆站的操作有 壓入:PUSH
彈出:POP342023/2/5堆棧操作示意圖352023/2/5362023/2/5AT89C51的特殊功能寄存器SFR(高128單元)內(nèi)部RAM的高128單元是給特殊寄存器使用的,因此稱之為專用寄存器區(qū),其單元地址為80H~FFH。因為這些寄存器的功能已作專門規(guī)定,所以稱其為專用寄存器或特殊功能寄存器(SpecialFunctionRegisters)。特殊功能寄存器的總數(shù)為21個,僅占用了80H~FFH中的很小一部分。表中給出了這些特殊功能寄存器的符號、名稱和地址等。372023/2/5特殊功能寄存器SFR占用字節(jié)地址:80H~FFH位尋址寄存器:其字節(jié)地址可被8整除。專用寄存器:A、B、PSW、DPTR、SPI/O接口寄存器:
P0、P1、P2、P3、SBUF、TMOD、TCON、SCON…382023/2/5表2-4特殊功能寄存器SFR地址表寄存器位地址及位名稱字節(jié)地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HACCE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HCyACF0RS1RS0OVF1PIPBFHBEHBDHBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0IEAFHAEHADHACHABHAAHA9HA8HA8HEAESET1EX1ET0EX0特殊功能寄存器符號極其分布表392023/2/5P2A7HA6HA5HA4HA3HA2HA1HA0HA0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SBUF99HSCON9FH9EH9DH9CH9BH9AH99H98H98HSM0SM1SM2RENTB8RB8TIRIP197H96H95H94H93H92H91H90H90HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0TH18DHTH08CHTL18BHTL08AHTMODGATEC/TM1M0GATEC/TM1M089HTCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0PCONSMODGF1GF0PDIDL87HDPH83HDPL82HSP81HP087H86H85H84H83H82H81H80H80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0402023/2/521個特殊功能寄存器是不連讀地分散在內(nèi)部RAM的高128單元之中,盡管其中還有許多空閑地址,但用戶不能使用。程序計數(shù)器PC是獨立于SFR之外的唯一的一個不可尋址的專用寄存器。PC不占RAM單元,在物理上是獨立存在的。它不包括在21個特殊功能寄存器中。在21個特殊功能寄存器中,有11個寄存器不僅可以字節(jié)尋址,也可以進行位尋址。凡是能進行位尋址的SFR,其特征是字節(jié)地址都能被8整除(字節(jié)地址的末位是0或8)。IP中有3位、IE中有2位、PSW中有一位對用戶無實際意義,所以直接尋址位為82位;再加上數(shù)據(jù)存儲器中的128位,89C51共計有210位可尋址位。412023/2/5(1)程序計數(shù)器PCPC是一個16位的計數(shù)器。其內(nèi)容為將要執(zhí)行的指令地址,尋址范圍達64KB。PC有自動加1功能,從而實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的(但在物理上是存在的),因此用戶無法對它進行讀寫;但可以通過轉(zhuǎn)移、調(diào)用返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。422023/2/5(2) 累加器A累加器A為8位寄存器,是最常用的專用寄存器,功能較多。它既可用于存放操作數(shù),也可用來存放中間結(jié)果。89C51單片機中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。加、減、乘、除運算指令的運算結(jié)果都存放在累加器A或B寄存器中。432023/2/5(3) B寄存器B寄存器是一個8位寄存器,主要用于乘除運算。乘法運算時,B是乘數(shù)。乘法操作后,乘積的高8位存于B中。除法運算時,B存放除數(shù)。除法操作后,余數(shù)存于B中。此外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。442023/2/5(4)程序狀態(tài)字PSW(PROGRAMSTATUSWORD)程序狀態(tài)字PSW是一個8位寄存器,用于存放程序運行的狀態(tài)信息。其中,有些位的狀態(tài)是程序執(zhí)行的結(jié)果,是由硬件自動置位的;而有些位的狀態(tài)則采用軟件的方法來設(shè)定。PSW的位狀態(tài)可以用專門指令進行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令會根據(jù)PSW有關(guān)位的狀態(tài)進行程序轉(zhuǎn)移。PSW的各位含義如圖所示。其中PSW.1為保留位,未用。452023/2/5程序狀態(tài)字PSW表2-5程序狀態(tài)字寄存器PSW各位名稱及地址位D7D6D5D4D3D2D1D0位地址D7HD6HD5HD4HD3HD2HD1HD0H名稱CYACF0RS1RS0OVF1P462023/2/5CY(PSW.7):進位標志位
CY是PSW中最常用的標志位,其功能有二:一是存放算術(shù)運算的進位標志;二是在位操作中作累加位使用。位傳送、位與、位或操作,操作數(shù)之一為進位標志位。AC(PSW.6):輔助進位位 當(dāng)進行加法或減法操作而產(chǎn)生由低4位向高4位的進位或借位時,由硬件將AC置1;否則就被清除。AC還用于十進制調(diào)整,同DAA指令結(jié)合起來使用。472023/2/5F0(PSW.5):用戶標志位 它是用戶定義的一個狀態(tài)標記,可以用軟件來使它置位或清除,也可用軟件測試F0以控制程序的流向。RS1、RS0(PSW.4,PSW.3):當(dāng)前寄存器區(qū)選擇位 用軟件來置位或清除,以選擇和確定當(dāng)前工作寄存器區(qū)。
482023/2/5OV(PSW.2)溢出標志位①在帶符號數(shù)運算中,OV=1,表示加減運算結(jié)果超出了累加器A所能表示的符號數(shù)的有效范圍(–128~+127),即產(chǎn)生了溢出,因此運算結(jié)果是錯誤的;否則OV=0,運算結(jié)果正確,無溢出。②在乘法運行中,OV=1,表示乘積超過255,即乘積分別放在B與A中;否則OV=0,表示乘積只放在A中。③在除法運行中,OV=1,表示除數(shù)為0,除法不能進行;否則,OV=0,除數(shù)不為0,除法可正常進行。492023/2/5P(PSW.0):奇偶位
每個指令周期都由硬件來置位或清除,以表示累加器A中1的個數(shù)的奇偶性。P=1,則累加器A中1的個數(shù)為奇數(shù);若P=0,則累加器A中1的個數(shù)為偶數(shù)。在串行通訊中用于校驗數(shù)據(jù)的正確性。502023/2/5(5) 堆棧指針SP
堆棧指針SP是一個8位專用寄存器。它指示出堆棧頂部在內(nèi)部數(shù)據(jù)存儲器中的位置。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧向上由08H單元開始。考慮到08H~1FH單元屬于工作寄存器區(qū),若程序設(shè)計中要用到這些區(qū),最好把SP的值置為1FH或更大一些,一般將堆棧開辟在30H~7FH區(qū)域中。SP的值越小,堆棧深度就越深,但最大為128字節(jié)。512023/2/5SP的值除了可以用軟件直接改變外(MOVSP,#DATA),在執(zhí)行堆棧操作,程序調(diào)用、子程序返回及中斷返回等指令時,SP的值自動增量或減量。堆棧操作指令為:
PUSH ACC(壓入堆棧)
POP ACC(彈出堆棧)522023/2/5(6) 數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR是唯一1個16位的可尋址的專用寄存器;由兩個8位寄存器DPH和DPL拼裝而成,其中DPH為DPTR的高8位,DPL為DPTR的低8位。它既可作為一個16位寄存器來使用,也可作為2個獨立的8位寄存器(DPH和DPL)來使用。
DPTR通常用來存放16位地址。既可訪問外部RAM,也可訪問ROM。例如:
MOV DPTR, #2000H MOVX A, @PPTR
;將外RAM2000H單元內(nèi)容→A MOVC A, @A+DPTR
;訪問ROM指令532023/2/5(7) 端口P0~P3專用寄存器P0、P1、P2和P3分別是I/O口P0~P3的鎖存器。在80C51中,I/O和RAM統(tǒng)一編址,既可以字節(jié)尋址,也可以位尋址,使用起來較方便。 有關(guān)P0~P3的詳細情況,在后續(xù)內(nèi)容中介紹。542023/2/5(8) 串行數(shù)據(jù)緩沖器SBUF串行數(shù)據(jù)緩沖器SBUF用于存放欲發(fā)送或接收的數(shù)據(jù),它實際上由兩個獨立的寄存器組成,一個是發(fā)送緩沖器,另一個是接收緩沖器。當(dāng)要發(fā)送的數(shù)據(jù)傳送到SBUF時,進入的是發(fā)送緩沖器,當(dāng)要從SBUF取數(shù)據(jù)時,則取自接收緩沖器,取走的是剛接收到的數(shù)據(jù)。552023/2/5(9) 定時器/計數(shù)器80C51單片機有兩個16位定時器/計數(shù)器T0和T1,它們分別由兩個獨立的8位寄存器組成,共有4個獨立的寄存器:TH0,TL0,TH1,TL1,可對這4個寄存器尋址,但不能把T0和T1當(dāng)成16位寄存器來訪問。562023/2/5(10) 其它控制寄存器IP、IE、TMOD、TCON、SCON和PCON寄存器分別包含有中斷系統(tǒng)、定時器/計數(shù)器、串行口和供電方式的控制和狀態(tài)位,這些寄存器將在以后內(nèi)容中介紹。572023/2/5AT89C51的片外數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器又稱外部RAM,當(dāng)片內(nèi)RAM的容量不能滿足要求時,可通過總線端口和其他I/O口擴展外部數(shù)據(jù)RAM,其最大容量可達64K字節(jié)。外部數(shù)據(jù)存儲器和內(nèi)部數(shù)據(jù)存儲器的功能基本相同,但外部數(shù)據(jù)存儲器不能用于堆棧操作,對外部外部數(shù)據(jù)存儲器的訪問只能使用間接尋址方式。582023/2/5特殊功能寄存器(21個SFR)內(nèi)部RAM128B00H7FH80HFFH外部RAM(64KB)0000HFFFFHWERD外部ROM(60KB)EA=0/1內(nèi)部ROM(4KB)EA=1外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH592023/2/5AT89C52的存儲器配置AT89C52相當(dāng)于MCS-51單片機中的52子系列,與51子系列的AT89C51相比,片內(nèi)的程序存儲器flashROM增加到了8KB,片內(nèi)的數(shù)據(jù)存儲器增加了128B。AT89C52的存儲器結(jié)構(gòu)如圖2-7所示。外部ROM(56KB)EA=0/1內(nèi)部ROM(8KB)EA=1外部ROM(8KB)EA=0PSEN0000H1FFFH2000HFFFFH特殊功能寄存器(27個SFR)內(nèi)部RAM低128B00H7FH80HFFH內(nèi)部RAM高128B內(nèi)部數(shù)據(jù)存儲器內(nèi)、外程序存儲器602023/2/589C51的存儲器配置小結(jié)AT89C51的片內(nèi)集成有一定容量的程序存儲器(4K)和數(shù)據(jù)存儲器(128B)。當(dāng)然,還可以根據(jù)需要對存儲器進行外部擴展。從物理上分,89C51的存儲器有4個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。從邏輯上分,89C51有3個存儲器地址空間:片內(nèi)外統(tǒng)一的64KB的程序存儲器地址空間、256B的內(nèi)部數(shù)據(jù)存儲器地址空間(其中128B的專用寄存器地址空間,僅有部分字節(jié)有實際意義)和64KB的外部數(shù)據(jù)存儲器地址空間。為了區(qū)分不同的存儲器空間,在用指令訪問這三個不同的邏輯空間時采用了不同形式的指令。612023/2/52.3AT89C51的時鐘電路與CPU時序晶體振蕩器時鐘方式利用芯片內(nèi)部的振蕩器,然后在引腳XTALl和XTAL2兩端跨接晶體振蕩器(簡稱晶振),就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時鐘電路。外接晶振通常為石英晶體振蕩器或振蕩器。使用石英晶體振蕩器時,Cl和C2的值為30pF左右;使用陶瓷振蕩器時,Cl和C2的值為40pF左右;選用晶振的頻率也就是單片機的時鐘頻率,AT89C51最高時鐘頻率可達到24MHz。晶振和電容要盡可能安裝得與單片機引腳XTALl和XTAL2靠近。XTAL1XTAL2AT89C51C1C2622023/2/52.3AT89C51的時鐘電路與CPU時序外部時鐘方式 從單片機外部直接引入振蕩時鐘脈沖。振蕩時鐘脈沖從AT89C51的XTALl輸入,XTAL2應(yīng)懸空。XTAL1XTAL2AT89C51懸空外部時鐘632023/2/5CPU時序單片機的時序是指CPU在執(zhí)行指令時所需控制信號的時間順序。時序信號是以時鐘脈沖為基準產(chǎn)生的。CPU發(fā)出的時序信號有兩類:一類用于片內(nèi)各功能部件的控制,由于這類信號在CPU內(nèi)部使用,用戶無須了解;另一類信號通過單片機的引腳送到外部,用于片外存儲器或I/O端口的控制,這類時序信號對單片機系統(tǒng)的硬件設(shè)計非常重要。為了便于對CPU時序進行分析,人們按指令的執(zhí)行過程規(guī)定了幾種周期,即時鐘周期、機器周期和指令周期,也稱為時序定時單位。642023/2/5CPU時序時鐘周期時鐘周期也稱為振蕩周期,定義為時鐘脈沖頻率(fosc)的倒數(shù),是計算機中最基本的、最小的時間單位。機器周期完成一個基本操作所需要的時間稱為機器周期。AT89C51有固定的機器周期,規(guī)定一個機器周期就有12個時鐘周期,也就是說一個機器周期共包含12個振蕩脈沖,即機器周期就是振蕩脈沖的12分頻。如果使用6MHz的時鐘頻率,一個機器周期就是2μs,而如果使用12MHz的時鐘頻率,一個機器周期就是1μs。652023/2/5指令周期指令周期是執(zhí)行一條指令所需要的時間一般由若干個機器周期組成,指令不同,所需要的機器周期數(shù)也不同。對于一些簡單的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其他的機器周期。對于一些比較復(fù)雜的指令,例如,轉(zhuǎn)移指令、乘除運算則需要兩個或兩個以上的機器周期。662023/2/5讀外部RAM或I/O的時序圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程施工合同當(dāng)中的質(zhì)量檢驗標準約定
- 《薄層層析柱層析》課件
- 2025年臨汾貨物運輸駕駛員從業(yè)資格考試系統(tǒng)
- 2025年漢中道路貨運駕駛員從業(yè)資格證考試
- 《行政許可范圍制度》課件
- 住宅小區(qū)施工備案委托協(xié)議
- 排水系統(tǒng)工程合同協(xié)議書范本
- 長期購銷合同變更問題
- 花卉園藝設(shè)備租賃合同
- 舞臺表演音響租賃合同范本
- 《富馬酸盧帕他定口崩片關(guān)鍵質(zhì)量屬性與標準研究》
- 走近非遺 課件 2024-2025學(xué)年湘美版(2024)初中美術(shù)七年級上冊
- 新生兒壞死性小腸結(jié)腸炎臨床診療指南解讀 課件
- 網(wǎng)絡(luò)數(shù)據(jù)安全管理條例
- 2024版2024年【人教版】二年級上冊《道德與法治》全冊教案
- 2024年浙江省單獨招生文化考試語文試卷(含答案詳解)
- 山東省泰安市2024屆高三上學(xué)期期末數(shù)學(xué)試題(含答案解析)
- 少兒編程獲獎?wù)n件
- 2024年《風(fēng)力發(fā)電原理》基礎(chǔ)技能及理論知識考試題庫與答案
- 軟件開發(fā)項目監(jiān)理細則
- (必會)軍隊文職(藥學(xué))近年考試真題題庫(含答案解析)
評論
0/150
提交評論