單片機(jī)原理及應(yīng)用:MCS-51系列單片機(jī)的結(jié)構(gòu)_第1頁(yè)
單片機(jī)原理及應(yīng)用:MCS-51系列單片機(jī)的結(jié)構(gòu)_第2頁(yè)
單片機(jī)原理及應(yīng)用:MCS-51系列單片機(jī)的結(jié)構(gòu)_第3頁(yè)
單片機(jī)原理及應(yīng)用:MCS-51系列單片機(jī)的結(jié)構(gòu)_第4頁(yè)
單片機(jī)原理及應(yīng)用:MCS-51系列單片機(jī)的結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩97頁(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)介

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

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

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

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

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

2.1.1

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

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

3.64KB程序存儲(chǔ)器空間

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

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

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

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

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

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

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

PSEN:

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

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

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

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

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

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

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

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

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

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

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

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

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

指令寄存器是一個(gè)8位的寄存器,用來(lái)暫時(shí)存放指令。3)指令譯碼器

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

控制器

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

2、時(shí)序部件

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

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

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

二、運(yùn)算器運(yùn)算器

2、累加器ACC(Accumulator)

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

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

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

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

運(yùn)算器CPU執(zhí)行程序一般包括兩個(gè)主要過(guò)程

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

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

執(zhí)行

取指令

分析

2.2.2單片機(jī)執(zhí)行程序的過(guò)程

怎樣保證CPU工作

?

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

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

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

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

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

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

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

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

MCS-51存儲(chǔ)器空間分布圖

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

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

,尋址外部ROM。

說(shuō)明:8031單片機(jī)必須接低電平。EA

程序存儲(chǔ)器中6個(gè)具有特殊含義的單元

0000H——

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

0003H——

外部中斷0入口

000BH——T0溢出中斷入口

0013H——

外中斷1入口

001BH——T1溢出中斷入口

0023H——

串口中斷入口片內(nèi)程序存儲(chǔ)器系統(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開(kāi)始存放,復(fù)位后,通過(guò)跳轉(zhuǎn)指令LJMP轉(zhuǎn)移至2000H開(kāi)始執(zhí)行。 ORG0000H LJMP2000H . . . ORG2000HSTART:-------------------2.3.2數(shù)據(jù)存儲(chǔ)器用途:存放程序執(zhí)行的中間結(jié)果和過(guò)程數(shù)據(jù)的。特點(diǎn):CPU工作時(shí)可以隨時(shí)進(jìn)行數(shù)據(jù)的讀寫。物理上、邏輯上分為兩大區(qū)域:內(nèi)部數(shù)據(jù)存儲(chǔ)器——00H~FFH。外部數(shù)據(jù)存儲(chǔ)器——0000H~FFFFH。7FH00H80HFFH片外RAM0000HFFFFH數(shù)據(jù)存儲(chǔ)器SFR片內(nèi)RAM51系列單片機(jī)片內(nèi)含有256個(gè)字節(jié)RAM。其中低128B地址(00H~7FH)為用戶數(shù)據(jù)RAM。1、片內(nèi)數(shù)據(jù)存儲(chǔ)器

高128B地址(80H~FFH)為特殊寄存器(SFR)單元。8051系列單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器分布如圖所示: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∽R(shí)7對(duì)應(yīng)內(nèi)部RAM地址。解:因RS0=1,RS1=1根據(jù)前表可知:

R0∽R(shí)7對(duì)應(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∽R(shí)7對(duì)應(yīng)內(nèi)部RAM地址,其中R2的地址又是多少?答:R5的地址為15H。答:R0∽R(shí)7對(duì)應(yīng)內(nèi)部RAM地址為08H∽0FH,R2的地址為0AH。②位尋址區(qū):位尋址區(qū)(20H—2FH)16個(gè)字節(jié)。16*8=128位,每一位都有一個(gè)位地址,范圍為:00H—7FH,位地址區(qū)也可作為一般的用戶RAM使用。③用戶RAM區(qū):地址:30H~7FH,80個(gè)單元特點(diǎn):用戶可隨意使用R0、R1、R2、R3、R4、R5、R6、R7即可位尋址,又可字節(jié)尋址數(shù)據(jù)緩沖區(qū)、堆棧區(qū)、工作單元實(shí)際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í)/計(jì)數(shù)器、中斷系統(tǒng),如下表所示。其中有些專用寄存器有位地址或位名稱,可以進(jìn)行位操作。特殊功能寄存器

寄存器

位地址/位定義

地址

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個(gè)特殊功能寄存器SFR:

CPU:ACC,B,PSW,SP,DPTR

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

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

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

在乘除法指令中,乘法指令中的兩個(gè)操作數(shù)分別取自累加器A和寄存器B,其結(jié)果存放于AB寄存器對(duì)中。除法指令中,被除數(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進(jìn)位標(biāo)志位

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

D3有進(jìn)位或借位時(shí)AC=1,否則AC=0,

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

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

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

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

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

解:A=3DH=00111101B

P=11、已知累加器A=34H,請(qǐng)問(wèn)PSW中的奇偶校驗(yàn)位P=?

2、已知累加器A=C6H,請(qǐng)問(wèn)PSW中的奇偶校驗(yàn)位P=?

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

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

MOVX

A,

@DPTR

MOVX

@DPTR,

A

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

MOVC

A,

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

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

2.4.1P0口2.4.2P1口2.4.3P2口

2.4.4P3口

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

2.4.1P0口

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

T1、T2構(gòu)成輸出驅(qū)動(dòng)器,與門、反相器及模擬開(kāi)關(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)不進(jìn)行片外的ROM擴(kuò)展,也不進(jìn)行片外RAM擴(kuò)展時(shí),P0用作通用I/O口。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

讀—改—寫類指令產(chǎn)生讀端口信號(hào)例: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口作輸入時(shí),也必須先往口鎖存器寫1。

2.4.3P2口

P2口既可作為通用的I/O使用,也可用作外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器的地址總線的高8位(AB8-AB15)地址。當(dāng)控制信號(hào)為高電平時(shí),MUX接內(nèi)部地址總線,P2口作地址線使用。控制信號(hào)為低電平時(shí),MUX與鎖存器相連,P2口作為通用I/O口使用,與P1口一樣。

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

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

P3口位第二功能

P3.0RXD串口入

P3.1TXD串口出

P3.2INT0入

P3.3INT1入

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

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

P3.6WR出

P3.7

溫馨提示

  • 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)論