




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、3MCS-51單片機內(nèi)部結(jié)構(gòu)和工作原理,3.1 MCS-51系列單片機內(nèi)部結(jié)構(gòu) 3.2 外部引腳功能 3.3 微處理器的組成及工作原理 3.4 存儲空間配置和功能 3.5 I/O端口結(jié)構(gòu)、工作原理及功能 3.6 時鐘和時序 3.7 復(fù)位電路、復(fù)位條件和復(fù)位后狀態(tài),3.1 80C51系列單片機內(nèi)部結(jié)構(gòu),8 位的 CPU,片內(nèi)有振蕩器和時鐘電路, 片內(nèi) 128/256字節(jié) RAM 片內(nèi) 0K/4K/8K字節(jié) 程序存儲器ROM 可尋址片外 64K字節(jié) 數(shù)據(jù)存儲器RAM 可尋址片外 64K字節(jié) 程序存儲器ROM 片內(nèi) 21/26個 特殊功能寄存器(SFR) 4個8位 的并行I/O口(PIO) 1個 全
2、雙工串行口(SIO/UART) 2/3個16位 定時器/計數(shù)器(TIMER/COUNTER) 可處理5/6個中斷源,兩級中斷優(yōu)先級 內(nèi)置1個布爾處理器和1個布爾累加器(Cy) MCS-51指令集含111條指令,MCS-51單片機基本特性,3.2 單片機的引腳定義,從一片集成電路的角度去認(rèn)識單片機,40個引腳雙排直插DIP封裝,大致可分為4類:電源、時鐘、控制和I/O引腳。,1) 電源: a) VCC - 芯片電源, 接+5V/3.3V/2.7V; b) VSS - 接地端;,2) 時鐘:XTAL1(19)、XTAL2(18) - 晶體振蕩電路反相輸入端和輸出端。,1545pf2,112MHz(
3、MCS-51) 024MHz(Atmel-89C),XTAL1,XTAL2,也可以由 XTAL2端接入外部時鐘,此時應(yīng)將 XTAL1接地:,XTAL1,XTAL2,外部時鐘,通常外接一個晶振兩個電容,常用單片機的最高時鐘頻率,3) 控制線:控制線共有4根, a) ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖 ALE功能:用來鎖存P0口送出的低8位地址 PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 b) RST/VPD:復(fù)位/備用電源。 RST(Reset)功能:復(fù)位信號輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。,單片機,鎖存器74LS3
4、73,P0.0-P0.7,ALE,PSEN,P2.0-P2.4,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,CE,EPROM,c) 單片機的引腳(PSEN端),PSEN:尋址外部程序存儲器時選通外部EPROM的 控制端(OE)低有效。,EPROM,d) EA/Vpp 內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。 EA功能:內(nèi)外ROM選擇端。 當(dāng)EA保持高電平時,先訪問內(nèi)ROM,但當(dāng)PC(程序計數(shù)器)值超過4KB(0FFFH)時,將自動轉(zhuǎn)向執(zhí)行外ROM中的程序。 當(dāng)EA保持低電平時,則只訪問外ROM,不管芯片內(nèi)有否內(nèi)ROM。對80C31芯片,片內(nèi)無ROM,因此EA必須接地。,4) I
5、/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讀選通信號輸出端。,3.3 微處理器(CPU)的組成及工作原理,3.3.1 運算器 實現(xiàn)加法和移位 算術(shù)邏輯單元ALU 累加
6、器A 通用寄存器組 暫存寄存器TMP 標(biāo)志寄存器等,1)算術(shù)邏輯單元ALU 由加法器和其它邏輯電路(移位電路和控制門) 在指令譯碼后產(chǎn)生的控制信號的控制下,完成各種算術(shù)和邏輯運算。 2)累加器A或AC(Accumulator) 作為ALU的一個操作數(shù)輸入端(被加數(shù)) 用于存放ALU的運算結(jié)果。 結(jié)構(gòu)上:并行輸入/輸出的移位寄存器 位數(shù)等于微型計算機的字長 MCS-51設(shè)置了一個累加器,位數(shù):8,3)通用寄存器(general-purpose register) 功能:暫時存儲參加運算的此之前、中間結(jié)果或地址。 4)B:寄存器 在做乘、除法時放乘數(shù)或除數(shù)。 5)暫存寄存器TMP(temporar
7、y register) 用來暫存從數(shù)據(jù)總線或通用寄存器送來的操作數(shù),并將該數(shù)據(jù)送入ALU進(jìn)行運算,也可將數(shù)據(jù)送到內(nèi)部數(shù)據(jù)總線。,6)標(biāo)志寄存器F PSW (flag register or status register) 用來編程ALU操作結(jié)果的特殊狀態(tài),每一位都可表示一種狀態(tài):進(jìn)位、溢出、結(jié)果為零、結(jié)果為奇數(shù)等。,標(biāo)志寄存器PSW,CY:進(jìn)位標(biāo)志。 例:78H+97H(01111000+10010111) AC:半進(jìn)位標(biāo)志。 例:57H+3AH(01010111+00111010) F0:用戶標(biāo)志位。 RS1、RS0:工作寄存器組選擇位。 OV:溢出標(biāo)志位。 P:奇偶校驗位,1的個數(shù)為奇數(shù)
8、置1。 例:某算結(jié)果是78H(01111000),P=0。,7)ALU進(jìn)行加法的過程 設(shè)累加器A中的數(shù)為21H,通用寄存器B中的數(shù)為43H,當(dāng)執(zhí)行加法指令A(yù)DD A,B時,寄存器B和累加器A的內(nèi)容相加,8)布爾處理機,布爾處理是MCS51單片機ALU所具有的功能。 指令系統(tǒng)的布爾指令, 存儲器中的位地址空間, 借用PSW的進(jìn)位標(biāo)志位CY為位操作的累加器。,發(fā)布操作命令的機構(gòu),是計算機的指揮中心。 任務(wù):當(dāng)計算機進(jìn)入自動計算時,逐條取出指令、分析指令、執(zhí)行指令,并為取下一條指令做好準(zhǔn)備。,3.3.2 控制器的組成及工作原理,控制器的組成,程序計數(shù)器(PC program counter) 程序是
9、指令的有序集合,計算機運行時,通常按順序執(zhí)行存放在存儲器中的程序。 程序計數(shù)器的位數(shù)決定了微處理器的所能尋址的空間。 8位: 28256字節(jié) 16位:尋址64KB范圍,1)指令部件,程序執(zhí)行和PC內(nèi)容的變化,2)時序部件,計算機的工作是周期性的取指令、分析指令、執(zhí)行指令,這一系列的操作順序都需要精確的定時。 時鐘系統(tǒng)及時序部件 1.脈沖源:用來產(chǎn)生具有一定頻率和寬度的脈沖信號。 2.脈沖分配器: 產(chǎn)生節(jié)拍和脈沖,以控制和協(xié)調(diào)計算機各部分有節(jié)奏的動作。 計算機執(zhí)行一條指令時,在這個節(jié)拍的指揮下由控制器根據(jù)具體的指令發(fā)生一系列脈沖來完成這一指令所要求的操作。 實質(zhì):環(huán)形計數(shù)器,3.4 存儲空間配置
10、和功能,80C51的存儲器配置方式與其他常用的微機系統(tǒng)不同,屬哈佛結(jié)構(gòu)(注意:什么是哈佛結(jié)構(gòu)?),它把程序存儲器和數(shù)據(jù)存儲器分開,各有自己的尋址系統(tǒng)、控制信號和功能。 程序存儲器用于存放程序和表格常數(shù); 數(shù)據(jù)存儲器用于存放程序運行數(shù)據(jù)和結(jié)果。,80C51的存儲器組織結(jié)構(gòu)可以分為三個不同的存儲空間,分別是:,64KB程序存儲器(ROM),包括片內(nèi)ROM和片外ROM;,256B內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM) (包括特殊功能寄存器) 。,64KB外部數(shù)據(jù)存儲器(外RAM);,80C51存儲空間配置圖,3.4.1 程序存儲器(ROM) 地址范圍:0000HFFFFH,共64KB。其中: 低段4KB:000
11、0H0FFFH 80C51和87C51在片內(nèi),80C31在片外。 高段60KB:1000HFFFFH。在片外。 讀寫ROM用MOVC指令,控制信號是PSEN和EA。,讀ROM是以程序計數(shù)器PC作為16位地址指針,依次讀相應(yīng)地址ROM中的指令和數(shù)據(jù),每讀一個字節(jié),PC+1PC,這是CPU自動形成的。但是有些指令有修改PC的功能,例如轉(zhuǎn)移類指令,CPU將按修改后PC的16位地址讀ROM。,讀外ROM的過程,CPU從PC(程序計數(shù)器)中取出當(dāng)前ROM的16位地址,分別由P0口(低8位)和P2口(高8位)同時輸出; ALE信號有效時由地址鎖存器鎖存低8位地址信號; 地址鎖存器輸出的低8位地址信號和P2
12、口輸出的高8位地址信號同時加到外ROM 16位地址輸入端; 當(dāng)PSEN信號有效時,外ROM將相應(yīng)地址存儲單元中的數(shù)據(jù)送至數(shù)據(jù)總線(P0口),CPU讀入后存入指定單元。,注意 64KB中有一小段范圍是80C51系統(tǒng)專用單元,0003H0023H是5個中斷源中斷服務(wù)程序入口地址,用戶不能安排其他內(nèi)容。 80C51復(fù)位后,PC=0000H CPU從地址為0000H的ROM單元中讀取指令和數(shù)據(jù)。 這3B只能用來安排一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到其他合適的地址范圍去執(zhí)行真正的主程序。,程序的入口地址,3.4.2 內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM),從廣義上講,80C51內(nèi)RAM(128B)和特殊功能寄存器(128B)均屬
13、于片內(nèi)RAM空間,讀寫指令均用MOV指令。但為加以區(qū)別,內(nèi)RAM通常指00H7FH的低128B空間。,80C51內(nèi)RAM又可分成三個物理空間:工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。,1)工作寄存器區(qū),工作寄存器區(qū)分為4個區(qū):0區(qū)、1區(qū)、2區(qū)、3區(qū)。每區(qū)有8個寄存器:R0R7,寄存器名稱相同。 當(dāng)前工作的寄存器區(qū)只能有一個,由PSW中的D4、D3位決定。,有專用于工作寄存器操作的指令,讀寫速度比一般內(nèi)RAM要快,指令字節(jié)比一般直接尋址指令要短,還具有間址功能,能給編程和應(yīng)用帶來方便。,RS1、 RS0與片內(nèi)工作寄存器組的對應(yīng)關(guān)系,2)位尋址區(qū) a) 地址: 從20H2FH共16字節(jié)(Byte,B)
14、。每Byte有8位(bit,b),共128位,每一位均有一個位地址;可按位地址對該位進(jìn)行置1、清0、求反或判轉(zhuǎn)。 b) 用途: 存放各種標(biāo)志位信息和位數(shù)據(jù)。 c) 注意事項: 位地址與字節(jié)地址編址相同,容易混淆。 區(qū)分方法:位操作指令中的地址是位地址; 字節(jié)操作指令中的地址是字節(jié)地址。,位尋址區(qū)的位地址映象表,3) 數(shù)據(jù)緩沖區(qū),內(nèi)RAM中30H7FH為數(shù)據(jù)緩沖區(qū),用于存放各種數(shù)據(jù)和中間結(jié)果,起到數(shù)據(jù)緩沖的作用。,堆棧、堆棧指針,堆棧操作:內(nèi)存RAM區(qū)專門開辟出來的按照“先進(jìn)后出”原則進(jìn)行數(shù)據(jù)存取的一種工作方式; 主要用于子程序調(diào)用及返回和中斷處理斷點的保護(hù)及返回, 它在完成子程序嵌套和多重中斷
15、處理中是必不可少的。,堆棧指針SP 用來指示堆棧所處的位置; 在進(jìn)行操作之前, 先用指令給SP賦值, 以規(guī)定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當(dāng)數(shù)據(jù)推入棧區(qū)后, SP的值也自動隨之變化。 堆棧操作分自動方式和指令方式。 自動方式是在調(diào)用子程序或發(fā)生中斷時CPU自動將斷口地址存人或者取出;指令方式是使用進(jìn)出棧指令進(jìn)行操作。 MCS - 51 系統(tǒng)復(fù)位后, SP初始化為07H。,3.4.3 特殊功能寄存器及位地址空間,特殊功能寄存器地址映象表(一),特殊功能寄存器地址映象表(二),特殊功能寄存器地址映象表(三),注:帶括號的字節(jié)地址表示每位有位地址,可位操作。,1)累加器Acc,2)寄存器B,M
16、OV A,R0 MOV A,R1 MOV A,30H ADD A,32H ADD A,#32H,MOV A,B ADD A,B,數(shù)據(jù)指針DPTR 16位,由兩個8位寄存器DPH、DPL組成。 主要用于存放一個16位地址,作為訪問外部存儲器(外RAM和ROM)的地址指針。,3) PC 不屬于特殊功能寄存器,不可訪問,物理結(jié)構(gòu)上是獨立的。 16位的地址寄存器,存放將要從ROM中讀出的下一字節(jié)指令碼的地址。 PC的基本工作方式有: a) 自動加1。CPU從ROM中每讀一個字節(jié),自動執(zhí)行。 b) 執(zhí)行轉(zhuǎn)移指令時,PC會根據(jù)該指令要求修改下一次 讀ROM新的地址; c) 執(zhí)行調(diào)用子程序或發(fā)生中斷時,CP
17、U會自動將當(dāng)前 PC值壓入堆棧,將子程序入口地址或中斷入口地址裝入PC;子程序返回或中斷返回時,恢復(fù)原有被壓入堆棧的PC值,繼續(xù)執(zhí)行原順序程序指令。,3.4.4 外部數(shù)據(jù)存儲器(外RAM),地址范圍:0000HFFFFH 共64KB。,讀寫外RAM用MOVX指令, 控制信號是P3口中的RD和WR。,一般情況下,只有在內(nèi)RAM不能滿足應(yīng)用要求時,才外接RAM。 擴展I/O接口,統(tǒng)一編址。,a) 外RAM 16位地址分別由P0口(低8位)和P2口(高8位)同時輸出; b) ALE信號有效時由地址鎖存器鎖存低8位地址信號,地址鎖存器輸出的低8位地址信號和P2口輸出的高8位地址信號同時加到外RAM 1
18、6位地址輸入端; c) 當(dāng)RD信號有效時,外RAM將相應(yīng)地址存儲單元中的數(shù)據(jù)送至數(shù)據(jù)總線(P0口),CPU讀入后存入指定單元。,讀外RAM的過程:,寫外RAM的過程:,寫外RAM的過程與讀外RAM的過程相同。只是控制 信號不同,信號換成WR信號。當(dāng)WR信號有效時, 外RAM將數(shù)據(jù)總線(P0口分時傳送)上的數(shù)據(jù)寫入相 應(yīng)地址存儲單元中。,3.5 I/O端口結(jié)構(gòu)及工作原理,有4個8位并行I/O口,共32條端線: P0、P1、P2和P3口。 每一個I/O口都能用作輸入或輸出。,用作輸入時,均須先寫入“1”; 用作輸出時,P0口應(yīng)外接上拉電阻。,P0口的負(fù)載能力為8個LSTTL門電路; P1P3口的負(fù)
19、載能力為4個LSTTL門電路。,在并行擴展外存儲器或I/O口情況下, P0口用于低8位地址總線和數(shù)據(jù)總線(分時傳送) P2口用于高8位地址總線, P3口常用于第二功能, 用戶能使用的I/O口只有P1口和未用作第二功能的部分P3口端線。,1)單片機的引腳(P0口),P0.0P0.7: 雙向I/O (內(nèi)置場效應(yīng)管上拉) 尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。,鎖存器,場效應(yīng)管,場效應(yīng)管,三態(tài)門,三態(tài)門,P0用作通用I/O時,控制=0 : a)此腳作輸入口(事先必須對它寫“1”),P0用作通用I/O時,控制=0 : b)此
20、腳作輸出口時,當(dāng)P0口用作輸出口時,因輸出級處于開漏狀態(tài),必須外接上拉電阻。,P0口用作地址/數(shù)據(jù)復(fù)用口,控制=1 c)作地址/數(shù)據(jù)輸出:輸出地址/數(shù)據(jù) =0 時,P0口用作地址/數(shù)據(jù)復(fù)用口,控制=1 d)作地址/數(shù)據(jù)輸出:輸出地址/數(shù)據(jù) =1 時,P0口用作地址/數(shù)據(jù)復(fù)用口 e)作數(shù)據(jù)輸入:,2)單片機的引腳(P1口),功能:通用輸入輸出 高8位地址總線輸出 結(jié)構(gòu)區(qū)別:多了一個輸出模擬轉(zhuǎn)換開關(guān)和反相器,3)單片機的引腳(P2口),4) 單片機的引腳(P3口),3.6 CPU時鐘和時序,1) 時鐘電路,80C51單片機內(nèi)有一高增益反相放大器,按圖連接即可構(gòu)成自激振蕩電路,振蕩頻率取決于石英晶體
21、的振蕩頻率.,2) 振蕩周期和機器周期,a) 振蕩周期或時鐘周期,80C51振蕩器產(chǎn)生的時鐘脈沖頻率的倒數(shù),是最基本最小的定時信號。又稱節(jié)拍,b)狀態(tài)周期,它是將時鐘脈沖二分頻后的脈沖信號。狀態(tài)周期是時鐘周期的兩倍。狀態(tài)周期又稱S周期。在S周期內(nèi)有兩個時鐘周期,即分為兩拍,分別稱為P1和P2,機器周期是6個狀態(tài)周期、 12個時鐘周期。 當(dāng)時鐘頻率為12MHz時,機器周期為1S; 當(dāng)時鐘頻率為6MHz時,機器周期為2S。,c) 機器周期(M周期),80C51單片機工作的基本定時單位,簡稱機周。 一個機器周期含有6個狀態(tài)周期,分別為S1、S2、S6,每個狀態(tài)周期有兩拍,分別為S1P1、S1P2、S2P1、S2P2,S6P1、S6P2,用于衡量指令或程序 執(zhí)行速度的最小單位,d) 指令周期,CPU執(zhí)行一條指令占用的時間(用機器周期表示)。80C51執(zhí)行各種指令時間是不一樣的,可分為三類: 單機周指令 雙機周指令 四機周指令。 其中單機周指令有64條,雙機周指令有45條,四機周指令只有2條(乘法和除法指令),無三機周指令。,單片機各種周期的關(guān)系圖,1個機器周期=6個狀態(tài)周
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷年高考各省語文作文范文5篇
- 旅游度假區(qū)項目風(fēng)險評估與對策
- 2025年上海奉賢區(qū)機關(guān)事業(yè)單位招聘考試筆試試題(含答案)
- 老年期課件教學(xué)課件
- 老年護(hù)理課件教學(xué)
- 老師課件導(dǎo)入方法
- 老師安全課堂課件
- 裝修工程驗收及保修個人服務(wù)合同
- 高端人才招聘標(biāo)準(zhǔn)勞動合同范本
- 車輛指標(biāo)租賃與城市交通擁堵治理協(xié)議
- AI+Agent與Agentic+AI的原理和應(yīng)用洞察與未來展望
- 事故隱患內(nèi)部報告獎勵制度
- 【艾青詩選】批注
- 2024年湖北高中學(xué)業(yè)水平合格性考試物理試卷真題(含答案詳解)
- 北京市大興區(qū)2023-2024學(xué)年八年級下學(xué)期期末歷史試題(原卷版)
- 《高分子取向結(jié)構(gòu)》PPT課件.ppt
- 旋挖樁增加鋼護(hù)筒施工補充方案
- (完整版)工程造價畢業(yè)設(shè)計.doc
- 初中物理人教版九年級上冊《 第十三章 內(nèi)能 第2節(jié) 內(nèi)能》PPT課件
- 198噸拖網(wǎng)漁船螺旋槳設(shè)計書
- 實驗二、糞便中球蟲卵囊的計數(shù)、分離和孢子化培養(yǎng)技術(shù)
評論
0/150
提交評論