版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第二章硬件結(jié)構(gòu)——2本章內(nèi)容提要2.1MCS–51單片機內(nèi)部總體結(jié)構(gòu)2.2MCS-51的微處理器2.3MCS-51存儲器的結(jié)構(gòu)2.4MCS-51單片機的引腳第2章MCS–51單片機的硬件結(jié)構(gòu)2.1MCS-51單片機的內(nèi)部總體結(jié)構(gòu)2.1.1MCS-51單片機的基本組成圖2-1
MCS-51單片機的基本組成
(內(nèi)部單總線)圖2-2MCS-51單片機內(nèi)部詳細結(jié)構(gòu)MCS-51單片機的引腳及片外總線結(jié)構(gòu)單片機的引腳
8051單片機芯片采用40引腳,雙列直插封裝(DIP)方式,引腳和邏輯符號圖2-3MCS-51單片機的引腳MCS-51單片機的引腳及片外總線結(jié)構(gòu)圖2-4MCS-51單片機的外部總線片內(nèi)各功能部件通過片內(nèi)單一總線①連接而成(見圖2-1),基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)微機結(jié)構(gòu)。CPU對各種功能部件的控制是采用特殊功能寄存器(SFR,SpecialFunctionRegister)的集中控制方式。各主要部分的作用
中央處理器(CPU)數(shù)據(jù)存儲器(內(nèi)部RAM)程序存儲器(內(nèi)部ROM)定時/計數(shù)器并行I/O口串行口時鐘電路OSC:用于產(chǎn)生單片機中最基本的時間單位。中斷系統(tǒng)(1)CPU(微處理器)
8位的CPU,與通用CPU基本相同,同樣包括了運算器和控制器兩大部分,還有面向控制的位處理功能。(2)數(shù)據(jù)存儲器(RAM)片內(nèi)為128B(52子系列為256B),片外最多可擴64KB。片內(nèi)128B的RAM以高速RAM的形式集成,可加快單片機運行的速度和降低功耗(3)程序存儲器片內(nèi)集成有4KB的程序存儲器,如片內(nèi)容量不夠,片外可外擴至64KB。(4)中斷系統(tǒng)具有5個中斷源,2級中斷優(yōu)先權(quán)。中斷處理系統(tǒng)靈活、方便,使單片機處理問題的靈活性和工作的效率大大提高。(5)定時器/計數(shù)器2個16位定時器/計數(shù)器(52子系列有3個),4種工作方式。器用于定時和對外部事件進行計數(shù)。
(6)串行口1個全雙工的異步串行口,4種工作方式??蛇M行串行通信,擴展并行I/O口,還可與多個單片機構(gòu)成多機系統(tǒng)。(7)P1口、P2口、P3口、P0口4個8位并行I/O口。每個口既可作為輸入,也可作為輸出。單片機在與外部存儲器及I/O端口設(shè)備交換信息時,必須由P0~P3口完成。(8)特殊功能寄存器(SFR)26個,對片內(nèi)各功能部件管理、控制和監(jiān)視。是各個功能部件的控制寄存器和狀態(tài)寄存器,映射在片內(nèi)RAM區(qū)80H~FFH內(nèi)2.2AT89S51的CPU由圖2-1可見,CPU由控制器和運算器構(gòu)成。2.2.1運算器對操作數(shù)進行算術(shù)、邏輯和位操作運算。主要包括算術(shù)邏輯運算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個暫存器等。1.算術(shù)邏輯運算單元ALU可對8位變量邏輯運算(與、或、異或、循環(huán)、求補和清零),還可算術(shù)運算(加、減、乘、除)ALU還有位操作功能,對位變量進行位處理,如置“1”、清“0”、求補、測試轉(zhuǎn)移及邏輯“與”、“或”等。122.累加器A使用最頻繁的寄存器,可寫為Acc。“A”與“Acc”
書寫上的差別,將在第3章介紹。作用如下:(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運算結(jié)果存放單元。(2)數(shù)據(jù)傳送大多都通過累加器A,相當于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸堵塞”問題,MCS-51增加了一部分可以不經(jīng)過累加器的傳送指令。A的進位標志Cy是特殊的,因為它同時又是位處理機的位累加器133.程序狀態(tài)字寄存器PSWPSW(ProgramStatusWord)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為D0H。包含了程序運行狀態(tài)的信息,其中4位保存當前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。格式如圖2-3所示。
14PSW中各個位的功能:(1)Cy(PSW.7)進位標志位可寫為C。在算術(shù)和邏輯運算時,若有進位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進位標志位在BCD碼運算時,用作十進位調(diào)整。即當D3位向D4位產(chǎn)生進位或借位時,Ac=1;否則,Ac=0。(3)F0(PSW.5)用戶設(shè)定標志位由用戶使用的一個狀態(tài)標志位,可用指令來使它置1或清0,控制程序的流向。用戶應(yīng)充分利用。(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當前工作寄存區(qū)見表2-2。(5)OV(PSW.2)溢出標志位 當執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。15(6)PSW.1位保留位(7)P(PSW.0)奇偶標志位
指令執(zhí)行完,累加器A中“1”的個數(shù)是奇數(shù)還是偶數(shù)。16P=1,表示A中“1”的個數(shù)為奇數(shù)。P=0,表示A中“1”的個數(shù)為偶數(shù)。此標志位對串行通信有重要的意義,常用奇偶檢驗的方法來檢驗數(shù)據(jù)串行傳輸?shù)目煽啃浴?/p>
172.2.2控制器
控制器包括:程序計數(shù)器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,接受來自程序存儲器ROM存儲單元的指令,并對其進行譯碼,通過定時和控制電路,按時序規(guī)定發(fā)出指令功能所需要的各種(內(nèi)部和外部)控制信息,使各部分協(xié)調(diào)工作,完成指令功能所需的操作。
程序計數(shù)器特點:
PC里存放的是要執(zhí)行的下一條指令的地址,其中內(nèi)容變化軌跡決定程序流程▼它是自動增1計數(shù)器,即完成了一條指令的執(zhí)行后,其內(nèi)容自動加1.▼本身沒有地址,因而不可尋址訪問。但是可以通過分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位等操作的本質(zhì)就是:改變PC值,自動將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。▼總指向下一條指令所在首地址(當前PC值)▼單片機復(fù)位時,PC中內(nèi)容為0000H,從程序存儲器0000H單元取指令,開始執(zhí)行程序。即在系統(tǒng)的ROM中一定要存在0000這個單元,并且在0000單元中一定要存放一條指令。▼
PC的計數(shù)寬度決定了程序存儲器的地址范圍。PC為16位,故可對64KB(=216B)尋址。②單片機的工作過程——CPU周而復(fù)始執(zhí)行指令的過程
一條指令的執(zhí)行過程包括取指和執(zhí)指兩個階段。指令執(zhí)行前,首先要一條指令的地址送到程序計數(shù)器PC中,然后開始執(zhí)行指令。具體過程如下:例如:執(zhí)行指令
MOVA,#05H
機器碼為:第一單元74H(指令碼);第二單元05H(數(shù)據(jù)碼)
2.4MCS-51的存儲器結(jié)構(gòu)
一般微機只有一個邏輯空間,可以隨意安排ROM或RAM。訪問存儲器時,同一地址對應(yīng)唯一的存儲空間,可以是ROM或RAM,并用同類訪問指令。
MCS-51單片機的存儲器將程序存儲器和數(shù)據(jù)存儲器分開編址,在物理和邏輯上是各自獨立的,即哈佛(Harvard)結(jié)構(gòu),兩種存儲器有自己的尋址方式和尋址空間。這種結(jié)構(gòu)對于單片機“面向控制”的實際應(yīng)用極為方便、有利。
80C51系列單片機的存儲器在物理結(jié)構(gòu)上有4個存儲空間:·片內(nèi)程序存儲器;·片外程序存儲器;·片內(nèi)數(shù)據(jù)存儲器;·片外數(shù)據(jù)存儲器。但在邏輯上,即從用戶使用的角度上,80C51系列有三個存儲空間:·片內(nèi)外統(tǒng)一編址的64KB的程序存儲器地址空間(用16位地址);·片內(nèi)數(shù)據(jù)存儲器地址空間,尋址范圍為00~FFH;·64KB片外數(shù)據(jù)存儲器地址空間。或2.4.1程序存儲器1.程序存儲器的結(jié)構(gòu)和地址分配程序存儲器用16位地址指針PC和DPTR,尋址范圍為64kB。可選擇片內(nèi)程序存儲器或片外程序存儲器。片外程序存儲器必須通過并行擴展總線擴展,同時應(yīng)將片外程序存儲器選擇引腳EA接地;選擇片內(nèi)程序存儲器時,EA接高電平。2.在程序存儲器中,以下單元具有特殊功能,這些地址不得隨意被其它程序指令占用。0000H:復(fù)位后,程序?qū)⒆詣訌?000H開始執(zhí)行。因復(fù)位時PC中內(nèi)容為0000H通常這5個中斷入口地址處都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。程序存儲器用于存放編好的程序或表格常數(shù)程序存儲器通常稱為只讀存儲器ROM,用來存放預(yù)先編寫好的程序。其尋址空間最大為64KB。但對不同型號的單片機,其片上所帶的ROM空間是不一樣的,(1)分為片內(nèi)和片外兩部分,訪問片內(nèi)的還是片外的程序存儲器,由
引腳電平確定。
=1時,CPU從片內(nèi)0000H開始取指令,當PC值沒有超出0FFFH時,只訪問片內(nèi)Flash存儲器,當PC值超出0FFFH自動轉(zhuǎn)向讀片外程序存儲器空間1000H~FFFFH內(nèi)的程序。
=0時,只能執(zhí)行片外程序存儲器(0000H~FFFFH)中的程序。不理會片內(nèi)4KBFlash存儲器。如8031,內(nèi)部無ROM,故程序存儲器必須外接,并將接地;對于內(nèi)部有ROM的8051單片機,正常運行時,該引腳則需接高電平,使CPU先從內(nèi)部ROM中讀取程序,當PC值超過內(nèi)部ROM容量時,才會轉(zhuǎn)向外部ROM讀取程序。242.4MCS-51的存儲器結(jié)構(gòu)和地址空間雖然程序存儲器和數(shù)據(jù)存儲器共用地址總線,但由于選通信號不同,即前者是用PSEN選通,后者是用WR和RD信號選通,故不會出現(xiàn)混亂。另外,對于程序存儲器保存的常數(shù)、表格等數(shù)據(jù),單片機可借助數(shù)據(jù)指針寄存器或程序計數(shù)器訪問該單元讀取數(shù)據(jù)。2.4.2數(shù)據(jù)存儲器:用于存放程序執(zhí)行的中間結(jié)果和過程數(shù)據(jù)片內(nèi)數(shù)據(jù)存儲器有RAM和SFR之分,這幾個部分的訪問指令不同。從這一點看,數(shù)據(jù)存儲器的使用比程序存儲器略微復(fù)雜點。采用C51語言編程則要簡單許多。RAM共128個單元,字節(jié)地址為00H~7FH。但現(xiàn)在有些單片機擴展了高128B(80~FFH)的內(nèi)部RAM,與特殊功能寄存器SFR的地址重疊,但單片機能依靠指令自動區(qū)分。00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)51子系列數(shù)據(jù)存儲器配置
1.片內(nèi)數(shù)據(jù)存儲器的結(jié)構(gòu)及操作片內(nèi)數(shù)據(jù)存儲器采用8位地址指針,尋址范圍為256B,分為兩部分:00H~7FH為可直接尋址和間接尋址空間;80H~FFH直接尋址的空間為SFR空間,不能作數(shù)據(jù)存儲器用。對于AT89C52/S52還有一塊只能間接尋址的地址為80H~FFH的數(shù)據(jù)存儲器。
2.低128字節(jié)RAM·通用工作寄存器區(qū)
·位尋址區(qū)
·用戶RAM區(qū)
3.高128字節(jié)用戶RAM區(qū)僅AT89S52有
4.片外數(shù)據(jù)存儲器的結(jié)構(gòu)及操作片外數(shù)據(jù)存儲器和外圍擴展電路統(tǒng)一編址,可尋址范圍為64KB。片外數(shù)據(jù)存儲器尋址空間的數(shù)據(jù)傳送使用專門的MOVX指令。片外數(shù)據(jù)存儲器只能和累加器A交換數(shù)據(jù),通過地址指針DPTR或工作寄存器Ri間接尋址。00H~1FH
的32個單元是4組通用工作寄存器區(qū),每區(qū)包含8B,為R7~R0??赏ㄟ^指令改變RS1、RS0兩位來選擇。在主程序和子程序間調(diào)用和返回時,通過對RS0和RS1的設(shè)置,方便地切換工作寄存器組。20H~2FH的16個單元的128位可位尋址,也可字節(jié)尋址。30H~7FH的單元只能字節(jié)尋址,用作存數(shù)據(jù)以及作為堆棧區(qū)共80個單元。PSW.4(RS1)
PSW.3(RS0)
當前使用的工作寄存器組R0~R7
000組(00H~07H)011組(08H~0FH)102組(10H~17H)113組(18H~1FH)2.4.3特殊功能寄存器(SFR)80C51單片機中,在片內(nèi)RAM的80H~FFH空間建立了集中的特殊功能寄存器SFR空間,通過該空間的SFR實現(xiàn)對80C51系列單片機內(nèi)部資源的運行管理操作、位地址空間的操作等。這種集中的、歸一化操作管理寄存器的模式是單片機內(nèi)部資源操作管理的重要方式。 采用SFR操作管理方式后,單片機內(nèi)各種單元電路都可按照可編程集成器件的運行管理方式,通過對SFR的讀寫來實現(xiàn)操作管理。訪問這些專用寄存器僅允許使用直接尋址的方式。與AT89C51相比,新增5個SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST。29低128字節(jié)RAM區(qū)高128字節(jié)SFR區(qū)3180C51系列的SFR80C51系列的SFR在數(shù)量與功能上大同小異,
它們離散地分布在片內(nèi)數(shù)據(jù)存儲器的高128字節(jié)地址80H~FFH中,但他們是不能作為數(shù)據(jù)存儲器使用的,所以對這些特殊功能寄存器是不能隨意寫入數(shù)字的,特別是功能部件中的控制寄存器,不同的數(shù)字將使它們具有不同的工作方式。特殊功能寄存器并未占滿80H~FFH整個地址空間,對空閑地址的操作是無意義的。若訪問到空閑地址,則讀出的是隨機數(shù)。AT89S51/S52的SFR地址分布及尋址1.訪問這些專用寄存器僅允許使用直接尋址的方式。2.對于AT89S52單片機,其片內(nèi)RAM的80H~FFH地址上有2個物理空間(見圖2-6),一個是SFR的物理空間,一個是擴展的高128字節(jié)的數(shù)據(jù)存儲器物理空間,他們所用的地址單元相同,通過不同的尋址方式區(qū)分這2個空間。3.這26/32個專用寄存器都可以字節(jié)尋址,其中有11/12個專用寄存器還具有位尋址能力,它們的字節(jié)地址正好能被8整除。(參考書中表)4.SFR的位尋址與字節(jié)尋址
80C51中可位尋址SFR的直接地址為×OH或×8H,相鄰的8個地址號依次作為相應(yīng)的8個位地址號。
例如:P1口的口地址是90H(字節(jié)地址),而位地址90H是P1.0,位地址91H是P1.1等等依次類推。
1.程序狀態(tài)字寄存器PSW
D7HD6HD5HD4HD3HD2HD1HD0HCACF0RS1RS0OV-P(1)Cy(PSW.7)進位標志位可寫為C。在算術(shù)和邏輯運算時,若有進位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助(半)進位標志位在BCD碼運算時,用作十進位調(diào)整。即當D3位向D4位產(chǎn)生進位或借位時,Ac=1;否則,Ac=0。(3)F0(PSW.5)用戶設(shè)定標志位由用戶使用的一個狀態(tài)標志位,可用指令來使它置1或清0,控制程序的流向。用戶應(yīng)充分利用。(4)RS1、RS0(PSW.4、PSW.3)當前工作寄存器組的選擇位選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當前工作寄存區(qū)見表2-2。34常用SFR的功能及應(yīng)用(5)OV(PSW.2)溢出標志位 該位表示在有符號數(shù)進行加、減運算時,是否發(fā)生了溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。(6)PSW.1位保留位(7)P(PSW.0)奇偶標志位
指令執(zhí)行完,累加器A中“1”的個數(shù)是奇數(shù)還是偶數(shù)。P=1,表示A中“1”的個數(shù)為奇數(shù)。P=0,表示A中“1”的個數(shù)為偶數(shù)。此標志位對串行通信有重要的意義,常用奇偶檢驗的方法來檢驗數(shù)據(jù)串行傳輸?shù)目煽啃浴?5
2.A—累加器,自帶有全零標志Z,A=0則Z=1;A≠0則Z=0。該標志常用于程序分支轉(zhuǎn)移的判斷條件。B—寄存器,常用于乘除法運算。
3.DPTR0和DPTR1——數(shù)據(jù)指針寄存器由于單片機可外接64KB的數(shù)據(jù)存儲器和I/O接口電路,故設(shè)置16位的數(shù)據(jù)指針DPTR(DataPointer)??蓪?4KB的外部數(shù)據(jù)存儲器和I/O進行尋址。它既可以作為一個16位的寄存器來使用,也可作為兩個8位的的寄存器DPH和DPL使用。DPTR在訪問外部數(shù)據(jù)存儲器時既可用來存放16位地址,也可作地址指針使用。也可作為訪問程序存儲器時的基址寄存器,此時是尋址程序存儲器中的表格、常數(shù)等單元,而不是尋址指令。MOVDPTR,#data16MOVX@DPTR,A。4.SP堆棧指針(StackPointer)
堆棧是在片內(nèi)RAM的128B中開辟棧區(qū),主要功能是暫時存放數(shù)據(jù)和地址,通常用來保護斷點和現(xiàn)場。堆棧指針SP始終存放著堆棧棧頂?shù)牡刂?。每存入或取出一個字節(jié)數(shù)據(jù),SP就自動加1或減1,指向新的棧頂。按先進后出的原則存取數(shù)據(jù),開機復(fù)位后,棧底地址為07H。注意:堆棧棧頂超出內(nèi)部RAM單元時,會引起程序運行出錯。對51子系列不要超出7FH,對52子系列不要超出FFH。這常常是單片機初學(xué)者和使用高級語言編程者易犯的錯誤之一?!秵纹C原理及應(yīng)用》教學(xué)課件21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(1)輸出地址/數(shù)據(jù)
=0
時1011=0導(dǎo)通截止=0Vcc用作地址/數(shù)據(jù)總線
2.5單片機的引腳(P0口)P0.0—P0.7:雙向I/O
(內(nèi)置場效應(yīng)管上拉)
尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準雙向I/O口使用?!秵纹C原理及應(yīng)用》教學(xué)課件21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(2)輸出地址/數(shù)據(jù)
=1
時1100=1截止導(dǎo)通=1Vcc用作地址/數(shù)據(jù)復(fù)用口輸出時,不必外接上拉電阻!直接通過推挽結(jié)構(gòu)輸出用作地址/數(shù)據(jù)總線
由于P0口作為地址/數(shù)據(jù)復(fù)用方式訪問外部存儲器時,CPU自動向P0口寫入FFH,使下方場效應(yīng)管截止,上方場效應(yīng)管由于控制信號為0也截止,從而保證數(shù)據(jù)信息的高阻抗(上下都截止)輸入,從外部存儲器輸入的數(shù)據(jù)信息直接由P0.x引腳通過輸入緩沖器BUF2進入內(nèi)部總線。(1)具有高阻抗輸入的I/O口應(yīng)具有高電平、低電平和高阻抗3種狀態(tài)的端口。因此,P0口作為地址/數(shù)據(jù)總線使用時是一個真正的雙向端口,簡稱雙向口。21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X3400100截止截止=0Vcc控制=0(自動)時,此腳作地址/數(shù)據(jù)復(fù)用口:(3)輸入數(shù)據(jù)時,輸入指令將使引腳與內(nèi)部總線直通21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸出口時,為漏極開路,當輸出數(shù)據(jù)=1時,須外接上拉電阻才能有高電平輸出。00100截止截止=0Vcc用作通用I/O口
21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸入口(事先必須對它寫“1”)00100截止截止=0Vcc用作通用I/O口
(2)當P0口用作通用I/O口時,由于需要在片外接上拉電阻,端口不存在高阻抗(懸?。顟B(tài),因此是一個準雙向口(本身輸出高電平不是真正的外部信號,當然對輸入信號的邏輯無影響
,但實際參數(shù)呢)。為保證引腳信號的正確讀入,應(yīng)首先向鎖存器寫1(MOVP0,#FFH)。單片機復(fù)位后,鎖存器自動被置1;當P0口由原來輸出轉(zhuǎn)變?yōu)檩斎霑r,應(yīng)先置鎖存器為1,(避免上次輸出0使引腳鉗位為低的作用)方可執(zhí)行輸入操作。雙向與準雙向,根本原則是雙向包含了高阻這個狀態(tài),而不在于是否需要先寫1或者不寫,P1~P3口因為有內(nèi)部上拉電阻,因此無論如何不是雙向;P0口內(nèi)部無上拉電阻,在處于數(shù)據(jù)/地址功能時,自動完成3態(tài)的轉(zhuǎn)換,是雙向,處于一般I/O口時,當作為輸入使用時,就將開關(guān)斷開,這樣就只剩下上拉(或者下拉)電阻,因而阻抗比較高,可以由其它設(shè)備驅(qū)動該IO口。準雙向口在做為輸入使用時,實際上還是一種輸出狀態(tài).只是該輸出狀態(tài)的內(nèi)阻比較大而已.而真正的雙向IO口,有方向控制寄存器,作為輸入使用時輸出部分被斷開.雙向口與準雙向口的區(qū)別為雙向口有高阻態(tài),輸入為真正的外部信號,準雙向口內(nèi)部有上拉,故高電平為內(nèi)部給出不是真正的外部信號!軟件做處理時都要先向口寫“1”!/view/74f33207eff9aef8941e06c0.html由其內(nèi)部結(jié)構(gòu)決定,當作輸出口時,必須外接上拉電阻。P1口的特點由于內(nèi)部上拉電阻,無高阻抗輸入狀態(tài),故為準雙向口。
同樣,P1口“讀引腳”輸入時,必須先向鎖存器寫入1。(1)P2口用作地址總線
在控制信號作用下,MUX與“地址”接通。當“地址”為0時,場效應(yīng)管導(dǎo)通,P2口引腳輸出為0;當“地址”線為1時,場效應(yīng)管截止,P2口引腳輸出1。(2)P2口用作通用I/O口
在內(nèi)部控制信號作用下,MUX與鎖存器的Q端接通。
CPU輸出1時,Q=1,場效應(yīng)管截止,P2.x引腳輸出1;CPU輸出0時,Q=0,場效應(yīng)管導(dǎo)通,P2.x引腳輸出0。P2口(內(nèi)置了上拉電阻)《單片微機原理及應(yīng)用》教學(xué)課件21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4第二功能輸出時,內(nèi)部自動D=1111反相器單片機的引腳(P3口)P3.0—P3.7:雙功能口(內(nèi)置了上拉電阻)
它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。實際應(yīng)用中,由于復(fù)位后P3口鎖存器自動置1,滿足第二功能所需的條件,所以不需任何設(shè)置工作,就可以進入第二功能操作。《單片微機原理及應(yīng)用》教學(xué)課件21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線此端自動=1引腳P3.X3內(nèi)部上拉電阻Vcc
第二功能輸入(RxD,T0,T1,INT0,INT1)4第二功能輸入時,信號經(jīng)緩沖器4直接進入內(nèi)總線1110截止《單片微機原理及應(yīng)用》教學(xué)課件P3口第二功能表引腳第二功能
P3.0RxD:
串行口接收數(shù)據(jù)輸入端P3.1TxD:
串行口發(fā)送數(shù)據(jù)輸出端P3.2INT0:
外部中斷申請輸入端0P3.3INT1:
外部中斷申請輸入端1P3.4T0:
外部計數(shù)脈沖輸入端0P3.5T1:
外部計數(shù)脈沖輸入端1P3.6WR:
寫外設(shè)控制信號輸出端P3.7RD:
讀外設(shè)控制信號輸出端2.5.5P1~P3口驅(qū)動LED發(fā)光二極管下面討論P1~P3口與LED發(fā)光二極管的驅(qū)動連接問題。P0口與P1、P2、P3口相比,P0口的驅(qū)動能力較大,每位可驅(qū)動8個LSTTL輸入,而P1、P2、P3口的每一位的驅(qū)動能力,只有P0口的一半。當P0口某位為高電平時,可提供400A的電流;當P0口某位為低電平(0.45V)時,可提供3.2mA的灌電流。如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個口要想獲得較大的驅(qū)動能力,只能用低電平輸出。53例如,使用單片機的并行口P1~P3直接驅(qū)動發(fā)光二極管,由于P1~P3內(nèi)部有30kΩ左右的上拉電阻。如高電平輸出,則強行從P1、P2和P3口輸出的電流Id會造成單片機端口的損壞如端口引腳為低電平,能使電流Id
從單片機外部流入內(nèi)部,則將大大增加流過的電流值所以,當P1~P3口驅(qū)動LED發(fā)光二極管時,應(yīng)該采用低電平驅(qū)動。(a)不恰當?shù)倪B接:高電平驅(qū)動(b)恰當?shù)倪B接:低電平驅(qū)動4個I/0端口的主要異同點
1.主要相同點1)鎖存器加引腳的典型結(jié)構(gòu)2)I/O的復(fù)用結(jié)構(gòu)
I/O端口的總線復(fù)用
I/O端口的功能復(fù)用(即將某一端口輸出信號用以不同的目的。比如在顯示器鍵盤控制器8279中,將顯示數(shù)碼管掃描線同時作為鍵盤掃描線。)3)在對雙向口作輸入操作時,一定要先向鎖存器寫“1”,然后才能正確讀入引腳狀態(tài)。
2.主要不同點1)P1~P3為準雙向口結(jié)構(gòu)2)驅(qū)動能力不同3)功能不同MCS-51單片機的引腳及片外總線結(jié)構(gòu)單片機的引腳
8051單片機芯片采用40引腳,雙列直插封裝(DIP)方式,引腳和邏輯符號圖2-3MCS-51單片機的引腳MCS-51單片機的引腳及片外總線結(jié)構(gòu)圖2-4MCS-51單片機的外部總線《單片微機原理及應(yīng)用》教學(xué)課件認識單片機的引腳MCS-51單片機40腳Vcc,GND
2XTAL1,XTAL2
2RESET
1EA/Vpp
1ALE/PROG
1PSEN
1P0.0—P0.7
8
P1.0—P1.7
8P2.0—P2.7
8
P3.0—P3.7
8《單片微機原理及應(yīng)用》教學(xué)課件單片機的引腳定義從一片集成電路的角度去認識單片機《單片微機原理及應(yīng)用》教學(xué)課件單片機的引腳(電源端)Vcc,GND:
正電源端與接地端(+5V/3.3V/2.7V)不同的單片機可以允許不同的工作電壓,不同的單片機表現(xiàn)出的功耗也不同。單片機內(nèi)部設(shè)有定時電路,只須外接振蕩元件即可工作。外接振蕩元件一般選用晶體振蕩器,或廉價的RC振蕩器,也可用外部時鐘源作振蕩元件。甚至將振蕩元件集成在單片機芯片內(nèi)部。②單片機的工作過程——CPU周而復(fù)始執(zhí)行指令的過程
一條指令的執(zhí)行過程包括取指和執(zhí)指兩個階段。指令執(zhí)行前,首先要一條指令的地址送到程序計數(shù)器PC中,然后開始執(zhí)行指令。具體過程如下:例如:執(zhí)行指令
MOVA,#05H
機器碼為:第一單元74H(指令碼);第二單元05H(數(shù)據(jù)碼)
1.單片機的工作原理:取一條指令、譯碼、進行微操作,再取一條指令、譯碼、進行微操作,這樣自動地、—步一步地由微操作按次序完成相應(yīng)指令規(guī)定的功能。單片機的時鐘信號用來為單片機芯片內(nèi)部的各種微操作提供時間基準,機器啟動后,指令的執(zhí)行順序如下圖2.10所示:
時鐘的基本概念取指分析執(zhí)行2.概念⑴時序:各指令的微操作在時間上有嚴格的次序,這種微操作的時間次序稱作時序。
⑵
時鐘電路:用于產(chǎn)生單片機工作所需要時鐘信號的電路成為時鐘電路。單片機的時鐘電路單片機時鐘電路通常有兩種形式:1.內(nèi)部振蕩方式:MCS-51單片機片內(nèi)有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。把放大器與作為反饋元件的晶體振蕩器或陶瓷諧振器連接,就構(gòu)成了內(nèi)部自激振蕩器并產(chǎn)生振蕩時鐘脈沖(如圖1.25所示)。《單片微機原理及應(yīng)用》教學(xué)課件單片機的引腳(晶振端)XTAL1(18),XTAL2(19):片內(nèi)振蕩電路輸入/輸出端利用內(nèi)部時鐘電路時,XTAL1與XTAL2之間接一晶體振蕩器,XTAL1為內(nèi)部放大電路輸入端,XTAL2為輸出端。5~30pfx2通常外接一個晶振兩個電容在XTAL1、XTAL2跨接定時元件和兩個電容就構(gòu)成了自激振蕩器。C1、C2取5~30PF,起微調(diào)和穩(wěn)定作用。晶振頻率:fosc=1.2~12MHZ 常用頻率為6、12、11.0592MHz?!秵纹C原理及應(yīng)用》教學(xué)課件XTAL1XTAL2外部時鐘外部振蕩器的信號接至XTAL2,即內(nèi)部時鐘發(fā)生器的輸入端,而內(nèi)部反相放大器的輸入端XTAL1接地,片內(nèi)振蕩電路不起作用。由于XTAL2端的邏輯電平不是TTL的,故建議外接一個上拉電阻。
常用于多塊8051同時工作,以便同步,要求信號頻率低于12MHz。而對于CHMOS型單片機XTAL1為驅(qū)動端,XTAL2懸空。2.外部振蕩方式:外部振蕩方式就是把外部已有的時鐘信號引入單片機內(nèi)。
XTAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外部時鐘源圖
內(nèi)部振蕩方式圖
外部振蕩方式返回本節(jié)3.振蕩脈沖并不直接使用,由XTAL2端送往內(nèi)部時鐘電路: 經(jīng)過2分頻,向CPU提供2相時鐘信號P1和P2; 再經(jīng)3分頻,產(chǎn)生ALE時序; 經(jīng)過12分頻,成為機器周期信號《單片微機原理及應(yīng)用》教學(xué)課件CPU總是按照一定的時鐘節(jié)拍與時序工作:振蕩周期/時鐘周期:Tc=晶振頻率fosc(或外加頻率)的倒數(shù)狀態(tài)周期:Ts=2個時鐘周期(Tc)(很少用到此概念)機器周期:Tm=6個狀態(tài)周期(Ts)=12個振蕩周期(Tc)
對應(yīng)計算機執(zhí)行一個基本操作所需的時間,如讀操作或?qū)懖僮?,或單片機訪問一次存儲器的時間。指令周期:
Ti:執(zhí)行一條指令所需的機器周期(Tm)數(shù)牢牢記住:
振蕩周期=晶振頻率fosc的倒數(shù);
1個機器周期=12個振蕩周期;
1個指令周期=1、2、4個機器周期時序的共同點:每一次ALE信號有效,CPU均從ROM中讀取指令碼(包括操作碼和操作數(shù)),但不一定有效,讀了之后再丟棄(假讀)。有效時,PC+1→PC不變(程序計數(shù)器PC不加1);無效時不變。其余時間用于執(zhí)行指令操作功能,但在時序中沒有完全反映出。如雙字節(jié)單機器周期,分別在S1、S4讀操作碼和操作數(shù),執(zhí)行指令就一定在S2、S3、S5、S6中完成?!秵纹C原理及應(yīng)用》教學(xué)課件單片機的引腳(復(fù)位端)Vcc,GND:電源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片內(nèi)振蕩電路輸入、輸出端RESET:復(fù)位端(正脈沖有效,寬度8mS)復(fù)位使單片機進入某種確定的初始狀態(tài):
▼
PC值歸零(0000H);▼各個SFR被賦予初始值
P0~P3=0FFH,Acc=0,B=0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0……▼退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進程、退出程序的死循環(huán),從頭開始(重啟)。MCS-51單片機的復(fù)位信號,高電平有效。RST/VPD引腳至少保持2個機器周期(或10ms)的高電平,才能復(fù)位。直至RST端變?yōu)榈碗娖綍r,單片機開始正常工作!1)上電自動復(fù)位接通電源瞬間電容充電產(chǎn)生正脈沖2)手動電平復(fù)位(上電+按鍵,按鍵不是瞬時的):按鍵按下時,復(fù)位端出現(xiàn)兩個電阻分壓的電平使單片機復(fù)位。(微分電路)復(fù)位按鍵按下后:RST端通過小電阻與電源VCC接通,電容器迅速放電、使RST引腳為高電平按鍵松開后:電源重新通過1K電阻對電容器充電,同上,RST引腳又逐漸降為低電平,直至復(fù)位結(jié)
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開學(xué)軍訓(xùn)感想200字(22篇)
- 采購合同管理制度
- 培訓(xùn)策劃設(shè)計管理制度
- 培訓(xùn)積分管理制度
- 中心小學(xué)陽光體育活動實施方案及應(yīng)急預(yù)案
- 學(xué)校書法興趣小組活動計劃及實施方案
- 生產(chǎn)過程中的異物控制方案
- 24秋國開《西方行政學(xué)說》形考任務(wù)1答案(第1套)
- 幼兒園安全管理工作總結(jié)
- 傳染病診斷及轉(zhuǎn)診制度
- 最新國家電網(wǎng)公司安全設(shè)施相關(guān)標準
- 印刷行業(yè)五制度
- 《6.用線畫房子課件》小學(xué)美術(shù)冀美版三年級上冊2034.ppt
- 瘋牛病檢測規(guī)范與防控
- 小學(xué)生寫字教學(xué)經(jīng)驗交流
- 玻璃、易碎品管理規(guī)程
- 公務(wù)員考核量化測評標準
- 五大領(lǐng)域認知發(fā)展
- PMS顏色對照表
- 河沙開采工藝流程
- 機井通電標準化設(shè)計(200kVA
評論
0/150
提交評論