單片機(jī)嵌入式系統(tǒng)原理及應(yīng)用21課件_第1頁
單片機(jī)嵌入式系統(tǒng)原理及應(yīng)用21課件_第2頁
單片機(jī)嵌入式系統(tǒng)原理及應(yīng)用21課件_第3頁
單片機(jī)嵌入式系統(tǒng)原理及應(yīng)用21課件_第4頁
單片機(jī)嵌入式系統(tǒng)原理及應(yīng)用21課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 8051單片機(jī)的結(jié)構(gòu)體系*1jiahaolai第1部分第2部分第3部分*jiahaolai2 第1部分2.1 8051單片機(jī)的主要特性2.2 8051單片機(jī)內(nèi)部結(jié)構(gòu)2.3 8051單片機(jī)的封裝和引腳2.4 8051 的微處理器*jiahaolai3*jiahaolai微處理器(Microprocessor)Arithmetic LogicUnitRegister ArraysControl UnitGP-CPUCLKRegMPUCPUMicroprocessor-based System4單片機(jī)(Microcontroller)*jiahaolai5基本部分?jǐn)U展部分2.1 8051單片

2、機(jī)的主要特性針對控制應(yīng)用而優(yōu)化的8位CPU128字節(jié)的片上數(shù)據(jù)RAM64KB的數(shù)據(jù)存儲(chǔ)器尋址空間64KB的程序存儲(chǔ)器尋址空間4KB的片上程序存儲(chǔ)器(8031無)2個(gè)16位定時(shí)器計(jì)數(shù)器32根雙向和單獨(dú)可尋址的I/O線*jiahaolai61個(gè)全雙工的UART2個(gè)優(yōu)先級的5向量中斷結(jié)構(gòu)211位可尋址空間4s乘法/除法指令片上時(shí)鐘振蕩器工作電壓4.05.5V*jiahaolai7*jiahaolai8型號片上程序存儲(chǔ)器片上數(shù)據(jù)存儲(chǔ)器定時(shí)器8031/320128B/256B2/38051/524kB/8kB ROM128B/256B2/38751/524kB/8kB EPROM128B/256B2/3

3、89C51/524kB/8kB Flash(并行編程)128B/256B2/389S51/524kB/8kB ISP Flash(串/并行編程)128B/256B2/3 表2-1 8051系列單片機(jī)的比較2.2 8051單片機(jī)內(nèi)部結(jié)構(gòu)*jiahaolai9 圖2-1 8051結(jié)構(gòu)框圖1.CPU 8051單片機(jī)中有一個(gè)8位CPU,是單片機(jī)的核心,由運(yùn)算器和控制器構(gòu)成。運(yùn)算器包括算術(shù)邏輯單元ALU、累加器ACC、寄存器B、程序狀態(tài)字PSW、十進(jìn)制調(diào)整電路等部件,實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送等操作??刂破靼ǘ〞r(shí)控制邏輯(時(shí)鐘電路、復(fù)位電路)、指令寄存器、指令譯碼器、程序計(jì)數(shù)器PC、

4、堆棧指針SP、數(shù)據(jù)指針寄存器DPTR、以及信息傳送控制等部件,其主要功能是對指令碼進(jìn)行譯碼,然后在時(shí)鐘信號作用下,使單片機(jī)的內(nèi)外電路能夠按一定的時(shí)序協(xié)調(diào)有序的工作,執(zhí)行譯碼后的指令。*jiahaolai102.內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM) 8051系列單片機(jī)內(nèi)部有128字節(jié)(8052子系列有256個(gè)字節(jié))RAM,用來存放程序在運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等。3.內(nèi)部ROM/EPROM/Flash/ISP Flash 8031無此部件;8051系列單片機(jī)片內(nèi)有4KB的掩膜ROM;8751則為4KB的EPROM;89S52為ISP(In System Program)的免

5、拔插電氣可編程8KB Flash存儲(chǔ)器,用來存放程序、原始數(shù)據(jù)或表格。如果片內(nèi)只讀存儲(chǔ)器容量不夠,則需擴(kuò)展片外只讀存儲(chǔ)器。片外只讀存儲(chǔ)器最多可擴(kuò)展至64KB。*jiahaolai114.定時(shí)器/計(jì)數(shù)器 8051系列單片機(jī)內(nèi)部有2個(gè)16位定時(shí)器/計(jì)數(shù)器T0、T1,有四種工作方式。89S52不僅有定時(shí)器T0和T1,還有定時(shí)器T2、看門狗定時(shí)器。通過編程,T0、T1還可用作13位或8位定時(shí)器。*jiahaolai125.并行口 8051單片機(jī)內(nèi)部共有四個(gè)輸入輸出口,一般稱為并行IO口,即P0、P1、P2、P3口,每個(gè)口都是8位。對于沒有程序存儲(chǔ)器的8031單片機(jī),需用P0口作為低8位地址/數(shù)據(jù)線分時(shí)

6、復(fù)用,即相當(dāng)于計(jì)算機(jī)的AD0AD7,而P2口作為高8位地址A8A15。P3口各個(gè)管腳又有不同的第二功能,例如,讀、寫控制信號等。對8051單片機(jī)而言,P1口一般可作為通用I/O口使用;對于8052單片機(jī),P1.0作為定時(shí)器T2的外部計(jì)數(shù)輸入,P1.1是定時(shí)器/計(jì)數(shù)器T2捕捉/重裝操作的控制信號;對于89SXX系列單片機(jī)P1.5、P1.6、P1.7還是Flash 串行編程操作的接口端。*jiahaolai136.串行口 8051系列單片機(jī)有一個(gè)全雙工的串行I/O口,以完成單片機(jī)和其它計(jì)算機(jī)或通信設(shè)備之間的串行數(shù)據(jù)通信,單片機(jī)只用P3口的RXD和TXD兩個(gè)管腳進(jìn)行串行通信。7.中斷系統(tǒng) 8051系

7、列單片機(jī)內(nèi)部有很強(qiáng)的中斷功能,以滿足控制應(yīng)用的需要。它共有5個(gè)中斷源,即外部中斷源2個(gè),定時(shí)器/計(jì)數(shù)器中斷源2個(gè),串行中斷源1個(gè)。*jiahaolai148.CPU內(nèi)部總線和外部總線 CPU通過內(nèi)部的8位總線與各個(gè)部件連接,并通過P0口和P2口形成內(nèi)部16位地址總線連接到內(nèi)部ROM區(qū)。從圖2-2可看到外部三總線:它是由P0口組成的數(shù)據(jù)總線DB(與低8位地址總線分時(shí)復(fù)用);由P0口和P2口組成的16位地址總線(AB)(P0口分時(shí));由 , , ALE和P3口部分管腳(讀信號及寫信號)組成的控制總線(CB)。*jiahaolai159.布爾處理器 由片內(nèi)RAM的20H2FH共16個(gè)單元的128位,

8、11個(gè)SFR中的83位組成的211位布爾處理器,可完成位運(yùn)算等任務(wù)。8052增加可尋址位SFR 1個(gè),可尋址位增加8位。*jiahaolai162.3 8051單片機(jī)的封裝和引腳2.3.1 封裝*jiahaolai17PDIPPLCCTQFPPDIP: Plastic Dual Inline PackagePLCC: Plastic Leaded Chip CarrierTQFP: Thin Quad Flat Package*jiahaolai18*jiahaolai19*jiahaolai20*jiahaolai212.3.2 引腳定義(非常重要!)VCC: PIN 40-電源正端, 為+

9、5V。VSS: PIN 20 -電源地端。*jiahaolai22RESET: PIN9-復(fù)位引腳。當(dāng)晶體振蕩器運(yùn)行時(shí),只要在這個(gè)引腳出現(xiàn)兩個(gè)機(jī)器周期的高電平, 就可以使單片機(jī)復(fù)位 。PIN9引腳內(nèi)部有下拉電阻,用戶只要在VCC和該引腳之間接電容,就可實(shí)現(xiàn)上電復(fù)位。*jiahaolai23上電復(fù)位電路上電和手動(dòng)復(fù)位電路XTAL1(PIN19)、XTAL2(PIN18): 外接晶振引腳 XTAL1: 內(nèi)部振蕩電路反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),此引腳應(yīng)接地。XTAL2: 內(nèi)部振蕩電路反相放大器的輸出端,采用外部振蕩器時(shí),該引腳接收振蕩器的信號,即把此信號直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。*

10、jiahaolai24*jiahaolai25片內(nèi)時(shí)鐘方式 Using the On-Chip Oscillator外部時(shí)鐘方式External Clock DriveC1=C2=30pF*jiahaolai26PSEN(PIN29): 外部程序存儲(chǔ)器選通使能,低電平有效。 在由外部程序存貯器取指令(或常數(shù))期間,每個(gè)機(jī)器周期兩次PSEN有效。但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存貯器時(shí),這兩次有效的PSEN 信號將不出現(xiàn)。ALE/PROG(PIN30),當(dāng)訪問外部存貯器時(shí),ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存貯器,ALE端仍以不變的頻率周期性地出現(xiàn)正脈沖信號,此頻率

11、為振蕩器頻率的1/6。因此,它可用作對外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是:每當(dāng)訪問外部數(shù)據(jù)存貯器時(shí),將跳過一個(gè)ALE脈沖。ALE端可以驅(qū)動(dòng)(吸收或輸出電流)8個(gè)LSTTL。*jiahaolai27EA/VPP(PIN31): 當(dāng)EA=1時(shí),訪問內(nèi)部程序存貯器,但在PC(程序計(jì)數(shù)器)值超過0FFFH(對8051/8751/80C51)或1FFFH(對8052)時(shí),將自動(dòng)轉(zhuǎn)向外部程序存貯器。當(dāng) EA=0時(shí),則只訪問外部程序存貯器,不管是否有內(nèi)部程序存貯器。對于8031來說,因其無內(nèi)部程序存儲(chǔ)器,所以該腳必須接地,這樣只能選擇外部程序存儲(chǔ)器。VPP為本引腳的第二功能。在對EPROM型單片機(jī)

12、8751片內(nèi)EPROM固化編程時(shí),用于施加較高編程電壓(例如21V或12V)的輸入端,對于89X51則VPP編程電壓為12V或5V。*jiahaolai288751/8051 最小系統(tǒng)*jiahaolai29*jiahaolai3089S52 最小系統(tǒng)P0.0(AD0)P0.7(AD7):PIN3932 P0口為雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。如果不用作地址/數(shù)據(jù)總線使用, P0口可作為普通I/O口使用,此時(shí),需要外接上拉電阻。*jiahaolai31P2.0(A8)-P2.7(A15)-(PIN21-PIN28)8位準(zhǔn)雙向I/O口

13、,要么作為高8位地址總線,要么作為普通I/O口。可驅(qū)動(dòng)4個(gè)LSTTL型負(fù)載。*jiahaolai32P1.0-P1.7(PIN1-PIN8):普通的I/O口89S52 第2功能*jiahaolai33*jiahaolai34P3口第二功能(Alternate Function)P3.0RXD(Serial Input Line) P3.1TXD(Serial Output Line) P3.2/INT0(External Interrupt 0) P3.3/INT1(External Interrupt 1)P3.4T0(Timer 0 External Input ) P3.5T1(Time

14、r 1 External Input ) P3.6/WR(External Data Memory Write Strobe) P3.7/RD(External Data Memory READ Strobe)2.4 8051 的微處理器8051的微處理器由運(yùn)算器和控制器構(gòu)成。運(yùn)算器:主要用來對操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、寄存器B、位處理器、程序狀態(tài)字寄存器PSW以及BCD碼修正電路等。*jiahaolai352.4.1 運(yùn)算器1.算術(shù)邏輯運(yùn)算單元ALU ALU的功能十分強(qiáng),它不僅可對8位變量進(jìn)行邏輯與、或、異或、循環(huán)、求補(bǔ)和清零等基本操作,還可

15、以進(jìn)行加、減、乘、除等基本算術(shù)運(yùn)算。ALU還具有一般微計(jì)算機(jī)ALU所不具備的功能,即位處理操作,它可對位變量進(jìn)行處理,如置位、清零、求補(bǔ)、測試轉(zhuǎn)移及邏輯與、或等操作。*jiahaolai362.累加器A 8位累加器,是CPU中使用最頻繁的一個(gè)寄存器,也可寫為ACC。 累加器的作用是: 累加器A是ALU單元的輸入之一,因而是數(shù)據(jù)處理源之一。但它又是ALU運(yùn)算結(jié)果的存放單元;CPU中的數(shù)據(jù)傳送大多都通過累加器A,故累加器A又相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。由于數(shù)據(jù)傳送大多都通過累加器A,故累加器容易產(chǎn)生“堵塞”現(xiàn)象,也即累加器結(jié)構(gòu)具有的“瓶頸”現(xiàn)象。*jiahaolai378051單片機(jī)增加了一部分可以不經(jīng)過

16、累加器的傳送指令,這樣,即可加快數(shù)據(jù)的傳送速度,又減少了累加器的“瓶頸堵塞”現(xiàn)象。累加器A的進(jìn)位標(biāo)志 Cy 是特殊的標(biāo)志位,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器。*jiahaolai383.寄存器B 寄存器B是為執(zhí)行乘法和除法操作設(shè)置的。乘法中,ALU的兩個(gè)輸入分別為A、B,運(yùn)算結(jié)果存放在BA寄存器對中。B中放乘積的高8位,A中放乘積的低8位。 除法中,被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存放于B。 在不執(zhí)行乘、除法操作的情況下,可把寄存器B當(dāng)作普通寄存器使用。*jiahaolai394.程序狀態(tài)字寄存器PSW 8051單片機(jī)的程序狀態(tài)字寄存器PSW(Program Status Word

17、),是一個(gè)8位可讀寫的寄存器,位于單片機(jī)片內(nèi)的特殊功能寄存區(qū),字節(jié)地址0D0H。*jiahaolai40 圖2-3 程序狀態(tài)字寄存器PSW位功能CY(PSW7)進(jìn)位標(biāo)志位 在執(zhí)行算術(shù)和邏輯指令時(shí),CY可以被硬件或軟件置位或清除,在位處理器中,它是位累加器。CY也寫為C。AC(PSW6)輔助進(jìn)位標(biāo)志位 當(dāng)進(jìn)行BCD碼的加法或減法操作而產(chǎn)生的由低4位數(shù)(代表一個(gè)BCD碼)向高4位進(jìn)位或借位時(shí),AC將被硬件置1,否則被清0。AC被用于十進(jìn)位調(diào)整,同DA指令結(jié)合起來用。*jiahaolai41F0(PSW.5)標(biāo)志位 它是由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用軟件置1或清0,也可由軟件來測試標(biāo)志F0以控制程

18、序的流向。編程時(shí),該標(biāo)志位特別有用。RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇控制位1和位0 這兩位用來選擇4組工作寄存器區(qū)中的哪一組為當(dāng)前工作寄存區(qū)(4組寄存器在單片機(jī)內(nèi)的RAM區(qū)中,將在本章稍后介紹),它們與4組工作寄存器區(qū)的對應(yīng)關(guān)系如表2-2所示。*jiahaolai42*jiahaolai43RS1RS0工作寄存器區(qū)000011102113表2-2 工作寄存器區(qū)選擇控制位1和位0定義OV(PSW.2)溢出標(biāo)志位,當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置1或清0,以指示運(yùn)算是否產(chǎn)生溢出。PSW.1位,該位是保留位,未用。P(PSW.0)奇偶標(biāo)志位,該標(biāo)志位用來表示累加器A中為1的位數(shù)

19、的奇偶數(shù)。 P=1,則累加器A中“1”的位數(shù)為奇數(shù)。P=0,則累加器A中“1”的位數(shù)為偶數(shù)。 奇偶標(biāo)志位對串行口通訊中的數(shù)據(jù)傳輸有重要的意義,常用奇偶檢驗(yàn)的方法來檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?jiahaolai44*jiahaolai45控制器:單片機(jī)的指揮控制部件,控制器的主要任務(wù)是識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。對單片機(jī)用戶來說,必須了解MCS-51指令執(zhí)行順序:取指譯碼執(zhí)行程序計(jì)數(shù)器(Program Counter)2.4.2 控制器*jiahaolai461. 程序計(jì)數(shù)器PC(Program Counter) 16位計(jì)數(shù)器,存放著下一條將要從程序存儲(chǔ)器中取出的指令的地址。讀指令時(shí),程序計(jì)數(shù)器將其中的數(shù)作為所取指令的地址輸出給程序存儲(chǔ)器,然后程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)程序計(jì)數(shù)器本身自動(dòng)加1,讀完本條指令,PC指向下一條指令在程序存儲(chǔ)器中的地址。程序計(jì)數(shù)器PC中內(nèi)容的變化決定程序的流程。程序計(jì)數(shù)器的寬度決定了單片機(jī)對程序存儲(chǔ)器可以直接尋址的范圍。在8051單片機(jī)中,程序計(jì)數(shù)器PC是一個(gè)16位的計(jì)數(shù)器,故可對64KB(216=65536=64K)的程序存儲(chǔ)器進(jìn)行尋址。*jiahaolai47程序計(jì)數(shù)器的基本工作方式有以下幾種: (l)程序計(jì)數(shù)器自動(dòng)加1,這是最基本的工作方式,

溫馨提示

  • 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論