第二課單片機(jī)硬件基礎(chǔ)ye_第1頁(yè)
第二課單片機(jī)硬件基礎(chǔ)ye_第2頁(yè)
第二課單片機(jī)硬件基礎(chǔ)ye_第3頁(yè)
第二課單片機(jī)硬件基礎(chǔ)ye_第4頁(yè)
第二課單片機(jī)硬件基礎(chǔ)ye_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)測(cè)控技術(shù)

第二課單片機(jī)硬件系統(tǒng)基礎(chǔ)葉衛(wèi)東檢測(cè)與自動(dòng)化工程系yujs@辦公室:新主樓E301電話:823173352014.3.6本節(jié)內(nèi)容嵌入式系統(tǒng)基礎(chǔ)知識(shí)51單片機(jī)系統(tǒng)結(jié)構(gòu)及組成知識(shí)什么是嵌入式系統(tǒng)?Embeddedsystem個(gè)人電腦≠嵌入式系統(tǒng)簡(jiǎn)單的講,嵌入式系統(tǒng)是指操作系統(tǒng)和功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中。廣義的講,可以認(rèn)為凡是帶有微處理器的專用軟硬件系統(tǒng)都可以稱為嵌入式系統(tǒng)嵌入式計(jì)算機(jī)系統(tǒng)的定義以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)嵌入式系統(tǒng)的主特征和通用的計(jì)算機(jī)系統(tǒng)相比,嵌入式系統(tǒng)具有以下特征:1、用于特定的任務(wù)2、極其關(guān)注成本3、大多有功耗的要求4、有實(shí)時(shí)的要求6、軟件要求固態(tài)化存儲(chǔ)

7、軟件硬件可靠性要求更高8、相關(guān)產(chǎn)品具有較長(zhǎng)的生命周期

……嵌入式系統(tǒng)基本組成要素嵌入式處理器及其硬件平臺(tái)嵌入式軟件系統(tǒng)嵌入式操作系統(tǒng)(可選)----實(shí)時(shí)操作系統(tǒng)RTOSI/O接口系統(tǒng)以嵌入式處理器為核心的硬件平臺(tái)嵌入式操作系統(tǒng)嵌入式應(yīng)用軟件系統(tǒng)應(yīng)用系統(tǒng)的I/O接口嵌入式系統(tǒng)基本組成硬件計(jì)算機(jī)組成體系結(jié)構(gòu)——馮·諾依曼體系結(jié)構(gòu)模型計(jì)算機(jī)組成結(jié)構(gòu)——哈弗體系結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)指令集CISC:復(fù)雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式大多數(shù)程序只使用少量的指令就能夠運(yùn)行RISC:精簡(jiǎn)指令集(ReducedInstructionSetComputer)8/2原則:80%的程序只使用20%的指令在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單嵌入式處理器分類MCS-51單片機(jī)的硬件結(jié)構(gòu)片內(nèi)結(jié)構(gòu)如圖2-1所示:

圖2.2MCS-51單片機(jī)功能結(jié)構(gòu)圖時(shí)鐘信號(hào)源外部事件信號(hào)BUS時(shí)鐘電路8KBFlashROM256BRAM128BSFR16位×3個(gè)定時(shí)/計(jì)數(shù)器64KB總線擴(kuò)展控制器可編程并行口可編程全雙工串行口CPU中斷控制器外中斷8位×4個(gè)并行口串行通信總線控制BUS2.1.1MCS-51單片機(jī)的功能結(jié)構(gòu)及特點(diǎn)

圖2.3MCS-51單片機(jī)原理結(jié)構(gòu)圖XTAL2XTAL1P3.0~P3.7P1.0~P1.7RAM地址端口0驅(qū)動(dòng)器端口2驅(qū)動(dòng)器8KBFlashROM端口0鎖存器端口2鎖存器端口1驅(qū)動(dòng)器端口3驅(qū)動(dòng)器端口1鎖存器端口3鎖存器暫存器1SPPSWB寄存器暫存器2ACC256BRAM128BSFR緩沖器PC加1PC程序地址寄存器DPTR定時(shí)器、串行口中斷部件及特殊功能寄存器地址總線∕數(shù)據(jù)總線P2.0~P2.7VccGND指令寄存器指令譯碼器指令控制器P0.0~P0.7PSENALEEARSTALU介紹圖2-1中的各功能部件:1.CPU 51CPU是動(dòng)態(tài)CPU2.數(shù)據(jù)存儲(chǔ)器(RAM)片內(nèi)為128個(gè)字節(jié)(52子系列的為256個(gè)字節(jié))3.程序存儲(chǔ)器(ROM/EPROM)

8031:無(wú)ROM;8051:4K字節(jié)ROM;8751:4K字節(jié)EPROM;

89C51/89C52/89C55:4K/8K/20K字節(jié)閃存。4.中斷系統(tǒng)5.定時(shí)器/計(jì)數(shù)器6.串行口1個(gè)全雙工的異步串行口,具有四種工作方式。7.P1口、P2口、P3口、P0口為4個(gè)并行8位I/O口。8.特殊功能寄存器(SFR)共有21個(gè),是一個(gè)具有特殊功能的RAM區(qū)。2.2MCS-51的引腳

40只引腳雙列直插封裝(DIP)。

44只引腳方形封裝方式(4只無(wú)用)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腳):接外部晶體的另一端。2.2.2控制引腳

提供控制信號(hào),有的引腳還具有復(fù)用功能。

(1)RST/VPD(9腳):復(fù)位與備用電源。(2)ALE/PROG*(30腳):第一功能ALE為地址鎖存允許,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。PROG*為本引腳的第二功能。為編程脈沖輸入端。

(3)PSEN*(29腳):外部程序存儲(chǔ)器的讀選通信號(hào)??梢则?qū)動(dòng)8個(gè)LS型TTL負(fù)載。

(4)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31腳)

EA*為內(nèi)外程序存儲(chǔ)器選擇控制端。

EA*=1,訪問(wèn)片內(nèi)程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過(guò)0FFFH(對(duì)于8051、8751)時(shí),即超出片內(nèi)程序存儲(chǔ)器的4K字節(jié)地址范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。EA*=0,單片機(jī)則只訪問(wèn)外部程序存儲(chǔ)器。

VPP為本引腳的第二功能。用于施加編程電壓(例如+21V或+12V)。對(duì)89C51,加在VPP腳的編程電壓為+12V或+5V。2.2.3I/O口引腳(1)P0口:開(kāi)漏雙向8位I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。(2)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(3)P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(4)P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。注意:準(zhǔn)雙向口與開(kāi)漏雙向三態(tài)口的差別。準(zhǔn)雙向I/O口作輸入口使用時(shí),要向該口先寫“1”。準(zhǔn)雙向I/O口無(wú)高阻的“浮空”狀態(tài)。2.3MCS-51的CPU

由運(yùn)算器和控制器所構(gòu)成2.3.1運(yùn)算器

對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作。1.算術(shù)邏輯運(yùn)算單元ALU2.累加器A

使用最頻繁的寄存器,可寫為Acc。

A的作用:(1)是ALU的輸入之一,又是運(yùn)算結(jié)果的存放單元。(2)數(shù)據(jù)傳送大多都通過(guò)累加器A。MCS-51增加了一部分可以不經(jīng)過(guò)累加器的傳送指令,即可加快數(shù)據(jù)的傳送速度,又減少A的“瓶頸堵塞”現(xiàn)象。A的進(jìn)位標(biāo)志Cy同時(shí)又是位處理機(jī)的位累加器。3.程序狀態(tài)字寄存器PSW

(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。

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)算是否產(chǎn)生溢出。各種算術(shù)運(yùn)算指令對(duì)該位的影響情況較復(fù)雜。(6)PSW.1位:保留位,未用(7)P(PSW.0)奇偶標(biāo)志位

P=1,A中“1”的個(gè)數(shù)為奇數(shù)

P=0,A中“1”的個(gè)數(shù)為偶數(shù)

1.程序計(jì)數(shù)器PC(ProgramCounter)存放下一條要執(zhí)行的指令在程序存儲(chǔ)器中的地址。

基本工作方式有以下幾種:

(1)程序計(jì)數(shù)器自動(dòng)加1

(2)執(zhí)行有條件轉(zhuǎn)移或無(wú)條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。(3)在執(zhí)行調(diào)用子程序調(diào)用或中斷調(diào)用,完成下列操作: ①PC的現(xiàn)行值保護(hù)②將子程序入口地址或中斷向量的地址送入PC。

2.堆棧指針SP

指示堆棧頂部在內(nèi)部RAM塊中的位置

復(fù)位后,SP中的內(nèi)容為07H。

(1)保護(hù)斷點(diǎn) (2)現(xiàn)場(chǎng)保護(hù) 堆棧向上生長(zhǎng)

3.數(shù)據(jù)指針DPTR

高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。

4.I/O端口P0~P3

P0~P3分別為I/O端口P0~P3的鎖存器。5.寄存器B為執(zhí)行乘法和除法操作設(shè)置的。在不執(zhí)行乘、除的情況下,可當(dāng)作一個(gè)普通寄存器來(lái)使用。6.串行數(shù)據(jù)緩沖器SBUF

存放欲發(fā)送或已接收的數(shù)據(jù),一個(gè)字節(jié)地址,物理上是由兩個(gè)獨(dú)立的寄存器組成,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器。7.定時(shí)器/計(jì)數(shù)器

兩個(gè)16位定時(shí)器/計(jì)數(shù)器T1和T0,各由兩個(gè)獨(dú)立的8位寄存器組成:TH1、TL1、TH0、TL0,只能字節(jié)尋址,但不能把T1或T0當(dāng)作一個(gè)16位寄存器來(lái)尋址訪問(wèn)。2.3MCS-51存儲(chǔ)器的結(jié)構(gòu)(重要)

MCS-51單片機(jī)為哈佛結(jié)構(gòu):程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM分開(kāi)編址

PC機(jī)為偌依曼結(jié)構(gòu):ROM和RAM統(tǒng)一編址

程序存儲(chǔ)器:固化程序、常數(shù)和數(shù)據(jù)表

數(shù)據(jù)存儲(chǔ)器:存放程序運(yùn)行中產(chǎn)生的各種數(shù)據(jù)、用作堆棧等

1、單片機(jī)的存儲(chǔ)器空間及分類

MCS-51單片機(jī)有4個(gè)存儲(chǔ)空間: 1)片內(nèi)程序存儲(chǔ)器;2)片內(nèi)數(shù)據(jù)存儲(chǔ)器;3)片外程序存儲(chǔ)器;4)片外數(shù)據(jù)存儲(chǔ)器。

4個(gè)存儲(chǔ)空間可以分成三類: 1)片內(nèi)數(shù)據(jù)存儲(chǔ)空間(256B的RAM和128B的特殊功能寄存器);2)片外數(shù)據(jù)存儲(chǔ)空間(64KB);3)片內(nèi)和片外統(tǒng)一編址的程序存儲(chǔ)空間(64KB)

不同類型的存儲(chǔ)空間,有各自的尋址方式和訪問(wèn)指令。

2.3.1單片機(jī)程序存儲(chǔ)器結(jié)構(gòu)MCS-51單片機(jī)程序存儲(chǔ)空間的配置片外ROM片內(nèi)ROMEA=1片外ROMEA=00000H0FFFH1000HFFFFH(a)片內(nèi)有4KB的ROM(b)片內(nèi)有8KB的ROM片外ROM片內(nèi)ROMEA=1片外ROMEA=00000H1FFFH2000HFFFFH2.3.1程序存儲(chǔ)器結(jié)構(gòu)

二、程序存儲(chǔ)器的專用區(qū)域 用作復(fù)位和中斷入口2.3.1程序存儲(chǔ)器結(jié)構(gòu)

中斷向量:即中斷入口地址。如下表

如果用C語(yǔ)言編寫程序,不需要考慮以上這些問(wèn)題,即不用考慮引導(dǎo)程序問(wèn)題,中斷入口與跳轉(zhuǎn)問(wèn)題,這些問(wèn)題均由編譯系統(tǒng)安排好。2.3.2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)

片內(nèi)數(shù)據(jù)存儲(chǔ)器按照尋址方式,可以分為三個(gè)部分:低128字節(jié)數(shù)據(jù)區(qū),高128字節(jié)數(shù)據(jù)區(qū),特殊功能寄存器區(qū)。如下圖所示。

低128BRAM

data區(qū)特殊功能寄存器80HFFH00H7FH(a)89C51片內(nèi)RAM低128BRAM

data區(qū)高128BRAMidata區(qū)特殊功能寄存器00H7FH80HFFH80HFFH(b)增強(qiáng)型單片機(jī)片內(nèi)RAM2.3.2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 一、低128字節(jié)RAM地址范圍:00H~7FH,128字節(jié)應(yīng)用特點(diǎn):有多種用途且使用最頻繁功能作用:分為三個(gè)區(qū)域,即工作寄存器區(qū)、位尋找區(qū)、通用數(shù)據(jù)區(qū)。尋址方式:直接、間接、位尋址 低128字節(jié)RAM的配置如右圖所示。不同數(shù)據(jù)區(qū)的用途工作寄存器組由決定于程序狀態(tài)字PSW的RS1和RS0位確定;

C語(yǔ)言下選寄存器組:在定義函數(shù)時(shí),通過(guò)使用關(guān)鍵字“using”來(lái)選擇(如usingm)位寄存器組

既可以做位操作,也可以字節(jié)操作。

C語(yǔ)言編程:用關(guān)鍵字“bit”定義的位變量在該區(qū)域;用關(guān)鍵字“bdata”將一般變量定義在該區(qū)域,并且定義的變量還可以進(jìn)行位尋址。通用數(shù)據(jù)區(qū)

用于堆棧、存放數(shù)據(jù)、存放程序運(yùn)行時(shí)的中間結(jié)果等。2.3.2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)二、高128字節(jié)RAM(增強(qiáng)型單片機(jī))

地址范圍:80H~FFH,128字節(jié)

用途:與低128字節(jié)中的30H到7FH完全一樣,用于堆棧、存放程序運(yùn)行時(shí)的數(shù)據(jù)和中間結(jié)果等。

尋址方式:間接訪問(wèn)。

C語(yǔ)言編程:使用關(guān)鍵字“idata”定義變量三、特殊功能寄存器(SFR)

也稱為專用寄存器,是單片機(jī)中最重要的部分。

地址范圍:80H~FFH,128字節(jié)

功能作用:控制單片機(jī)各個(gè)部件的運(yùn)行反映各部件的運(yùn)行狀態(tài)存放數(shù)據(jù)或地址

尋址方式:直接訪問(wèn)特殊功能寄存器在C語(yǔ)言中使用,必須先做定義,它們多數(shù)在“reg51.h”、“reg52.h”等頭文件做了定義。2.3.3片外數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)(1)地址范圍:0000H~FFFFH(2)容量:共64KB(3)訪問(wèn)指令:“MOVX”(片內(nèi)用MOV) 使用“MOVX”指令對(duì)片外RAM進(jìn)行讀/寫操作時(shí),會(huì)自動(dòng)產(chǎn)生讀/寫控制信號(hào)RD和WR,作用于片外RAM實(shí)現(xiàn)讀/寫操作。(4)用途:片外RAM做通用RAM使用,主要存放大量采集的或接收的數(shù)據(jù)、運(yùn)算的中間數(shù)據(jù)、最后結(jié)果、用作堆棧等。

(5)C語(yǔ)言編程:使用關(guān)鍵字“xdata”或“pdata”將變量、數(shù)組、堆棧定義到片外RAM區(qū)。表2-2SFR的名稱及其分布表2-3內(nèi)部RAM的可尋址位及位地址表2-4SFR中的位地址分布2.4并行I/O端口

4個(gè)雙向的8位并行I/O端口(Port),記作P0~P3屬于特殊功能寄存器,還可位尋址。

2.4.1P0端口

P0口某一位的電路包括:(1)一個(gè)數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存(2)兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器。(3)一個(gè)多路轉(zhuǎn)接開(kāi)關(guān)MUX,使:P0口可作通用I/O口,或地址/數(shù)據(jù)線口。(4)數(shù)據(jù)輸出的驅(qū)動(dòng)和控制電路,由兩只場(chǎng)效應(yīng)管(FET)組成,上面的場(chǎng)效應(yīng)管構(gòu)成上拉電路。P0口傳送地址或數(shù)據(jù)時(shí),CPU發(fā)出控制信號(hào)為高電平,打開(kāi)上面的與門,使多路轉(zhuǎn)接開(kāi)關(guān)MUX打向上邊,使內(nèi)部地址/數(shù)據(jù)線與下面的場(chǎng)效應(yīng)管處于反相接通狀態(tài)。此時(shí)輸出驅(qū)動(dòng)電路由于上下兩個(gè)FET處于反相,形成推挽式電路結(jié)構(gòu),大大提高負(fù)載能力。P0口作通用的I/O口使用。這時(shí),CPU發(fā)來(lái)的“控制”信號(hào)為低電平,上拉場(chǎng)效應(yīng)管截止,多路轉(zhuǎn)接開(kāi)關(guān)MUX打向下邊,與D鎖存器的Q*端接通。(1)P0作輸出口使用來(lái)自CPU的“寫入”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。注意:由于輸出電路是漏極開(kāi)路(因?yàn)檫@時(shí)上拉場(chǎng)效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。(2)P0作輸入口使用區(qū)分“讀引腳”和“讀鎖存器”?!白x引腳”信號(hào)把下方緩沖器打開(kāi),引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;“讀鎖存器”信號(hào)打開(kāi)上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線。8031單片機(jī)在對(duì)端口P0一P3的輸入操作上,有如下約定:凡屬于讀-修改-寫方式的指令,從鎖存器讀入信號(hào),其它指令則從端口引腳線上讀入信號(hào)。讀-改-寫指令的特點(diǎn)從端口輸入(讀)信號(hào),在單片機(jī)內(nèi)加以運(yùn)算(修改)后,再輸出(寫)到該端口上。下面是幾條讀--修改-寫指令的例子。ANLP0,#O8H;P0與立即數(shù)--〉P0ORLPO,A;P0或A--〉P0INCP1;P1+1--〉P1DECP3;P3-1—〉P3CPLP2;P2異或-〉P2這樣安排的原因在于讀-修改-寫指令需要得到端口原輸出的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以避免因外部電路的原因而使原端口的狀態(tài)被讀錯(cuò)。2.4.2P1端口

字節(jié)地址90H,位地址90H~97H。P1口只作通用的I/O口使用,在電路結(jié)構(gòu)上與P0口有兩點(diǎn)區(qū)別:(1)因?yàn)橹粋魉蛿?shù)據(jù),不再需要多路轉(zhuǎn)接開(kāi)關(guān)MUX。(2)由于P1口用來(lái)傳送數(shù)據(jù),因此輸出電路中有上拉電阻,這樣電路的輸出不是三態(tài)的,所以P1口是準(zhǔn)雙向口。因此:(1)P1口作為輸出口使用時(shí),外電路無(wú)需再接上拉電阻。(2)P1口作為輸入口使用時(shí),應(yīng)先向其鎖存器先寫入“1”,使輸出驅(qū)動(dòng)電路的FET截止。2.4.3P2端口

字節(jié)地址為A0H,位地址A0H~A7H。

在實(shí)際應(yīng)用中,因?yàn)镻2口用于提供高位地址,有一個(gè)多路轉(zhuǎn)接開(kāi)關(guān)MUX。但MUX的一個(gè)輸入端不再是“地址/數(shù)據(jù)”,而是單一的“地址”,因?yàn)镻2口只作為地址線使用。當(dāng)P2口用作為高位地址線使用時(shí),多路轉(zhuǎn)接開(kāi)關(guān)應(yīng)接向“地址”端。正因?yàn)橹蛔鳛榈刂肪€使用,口的輸出用不著是三態(tài)的,所以,P2口也是一個(gè)準(zhǔn)雙向口。P2口也可以作為通用I/O口使用,這時(shí),多路轉(zhuǎn)接開(kāi)關(guān)接向鎖存器Q端。2.4.4P3端口

P3口的字節(jié)地址為B0H,位地址為B0H~B7H。P3口的第二功能定義,應(yīng)熟記。表2-2P3口的第二功能定義

口引腳第二功能

P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INT0*(外部中斷0) P3.3 INT1*(外部中斷1) P3.4 T0(定時(shí)器0外部計(jì)數(shù)輸入) P3.5 T1(定時(shí)器1外部計(jì)數(shù)輸入) P3.6 WR*(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 RD*(外部數(shù)據(jù)存儲(chǔ)器讀選通)

第二功能信號(hào)有輸出和輸入兩類:(1)作通用的I/O輸出,“第二輸出功能”線應(yīng)保持高電平,與非門開(kāi)通,使鎖存器Q端輸出暢通。作第二功能信號(hào)輸出,鎖存器預(yù)先置“1”,使與非門對(duì)“第二輸出功能”信號(hào)的輸出是暢通的。(2)作第二功能信號(hào)輸入,在口線引腳的內(nèi)部增加了一個(gè)緩沖器,輸入的信號(hào)就從這個(gè)緩沖器的輸出端取得。而作為通用I/O輸入,仍取自三態(tài)緩沖器的輸出端。P3口無(wú)論作哪種輸入,鎖存器輸出和“第二輸出功能”線都應(yīng)保持高電平。2.4.5P0~P3端口功能總結(jié)使用中應(yīng)注意的問(wèn)題:(1)P0~P3口都是并行I/O口,但P0口和P2口,還可用來(lái)構(gòu)建系統(tǒng)的外部數(shù)據(jù)總線和地址總線,所以在內(nèi)部電路中有一個(gè)MUX,以進(jìn)行轉(zhuǎn)換。而P1口和P3口無(wú)構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能,因此,無(wú)需轉(zhuǎn)接開(kāi)關(guān)MUX。由于P0口可作為地址/數(shù)據(jù)復(fù)用線使用,需傳送系統(tǒng)的低8位地址和8位數(shù)據(jù),因此MUX的一個(gè)輸入端為“地址/數(shù)據(jù)”信號(hào),另一個(gè)為P0寄存器。而P2口僅作為高位地址線使用,不涉及數(shù)據(jù),所以MUX的一個(gè)輸入信號(hào)為“地址”,另一個(gè)為P2寄存器。(2)在4個(gè)口中只有P0口是開(kāi)漏雙向口,P1~P3口都是準(zhǔn)雙向口。原因:P0口作數(shù)據(jù)總線使用時(shí),為保證數(shù)據(jù)正確傳送,需解決芯片內(nèi)外的隔離問(wèn)題,即只有在數(shù)據(jù)傳送時(shí)芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳送時(shí),芯片內(nèi)外應(yīng)處于隔離狀態(tài)。在P0口中輸出電路是由兩只場(chǎng)效應(yīng)管(FET)組成,上拉晶體管在數(shù)據(jù)輸出為1時(shí)提供一個(gè)瞬間的強(qiáng)上拉能力,下拉晶體管可以提供持續(xù)的下拉能力,所以稱其為開(kāi)漏雙向端口。而P1~P3口,上拉電阻代替P0口中的場(chǎng)效應(yīng)管,輸出緩沖器不是三態(tài)的-準(zhǔn)雙向口。(3)P3口的口線具有第二功能,為系統(tǒng)提供一些控制信號(hào)。因此在P3口電路增加了第二功能控制邏輯。這是P3口與其它各口的不同之處。MCS-51單片機(jī)擴(kuò)展存儲(chǔ)器的設(shè)計(jì)(重要)概述片內(nèi)的資源如不滿足需要,需外擴(kuò)存儲(chǔ)器和I/O功能部件:系統(tǒng)擴(kuò)展問(wèn)題,內(nèi)容主要有:(1)外部存儲(chǔ)器的擴(kuò)展(外部存儲(chǔ)器又分為外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器)(2)I/O接口部件的擴(kuò)展。系統(tǒng)擴(kuò)展結(jié)構(gòu)如下圖:MCS-51單片機(jī)外部存儲(chǔ)器結(jié)構(gòu):哈佛結(jié)構(gòu)。MCS-96單片機(jī)的存儲(chǔ)器結(jié)構(gòu):普林斯頓結(jié)構(gòu)。MCS-51數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的最大擴(kuò)展空間各為64KB。系統(tǒng)擴(kuò)展首先要構(gòu)造系統(tǒng)總線。系統(tǒng)總線及總線構(gòu)造系統(tǒng)總線按其功能通常把系統(tǒng)總線分為三組:1.地址總線(AdressBus,簡(jiǎn)寫AB)

2.數(shù)據(jù)總線(DataBus,簡(jiǎn)寫DB)3.控制總線(ControlBus,簡(jiǎn)寫CB)

構(gòu)造系統(tǒng)總線

系統(tǒng)擴(kuò)展的首要問(wèn)題:構(gòu)造系統(tǒng)總線,然后再往系統(tǒng)總線上“掛”存儲(chǔ)器芯片或I/O接口芯片,“掛”存儲(chǔ)器芯片就是存儲(chǔ)器擴(kuò)展,“掛”I/O接口芯片就是I/O擴(kuò)展。MCS-51由于受引腳數(shù)目的限制,數(shù)據(jù)線和低8位地址線復(fù)用。為了將它們分離出來(lái),需要外加地址鎖存器,從而構(gòu)成與一般CPU相類似的片外三總線,見(jiàn)圖8-2。

地址鎖存器一般采用74LS373,采用74LS373的地址總線的擴(kuò)展電路如下圖(圖8-3)。

1.以P0口作為低8位地址/數(shù)據(jù)總線。2.以P2口的口線作高位地址線。3.控制信號(hào)線。 *使用ALE信號(hào)作為低8位地址的鎖存控制信號(hào)。 *以PSEN*信號(hào)作為擴(kuò)展程序存儲(chǔ)器的讀選通信號(hào)。 *以EA*信號(hào)作為內(nèi)外程序存儲(chǔ)器的選擇控制信號(hào)。 *由RD*和WR*信號(hào)作為擴(kuò)展數(shù)據(jù)存儲(chǔ)器和I/O口的讀選通、寫選通信號(hào)。盡管MCS-51有4個(gè)并行I/O口,共32條口線,但由于系統(tǒng)擴(kuò)展需要,真正作為數(shù)據(jù)I/O使用的,就剩下P1口和P3口的部分口線。讀寫控制、地址空間分配和外部地址鎖存器存儲(chǔ)器擴(kuò)展的讀寫控制RAM芯片:讀寫控制引腳,記為OE*和WE*,與MCS-51的RD*和WR*相連。EPROM芯片:只能讀出,故只有讀出引腳,記為OE*,該引腳與MCS-51的PSEN*相連。存儲(chǔ)器地址空間分配MCS-51發(fā)出的地址是用來(lái)選擇某個(gè)存儲(chǔ)器單元進(jìn)行讀寫,要完成這種功能,必須進(jìn)行兩種選擇:“片選”和“單元選擇”。存儲(chǔ)器空間分配除考慮地址線連接外,還討論各存儲(chǔ)器芯片在整個(gè)存儲(chǔ)空間中所占據(jù)的地址范圍,

常用的存儲(chǔ)器地址分配的方法有兩種:線性選擇法(簡(jiǎn)稱線選法)和地址譯碼法(簡(jiǎn)稱譯碼法)。1.線選法

直接利用系統(tǒng)的高位地址線作為存儲(chǔ)器芯片(或I/O接口芯片)的片選信號(hào)。優(yōu)點(diǎn):電路簡(jiǎn)單,不需要地址譯碼器硬件,體積小,成本低。

缺點(diǎn):可尋址的器件數(shù)目受到限制,地址空間不連續(xù),地址不唯一。例某一系統(tǒng),需要外擴(kuò)8KB的EPROM(2片2732),4KB的RAM(2片6116),這

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論