版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章AT89C51單片機(jī)單片機(jī)的硬件結(jié)構(gòu)2.1AT89C51單片機(jī)的硬件組成片內(nèi)硬件結(jié)構(gòu)如圖2-1所示:片內(nèi)功能部件如下:(1)微處理器(CPU);(2)數(shù)據(jù)存儲器(RAM);(3)程序存儲器(4KBFlashROM);(4)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口);(5)1個(gè)全雙工串行口;(6)2個(gè)16位定時(shí)器/計(jì)數(shù)器;(7)中斷系統(tǒng);(8)特殊功能寄存器(SFR)。圖2-1AT89C51單片機(jī)片內(nèi)結(jié)構(gòu)
上述各功能部件通過片內(nèi)單一總線連接而成(見圖2-1),其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)微型計(jì)算機(jī)結(jié)構(gòu)模式。
CPU對各種功能部件的控制是采用特殊功能寄存器(SpecialFunctionRegister,SFR)的集中控制方式。對圖2-1所示的片內(nèi)各部件做一簡單介紹:1.CPU(微處理器)包括了運(yùn)算器和控制器兩大部分,只是增加了面向控制的位處理功能。2.數(shù)據(jù)存儲器(RAM)片內(nèi)為128個(gè)字節(jié)(52子系列的為256個(gè)字節(jié))用于存放可讀寫的數(shù)據(jù)。如運(yùn)算的中間結(jié)果和最終結(jié)果等。3.程序存儲器(ROM/EPROM)存放程序及原始數(shù)據(jù)和表格。
8031:無此部件;
8051:4K字節(jié)ROM;
8751:4K字節(jié)EPROM;
89C51/89C52/89C55:4K/8K/20K字節(jié)閃存。4.中斷系統(tǒng)(具有2個(gè)優(yōu)先級和5個(gè)中斷源結(jié)構(gòu))增強(qiáng)型為6個(gè)。5.定時(shí)器/計(jì)數(shù)器6.串行口
1個(gè)全雙工的異步串行口,具有四種工作方式。7.4個(gè)并行8位I/O口
P1口、P2口、P3口、P0口8.特殊功能寄存器(SFR)共有21個(gè),是一個(gè)具有特殊功能的RAM區(qū)。實(shí)際上是片內(nèi)各個(gè)功能部件的控制寄存器和狀態(tài)寄存器。映射在片內(nèi)RAM區(qū)80H~FFH的區(qū)間內(nèi)。
2.2AT89C51單片機(jī)的引腳介紹
40只引腳雙列直插封裝(DIP)。
圖2-2AT89C51單片機(jī)雙列直插封裝方式的引腳40只引腳按功能分為3類:(1)電源及時(shí)鐘引腳:Vcc、Vss;XTAL1、XTAL2。(2)控制引腳:
PSEN*、EA*、ALE、RESET(即RST)。(3)I/O口引腳:P0、P1、P2、P3,為4個(gè)8位I/O口的外部引腳。2.2.1電源及時(shí)鐘引腳
1.電源引腳
(1)Vcc(40腳):+5V電源;(2)Vss(20腳):接地。2.時(shí)鐘引腳(1)XTAL1(19腳):接外部晶體,如果采用外接振蕩器時(shí),振蕩器的輸出應(yīng)接到此引腳上。(2)XTAL2(18腳):接外部晶體的另一端或采用外接振蕩器時(shí)懸空。2.2.2控制引腳
提供控制信號,有的引腳還具有復(fù)用功能。
(1)RST/VPD(9腳):復(fù)位與備用電源。
(2)EA*/VPP(EnableAddress/VoltagePulseofProgRam-ing,31腳)EA*:為內(nèi)外程序存儲器選擇控制端。
EA*=1,訪問片內(nèi)程序存儲器,但在PC(程序計(jì)數(shù)器)值超
過0FFFH(對于8051、8751)時(shí),即超出片內(nèi)程序存儲器的4K字節(jié)地址范圍時(shí),將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。
EA*=0,單片機(jī)則只訪問外部程序存儲器。
VPP:本引腳的第二功能。用于施加編程電壓(例如+21V或+12V)。對AT89C51,加在VPP腳的編程電壓為+12V或+5V。(3)ALE/PROG*(30腳):第一功能:ALE為地址鎖存允許,可驅(qū)動8個(gè)LS型TTL負(fù)載。第二功能:PROG*為編程脈沖輸入端。
此外,單片機(jī)在運(yùn)行時(shí),ALE端一直有正脈沖信號輸出,此頻率為時(shí)鐘振蕩器頻率fosc的1/6。該正脈沖信號可以作時(shí)鐘源或定時(shí)信號使用。注意:每當(dāng)AT89C51單片機(jī)訪問外部RAM時(shí)(即執(zhí)行MOVX類指令時(shí)),要丟失1個(gè)ALE脈沖。因此,嚴(yán)格來說,ALE還不宜作為精確的時(shí)鐘源或定時(shí)信號。PROG*為該引腳的第二功能,在對片內(nèi)Flash存儲器編程時(shí),此引腳作為編程脈沖輸入端。(4)PSEN*
(29腳):外部程序存儲器的讀選通信號。在單片機(jī)讀外部程序存儲器時(shí),此引腳輸出脈沖的負(fù)跳沿作為讀外部程序存儲器的選通信號。
2.2.3并行I/O口引腳(1)P0口:當(dāng)89C51擴(kuò)展外部存儲器及I/O接口芯片時(shí),P0口作為地址總線(低8位)及數(shù)據(jù)總線的分時(shí)復(fù)用端口。為雙向I/O口。也可作為通用的I/O口使用,但需加上拉電阻,這時(shí)為準(zhǔn)雙向口。當(dāng)作為普通的I/O輸入時(shí),應(yīng)先向端口的輸出鎖存器寫入1。
P0口可驅(qū)動8個(gè)LS型TTL負(fù)載。(2)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動4個(gè)LS型TTL負(fù)載。(3)P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動4個(gè)LS型TTL負(fù)載。(4)P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口,可驅(qū)動4個(gè)LS型TTL負(fù)載。P3口還可提供第二功能,定義如表2-1所列,應(yīng)熟記。
綜上所述,P0口作為地址總線(低8位)及數(shù)據(jù)總線使用時(shí),為雙向口。作為通用的I/O口使用時(shí),為準(zhǔn)雙向口,這時(shí)需加上拉電阻。
P1口、P2口、P3口均為準(zhǔn)雙向口。要特別注意準(zhǔn)雙向口與雙向口的差別。準(zhǔn)雙向口僅有兩個(gè)狀態(tài)。雙向口P0口的口線內(nèi)無固定上拉電阻,由兩個(gè)MOS管串接開漏輸出,處于高阻的“懸浮”狀態(tài),故又為雙向三態(tài)I/O口。這是由于P0口作為數(shù)據(jù)總線使用時(shí),必須要有高阻的“懸浮”狀態(tài)。而準(zhǔn)雙向I/O口則無需高阻的“懸浮”狀態(tài)。
總結(jié):準(zhǔn)雙向口與雙向三態(tài)口的差別。(1)當(dāng)3個(gè)準(zhǔn)雙向I/O口作輸入口使用時(shí),要向該口先寫“1”。(2)準(zhǔn)雙向I/O口無高阻“浮空”狀態(tài)。
2.3AT89C51的CPU
由運(yùn)算器和控制器所構(gòu)成2.3.1運(yùn)算器
1.算術(shù)邏輯運(yùn)算單元ALU
進(jìn)行算術(shù)、邏輯運(yùn)算,還具有位操作功能2.累加器A
使用最頻繁的寄存器,可寫為Acc。
A的作用:(1)是ALU的輸入之一,又是運(yùn)算結(jié)果的存放單元。(2)數(shù)據(jù)傳送大多都通過累加器A。51單片機(jī)增加了一部分可以不經(jīng)過累加器的傳送指令,即可加快數(shù)據(jù)的傳送速度,又減少A的“瓶頸堵塞”現(xiàn)象。
A的進(jìn)位標(biāo)志Cy同時(shí)又是位處理機(jī)的位累加器。3.程序狀態(tài)字寄存器PSW
格式如圖2-3。(1)Cy(PSW.7)進(jìn)位標(biāo)志位(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位,用于BCD碼的十進(jìn)制調(diào)整運(yùn)算。(3)F0(PSW.5)用戶使用的狀態(tài)標(biāo)志位。(4)RS1、RS0(PSW.4、PSW.3):4組工作寄存器區(qū)選擇控制位1和位0。如表2-2。圖2-3PSW的格式
表2-2
RS1、RS0與4組工作寄存器區(qū)的對應(yīng)關(guān)系
RS1RS0所選的4組寄存器
000區(qū)(內(nèi)部RAM地址00H~07H)
011區(qū)(內(nèi)部RAM地址08H~0FH)
102區(qū)(內(nèi)部RAM地址10H~17H)
113區(qū)(內(nèi)部RAM地址18H~1FH)(5)OV(PSW.2)溢出標(biāo)志位
指示運(yùn)算是否溢出。注意各種算術(shù)運(yùn)算指令對該位的影響(6)PSW.1位:保留位,未用(7)P(PSW.0)奇偶標(biāo)志位(累加器A中“1”的個(gè)數(shù)是奇數(shù)還是偶數(shù))
P=1,A中“1”的個(gè)數(shù)為奇數(shù)
P=0,A中“1”的個(gè)數(shù)為偶數(shù)2.3.2控制器程序計(jì)數(shù)器PC是控制器中最基本的寄存器,存放下一條要執(zhí)行的指令在程序存儲器中的地址。
基本工作方式有以下幾種:
(1)程序計(jì)數(shù)器自動加1
(PC←PC+1)(2)執(zhí)行有條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時(shí),PC將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。(3)執(zhí)行子程序調(diào)用或中斷調(diào)用,完成下列操作: ①PC的現(xiàn)行值保護(hù)②將子程序入口地址或中斷向量的地址送入PC。
程序計(jì)數(shù)器的計(jì)數(shù)寬度決定了程序存儲器的地址范圍。AT89C51單片機(jī)中的PC位數(shù)為16位,故可對64KB(
=
216B)的程序存儲器進(jìn)行尋址。2.4AT89C51單片機(jī)存儲器的結(jié)構(gòu)
哈佛結(jié)構(gòu)
存儲器空間可劃分為4類:
1.程序存儲器空間 片內(nèi)程序存儲器為4KB的Flash存儲器
2.片內(nèi)數(shù)據(jù)存儲器空間:128B
3.特殊功能寄存器SFR-SpecialFunctionRegister
4.位地址空間:
211個(gè)可尋址位。
2.4.1程序存儲器空間
存放應(yīng)用程序和表格之類的固定常數(shù)。分為片內(nèi)和片外兩部分,由EA*引腳上所接的電平確定。程序存儲器中的0000H地址是系統(tǒng)程序的啟動地址
5個(gè)單元具有特殊用途,為5個(gè)中斷源的中斷入口地址
表2-35個(gè)中斷源的中斷入口地址
外中斷00003H
定時(shí)器T0000BH
外中斷10013H
定時(shí)器T1001BH
串行口
0023H2.4.2內(nèi)部數(shù)據(jù)存儲器空間
128個(gè),字節(jié)地址為00H~7FH。圖2-4AT89C51單片機(jī)片內(nèi)RAM的結(jié)構(gòu)00H~1FH:32個(gè)單元,是4組通用工作寄存器區(qū)20H~2FH:16個(gè)單元,可進(jìn)行128位的位尋址30H~7FH:用戶RAM區(qū),只能字節(jié)尋址,用作數(shù)據(jù)緩沖區(qū)以及堆棧區(qū)。2.4.3特殊功能寄存器(SFR)
CPU對片內(nèi)各種功能部件的控制采用特殊功能寄存器集中控制方式,共21個(gè)。有的SFR可進(jìn)行位尋址。
表2-4是SFR的名稱及其分布。其字節(jié)地址的末位是0H或8H可位尋址。下面介紹SFR塊中的某些寄存器。表2-4SFR的名稱及其分布
1.堆棧指針SP
指示堆棧頂部在內(nèi)部RAM塊中的位置
復(fù)位后,SP中的內(nèi)容為07H。 (1)保護(hù)斷點(diǎn) (2)現(xiàn)場保護(hù) 堆棧向上生長
2.數(shù)據(jù)指針DPTR
高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。
3.寄存器B
為執(zhí)行乘法和除法操作設(shè)置的。在不執(zhí)行乘、除的情況下,可當(dāng)作一個(gè)普通寄存器來使用。2.4.4位地址空間
211個(gè)(128個(gè)+83個(gè))尋址位。位地址范圍為:00H~FFH。內(nèi)部RAM的可尋址位128個(gè)(字節(jié)地址20H~2FH)見表2-5(P18)。特殊功能寄存器SFR為83個(gè)可尋址位,見表2-6。表2-5內(nèi)部RAM的可尋址位及位地址
表2-6SFR中的位地址分布
可被位尋址的寄存器有11個(gè),共有位地址88個(gè),其中5個(gè)位未用,其余83個(gè)位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲器區(qū)字節(jié)地址為80H~FFH的范圍內(nèi)。其最低的位地址等于其字節(jié)地址,并且其字節(jié)地址的末位都為0H或8H。圖2-5為各類存儲器在存儲器空間的位置。
圖2-5AT89C51單片機(jī)的存儲器結(jié)構(gòu)下節(jié)介紹單片機(jī)并行I/O端口。單片機(jī)口是一個(gè)綜合概念,是一個(gè)集數(shù)據(jù)輸入緩沖、數(shù)據(jù)輸出及鎖存等多項(xiàng)功能為一體的I/O電路。先介紹一下三態(tài)門。1.單向三態(tài)門2.雙向三態(tài)門CAB00011011高阻高阻01CAB12C1C2BA控制端C1=0C2=0,三態(tài)門截止,AB之間呈高阻狀態(tài)C1=1C2=0門1通,門2止信息從AB。C1=0C2=1門1止,門2通信息從BA。2.5AT89C51單片機(jī)的并行I/O端口
4個(gè)雙向的8位并行I/O端口(Port),記作P0~P3,屬于特殊功能寄存器,還可位尋址。
2.5.1P0端口
圖2-6P0口某一位的位電路結(jié)構(gòu)1.位電路結(jié)構(gòu)P0口某一位的電路包括:(1)一個(gè)數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存(2)兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器。(3)一個(gè)多路轉(zhuǎn)接開關(guān)MUX,使P0口可作通用I/O口,或地址/數(shù)據(jù)線口。(4)數(shù)據(jù)輸出的驅(qū)動和控制電路,由兩只場效應(yīng)管(FET)組成,上面的場效應(yīng)管構(gòu)成上拉電路。2.工作過程分析(1)P0口作為地址或數(shù)據(jù)總線使用CPU發(fā)出控制信號為高電平,打開上面的與門,使MUX打向上
邊,使內(nèi)部地址/數(shù)據(jù)線與下面的場效應(yīng)管反相接通。此時(shí)由于上下兩個(gè)FET處于反相,形成推拉式電路結(jié)構(gòu),大大提高負(fù)載能力。上方的場效應(yīng)管這時(shí)起到內(nèi)部上拉電阻的作用。
當(dāng)P0口作為地址、數(shù)據(jù)復(fù)用線時(shí),僅從外部存儲器(或外部I/O)讀入信息,對應(yīng)的控制信號為0,MUX接Q*端。由于P0口作為地址/復(fù)用方式訪問存儲器時(shí),CPU自動向P0口輸出FFH,使下方場效應(yīng)管截止,上方的場效應(yīng)管由于控制信號為0也截止,從而保證數(shù)據(jù)信息的高阻抗輸入,從外存輸入的數(shù)據(jù)信息直接由P0.x引腳通過輸入緩沖器BUF2進(jìn)入內(nèi)部總線。真正的雙向口,它應(yīng)具有高電平、低電平和高阻抗3種狀態(tài)的端口。因此,P0口作為地址/數(shù)據(jù)總線使用時(shí)時(shí)一個(gè)真正的雙向端口,簡稱雙向口。(2)P0口作通用的I/O口使用
CPU發(fā)來的“控制”信號為低電平,上拉場效應(yīng)管截止,MUX打向下邊,與D鎖存器的Q*端接通。a.P0作輸出口使用來自CPU的“寫入”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。注意:由于輸出電路是漏極開路(因?yàn)檫@時(shí)上拉場效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出(這時(shí)就不為雙向口)。b.P0作輸入口使用區(qū)分“讀引腳”和“讀鎖存器”。“讀引腳”信號把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;“讀鎖存器”信號打開上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線。3.P0口的特點(diǎn)
P0口具有如下特點(diǎn):P0口為雙功能口——地址/數(shù)據(jù)復(fù)用口和通用I/O口。(1)當(dāng)P0口用作地址/數(shù)據(jù)復(fù)用口時(shí),為一個(gè)真正的雙向口,用作外擴(kuò)存儲器,輸出低8位地址和輸出/輸入8位數(shù)據(jù)。(2)當(dāng)P0口用作通用I/O口時(shí),由于需要在片外接上拉電阻,端口不存在高阻抗(懸浮)狀態(tài),因此為一個(gè)準(zhǔn)雙向口。為保證引腳信號的正確讀入,應(yīng)首先向鎖存器寫1。當(dāng)P0口由原來的輸出狀態(tài)轉(zhuǎn)變?yōu)檩斎霠顟B(tài)時(shí),應(yīng)首先置鎖存器為1,方可執(zhí)行輸入操作。一般情況下,如果P0口已作為地址/數(shù)據(jù)復(fù)用口,就不能再作為通用I/O口使用。2.5.2P1端口
P1口是單功能的I/O口,字節(jié)地址90H,位地址90H~97H。
P1口某一位的位電路結(jié)構(gòu)如圖2-7所示。圖2-7P1口某一位電路結(jié)構(gòu)·1.位電路結(jié)構(gòu)
P1口位電路結(jié)構(gòu)由三部分組成:(1)一個(gè)數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。(2)兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。(3)數(shù)據(jù)輸出驅(qū)動電路,由一個(gè)場效應(yīng)管(FET)和一個(gè)片內(nèi)上拉電阻組成。2.工作過程分析
P1口只能作為通用的I/O口使用。(1)P1口作為輸出口時(shí),若CPU輸出1,Q=1,Q*=0,場效應(yīng)管截止,P1口引腳的輸出為1;若CPU輸出0,Q=0,Q*=1,場效應(yīng)管導(dǎo)通,P1口引腳的輸出為0。(2)P1口作為輸入口時(shí),分為“讀鎖存器”和“讀引腳”兩種方式?!白x鎖存器”時(shí),鎖存器的輸出端Q的狀態(tài)經(jīng)輸入緩沖器BUF1進(jìn)入內(nèi)部總線;“讀引腳”時(shí),先向鎖存器寫1,使場效應(yīng)管截止,P1.x引腳上的電平經(jīng)輸入緩沖器BUF2進(jìn)入內(nèi)部總線。3.P1口的特點(diǎn)
P1口由于有內(nèi)部上拉電阻,沒有高阻抗輸入狀態(tài),稱為準(zhǔn)雙向口。作為輸出口時(shí),不需要在片外接上拉電阻。
P1口“讀引腳”輸入時(shí),必須先向鎖存器寫1。
2.5.3P2口
P2口是一個(gè)雙功能口,字節(jié)地址為A0H,位地址A0H~A7H。
某一位的位電路結(jié)構(gòu)如圖2-8所示。
圖2-8P2口某一位的位電路結(jié)構(gòu)1.位電路結(jié)構(gòu)
P2口某一位的電路包括:(1)一個(gè)數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。(2)兩個(gè)三態(tài)數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。(3)一個(gè)多路轉(zhuǎn)接開關(guān)MUX,它的一個(gè)輸入是鎖存器的Q端,另一個(gè)輸入是內(nèi)部地址的高8位。(4)輸出驅(qū)動電路,由場效應(yīng)管(FET)和內(nèi)部上拉電阻組成。2.工作過程分析(1)P2口用作地址總線在內(nèi)部控制信號作用下,MUX與“地址”接通。當(dāng)“地址”線為0時(shí),場效應(yīng)管導(dǎo)通,P2口引腳輸出0;當(dāng)“地址”線為1時(shí),場效應(yīng)管截止,P2口引腳輸出1。(2)P2口用作通用I/O口在內(nèi)部控制信號作用下,MUX與鎖存器的Q端接通。CPU輸出1時(shí),Q=1,場效應(yīng)管截止,P2.x引腳輸出1;CPU輸出0時(shí),Q=0,場效應(yīng)管導(dǎo)通,P2.x引腳輸出0。輸入時(shí),分為“讀鎖存器”和“讀引腳”兩種方式?!白x鎖存器”時(shí),Q端信號經(jīng)上方的輸入緩沖器進(jìn)入內(nèi)部總線。“讀引腳”時(shí),先向鎖存器寫1,使場效應(yīng)管截止,P2.x引腳上的電平經(jīng)下方的輸入緩沖器進(jìn)入內(nèi)部總線。3.P2口的特點(diǎn)作為地址輸出線使用時(shí),P2口可以輸出外存儲器的高8位地址,與P0口輸出的低8位地址一起構(gòu)成16位地址線。作為通用I/O口使用時(shí),P2口為一個(gè)準(zhǔn)雙向口。功能與P1口一樣。2.5.4P3口由于AT89C51的引腳有限,因此在P3口電路中增加了引腳的第二功能。P3的每一位都可以分別定義為第二功能。P3口的第二功能定義,應(yīng)熟記。P3口的字節(jié)地址為B0H,位地址為B0H~B7H。P3口某一位的位電路結(jié)構(gòu)如圖2-9所示。圖2-9P3口某一位的位電路結(jié)構(gòu)1.位電路結(jié)構(gòu)
P3口某一位的電路包括:(1)一個(gè)數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。(2)3個(gè)三態(tài)數(shù)據(jù)輸入緩沖器BUF1、BUF2和BUF3,分別用于讀鎖存器、讀引腳數(shù)據(jù)和第二功能數(shù)據(jù)的輸入緩沖。(3)輸出驅(qū)動電路,由“與非門”、場效應(yīng)管(FET)和內(nèi)部上拉電阻組成。
2.工作過程分析(1)P3口用作第二輸入/輸出功能當(dāng)選擇第二輸出功能時(shí),該位的鎖存器需要置“1”,使“與非門”為開啟狀態(tài)。當(dāng)?shù)诙敵鰹?時(shí),場效應(yīng)管截止,P3.x引腳輸出為1;當(dāng)?shù)诙敵鰹?時(shí),場效應(yīng)管導(dǎo)通,P3.x引腳輸出為0。當(dāng)選擇第二輸入功能時(shí),該位的鎖存器和第二輸出功能端均應(yīng)置1,保證場效應(yīng)管截止,P3.x引腳的信息由輸入緩沖器BUF3的輸出獲得。(2)P3口用作第一功能——通用I/O口當(dāng)P3口用作第一功能通用輸出時(shí),第二輸出功能端應(yīng)保持高電平,“與非門”為開啟狀態(tài)。CPU輸出1時(shí),Q=1,場效應(yīng)管截止,P3.x引腳輸出為1;CPU輸出0時(shí),Q=0,場效應(yīng)管導(dǎo)通,P3.x引腳輸出為0。
當(dāng)P3口用作第一功能通用輸入時(shí),P3.x位的輸出鎖存器和第二輸出功能均應(yīng)置1,場效應(yīng)管截止,P3.x引腳信息通過輸入BUF3和BUF2進(jìn)入內(nèi)部總線,完成“讀引腳”操作。當(dāng)P3口實(shí)現(xiàn)第一功能通用輸入時(shí),也可以執(zhí)行“讀鎖存器”操作,此時(shí)Q端信息經(jīng)過緩沖器BUF1進(jìn)入內(nèi)部總線。3.P3口的特點(diǎn)P3口內(nèi)部有上拉電阻,不存在高阻抗輸入狀態(tài),為準(zhǔn)雙向口。P3口作為第二功能的輸出/輸入,或第一功能通用輸入,均須將相應(yīng)位的鎖存器置1。實(shí)際應(yīng)用中,由于復(fù)位后P3口鎖存器自動置1,滿足第二功能條件,所以不需要任何設(shè)置工作,就可以進(jìn)入第二功能操作。
當(dāng)某位不作為第二功能使用時(shí),可作為第一功能通用I/O使用。引腳輸入部分有兩個(gè)緩沖器,第二功能的輸入信號取自緩沖器BUF3的輸出端,第一功能的輸入信號取自緩沖器BUF2的輸出端。P3口的第二功能定義(表2-1),讀者應(yīng)熟記。
P0口的結(jié)構(gòu)及特點(diǎn)
P0口的某位P0.n(n=0~7)結(jié)構(gòu)圖,它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數(shù)據(jù)線用。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳1、P0口作為普通I/O口①輸出時(shí)CPU發(fā)出控制電平“0”封鎖“與”門,將輸出上拉場效應(yīng)管T1截止,同時(shí)使多路開關(guān)MUX把鎖存器與輸出DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳驅(qū)動場效應(yīng)管T2柵極接通。故內(nèi)部總線與P0口同相。由于輸出驅(qū)動級是漏極開路電路,若驅(qū)動NMOS或其它拉流負(fù)載時(shí),需要外接上拉電阻。P0的輸出級可驅(qū)動8個(gè)LSTTL負(fù)載。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳②輸入時(shí)----分讀引腳或讀鎖存器讀引腳:由傳送指令(MOV)實(shí)現(xiàn);MOVA,P0;MOVP0,A
下面一個(gè)緩沖器用于讀端口引腳數(shù)據(jù),當(dāng)執(zhí)行一條由端口輸入的指令時(shí),讀脈沖把該三態(tài)緩沖器打開,這樣端口引腳上的數(shù)據(jù)經(jīng)過緩沖器讀入到內(nèi)部總線。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳輸入輸出DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳②輸入時(shí)----分讀引腳或讀鎖存器讀鎖存器:有些指令如:ANLP0,A稱為“讀-改-寫”
指令,需要讀鎖存器。
上面一個(gè)緩沖器用于讀端口鎖存器數(shù)據(jù)。**原因:如果此時(shí)該端口的負(fù)載恰是一個(gè)晶體管基極,且原端口輸出值為1,那么導(dǎo)通了的PN結(jié)會把端口引腳高電平拉低;若此時(shí)直接讀端口引腳信號,將會把原輸出的“1”電平誤讀為“0”電平?,F(xiàn)采用讀輸出鎖存器代替讀引腳,圖中,上面的三態(tài)緩沖器就為讀鎖存器Q端信號而設(shè),讀輸出鎖存器可避免上述可能發(fā)生的錯(cuò)誤。**DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳準(zhǔn)雙向口:
從圖中可以看出,在讀入端口數(shù)據(jù)時(shí),由于輸出驅(qū)動FET并接在引腳上,如果T2導(dǎo)通,就會將輸入的高電平拉成低電平,產(chǎn)生誤讀。所以在端口進(jìn)行輸入操作前,應(yīng)先向端口鎖存器寫“1”,使T2截止,引腳處于懸浮狀態(tài),變?yōu)楦咦杩馆斎?。這就是所謂的準(zhǔn)雙向口。
2、P0作為地址/數(shù)據(jù)總線
在系統(tǒng)擴(kuò)展時(shí),P0端口作為地址/數(shù)據(jù)總線使用時(shí),分為:
P0引腳輸出地址/數(shù)據(jù)信息。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳CPU發(fā)出控制電平“1”,打開“與”門,又使多路開關(guān)MUX把CPU的地址/數(shù)據(jù)總線與T2柵極反相接通,輸出地址或數(shù)據(jù)。由圖上可以看出,上下兩個(gè)FET處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載能力大大增強(qiáng)。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳2、P0作為地址/數(shù)據(jù)總線P0引腳輸出地址/輸入數(shù)據(jù)輸入信號是從引腳通過輸入緩沖器進(jìn)入內(nèi)部總線。此時(shí),CPU自動使MUX向下,并向P0口寫“1”,“讀引腳”控制信號有效,下面的緩沖器打開,外部數(shù)據(jù)讀入內(nèi)部總線。2、P0作為地址/數(shù)據(jù)總線----真正的雙向口DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳
P1口的結(jié)構(gòu)及特點(diǎn)
它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動電路組成----準(zhǔn)雙向口。DQCLKQP1.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP1口引腳(1)輸出方式MOVP1,#data;P1工作于輸出方式,數(shù)據(jù)data經(jīng)內(nèi)部總線送入鎖存器鎖存。(2)輸入方式MOVA,P1;P1口工作于輸入方式。MOVP1,#0FFH;寫“1”操作(3)端口操作ANLP1,#data;(P1)(P1)∧dataORLP1,#data;(P1)(P1)∨dataXRLP1,A;(P1)(P1)⊕dataINCP1;(P1)(P1)+1這些指令過程分成”讀-修改-寫”三步。(4)負(fù)載能力P1口輸出時(shí)能驅(qū)動4個(gè)TTL負(fù)載。通常定義100ua輸入電流為一個(gè)TTL負(fù)載的輸入電流,所以P1口輸出電流不小于100ua。P1口有上拉電阻,輸入時(shí)集電極開路或漏極開路,無需外接上拉電阻。P2口的結(jié)構(gòu)及特點(diǎn)
1.P2口作為普通I/O口DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳CPU發(fā)出控制電平“0”
,使多路開關(guān)MUX倒向鎖存器輸出Q端,構(gòu)成一個(gè)準(zhǔn)雙向口。其功能與P1相同。
2.P2口作為地址總線在系統(tǒng)擴(kuò)展片外程序存儲器擴(kuò)展數(shù)據(jù)存儲器且容量超過256B(用MOVX@DPTR指令)時(shí),CPU發(fā)出控制電平“1”,使多路開關(guān)MUX倒內(nèi)部地址線。此時(shí),P2輸出高8位地址。DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳P3的內(nèi)部結(jié)構(gòu)DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳第二輸入功能第二輸出功能二、P3第二功能(Q=1)此時(shí)引腳部分輸入(Q=1、W=1)
,部分輸出(Q=1、W輸出)
。WP3第二功能各引腳功能定義: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外部寫控制P3.7:RD外部讀控制2.6時(shí)鐘電路與時(shí)序
時(shí)鐘電路用于產(chǎn)生89C51單片機(jī)工作所必需的時(shí)鐘控制信號。2.6.1時(shí)鐘電路
時(shí)鐘頻率直接影響單片機(jī)的速度,電路的質(zhì)量直接影響系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。1.內(nèi)部時(shí)鐘方式
片內(nèi)一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。見圖2-10。圖2-10AT89C51單片機(jī)內(nèi)部時(shí)鐘方
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際船舶租賃合同環(huán)境保護(hù)責(zé)任與履約評估3篇
- 二零二五版?zhèn)€人住房抵押貸款合同2篇
- 2025年度家具租賃服務(wù)合同標(biāo)準(zhǔn)文本4篇
- 2025年肉類加工企業(yè)鮮豬肉原料采購合同3篇
- 2025年度生態(tài)農(nóng)業(yè)園區(qū)商鋪?zhàn)赓U合同規(guī)范2篇
- 2024租賃公司設(shè)備租賃與購買合同
- 二零二五版高壓電纜敷設(shè)電力施工勞務(wù)合同范本2篇
- 二零二五年度礦產(chǎn)品出口與國內(nèi)銷售合同3篇
- 2025年度運(yùn)動服飾租賃服務(wù)合同樣本3篇
- 2025年度農(nóng)機(jī)作業(yè)租賃與農(nóng)村土地流轉(zhuǎn)服務(wù)合同
- 人口老齡化背景下居民養(yǎng)老金融資產(chǎn)配置影響因素研究
- 2024項(xiàng)目部安全管理人員安全培訓(xùn)考試題及參考答案(模擬題)
- 2025年中國文玩電商行業(yè)發(fā)展現(xiàn)狀調(diào)查、競爭格局分析及未來前景預(yù)測報(bào)告
- 2024文旅古街元旦沉浸式體驗(yàn)國風(fēng)游園會(古巷十二時(shí)辰主題)活動方案活動-46正式版
- (課件)-談研究生培養(yǎng)
- 《disc性格分析》課件
- 2025年臨床醫(yī)師定期考核必考復(fù)習(xí)題庫及答案(900題)
- 反恐應(yīng)急預(yù)案3篇
- 英語-2025廣西柳州高三二模試卷和答案
- 微更新視角下老舊社區(qū)公共空間適老化設(shè)計(jì)策略研究
- 電工中級工練習(xí)題庫(含參考答案)
評論
0/150
提交評論