![AT89C51單片機(jī)的結(jié)構(gòu)《單片機(jī)》_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/30ef5c20-904c-4777-92df-4a58df6293e6/30ef5c20-904c-4777-92df-4a58df6293e61.gif)
![AT89C51單片機(jī)的結(jié)構(gòu)《單片機(jī)》_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/30ef5c20-904c-4777-92df-4a58df6293e6/30ef5c20-904c-4777-92df-4a58df6293e62.gif)
![AT89C51單片機(jī)的結(jié)構(gòu)《單片機(jī)》_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/30ef5c20-904c-4777-92df-4a58df6293e6/30ef5c20-904c-4777-92df-4a58df6293e63.gif)
![AT89C51單片機(jī)的結(jié)構(gòu)《單片機(jī)》_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/30ef5c20-904c-4777-92df-4a58df6293e6/30ef5c20-904c-4777-92df-4a58df6293e64.gif)
![AT89C51單片機(jī)的結(jié)構(gòu)《單片機(jī)》_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/30ef5c20-904c-4777-92df-4a58df6293e6/30ef5c20-904c-4777-92df-4a58df6293e65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-2-1012.1 AT89C51單片機(jī)的基本結(jié)構(gòu)2.2 AT89C51單片機(jī)的存儲(chǔ)器配置2.3 AT89C51的時(shí)鐘電路與CPU時(shí)序2.4 AT89C51復(fù)位與復(fù)位電路2.5 AT89C51單片機(jī)的最小系統(tǒng)22022-2-102. 1 AT89C51單片機(jī)的基本結(jié)構(gòu)單片機(jī)的基本結(jié)構(gòu)nAT89C51是具有MCS-51內(nèi)核、片內(nèi)帶有4KB的flash ROM的單片機(jī),圖2-1為AT89C51基本結(jié)構(gòu)示意圖。n從圖中可以看出,單片機(jī)有一條內(nèi)部總線,各個(gè)功能模塊都掛在這條總線上,通過內(nèi)部總線傳送數(shù)據(jù)信息和控制信息。AT89C51主要由以下部件組成。32022-2-1042022-2-1052
2、022-2-101CPUCPU是單片機(jī)的核心部分,CPU包括兩個(gè)基本部分:運(yùn)算器和控制器。(1)運(yùn)算器運(yùn)算器即算術(shù)邏輯運(yùn)算單元ALU(Arithmetic Logic Uint),是進(jìn)行算術(shù)或邏輯運(yùn)算的部件,可以對(duì)半字節(jié) (4位)和單字節(jié) (8位)數(shù)據(jù)進(jìn)行操作。例如可實(shí)現(xiàn)加、減、乘、除等算術(shù)運(yùn)算和與、或、異或、取反、移位等邏輯運(yùn)算。操作的結(jié)果一般送回累加器 ACC (Accumulator),而其狀態(tài)信息送至程序狀態(tài)寄存器PSW(Program Status Word)。(2)控制器控制器是用來控制計(jì)算機(jī)工作的部件。控制器接收來自存儲(chǔ)器的指令,進(jìn)行譯碼,并通過定時(shí)和控制電路,在規(guī)定時(shí)刻發(fā)出指令
3、所需的各種控制信息和CPU外部所需的各種控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。62022-2-102內(nèi)部數(shù)據(jù)存儲(chǔ)器2內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器AT89C51芯片內(nèi)共有256B(地址為:00HFFH)的數(shù)據(jù)存儲(chǔ)器,其中高128B(地址為:80HFFH)被專用寄存器占用,能作為寄存器供用戶使用的只是低128B(地址為:00H7FH),用于存放可讀寫的數(shù)據(jù),如程序執(zhí)行過程中的變量。72022-2-103內(nèi)部程序存儲(chǔ)器內(nèi)部程序存儲(chǔ)器AT89C51共有4KB(地址為:0000H0FFFH)的flash程序存儲(chǔ)器,用于存放程序、原始數(shù)據(jù)或表格常數(shù)。4定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器AT89C51共有兩
4、個(gè)16位的定時(shí)/計(jì)數(shù)器,每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用于對(duì)外部事件進(jìn)行計(jì)數(shù);也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)對(duì)單片機(jī)運(yùn)行的控制。82022-2-105并行并行I/O口口AT89C51共有4個(gè)8位的I/O口(P0、Pl、P2、P3)。每個(gè)8位的口,既可用作輸入口,也可用作輸出口,每個(gè)口即可以8位同步讀寫,又可對(duì)每一位進(jìn)行單獨(dú)的操作,十分的方便。6串行口串行口AT89C51單片機(jī)有一個(gè)全雙工的串行接口,以實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。92022-2-107中斷控制系統(tǒng)中斷控制系統(tǒng)AT
5、89C51單片機(jī)有較強(qiáng)的中斷系統(tǒng),可以滿足控制應(yīng)用的需要。AT89C51的中斷系統(tǒng)有5個(gè)中斷源,包括兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)中斷和一個(gè)串行口中斷。8時(shí)鐘電路時(shí)鐘電路AT89C51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。102022-2-102.1.2 AT89C51單片機(jī)的引腳功能單片機(jī)的引腳功能 AT89C51單片機(jī)采用40腳雙列直插式的DIP40封裝,還提供較小尺寸表面封裝形式的PQFP/TQFP44,其引腳排列如圖2-2所示。為使結(jié)構(gòu)更加緊湊,單片機(jī)的許多引腳具有雙重功能。112022-2-10122022-2-10132022-2-10引腳
6、功能引腳功能 4040個(gè)引腳大致可分為個(gè)引腳大致可分為4 4類:電源、時(shí)鐘、控制和類:電源、時(shí)鐘、控制和I/OI/O引腳。引腳。142022-2-10 電源電源: : V VCCCC - - 芯片電源,接芯片電源,接+5V+5V; V VSSSS - - 接地端;接地端; 時(shí)鐘時(shí)鐘: :XTAL1XTAL1、XTAL2 - XTAL2 - 晶體振蕩電路反相輸入端和輸出端。晶體振蕩電路反相輸入端和輸出端。 控制線控制線: :控制線共有控制線共有4 4根,根, ALEALE/ /PROGPROG: :地址鎖存允許地址鎖存允許/ /片內(nèi)片內(nèi)EPROMEPROM編程脈沖編程脈沖 ALEALE功能:用來
7、鎖存功能:用來鎖存P0P0口送出的低口送出的低8 8位地址位地址 PROGPROG功能:片內(nèi)有功能:片內(nèi)有EPROMEPROM的芯片,在的芯片,在EPROMEPROM編程期間,此編程期間,此引腳輸入編程脈沖。引腳輸入編程脈沖。 PSEN:PSEN:外外ROMROM讀選通信號(hào)。讀選通信號(hào)。 RSTRST/ /V VPDPD: :復(fù)位復(fù)位/ /備用電源。備用電源。 RSTRST(ResetReset)功能:復(fù)位信號(hào)輸入端。)功能:復(fù)位信號(hào)輸入端。 V VPDPD功能:在功能:在VccVcc掉電情況下,接備用電源。掉電情況下,接備用電源。 EAEA/ /VppVpp: :內(nèi)外內(nèi)外ROMROM選擇選擇
8、/ /片內(nèi)片內(nèi)EPROMEPROM編程電源。編程電源。 EAEA功能:內(nèi)外功能:內(nèi)外ROMROM選擇端。選擇端。 VppVpp功能:片內(nèi)有功能:片內(nèi)有EPROMEPROM的芯片,在的芯片,在EPROMEPROM編程期間,施加編程期間,施加編程電源編程電源VppVpp。152022-2-10 I/OI/O線線 80C5180C51共有共有4 4個(gè)個(gè)8 8位并行位并行I/OI/O端口:端口:P0P0、P1P1、P2P2、P3P3口,口,共共3232個(gè)引腳。個(gè)引腳。P3P3口還具有第二功能,用于特殊信號(hào)口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。輸入輸出和控制信號(hào)(屬控制總線)。
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:定時(shí):定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器0 0外部信號(hào)輸入端;外部信號(hào)輸入端; P3.5 P3.5 T1T1:定時(shí):定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器1 1外部信號(hào)輸入端;外部信號(hào)輸入端; P3.6 P3.6 WRWR:外:外RAMRAM寫選通信號(hào)輸出端;寫選通信號(hào)輸出端; P3.7 P
10、3.7 RDRD:外:外RAMRAM讀選通信號(hào)輸出端。讀選通信號(hào)輸出端。162022-2-10表表2-1 P3口的第二功能表口的第二功能表端口端口引腳(引腳(DIP40封裝)封裝)第二功能第二功能P3.010RXD(串行輸入口)(串行輸入口)P3.111TXD(串行輸出口)(串行輸出口)P3.212INT0(外部中斷(外部中斷0輸入)輸入)P3.313INT1(外部中斷(外部中斷1輸入)輸入)P3.414T0(定時(shí)(定時(shí)/計(jì)數(shù)器計(jì)數(shù)器0的外部計(jì)數(shù)輸入)的外部計(jì)數(shù)輸入)P3.515T1(定時(shí)(定時(shí)/計(jì)數(shù)器計(jì)數(shù)器1的外部計(jì)數(shù)輸入)的外部計(jì)數(shù)輸入)P3.616WR(外部數(shù)據(jù)存儲(chǔ)器寫脈沖輸出)(外部數(shù)
11、據(jù)存儲(chǔ)器寫脈沖輸出)P3.717RD(外部數(shù)據(jù)存儲(chǔ)器讀脈沖輸出)(外部數(shù)據(jù)存儲(chǔ)器讀脈沖輸出)172022-2-102.2 AT89C51單片機(jī)的存儲(chǔ)器配置單片機(jī)的存儲(chǔ)器配置 一般微機(jī)通常是程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,屬于“馮諾依曼”(Von Neumann)結(jié)構(gòu)。而單片機(jī)的存儲(chǔ)器組織結(jié)構(gòu)則把程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間嚴(yán)格區(qū)分開來,屬于“哈佛”(Harvard)結(jié)構(gòu)。182022-2-10AT89C51單片機(jī)存儲(chǔ)器在物理結(jié)構(gòu)上分成四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器外數(shù)據(jù)存儲(chǔ)器。從用戶使用的角度,即從邏輯上
12、考慮,則有三個(gè)存儲(chǔ)空間:片內(nèi)外統(tǒng)一編址的64KB程序存儲(chǔ)器地址空間(0000H FFFFH)、256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間 (00H FFH)及片外數(shù)據(jù)存儲(chǔ)器地址空間(0000H FFFFH)。CPU在訪問三個(gè)不同的邏輯空間時(shí),通過采用不同形式的指令,來產(chǎn)生相應(yīng)的存儲(chǔ)器選通信號(hào),訪問程序存儲(chǔ)器使用MOVC指令、訪問片內(nèi)數(shù)據(jù)存儲(chǔ)器使用MOV指令、訪問片外數(shù)據(jù)存儲(chǔ)器使用MOVX指令192022-2-10n89C51單片機(jī)內(nèi)部有4K的程序存儲(chǔ)器,0000H0FFFH;n程序從0000H開始;n有一些特殊功能的區(qū)域,如中斷入口地址。202022-2-10特殊功能特殊功能寄存器寄存器(21個(gè)個(gè)SFR
13、)內(nèi)部內(nèi)部RAM128B00H7FH80HFFH外部外部RAM(64KB)0000HFFFFHWERD外部外部ROM(60KB)EA=0/1內(nèi)部內(nèi)部ROM(4KB)EA=1外部外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH212022-2-10AT89C51程序存儲(chǔ)器配置程序存儲(chǔ)器配置222022-2-10中斷入口地址表:中斷源入口地址外部中斷00003H定時(shí)器0000BH外部中斷10013H定時(shí)器1001BH串行口0023H232022-2-10 內(nèi)部數(shù)據(jù)存儲(chǔ)器在物理上分為兩個(gè)不同的存儲(chǔ)空間:n數(shù)據(jù)存儲(chǔ)器空間(低128單元)n特殊功能寄存器空間(高128單元)。
14、 這兩個(gè)空間是相連的。從用戶角度而言,低128單元才是真正的數(shù)據(jù)存儲(chǔ)器。242022-2-10MCS51數(shù)據(jù)存儲(chǔ)器配置數(shù)據(jù)存儲(chǔ)器配置252022-2-10數(shù)據(jù)存儲(chǔ)器由RAM構(gòu)成,一旦掉電,其數(shù)據(jù)將丟失。低128B的數(shù)據(jù)存儲(chǔ)器(地址范圍:00H7FH)用于存放程序運(yùn)算的中間結(jié)果的暫存,用作緩存、堆棧等。低128B的數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)器配置如圖2-4。數(shù)據(jù)存儲(chǔ)器空間(低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)片內(nèi)片內(nèi)RAM工作寄存器區(qū):工作寄存器區(qū):字節(jié)地址:字節(jié)地址:00H1FH位尋址區(qū):位尋址區(qū):字節(jié)地址:字節(jié)地址:20H2FH位地址為:位地址為:00H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū):堆棧區(qū):字節(jié)地址:字節(jié)地址:00H7FH一般使用一般使用30H7FH282022-2-10在低128B的RAM區(qū)中,將地址00H1FH共32個(gè)單元設(shè)為工作寄存器區(qū),分為4組,每組由8個(gè)單元按序組成通用寄存器R0R7。通用寄存器R0R7不僅用于暫存中間結(jié)果,而且是CPU指令中尋址方式不可缺少的工作單元。任一時(shí)刻CPU只能選用一組工作寄存器為當(dāng)前工作寄存器。CPU復(fù)位后
16、,自動(dòng)選中第0組工作寄存器,即R0的地址為00H、R1的地址為01H、R7的地址為07H。同理當(dāng)選擇寄存器組1時(shí),R0的地址為08H??梢酝ㄟ^程序?qū)Τ绦驙顟B(tài)字PSW中的RS1、RS0位進(jìn)行設(shè)置,以實(shí)現(xiàn)工作寄存器組的切換,對(duì)應(yīng)關(guān)系如表2-2。表2-2 工作寄存器選擇RS1RS0寄存器組片內(nèi)RAM地址00第0組00H07H01第1組08H0FH10第2組10H17H11第3組18H1FH292022-2-10地址為20H2FH的16個(gè)RAM(字節(jié))單元,既可以作為一般的數(shù)據(jù)存儲(chǔ)器按字節(jié)讀寫,又可以按位存取。16個(gè)RAM單元,每個(gè)單元8位,共有128位,將每一位分配一個(gè)地址,稱為位地址,地址編碼00
17、FFH。AT89C51單片機(jī)可以對(duì)位直接進(jìn)行操作,程序中常常將一些計(jì)算或運(yùn)行中的狀態(tài)、標(biāo)記等作為位變量(布爾變量)存放在位尋址區(qū)。表2-3是位地址的分布表。由表2-3可見,字節(jié)地址和位地址都是用8位的二進(jìn)制表示,理解上容易產(chǎn)生混淆。字節(jié)地址單元的數(shù)據(jù)是8位二進(jìn)制數(shù),而位地址的數(shù)據(jù)僅是1位二進(jìn)制數(shù)。例如,字節(jié)地址2AH單元的數(shù)為0,表示位地址50H57H中8個(gè)單元的數(shù)均為0,又例如位地址28H的數(shù)為0表示字節(jié)地址25H的D0位(最低位)為0。也可以用“字節(jié)地址.位”表示位地址,例如25H.1(字節(jié)地址25H的第1位D1)等于位地址29H。302022-2-10位尋址區(qū)位尋址區(qū)nRAM中的20H2
18、FH的16個(gè)單元除了可作為一般RAM單元進(jìn)行字節(jié)尋址外,還可進(jìn)行位尋址,稱作位尋址區(qū)。n位尋址區(qū)共有16個(gè)RAM單元,合計(jì)128位,位地址為00H7FH。80C51單片機(jī)具有位處理機(jī)(又稱布爾處理機(jī))功能,位處理機(jī)的存儲(chǔ)空間就包括這個(gè)位尋址區(qū)。表2-3為位尋址區(qū)的位地址表。 312022-2-10位尋址區(qū)(20H2FH)16個(gè)字節(jié)。16*8=128位,每一位都有一個(gè)位地址,范圍為:00H7FH,位地址區(qū)也可作為一般RAM使用。位尋址區(qū)位尋址區(qū)單元地址單元地址位地址位地址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07
19、FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H08322022-2-10用戶用戶RAM區(qū)區(qū)n在30H7FH區(qū)的80個(gè)RAM單元為用戶RAM區(qū),只能按字節(jié)存取。30H7FH區(qū)是真正的數(shù)據(jù)緩沖區(qū)。由于工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪問,這三個(gè)區(qū)的單元既有自己獨(dú)特的功能,又可統(tǒng)一調(diào)度使用。因此,前兩區(qū)未使用的單元也可用為一般的用戶RAM單元,使容量較小的片內(nèi)RAM得以充分利用。程序設(shè)計(jì)時(shí),將中間的計(jì)算結(jié)果,作為變量存放在該區(qū)域。n對(duì)這部分區(qū)域的使用不作任何規(guī)定和限制,但應(yīng)當(dāng)說明的是,堆棧一般開辟在此區(qū)。 332022-2-10*關(guān)于
20、堆棧n堆棧:是一個(gè)特殊的存儲(chǔ)區(qū)域;n特點(diǎn):“后進(jìn)先出”。n單片機(jī)的堆棧是地址增加型,即壓入數(shù)據(jù)時(shí)地址指針增加。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內(nèi)部RAM的高128
21、單元是給特殊寄存器使用的,因此稱之為專用寄存器區(qū),其單元地址為80HFFH。因?yàn)檫@些寄存器的功能已作專門規(guī)定,所以稱其為專用寄存器或特殊功能寄存器(Special Function Registers)。特殊功能寄存器的總數(shù)為21個(gè),僅占用了80HFFH中的很小一部分。表中給出了這些特殊功能寄存器的符號(hào)、名稱和地址等。 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特殊功能寄存器符號(hào)極其分布表 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ū)分和表達(dá)402022-2-10n21個(gè)特殊功能寄存器是不連讀地分散在內(nèi)部RAM的高128單
24、元之中,盡管其中還有許多空閑地址,但用戶不能使用。n程序計(jì)數(shù)器PC是獨(dú)立于SFR之外的唯一的一個(gè)不可尋址的專用寄存器。PC不占RAM單元,在物理上是獨(dú)立存在的。它不包括在21個(gè)特殊功能寄存器中。n在21個(gè)特殊功能寄存器中,有11個(gè)寄存器不僅可以字節(jié)尋址,也可以進(jìn)行位尋址。凡是能進(jìn)行位尋址的SFR,其特征是字節(jié)地址都能被8整除(字節(jié)地址的末位是0或8)。nIP中有3位、IE中有2位、PSW中有一位對(duì)用戶無實(shí)際意義,所以直接尋址位為82位;再加上數(shù)據(jù)存儲(chǔ)器中的128位,89C51共計(jì)有210位可尋址位。 412022-2-10(1)程序計(jì)數(shù)器PCnPC是一個(gè)16位的計(jì)數(shù)器。其內(nèi)容為將要執(zhí)行的指令地
25、址,尋址范圍達(dá)64KB。PC有自動(dòng)加1功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的(但在物理上是存在的),因此用戶無法對(duì)它進(jìn)行讀寫;但可以通過轉(zhuǎn)移、調(diào)用返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。 422022-2-10(2)累加器An累加器A為8位寄存器,是最常用的專用寄存器,功能較多。它既可用于存放操作數(shù),也可用來存放中間結(jié)果。89C51單片機(jī)中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。加、減、乘、除運(yùn)算指令的運(yùn)算結(jié)果都存放在累加器A或AB寄存器對(duì)中。 432022-2-10(3)B寄存器nB寄存器是一個(gè)8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)
26、算時(shí),B是乘數(shù)。乘法操作后,乘積的高8位存于B中。除法運(yùn)算時(shí),B存放除數(shù)。除法操作后,余數(shù)存于B中。此外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。 442022-2-10(4) 程序狀態(tài)字程序狀態(tài)字PSW(PROGRAM STATUS WORD)n程序狀態(tài)字PSW是一個(gè)8位寄存器,用于存放程序運(yùn)行的狀態(tài)信息。其中,有些位的狀態(tài)是程序執(zhí)行的結(jié)果,是由硬件自動(dòng)置位的;而有些位的狀態(tài)則采用軟件的方法來設(shè)定。PSW的位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令會(huì)根據(jù)PSW有關(guān)位的狀態(tài)進(jìn)行程序轉(zhuǎn)移。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):進(jìn)位標(biāo)志位:進(jìn)位標(biāo)志位CY是PSW中最常用的標(biāo)志位,其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志;二是在位操作中作累加位使用。位傳送、位與、位或操作,操作數(shù)之一為進(jìn)位標(biāo)志位。nAC(PSW.6):輔助進(jìn)位位:輔助進(jìn)位位當(dāng)進(jìn)行加法或減法操作而產(chǎn)生由低4位向高4位的進(jìn)位或借位時(shí),由硬件將AC置1;否則就被清除。AC還用于十進(jìn)制調(diào)整,同DA A 指令結(jié)合起來使用。 472022-2-10nF0(PSW.5):用戶標(biāo)志位:用戶標(biāo)志位它是
28、用戶定義的一個(gè)狀態(tài)標(biāo)記,可以用軟件來使它置位或清除,也可用軟件測試F0以控制程序的流向。nRS1、RS0(PSW.4,PSW.3):當(dāng)前寄存器區(qū)選擇位用軟件來置位或清除,以選擇和確定當(dāng)前工作寄存器區(qū)。 482022-2-10nOV(PSW.2)溢出標(biāo)志位溢出標(biāo)志位 在帶符號(hào)數(shù)運(yùn)算中,OV1,表示加減運(yùn)算結(jié)果超出了累加器所能表示的符號(hào)數(shù)的有效范圍(128127),即產(chǎn)生了溢出,因此運(yùn)算結(jié)果是錯(cuò)誤的;否則OV0,運(yùn)算結(jié)果正確,無溢出。 在乘法運(yùn)行中,OV1,表示乘積超過255,即乘積分別放在B與A中;否則OV0,表示乘積只放在中。 在除法運(yùn)行中,OV1,表示除數(shù)為0,除法不能進(jìn)行;否則,OV0,表
29、示除數(shù)不為0,除法可正常進(jìn)行。492022-2-10n(PSW.0):奇偶位):奇偶位每個(gè)指令周期都由硬件來置位或清除,以表示累加器中1的個(gè)數(shù)的奇偶性。P1,則累加器中1的個(gè)數(shù)為奇數(shù);若P=0,則累加器中1的個(gè)數(shù)為偶數(shù)。在串行通訊中用于校驗(yàn)數(shù)據(jù)的正確性。502022-2-10(5)棧指針棧指針SP棧指針SP是一個(gè)8位專用寄存器。它指示出堆棧頂部在內(nèi)部數(shù)據(jù)存儲(chǔ)器中的位置。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧向上由08H單元開始??紤]到08H1FH單元屬于工作寄存器區(qū),若程序設(shè)計(jì)中要用到這些區(qū),最好把SP的值置為1FH或更大一些,一般將堆棧開辟在30H7FH區(qū)域中。SP的值越小,堆棧深度就越深
30、,但最大為128字節(jié)。 512022-2-10nSP的值除了可以用軟件直接改變外(MOV SP, #DATA),在執(zhí)行堆棧操作,程序調(diào)用、子程序返回及中斷返回等指令時(shí),SP的值自動(dòng)增量或減量。堆棧操作指令為:PUSH ACC (壓入堆棧)POP ACC (彈出堆棧) 522022-2-10(6)數(shù)據(jù)指針DPTRn數(shù)據(jù)指針DPTR是唯一1個(gè)16位的可尋址的專用寄存器;n由兩個(gè)8位寄存器DPH和DPL拼裝而成,其中DPH為DPTR的高8位,DPL為DPTR的低8位。它既可作為一個(gè)16位寄存器來使用,也可作為2個(gè)獨(dú)立的8位寄存器(DPH和DPL)來使用。n DPTR通常用來存放16位地址。既可訪問外
31、部RAM,也可訪問ROM。例如:nMOVDPTR,#2000HnMOVX A,PPTR ;將外RAM2000H單元內(nèi)容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é)尋址,也可以位尋址,使用起來較方便。有關(guān)P0P3的詳細(xì)情況,在后續(xù)內(nèi)容中介紹。 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 報(bào)警燈D1 220V AC12 100D2 12一個(gè)單片機(jī)的簡單應(yīng)用系統(tǒng)一個(gè)單片機(jī)的簡單應(yīng)用系統(tǒng)552022-2-10特
33、殊功能寄存器P0P3分別是I/O端口P0P3的鎖存器。AT89C51單片機(jī)是把I/O當(dāng)作一般的特殊功能寄存器使用,不專設(shè)端口操作指令,使用方便。當(dāng)I/O端口某一位用于輸入信號(hào)(讀端口)時(shí),對(duì)應(yīng)的鎖存器必須先置1。例如在例1-1中P32作為輸入端口,在判斷P32狀態(tài)前必須先將P32置1。P32=1;/P32作為輸入端口必須先置1if (P32= =0)/P32是低電平?如果S1按下,P32為低P20=1;/S1按下,則P20輸出高電平,報(bào)警燈亮else/如果S1沒有按下P20=0; /則P20輸出低電平,報(bào)警燈滅562022-2-10(8)串行數(shù)據(jù)緩沖器SBUFn串行數(shù)據(jù)緩沖器SBUF用于存放欲
34、發(fā)送或接收的數(shù)據(jù),它實(shí)際上由兩個(gè)獨(dú)立的寄存器組成,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器。當(dāng)要發(fā)送的數(shù)據(jù)傳送到SBUF時(shí),進(jìn)入的是發(fā)送緩沖器,當(dāng)要從SBUF取數(shù)據(jù)時(shí),則取自接收緩沖器,取走的是剛接收到的數(shù)據(jù)。 572022-2-10(9)定時(shí)器/計(jì)數(shù)器n80C51單片機(jī)有兩個(gè)16位定時(shí)器/計(jì)數(shù)器T0和T1,它們分別由兩個(gè)獨(dú)立的8位寄存器組成,共有4個(gè)獨(dú)立的寄存器:TH0,TL0,TH1,TL1,可對(duì)這4個(gè)寄存器尋址,但不能把T0和T1當(dāng)成16位寄存器來訪問。 582022-2-10(10) 其它控制寄存器nIP、IE、TMOD、TCON、SCON和PCON寄存器分別包含有中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器
35、、串行口和供電方式的控制和狀態(tài)位,這些寄存器將在以后內(nèi)容中介紹。 592022-2-10外部數(shù)據(jù)存儲(chǔ)器又稱外部RAM,當(dāng)片內(nèi)RAM的容量不能滿足要求時(shí),可通過總線端口和其他I/O口擴(kuò)展外部數(shù)據(jù)RAM,其最大容量可達(dá)64K字節(jié)。外部數(shù)據(jù)存儲(chǔ)器和內(nèi)部數(shù)據(jù)存儲(chǔ)器的功能基本相同,但外部數(shù)據(jù)存儲(chǔ)器不能用于堆棧操作,對(duì)外部外部數(shù)據(jù)存儲(chǔ)器的訪問只能使用間接尋址方式。602022-2-10特殊功能特殊功能寄存器寄存器(21個(gè)個(gè)SFR)內(nèi)部內(nèi)部RAM128B00H7FH80HFFH外部外部RAM(64KB)0000HFFFFHWERD外部外部ROM(60KB)EA=0/1內(nèi)部內(nèi)部ROM(4KB)EA=1外部外部
36、ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH612022-2-10AT89C52相當(dāng)于MCS-51單片機(jī)中的52子系列,與51子系列的AT89C51相比,片內(nèi)的程序存儲(chǔ)器flash ROM增加到了8KB,片內(nèi)的數(shù)據(jù)存儲(chǔ)器增加了128B。AT89C52的存儲(chǔ)器結(jié)構(gòu)如圖2-7所示。 外部外部ROM(56KB)EA=0/1內(nèi)部內(nèi)部ROM(8KB)EA=1外部外部ROM(8KB)EA=0PSEN0000H1FFFH2000HFFFFH特殊功能寄存器(27個(gè)SFR)內(nèi)部RAM低128B00H7FH80HFFH內(nèi)部RAM高128B內(nèi)部數(shù)據(jù)存儲(chǔ)器 內(nèi)、外程序存儲(chǔ)器 622022-
37、2-1089C51的片內(nèi)集成有一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器(128B)。當(dāng)然,還可以根據(jù)需要對(duì)存儲(chǔ)器進(jìn)行外部擴(kuò)展。n從物理上分,89C51的存儲(chǔ)器有4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。n從邏輯上分,89C51有3個(gè)存儲(chǔ)器地址空間:片內(nèi)外統(tǒng)一的64KB的程序存儲(chǔ)器地址空間、256B的內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間(其中128B的專用寄存器地址空間,僅有部分字節(jié)有實(shí)際意義)和64KB的外部數(shù)據(jù)存儲(chǔ)器地址空間。n為了區(qū)分不同的存儲(chǔ)器空間,在用指令訪問這三個(gè)不同的邏輯空間時(shí)采用了不同形式的指令。632022-2-10晶體振蕩器時(shí)鐘方式晶體振蕩器時(shí)鐘方式利用芯片內(nèi)部
38、的振蕩器,然后在引腳XTALl和XTAL2兩端跨接晶體振蕩器(簡稱晶振),就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路。外接晶振通常為石英晶體振蕩器或振蕩器。使用石英晶體振蕩器時(shí),Cl和C2的值為30pF左右;使用陶瓷振蕩器時(shí),Cl和C2的值為40pF左右;選用晶振的頻率也就是單片機(jī)的時(shí)鐘頻率,AT89C51最高時(shí)鐘頻率可達(dá)到24MHz。晶振和電容要盡可能安裝得與單片機(jī)引腳XTALl和XTAL2靠近。XTAL1XTAL2AT89C51C1C2642022-2-10外部時(shí)鐘方式外部時(shí)鐘方式從單片機(jī)外部直接引入振蕩時(shí)鐘脈沖。振蕩時(shí)鐘脈沖從AT89C51的XTALl輸入,XTAL2應(yīng)懸空
39、。XTAL1XTAL2AT89C51懸空外部時(shí)鐘652022-2-10CPU時(shí)序時(shí)序單片機(jī)的時(shí)序是指CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。時(shí)序信號(hào)是以時(shí)鐘脈沖為基準(zhǔn)產(chǎn)生的。CPU發(fā)出的時(shí)序信號(hào)有兩類:一類用于片內(nèi)各功能部件的控制,由于這類信號(hào)在CPU內(nèi)部使用,用戶無須了解;另一類信號(hào)通過單片機(jī)的引腳送到外部,用于片外存儲(chǔ)器或I/O端口的控制,這類時(shí)序信號(hào)對(duì)單片機(jī)系統(tǒng)的硬件設(shè)計(jì)非常重要。為了便于對(duì)CPU時(shí)序進(jìn)行分析,人們按指令的執(zhí)行過程規(guī)定了幾種周期,即時(shí)鐘周期、機(jī)器周期和指令周期,也稱為時(shí)序定時(shí)單位。662022-2-10CPU時(shí)序時(shí)序時(shí)鐘周期時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖頻率(f
40、osc)的倒數(shù),是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。對(duì)同一種機(jī)型的計(jì)算機(jī),時(shí)鐘頻率越高,計(jì)算機(jī)的工作速度就越快,但是,由于不同的計(jì)算機(jī)硬件電路和器件不完全相同,所以其所要求的時(shí)鐘頻率范圍也不一定相同。機(jī)器周期完成一個(gè)基本操作所需要的時(shí)間稱為機(jī)器周期。AT89C51有固定的機(jī)器周期,規(guī)定一個(gè)機(jī)器周期就有12個(gè)時(shí)鐘周期,也就是說一個(gè)機(jī)器周期共包含12個(gè)振蕩脈沖,即機(jī)器周期就是振蕩脈沖的12分頻,顯然,如果使用6MHz的時(shí)鐘頻率,一個(gè)機(jī)器周期就是2s,而如果使用12MHz的時(shí)鐘頻率,一個(gè)機(jī)器周期就是1s。672022-2-10指令周期指令周期指令周期是執(zhí)行一條指令所需要的時(shí)間一般由若干個(gè)機(jī)器周期組成
41、,指令不同,所需要的機(jī)器周期數(shù)也不同。對(duì)于一些簡單的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其他的機(jī)器周期。對(duì)于一些比較復(fù)雜的指令,例如,轉(zhuǎn)移指令、乘除運(yùn)算則需要兩個(gè)或兩個(gè)以上的機(jī)器周期。 682022-2-10讀外部RAM或I/O的時(shí)序圖 MOVX A, DPTR692022-2-10復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H 單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系 統(tǒng)出現(xiàn)死機(jī)時(shí),也必須對(duì)單片機(jī)進(jìn)行復(fù)位,使其重新從頭開始工作。702022-2-10當(dāng)AT89C51通電,時(shí)鐘電路開始工作,在AT89
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國緊湊型真空干燥箱行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球高純渦輪分子泵行業(yè)調(diào)研及趨勢分析報(bào)告
- 自治物業(yè)管理合同
- 工廠員工勞動(dòng)合同范本
- 展柜采購合同
- 農(nóng)場承包合同協(xié)議書
- 建筑工程合同的簡述
- 杭州市二手房買賣合同
- 砌體施工勞務(wù)合同
- 2025抵押擔(dān)保借款合同
- 醫(yī)院課件:《食源性疾病知識(shí)培訓(xùn)》
- 浙教版七年級(jí)數(shù)學(xué)下冊單元測試題及參考答案
- 華為人才發(fā)展與運(yùn)營管理
- 卓有成效的管理者讀后感3000字
- 七年級(jí)下冊-備戰(zhàn)2024年中考?xì)v史總復(fù)習(xí)核心考點(diǎn)與重難點(diǎn)練習(xí)(統(tǒng)部編版)
- 巖土工程勘察服務(wù)投標(biāo)方案(技術(shù)方案)
- 實(shí)驗(yàn)室儀器設(shè)備驗(yàn)收單
- 新修訂藥品GMP中藥飲片附錄解讀課件
- 蒙特利爾認(rèn)知評(píng)估量表北京版
- 領(lǐng)導(dǎo)干部個(gè)人有關(guān)事項(xiàng)報(bào)告表(模板)
- GB/T 7631.18-2017潤滑劑、工業(yè)用油和有關(guān)產(chǎn)品(L類)的分類第18部分:Y組(其他應(yīng)用)
評(píng)論
0/150
提交評(píng)論