第2章MCS51單片機(jī)硬件結(jié)構(gòu)2016_第1頁
第2章MCS51單片機(jī)硬件結(jié)構(gòu)2016_第2頁
第2章MCS51單片機(jī)硬件結(jié)構(gòu)2016_第3頁
第2章MCS51單片機(jī)硬件結(jié)構(gòu)2016_第4頁
第2章MCS51單片機(jī)硬件結(jié)構(gòu)2016_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、MCS-51系列單片機(jī)硬件結(jié)構(gòu)2016-03程序存儲器程序存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器/接口接口/接口接口內(nèi)部結(jié)構(gòu)PCRAMIO內(nèi)部總線內(nèi)部總線地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線程序存儲器程序存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器/接口接口/接口接口 MCS-51單片機(jī) 片內(nèi)有RAM,擴(kuò)展型有E2ROM 多個/,系統(tǒng)擴(kuò)展能力強(qiáng) 指令系統(tǒng)功能豐富,CPU處理功能強(qiáng) 具有布爾處理機(jī)結(jié)構(gòu),方便邏輯處理與控制 適合:實時控制,用于工業(yè)控制器、智能儀表,在工業(yè)、民用、國防裝備等各方面應(yīng)用廣泛 以MCS-51內(nèi)核,后續(xù)發(fā)展型號豐富MCS-51微控制器微控制器CPU內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 1算術(shù)邏輯運算單元ALU

2、 (8位) 算術(shù)運算,與、或、非、異或 邏輯運算、循環(huán)移位、位處理。2寄存器陣列(1)工作寄存器R0R7 (8位):暫存運算數(shù)據(jù)和中間結(jié)果。 4個工作寄存器區(qū),工作寄存器0區(qū)3區(qū)。每個區(qū)均含8個寄存器R0R7 。 用PSW中的兩位PSW.4和PSW.3來切換工作寄存器區(qū),選用一個工作寄存器區(qū)進(jìn)行讀寫操作。(2)累加器Acc(8位): 需要ALU處理的數(shù)據(jù)和計算結(jié)果多數(shù)要經(jīng)過A累加器。(3)寄存器B(8位): 與Acc配合執(zhí)行乘、除運算。也可用作通用寄存器。(4)程序狀態(tài)字PSW(8位): 存放ALU運算過程的標(biāo)志狀態(tài)Cy AC F0 RS1 RS0 OV P CY(PSW.7)進(jìn)位標(biāo)志位加/減

3、有進(jìn)位或借位時置布爾處理機(jī)中布爾(位)累加器 AC(PSW.6)輔助進(jìn)位標(biāo)志低位向高位進(jìn)位時置 F0(PSW.5) 零標(biāo)志狀態(tài)自定義 RS1,RS0(PSW.4,PSW.3) 工作寄存區(qū)選擇控制位 OV(PSW.2) 溢出標(biāo)志位計算結(jié)果超出范圍 P(PSW.0) 奇偶標(biāo)志機(jī)器內(nèi)硬件置或,中值為的位數(shù)為奇數(shù)偶數(shù)(6)堆棧指針堆棧指針SP(8位位)堆棧是按“先進(jìn)后出”原則存取數(shù)據(jù)的存儲區(qū)。MCS-51堆棧設(shè)在片內(nèi)RAM區(qū)。數(shù)據(jù)入棧/出棧時,SP自動加1/減 1,其內(nèi)容始終為棧頂?shù)刂?。?fù)位時 SP=07H。(5)數(shù)據(jù)指針數(shù)據(jù)指針DPTR(16位位):存放片外存儲器地址,作為片外存儲器存放片外存儲器地

4、址,作為片外存儲器的指針。可分成兩個的指針。可分成兩個8位寄存器位寄存器DPH、DPL使用。使用。CPU總是按PC的指示讀取程序。PC可自動加1。因此CPU執(zhí)行程序一般是順序方式。當(dāng)發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復(fù)位等操作,PC被強(qiáng)制改寫,程序執(zhí)行順序也發(fā)生改變。復(fù)位時,PC=0000H。(7)程序計數(shù)器程序計數(shù)器PC(16位位)由兩個寄存器組成,發(fā)送寄存器和接收寄存器,但共用一個地址。發(fā)送數(shù)據(jù)將數(shù)據(jù)寫入SBUF接收數(shù)據(jù)讀SBUF() 串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器SBUF 定時器/計數(shù)器16位51個定時器T0 T1 52 3個定時器T0 T1 T2 每個定時器分成獨立的兩個位寄存器T0H T0L

5、 T1H T1L T2H T2L 其它專用寄存器 MCS-51邏輯功能框圖 掌握每個功能模塊的結(jié)構(gòu)、功能、控制及使用方法MCA-51邏輯框圖8031VccVssXTAL1XTAL2RESETEAALEPSENP0P1P2P3時鐘電路 XTAL1 內(nèi)部振蕩電路的輸入端 XTAL2內(nèi)部振蕩電路的輸出端 內(nèi)時鐘/外時鐘 CPU工作的時鐘信號可以由CPU內(nèi)部的振蕩電路產(chǎn)生,也可以由外部輸入,取決于時鐘管腳的接線方式。XTAL1 單片機(jī) XTAL2 內(nèi)時鐘方式內(nèi)時鐘方式外時鐘方式外時鐘方式30pF30pF石英晶體石英晶體1.212MHz控制信號RST RST/VPD(9) 復(fù)位信號高電平有效 該管腳高電

6、平時(兩個機(jī)器周期以上),芯片內(nèi)部寄存器進(jìn)行復(fù)位,即初始化。 轉(zhuǎn)為低電平時,從單元開始執(zhí)行程序。上電自復(fù)位/手動開關(guān)復(fù)位電路ALE/PROG地址鎖存信號 當(dāng)在片外擴(kuò)展存儲器時,P0口即要作為地址信號,也要作為數(shù)據(jù)信號用。信號屬性由ALE控制信號決定。 ALE高電平0地址信號 ALE下降沿0上的地址信號保存到地址鎖存器ALE 低電平 P0數(shù)據(jù)信號無外擴(kuò)存儲器時,以/時鐘頻率輸出脈沖信號PSEN(29)片外程序存儲器讀選通 用于外擴(kuò)程序存儲器讀指令控制EA(31)片內(nèi)/片外程序存儲器選擇 低電平只使用外擴(kuò)程序存儲器 高電平先內(nèi)后外 內(nèi)外存儲器連續(xù)編號,內(nèi)小外大 E2ROM寫入程序時接21編程電壓I

7、/口 CPU輸入/輸出地址信號或數(shù)據(jù)信號的通道,共組,分別定義為P0,P1,P2,P3口。 每個口均為位,每個位占用一個管腳,具有單獨的內(nèi)部地址,可以單獨操作 每個I/口結(jié)構(gòu)上各不相同,常用功能也有差別 0口三態(tài)雙向負(fù)載個TTL門電路 1P3 準(zhǔn)三態(tài)雙向,負(fù)載 TTL門電路0口 (1)地址/數(shù)據(jù)復(fù)用 地址輸出: 控制高電平導(dǎo)通地址總線與T1,P0.x 狀態(tài)與總線狀態(tài)相同 地址輸入: 三態(tài)緩沖器輸入到內(nèi)部總線 ()()0通用通用/口口 輸出控制低電平輸出控制低電平0截止,截止,1受控,應(yīng)外接上拉電阻受控,應(yīng)外接上拉電阻 輸入先寫,輸入先寫,T1關(guān),再讀進(jìn)關(guān),再讀進(jìn) “讀修改寫”功能 有些指令,以

8、/口作為操作數(shù)來源和結(jié)果保存目的地。另一個操作數(shù)來源為寄存器P1口 輸出直接寫入 輸入先寫,再讀取P2口 高位地址/數(shù)據(jù)復(fù)用 /同P1 地址擴(kuò)展程序存儲器高位地位 擴(kuò)展數(shù)據(jù)存儲器根據(jù)指令是否占用。不占用期間可以作普通I/O使用P3口 多功能端口, 第一功能通用/口 第二功能寫,輸出特殊控制信號 P3.0 RXD(串行輸入) P3.1 TXD(串行輸出) P3.2INT0(外部中斷輸入) P3.3INT1(外部中斷輸入) P3.4T0(外部計數(shù)器) P3.5T1(外部計數(shù)器) P3.6WR(外部數(shù)據(jù)存儲器寫) P3.7RD(外部數(shù)據(jù)存儲器讀) 系統(tǒng)擴(kuò)展三總線 地址總線位P2 + P0 數(shù)據(jù)總線8

9、位P0 控制總線12位P3+2-4 MCS-51存儲器配置普林斯頓結(jié)構(gòu):程序和數(shù)據(jù)共用一個存儲器邏輯空間,統(tǒng)一編址。哈佛結(jié)構(gòu):哈佛結(jié)構(gòu):程序與數(shù)據(jù)分為兩個獨立存儲器邏輯空間,分開編址。 物理上4個存儲器地址空間:片內(nèi)/片外程序存儲器空間片內(nèi)/片外數(shù)據(jù)存儲器空間 邏輯上3個存儲器地址空間:64KB 程序存儲器256B 片內(nèi)數(shù)據(jù)存儲器64KB 片外數(shù)據(jù)存儲器 MCS-51存儲器配置存儲器配置 (一)程序存儲器程序存儲器6464KB KB 程序存儲器空間程序存儲器空間EAEA不同電平,選擇片內(nèi)或片外不同電平,選擇片內(nèi)或片外低位存儲單元低位存儲單元 (二)數(shù)據(jù)存儲器數(shù)據(jù)存儲器164KB片外數(shù)據(jù)存儲器空

10、間片外數(shù)據(jù)存儲器空間(與擴(kuò)展與擴(kuò)展I/O接口共用接口共用)2. 256B片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器: 1) 片內(nèi)片內(nèi)RAMRAM 2) 特殊功能寄存器特殊功能寄存器 SFR 特殊存儲單元:特殊存儲單元:復(fù)位入口復(fù)位入口:0000H中斷入口中斷入口:0003H0023H(二二)數(shù)據(jù)存儲器數(shù)據(jù)存儲器2. 256B片內(nèi)數(shù)據(jù)存儲器1)片內(nèi)RAM工作寄存器區(qū):字節(jié)地址:00H1FH位尋址區(qū):字節(jié)地址:20H2FH位地址為:00H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H7FH一般使用30H7FH(二二)數(shù)據(jù)存儲器數(shù)據(jù)存儲器2. 256B數(shù)據(jù)存儲器空間2)特殊功能寄存器SFR占用字節(jié)地址:80HFFH位

11、尋址寄存器: 其字節(jié)地址可被8整除。 專用寄存器:A、B、PSW、DPTR、SP I/O接口寄存器: P0、P1、P2、P3、SBUF、TMOD、TCON、SCON 專用寄存器 專用寄存器,又稱為特殊功能寄存器,即CPU中專用于某種功能的寄存器。51中共有23個,其中5個是雙字節(jié) PC DPTR 83H 82H TH0-TL0 8CH 8AH TH1-TL1 8DH 8BH TH2-TL2 0CCH 0CDH 8051/89C51共有共有21個專用寄存器,現(xiàn)把其中部分個專用寄存器,現(xiàn)把其中部分寄存器簡單介紹如下:寄存器簡單介紹如下: (1)程序計數(shù)器()程序計數(shù)器(Program Counte

12、r,PC) 16位的計數(shù)器,位的計數(shù)器, 作用:控制程序的執(zhí)行順序,其內(nèi)容為下一條要作用:控制程序的執(zhí)行順序,其內(nèi)容為下一條要執(zhí)行的指令的地址執(zhí)行的指令的地址 尋址范圍尋址范圍64KB 具有自動加具有自動加1的功能,從而實現(xiàn)程序的順序執(zhí)行的功能,從而實現(xiàn)程序的順序執(zhí)行 PC沒有地址,是不可尋址的,因此用戶無法對它沒有地址,是不可尋址的,因此用戶無法對它進(jìn)行直接的讀進(jìn)行直接的讀/寫操作,但可以通過轉(zhuǎn)移、調(diào)用、寫操作,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。 (2)累加器()累加器(Accumulator,ACC) 累累加器為加器為8位

13、寄存器,是最常用的專用寄存器位寄存器,是最常用的專用寄存器 作用:用于存放操作數(shù)以及用來存放運算的作用:用于存放操作數(shù)以及用來存放運算的中間結(jié)果。中間結(jié)果。(3)B寄存器寄存器 B寄存器也是一個寄存器也是一個8位寄存器,位寄存器,主要用于乘除運算,與主要用于乘除運算,與A配合使用。配合使用。 A X B BA A / B A .B (4)程序狀態(tài)字()程序狀態(tài)字(Program Status Word,PSW)0D0H 程序狀態(tài)字是一個程序狀態(tài)字是一個8位寄存器,用位寄存器,用于存放程序運行中的各種狀態(tài)信息。其中有些位于存放程序運行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自

14、動設(shè)置的的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。,而有些位的狀態(tài)則使用軟件方法設(shè)定。PSW的的位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令根據(jù)讀出。一些條件轉(zhuǎn)移指令根據(jù)PSW某些位的狀態(tài)某些位的狀態(tài)進(jìn)行程序轉(zhuǎn)移。進(jìn)行程序轉(zhuǎn)移。CYACF0RS1 RS0 OV-P CY(PSW.7)進(jìn)位標(biāo)志位。進(jìn)位標(biāo)志位。 其功能有二:一是存放算術(shù)運算的進(jìn)位標(biāo)志,在其功能有二:一是存放算術(shù)運算的進(jìn)位標(biāo)志,在進(jìn)行加或減運算時,如果操作結(jié)果的最高位有進(jìn)進(jìn)行加或減運算時,如果操作結(jié)果的最高位有進(jìn)位或借位時,位或借位時,

15、CY由硬件置由硬件置“1” ,否則清,否則清“0”; 二是在位操作中作累加位使用。位傳送、位與位二是在位操作中作累加位使用。位傳送、位與位等位操作,進(jìn)位標(biāo)志位是固定的操作位之一。等位操作,進(jìn)位標(biāo)志位是固定的操作位之一。 AC(PSW.6)輔助進(jìn)位標(biāo)志位。在進(jìn)行加或輔助進(jìn)位標(biāo)志位。在進(jìn)行加或減運算中,當(dāng)?shù)蜏p運算中,當(dāng)?shù)?位向高位向高4位進(jìn)位或借位時,位進(jìn)位或借位時,AC由由硬件置硬件置“1”,否則,否則AC位清位清“0”。在。在BCD碼調(diào)整碼調(diào)整中也要用到中也要用到AC位狀態(tài)。位狀態(tài)。 F0(PSW.5)用戶標(biāo)志位。這是一個供用戶用戶標(biāo)志位。這是一個供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位

16、,定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用于控制程序的轉(zhuǎn)向。用于控制程序的轉(zhuǎn)向。 RS1和和RS0(PSW.4、PSW.3)工作寄存器工作寄存器組選擇位。它們被用于選擇組選擇位。它們被用于選擇CPU當(dāng)前使用的通用當(dāng)前使用的通用寄存器組。通用寄存器共有寄存器組。通用寄存器共有4組,組, 其值由軟件設(shè)其值由軟件設(shè)置。置。工作寄存器區(qū)RS1RS0工作寄存器D在RAM中地址R0R700000H07H10 108H0FH21010H17H31118H1FH OV(PSW.2)溢出標(biāo)志位。在帶符號數(shù)加減溢出標(biāo)志位。在帶符號數(shù)加減運算中,運算中,OV=1表示加減運算超出了累加器表示加減運算超出了累加器A

17、所能所能表示的符號數(shù)有效范圍(表示的符號數(shù)有效范圍(-128+127),即產(chǎn)生),即產(chǎn)生了溢出;因此運算結(jié)果是錯誤的;了溢出;因此運算結(jié)果是錯誤的;OV=0表示運表示運算正確,即無溢出產(chǎn)生。算正確,即無溢出產(chǎn)生。 在乘法運算中,在乘法運算中,OV=1表示乘積超過表示乘積超過255,即乘積,即乘積分別在分別在B與與A中;中;OV=0表示乘積只在表示乘積只在A中。中。 在除法運算中,在除法運算中,OV=1表示除數(shù)為表示除數(shù)為0,除法不能進(jìn),除法不能進(jìn)行;行;OV=0表示除法可正常進(jìn)行。表示除法可正常進(jìn)行。 P(PSW.0)奇偶標(biāo)志位,表明累加器奇偶標(biāo)志位,表明累加器A中內(nèi)容的奇偶性。如果中內(nèi)容的奇

18、偶性。如果A中有奇數(shù)個中有奇數(shù)個“1”,則,則P置置“1”,否則置,否則置“0”。凡是改變累加。凡是改變累加器器A中內(nèi)容的指令均會影響中內(nèi)容的指令均會影響P標(biāo)志位。標(biāo)志位。 該標(biāo)志位對串行通信中的數(shù)據(jù)傳輸有重要的該標(biāo)志位對串行通信中的數(shù)據(jù)傳輸有重要的意義,在串行通信中常采用奇偶校驗的辦法意義,在串行通信中常采用奇偶校驗的辦法來校驗數(shù)據(jù)傳輸?shù)目煽啃?。來校驗?shù)據(jù)傳輸?shù)目煽啃浴?(5)堆棧指針)堆棧指針 (Stack Pointer,SP) 堆棧是一個特殊堆棧是一個特殊的存儲區(qū),用來暫存數(shù)據(jù)和地址,它是按的存儲區(qū),用來暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出先進(jìn)后出”的的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)

19、棧和出棧。原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。 由于由于MCS-51單片機(jī)的堆棧設(shè)在內(nèi)部單片機(jī)的堆棧設(shè)在內(nèi)部RAM中,因此中,因此SP是是一個一個8位寄存器。系統(tǒng)復(fù)位后,位寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為的內(nèi)容為07H,從而復(fù),從而復(fù)位后堆棧實際上是從位后堆棧實際上是從08H單元開始的,但單元開始的,但08H1FH單元單元分別屬于工作寄存器分別屬于工作寄存器13區(qū),如果程序要用到這些區(qū),最區(qū),如果程序要用到這些區(qū),最好把好把SP值改為更大的值。一般在內(nèi)部值改為更大的值。一般在內(nèi)部RAM的的30H7FH單元中開辟堆棧。單元中開辟堆棧。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來,由于跟著確定下來,由于SP可初始化為不同的值,因此,堆可初始化為不同的值,因此,堆棧位置是浮動的。棧位置是浮動的。 (6)數(shù)據(jù)指針()數(shù)據(jù)指針(DPTR) 數(shù)據(jù)指針為數(shù)據(jù)指針為16位寄存器。編程時,位寄存器。編程時,DPTR既可以按既可以按16位寄位寄存器使用,也可以按兩個存

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論