單片機原理及應(yīng)用:MCS-51系列單片機的結(jié)構(gòu)_第1頁
單片機原理及應(yīng)用:MCS-51系列單片機的結(jié)構(gòu)_第2頁
單片機原理及應(yīng)用:MCS-51系列單片機的結(jié)構(gòu)_第3頁
單片機原理及應(yīng)用:MCS-51系列單片機的結(jié)構(gòu)_第4頁
單片機原理及應(yīng)用:MCS-51系列單片機的結(jié)構(gòu)_第5頁
已閱讀5頁,還剩97頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

MCS-51系列單片機的結(jié)構(gòu)MCS-51系列單片機內(nèi)部結(jié)構(gòu)MCS-51系列單片機工作原理MCS-51系列單片機的存儲器結(jié)構(gòu)CPU的工作時序及工作方式本章內(nèi)容了解MCS-51系列單片機內(nèi)部結(jié)構(gòu)掌握MCS-51系列單片機各部分的功能掌握存儲器結(jié)構(gòu)及特殊寄存器的作用掌握I/O口結(jié)構(gòu)及應(yīng)用特性學(xué)習(xí)目的§2.1MCS-51系列單片機的結(jié)構(gòu)

2.1.1MCS-51單片機系列2.1.2MCS-51單片機的結(jié)構(gòu)2.1.3MCS-51單片機引腳功能

MCS-51是由Intel公司最早推出的一種單片機系列。一、特點:制造工藝:HMOS、CHMOS按功能分類:基本型、增加型片內(nèi)程序存儲器的配置:掩膜ROM、EPROM、無片內(nèi)程序存儲器特別一類:8044/8744/8344,增加了串行單元,專門負(fù)責(zé)串行通信管理,增強了單片機的組網(wǎng)功能。2.1.1

MCS-51系列MCS-51系列單片機性能表ROM形式片內(nèi)ROM(kB)片內(nèi)RAM(B)尋址范圍(kB)I/O

中斷源片內(nèi)ROM片內(nèi)EPROM外接EPROM計數(shù)器并行口串行口80518751803141282Χ642Χ164Χ81580C5187C5180C3141282Χ642Χ164Χ81580528752803282562Χ643Χ164Χ81680C25287C25280C23282562Χ643Χ164Χ817二、單片機發(fā)展趨勢:字長:8位單片機為主流機型片內(nèi)程序存儲器的配置:OTPROM、FlashROM為主流供應(yīng)狀態(tài)通信:串行擴展總線為主要數(shù)據(jù)通道采用在線仿真編程。

2.1.1

MCS-51系列一、MCS-51系列單片機的基本組成和內(nèi)部結(jié)構(gòu)2.1.2

MCS-51單片機的結(jié)構(gòu)圖2.1單片機組成框圖1.適于控制應(yīng)用的8位CPU2.具有布爾處理(位處理)能力

3.64KB程序存儲器空間

4.64KB數(shù)據(jù)存儲器空間

5.128個字節(jié)片內(nèi)數(shù)據(jù)存儲器二、51系列單片機硬件電路特征6.4K字節(jié)片內(nèi)程序存儲器7.32根雙向并可按位尋址的并行I/O接口線8.兩個16位定時/計數(shù)器9.一個全雙工的串行I/O接口10.6源5向量中斷結(jié)構(gòu),每個中斷源都具有兩級11.片內(nèi)時鐘振蕩器中斷系統(tǒng)T0T1CPU時鐘電路RAM定時/計數(shù)器并行接口串行接口P0P1P2P3TXDRXDINT0INT1ROM運算和控制功能三、組成單片機的各部分功能:存放用戶程序、原始數(shù)據(jù)或表格存放可讀寫的數(shù)據(jù)或運算結(jié)果中斷系統(tǒng)T0T1CPU時鐘電路RAM定時/計數(shù)器并行接口串行接口P0P1P2P3TXDRXDINT0INT1ROM用于內(nèi)外數(shù)據(jù)并行傳輸三、組成單片機的各部分功能:實現(xiàn)定時或計數(shù)并產(chǎn)生中斷串行數(shù)據(jù)傳輸產(chǎn)生系統(tǒng)運行脈沖中斷系統(tǒng)T0T1CPU時鐘電路RAM定時/計數(shù)器并行接口串行接口P0P1P2P3TXDRXDINT0INT1ROM三、組成單片機的各部分功能:中斷系統(tǒng)——六源五向量外部中斷

③④①②⑤⑥中斷系統(tǒng)T0T1CPU時鐘電路RAM定時/計數(shù)器并行接口串行接口P0P1P2P3TXDRXDINT0INT1ROM三、組成單片機的各部分功能:三總線——數(shù)據(jù)總線、地址總線、控制總線內(nèi)部總線有三種

數(shù)據(jù)總線:專門用來傳送數(shù)據(jù)信息。地址總線:專門用來傳送地址信息,選中各操作單元。控制總線:專門用來傳送CPU各種控制命令,以便CPU統(tǒng)一指揮協(xié)調(diào)工作。完成程序所要執(zhí)行的各種功能。51系列三總線結(jié)構(gòu)的特點:16條地址總線:尋址64KBROM和64KBRAM,用控制線區(qū)分無獨立的地址總線、數(shù)據(jù)總線,與P0、P2口復(fù)用P0口分時作低8位地址總線/8位數(shù)據(jù)總線P2口分時作高8位地址總線MCS-51系列單片機的內(nèi)部結(jié)構(gòu)如下圖所示:內(nèi)部結(jié)構(gòu)框圖P0驅(qū)動器RAM地址寄存器RAMEPROM或ROMP2驅(qū)動器P0鎖存器P2鎖存器B寄存器A暫存器2暫存器1SP16位地址寄存器緩沖器PSWALUP1鎖存器P1驅(qū)動器振蕩器P3鎖存器P3驅(qū)動器PC加1PCDPTR中斷系統(tǒng)串行口定時/計數(shù)器定時及控制指令寄存器PSENALEEARSTVccVssP0.0~P0.7P2.0~P2.7P1.0~P1.7P3.0~P3.7累加器A(Accumulator)通用寄存器B(GeneralRegister)程序狀態(tài)字PSW(ProgramStatusWord)程序計數(shù)器PC(ProgramCounter)數(shù)據(jù)指針DPTR(DataPointor)堆棧指針SP(StackPointor)外部程序存儲器讀選通信號地址鎖存信號輸出端1/6fosc

2.1.3MCS-51系列單片機引腳功能1、電源引腳VCC和VSS:

VCC=+5VVSS=地2、時鐘引腳XTAL1(19)和XTAL2(18):接石英晶體3、控制信號引腳RST,ALE,PSEN和EARST(9):復(fù)位

ALE/PROG(30):地址鎖存允許/8751片內(nèi)EPROM固化程序時加入編程脈沖.

PSEN:

程序存儲允許輸出端,即允許讀EPROM/ROM中的指令碼.EA/VPP:程序存儲器地址允許輸入端/編程電壓輸入

EA=0(PC指向片外ROM);EA=1(PC指向片內(nèi)ROM),但當(dāng)PC的值超過0FFFH(4KB)時,將自動轉(zhuǎn)向片外.VPP:對87C51編程固化時加入21V的電壓.

4、輸入/輸出口P0,P1,P2和P3

P0口是8位雙向I/O口。在CPU訪問片外存儲器時,P0口分時提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。

P1口是8位準(zhǔn)雙向I/O口

P2口是8位準(zhǔn)雙向I/O口。在訪問片外存儲器時,它輸出高8位地址。

P3口是8位準(zhǔn)雙向I/O口。P3口的的每一位還有第二功能。外部程序存儲器讀選通信號地址鎖存信號輸出端1/6fosc§2.2單片機工作原理

2.2.1CPU的工作原理2.1.2單片機執(zhí)行程序的過程2.1.3單片機工作時序

CPU主要由運算器和控制器組成??刂破鳎褐噶畈考r序部件、操作控制部件運算器:算術(shù)邏輯部件ALU、累加器ACC、暫存器、程序狀態(tài)字PSW2.2.1CPU的工作原理1)程序計數(shù)器PC(programCounter)

程序計數(shù)器在物理上是獨立的,它不屬于特殊內(nèi)部數(shù)據(jù)存儲器塊中。

PC是一個16位的計數(shù)器,由兩個八位寄存器PCH和PCL組成,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,PC有自動加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動加1。

PC本身并沒有地址,因而不可尋址,用戶無法對它進行讀寫,但是可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序的執(zhí)行順序。

一、控制器控制器1、指令部件2)指令寄存器

指令寄存器是一個8位的寄存器,用來暫時存放指令。3)指令譯碼器

指令譯碼器的作用是對來自指令寄存器的操作碼進行分析、解釋,在其輸出端產(chǎn)生各種控制電平,以形成相應(yīng)的微操作。

控制器

產(chǎn)生單片機各部件所需的定時信號,以保證各個部件有條不紊地進行信息傳送、加工及存儲等操作。

2、時序部件

作用是將指令譯碼器產(chǎn)生的微操作信號與時序部件產(chǎn)生的節(jié)拍信號進行組合,共同形成相應(yīng)的微操作控制序列(也可以和外部來的控制信號組合),以完成該指令所規(guī)定的操作。

3、控制操作部件控制器1、算術(shù)運算部件ALU

由加法器、加1減1電路、移位電路及BCD碼修正電路等邏輯電路所組成。在控制信號的作用下,完成算術(shù)加、減、乘、除和邏輯“與、或、異或”等運算,同時具有位處理能力。運算結(jié)果將改變PSW中的有關(guān)標(biāo)志位。

二、運算器運算器

2、累加器ACC(Accumulator)

累加器A是一個最常用的專用寄存器,大部分單操作指令的一個操作數(shù)取自累加器,很多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。加、減、乘、除法運算的指令,運算結(jié)果都存放于累加器A或寄存器B中。大部分的數(shù)據(jù)操作都會通過累加器A進行,它形象于一個數(shù)據(jù)運輸中轉(zhuǎn)站,在數(shù)據(jù)傳送過程中,任何兩個不能直接實現(xiàn)數(shù)據(jù)傳送的單元之間,通過累加器A中轉(zhuǎn),都能送達目的。運算器

3、暫存器用來暫存進行運算之前的數(shù)據(jù),在單片機中,暫存器多的單片機運算速度快。

4、狀態(tài)寄存器PSW

一個8位寄存器,用于寄存程序運行的狀態(tài)信息。

運算器CPU執(zhí)行程序一般包括兩個主要過程

第一,就是從程序存儲器中取出指令,指令的地址由PC指針提供。

第二,就是執(zhí)指過程,取出的指令代碼首先被送到CPU中控制器中的指令寄存器,再通過指令譯碼器譯碼變成各種電信號,從而實現(xiàn)指令的各種功能。

執(zhí)行

取指令

分析

2.2.2單片機執(zhí)行程序的過程

怎樣保證CPU工作

?

現(xiàn)在我們知道了單片機怎樣取指、執(zhí)指,即怎樣運行程序了。那么怎樣才能保證CPU有序的工作?這就必須提到單片機的兩個非常重要的外圍電路:單片機的時鐘電路和復(fù)位電路。

Pin19:時鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。Pin18:時鐘XTAL2腳,片內(nèi)振蕩電路的輸出端。時鐘電路如下復(fù)位電路如下

單片機工作時,除了需要時鐘支持外,還必須有一個初始狀態(tài),即單片機的復(fù)位狀態(tài)。Pin9:RESET復(fù)位信號腳,當(dāng)89C51通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。單片機指令執(zhí)行過程圖2.2.3單片機工作時序定義:CPU執(zhí)行指令時產(chǎn)生的控制信號在時間上的相互關(guān)系

CPU產(chǎn)生的控制信號有兩類:

控制片內(nèi)各部件控制片外M/IO

一、機器周期和指令周期【振蕩周期】:單片機外接石英晶體振蕩器的周期。如外接石英晶體的頻率若為12MHz,其振蕩周期就是1/12微秒?!緺顟B(tài)周期】:單片機完成一個最基本的動作所需的時間周期。如掃描一次定時器T0引腳狀態(tài)所需要的時間。一個狀態(tài)周期=2個振蕩周期?!緳C器周期】:單片機完成一次完整的具有一定功能的動作所需的時間周期。如一次完整的讀操作或?qū)懖僮鲗?yīng)的時間。一個機器周期=6個狀態(tài)周期?!局噶钪芷凇浚簣?zhí)行完某條指令所需要的時間周期,一般需要1~4個機器周期,如MULAB指令是四機器周期指令。一個指令周期=1~4個機器周期。一個機器周期P1P2狀態(tài)(S)與節(jié)拍(P)狀態(tài)S振蕩周期節(jié)拍P1節(jié)拍P2例:一個時鐘頻率為6MHz的單片機應(yīng)用系統(tǒng),它的時鐘周期、機器周期、指令周期分別是多少?

解:f=6MHzT=1/6(μs)TM=12×(1/6)=2(μs)T指=2~8μsMCS51指令有單字節(jié)、雙字節(jié)和三字節(jié)三種。單字節(jié)和雙字節(jié)指令可能是單周期或雙周期。三字節(jié)指令都是雙周期的。乘、除指令需四個周期。二、指令的工作時序一個機器周期P1P2P1P2單字節(jié)單周期指令例:INCA單周期單字節(jié)指令時序§2.3MCS-51系列單片機存儲器

2.3.1程序存儲器2.3.2數(shù)據(jù)存儲器

MCS-51存儲器空間分布圖

MCS-51系列單片機的存儲器結(jié)構(gòu)與常見的微機的配置方式不同。它們把程序和數(shù)據(jù)存儲器分開,各有自己的尋址系統(tǒng)、控制信號和功能。因訪問指令不同,地址可以重疊。2.3.1程序存儲器功能:用于存放編好的程序、表格和常數(shù)。特點:為只讀存儲器。通過MOVC指令進行訪問。0000H0FFFH0000H0FFFH1000HFFFFH片內(nèi)ROM/EA=1片外ROM/EA=0片外ROM程序存儲器存儲空間:64KB的尋址空間,片內(nèi)片外由EA控制

,尋址內(nèi)部ROM;

,尋址外部ROM。

說明:8031單片機必須接低電平。EA

程序存儲器中6個具有特殊含義的單元

0000H——

系統(tǒng)復(fù)位,PC指向此處;

0003H——

外部中斷0入口

000BH——T0溢出中斷入口

0013H——

外中斷1入口

001BH——T1溢出中斷入口

0023H——

串口中斷入口片內(nèi)程序存儲器系統(tǒng)入口INT0響應(yīng)區(qū)INT1響應(yīng)區(qū)T0中斷響應(yīng)區(qū)T1中斷響應(yīng)區(qū)串口中斷響應(yīng)區(qū)0000H0003H000BH0013H001BH0023H002BH例如主程序?qū)嶋H從2000H開始存放,復(fù)位后,通過跳轉(zhuǎn)指令LJMP轉(zhuǎn)移至2000H開始執(zhí)行。 ORG0000H LJMP2000H . . . ORG2000HSTART:-------------------2.3.2數(shù)據(jù)存儲器用途:存放程序執(zhí)行的中間結(jié)果和過程數(shù)據(jù)的。特點:CPU工作時可以隨時進行數(shù)據(jù)的讀寫。物理上、邏輯上分為兩大區(qū)域:內(nèi)部數(shù)據(jù)存儲器——00H~FFH。外部數(shù)據(jù)存儲器——0000H~FFFFH。7FH00H80HFFH片外RAM0000HFFFFH數(shù)據(jù)存儲器SFR片內(nèi)RAM51系列單片機片內(nèi)含有256個字節(jié)RAM。其中低128B地址(00H~7FH)為用戶數(shù)據(jù)RAM。1、片內(nèi)數(shù)據(jù)存儲器

高128B地址(80H~FFH)為特殊寄存器(SFR)單元。8051系列單片機內(nèi)部數(shù)據(jù)存儲器分布如圖所示:R0、R1、R2、R3、R4、R5、R6、R7即可位尋址,又可字節(jié)尋址數(shù)據(jù)緩沖區(qū)、堆棧區(qū)、工作單元1、片內(nèi)數(shù)據(jù)RAM①工作寄存器區(qū):地址:00H~1FH

四組R0

~R7RS1RS0工作寄存器區(qū)000區(qū)00H~07H011區(qū)08H~0FH102區(qū)10H~17H113區(qū)18H~1FH例已知:程序狀態(tài)字PSW中的RS0=1,RS1=1,求R0∽R7對應(yīng)內(nèi)部RAM地址。解:因RS0=1,RS1=1根據(jù)前表可知:

R0∽R7對應(yīng)內(nèi)部RAM地址為18H∽1FH練習(xí)1、已知:程序狀態(tài)字PSW中的RS0=0,RS1=1,求R5的地址。2、已知:程序狀態(tài)字PSW中的RS0=1,RS1=0,求R0∽R7對應(yīng)內(nèi)部RAM地址,其中R2的地址又是多少?答:R5的地址為15H。答:R0∽R7對應(yīng)內(nèi)部RAM地址為08H∽0FH,R2的地址為0AH。②位尋址區(qū):位尋址區(qū)(20H—2FH)16個字節(jié)。16*8=128位,每一位都有一個位地址,范圍為:00H—7FH,位地址區(qū)也可作為一般的用戶RAM使用。③用戶RAM區(qū):地址:30H~7FH,80個單元特點:用戶可隨意使用R0、R1、R2、R3、R4、R5、R6、R7即可位尋址,又可字節(jié)尋址數(shù)據(jù)緩沖區(qū)、堆棧區(qū)、工作單元實際RAM區(qū):00-7FH7FH30H2FH20H1FH07H00H7F7E7D7C7B7A797807060504030201003組2組1組0組用戶RAM區(qū)位尋址區(qū)工作寄存器區(qū)(2)特殊功能寄存器(SFR)

占用片內(nèi)RAM80~FFH中部分單元。80~FFH未被SFR占用的單元保留,用戶不能使用。SFR也稱專用寄存器,專用于控制、管理片內(nèi)ALU部件、并行I/O口、串行I/O口、定時/計數(shù)器、中斷系統(tǒng),如下表所示。其中有些專用寄存器有位地址或位名稱,可以進行位操作。特殊功能寄存器

寄存器

位地址/位定義

地址

F7

F6

F5

F4

F3

F2

F1

F0

B

F0H

E7

E6

E5

E4

E3

E2

E1

E0

ACC

E0

D7

D6

D5

D4

D3

D2

D1

D0

PSW

CY

AC

F0

RS1

RS0

OV

/

P

D0H

BF

BE

BD

BC

BB

BA

B9

B8

IP

B8H

B7

B6

B5

B4

B3

B2

B1

B0

P3

P3.7

P3.6

P3.5

P3.4

P3.3

P3.2

P3.1

P3.0

B0H

IE

A8H

A7

A6

A5

A4

A3

A2

A1

A0

P2

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

A0H

SBUF

99H

特殊功能寄存器SFR區(qū)21個特殊功能寄存器SFR:

CPU:ACC,B,PSW,SP,DPTR

并行口:P0,P1,P2,P3定時/計數(shù)器(T0,T1):TMOD,TCONTH0,TL0,TH1,TL1

中斷系統(tǒng):IE,IP

串行口:SBUF,SCON,PCON1)寄存器B

在乘除法指令中,乘法指令中的兩個操作數(shù)分別取自累加器A和寄存器B,其結(jié)果存放于AB寄存器對中。除法指令中,被除數(shù)取自累加器A,除數(shù)取自寄存器B,結(jié)果商存放于累加器A,余數(shù)存放于寄存器B中。

2)程序狀態(tài)字(ProgramStatusWord)位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標(biāo)志CYACF0RS1RS0OV-PCY進位標(biāo)志位

D7有進位或借位時CY=1,否則CY=0;在進行位操作時,CY作為位操作累加器。AC輔助進位標(biāo)志

D3有進位或借位時AC=1,否則AC=0,

也常用于十進制調(diào)整。FO用戶標(biāo)志

用戶定義,通過軟件置位或清零RS1、RS0寄存器組選擇位

選擇指令當(dāng)前工作的工作寄存器組。OV溢出標(biāo)志

帶符號加減運算中,超過累加器A所能表示的符號數(shù)有效范圍(-128~+127)則OV=1。 乘法指令,乘積超過255時,OV=1。除法指令,OV=1,表示除數(shù)為0。P奇偶標(biāo)志

A中1的個數(shù)若為奇數(shù)P=1,否則P=0例:已知累加器A=3DH,請問PSW中的奇偶校驗位P=?

解:A=3DH=00111101B

P=11、已知累加器A=34H,請問PSW中的奇偶校驗位P=?

2、已知累加器A=C6H,請問PSW中的奇偶校驗位P=?

練習(xí)答案:A=00110100,P=1答案:A=11000110,P=0請思考3)數(shù)據(jù)指針(DPTR)

數(shù)據(jù)指針為16位寄存器,編程時,既可以按16位寄存器來使用,也可以按兩個8位寄存器來使用,即高位字節(jié)寄存器DPH和低位字節(jié)DPL。DPTR主要是用來保存16位地址,當(dāng)對64kB外部數(shù)據(jù)存儲器尋址時,可作為間址寄存器使用,此時,使用如下兩條指令:

MOVX

A,

@DPTR

MOVX

@DPTR,

A

在訪問程序存儲器時,DPTR可用來作基址寄存器,采用基址+變址尋址方式訪問程序存儲器,這條指令常用于讀取程序存儲器內(nèi)的表格數(shù)據(jù)。

MOVC

A,

@A+@DPTR4)堆棧指針SP(StackPointer)指明棧頂元素的地址,8位,可軟件設(shè)置初值,復(fù)位時SP=07H。5)I/O口專用寄存器(P0、P1、P2、P3)I/O口寄存器P0、P1、P2和P3分別是MCS-51單片機的四組I/O口鎖存器。

6)定時/計數(shù)器(TL0、TH0、TL1和TH1)MCS-51單片機中有兩個16位的定時/計數(shù)器T0和T1,它們由四個8位寄存器組成的,兩個16位定時/計數(shù)器卻是完全獨立的。我們可以單獨對這四個寄存器進行尋址,但不能把T0和T1當(dāng)作16位寄存來使用。7)定時/計數(shù)器方式選擇寄存器(TMOD)TMOD寄存器是一個專用寄存器,用于控制兩個定時計數(shù)器的工作方式,TMOD可以用字節(jié)傳送指令設(shè)置其內(nèi)容,但不能位尋址。MCS-51系列單片機有一個數(shù)據(jù)指針DPTR可用于尋址片外程序存儲器或片外數(shù)據(jù)存儲器單元。它為16位,可尋址范圍為64KB(0000H~FFFFH)。通過MOVX指令進行訪問。2、片外數(shù)據(jù)存儲器§2.4MCS-51系列單片機I/O端口

2.4.1P0口2.4.2P1口2.4.3P2口

2.4.4P3口

P0、P1、P2、P3口為4個8位并行I/O接口,共32根,可并行輸入或輸出8位數(shù)據(jù),也可按位操作。

2.4.1P0口

P0口1位的結(jié)構(gòu)原理圖如圖所示:

T1、T2構(gòu)成輸出驅(qū)動器,與門、反相器及模擬開關(guān)構(gòu)成輸出控制電路,三態(tài)門1為輸入緩沖器。2.4并行輸入/輸出接口P0口鎖存器和緩沖器結(jié)構(gòu)

P0口除了作普通的I/O口,直接和外部設(shè)備打交道外;還用作片外總線的地址總線AB0-AB7的低八位、數(shù)據(jù)總線。2.4.1P0口1、P0用作通用I/O口

當(dāng)系統(tǒng)不進行片外的ROM擴展,也不進行片外RAM擴展時,P0用作通用I/O口。

在這種情況下,單片機硬件自動使C=0,MUX開關(guān)接向鎖存器的反相輸出端。

另外,與門輸出的“0”使輸出驅(qū)動器的上拉場效應(yīng)管T1處于截止?fàn)顟B(tài)。因此,輸出驅(qū)動級工作在需外接上拉電阻的漏極開路方式。

作輸出口時,CPU執(zhí)行口的輸出指令,內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)在“寫鎖存器”信號的作用下由D端進入鎖存器,經(jīng)鎖存器的反向端送至場效應(yīng)管T2,再經(jīng)T2反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。作輸入口時,數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來決定。

執(zhí)行“讀—修改—寫”類輸入指令時(如:ANLP0,A),內(nèi)部產(chǎn)生的“讀鎖存器”操作信號,使鎖存器Q端數(shù)據(jù)進入內(nèi)部數(shù)據(jù)總線,在與累加器A進行邏輯運算之后,結(jié)果又送回P0的口鎖存器并出現(xiàn)在引腳。讀口鎖存器可以避免因外部電路原因使原口引腳的狀態(tài)發(fā)生變化造成的誤讀。

在執(zhí)行“MOV”類輸入指令時(如:MOVA,P0),內(nèi)部產(chǎn)生的操作信號是“讀引腳”。注意,在執(zhí)行該類輸入指令前要先把鎖存器寫入“1”,使場效應(yīng)管T2截止,使引腳處于懸浮狀態(tài),可以作為高阻抗輸入。

否則,在作為輸入方式之前曾向鎖存器輸出過“0”,則T2導(dǎo)通會使引腳箝位在“0”電平,使輸入高電平“1”無法讀入。所以,P0口在作為通用I/O口時,屬于準(zhǔn)雙向口。2、P0用作地址/數(shù)據(jù)總線

當(dāng)系統(tǒng)進行片外的ROM擴展或進行片外RAM擴展,P0用作地址/數(shù)據(jù)總線時。

在這種情況下,單片機內(nèi)硬件自動使C=1,MUX開關(guān)接向反相器的輸出端,這時與門的輸出由地址/數(shù)據(jù)線的狀態(tài)決定。

CPU在執(zhí)行輸出指令時,低8位地址信息和數(shù)據(jù)信息分時地出現(xiàn)在地址/數(shù)據(jù)總線上。P0.X引腳的狀態(tài)與地址/數(shù)據(jù)線的信息相同。CPU在執(zhí)行輸入指令時,首先低8位地址信息出現(xiàn)在地址/數(shù)據(jù)總線上,P0.X引腳的狀態(tài)與地址/數(shù)據(jù)總線的地址信息相同。然后,CPU自動地使轉(zhuǎn)換開關(guān)MUX撥向鎖存器,并向P0口寫入FFH,同時“讀引腳”信號有效,數(shù)據(jù)經(jīng)緩沖器進入內(nèi)部數(shù)據(jù)總線。

P0口作為地址/數(shù)據(jù)總線使用時是一個真正的雙向口。a.讀鎖存器

讀—改—寫類指令產(chǎn)生讀端口信號例:ORLP0,#0FH

b.讀引腳先將鎖存器寫1,再讀引腳

例:MOVP0,#0FFHMOVR0,P0c.寫數(shù)據(jù)在寫脈沖的作用下,數(shù)據(jù)被鎖存在鎖存器,再流出。P0作通用I/O口:T2截止,MUX與鎖存的Q端相聯(lián)P0作通用I/O口時為一準(zhǔn)雙向口。P0口的某1位VCC00P0口分時輸出低8位地址、輸出數(shù)據(jù)

低8位的地址、數(shù)據(jù)分時出現(xiàn)在地址數(shù)據(jù)總線上。

b.P0口分時輸出低8位地址、輸入數(shù)據(jù)P0口的某1位P0作數(shù)據(jù)/地址總線:DQCPQ內(nèi)總線寫入讀引腳讀鎖存器鎖存器地址/數(shù)據(jù)控制MUXT1T2VCCP0.X①低8位地址信息出現(xiàn)在地址/數(shù)據(jù)總線上,輸出地址信息。②CPU自動轉(zhuǎn)換MUX與Q相聯(lián),并向P0口寫入0FFH,同時“讀引腳”信號有效,數(shù)據(jù)流入。P0作地址/數(shù)據(jù)總線時為一真正雙向口。VCC1

P0口在作輸出入口使用時,由于它無內(nèi)部上拉電阻,為了在口線上輸出高電平并具有一定的驅(qū)動能力,必須外接上拉電阻。

P0口作通用I/O口時為一準(zhǔn)雙向口,其特點為讀引腳(作輸入口)時,為了防止鎖存器對輸入口線的輸入信號造成影響,必須先往口鎖存器寫1。2.4.2P1口P1口鎖存器和緩沖器結(jié)構(gòu)

P1口只用作普通輸入輸出口注意:和P0口一樣,為防止口鎖存器對輸入口線造成影響,P1口作輸入時,也必須先往口鎖存器寫1。a.讀端口

讀—改—寫類指令產(chǎn)生讀端口信號例:ORLP1,#0FH

b.讀引腳先將鎖存器寫1,再讀引腳

例:MOVP1,#0FFHMOVR0,P1P1口的某1位c.寫數(shù)據(jù)在寫脈沖的作用下,數(shù)據(jù)被鎖存在鎖存器,再流出。P2口鎖存器和緩沖器結(jié)構(gòu)

P2口除了作普通的I/O口,直接和外部設(shè)備打交道外;還用作片外總線的地址總線的高八位地址線AB8-AB15注意:P2口也是準(zhǔn)雙向口,同理,P2口作輸入時,也必須先往口鎖存器寫1。

2.4.3P2口

P2口既可作為通用的I/O使用,也可用作外部數(shù)據(jù)存儲器或程序存儲器的地址總線的高8位(AB8-AB15)地址。當(dāng)控制信號為高電平時,MUX接內(nèi)部地址總線,P2口作地址線使用??刂菩盘枮榈碗娖綍r,MUX與鎖存器相連,P2口作為通用I/O口使用,與P1口一樣。

P3口鎖存器和緩沖器結(jié)構(gòu)

P3口除了作普通的I/O口(功能和P1口一樣)直接和外部設(shè)備打交道外;還具有第二功能。2.4.4P3口P3口用作I/O口時,內(nèi)部“第二功能輸出”保持高電平,其功能與P1口相同,也為準(zhǔn)雙向I/O口。1、P3口作通用I/O口使用1P3口作為第二種功能使用時,其鎖存器Q端必須為高電平,否則T導(dǎo)通,P3.x被鉗位在低電平。2、P3口的第二功能1*P3口每一位都有第二功能

P3口位第二功能

P3.0RXD串口入

P3.1TXD串口出

P3.2INT0入

P3.3INT1入

P3.4T0計數(shù)器0計數(shù)輸入

P3.5T1計數(shù)器1計數(shù)輸入

P3.6WR出

P3.7

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論