第2章 單片機(jī)的組成原理new_第1頁
第2章 單片機(jī)的組成原理new_第2頁
第2章 單片機(jī)的組成原理new_第3頁
第2章 單片機(jī)的組成原理new_第4頁
第2章 單片機(jī)的組成原理new_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章

MCS-51單片機(jī)的硬件結(jié)構(gòu)

2.1MCS-51單片機(jī)結(jié)構(gòu)2.2單片機(jī)的復(fù)位電路設(shè)計(jì)2.3MCS-51單片機(jī)的存儲(chǔ)器配置2.1MCS-51單片機(jī)結(jié)構(gòu)

MCS-51系列單片機(jī)有多種型號的產(chǎn)品:

普通型(51子系列)

8051、8031、8751、89C51、89S51等。

增強(qiáng)型(52子系列)

8032、8052、8752、89C52、89S52等。

它們的結(jié)構(gòu)基本相同,主要差別反映在存儲(chǔ)器的配置上。

8031片內(nèi)沒有程序存儲(chǔ)器

8051內(nèi)部設(shè)有4KB的掩模ROM程序存儲(chǔ)器

8751是將8051片內(nèi)的ROM換成EPROM 89C51則換成4KB的閃速EEPROM 89S51結(jié)構(gòu)同89C51,4KB的閃速EEPROM可在線編程 增強(qiáng)型的存儲(chǔ)容量為普通型的一倍本書以8051代表這一系列的單片機(jī)。2.1.1

MCS-51單片機(jī)的組成

MCS-51單片機(jī)基本組成示意圖時(shí)鐘電路ROMSFR和RAMCPU定時(shí)/計(jì)數(shù)器并行端口中斷系統(tǒng)串行端口系統(tǒng)總線時(shí)鐘源T0T1P0

P1

P2

P3TXDRXD

INT0INT1通道0驅(qū)動(dòng)器通道2驅(qū)動(dòng)器RAM地址鎖存器RAM通道0鎖存器通道2鎖存器ROM/EPROMB寄存器程序地址寄存器緩沖器PC遞增器程序計(jì)數(shù)器PC0驅(qū)動(dòng)器DPTR指針VCCGNDP1.0~P1.7堆棧指針SPACCTMP2PSW通道3鎖存器通道1鎖存器通道1驅(qū)動(dòng)器通道3驅(qū)動(dòng)器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中斷、串行口和定時(shí)器部件振蕩器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定時(shí)和控制邏輯指令譯碼器圖2-2MCS-51片內(nèi)總體結(jié)構(gòu)框圖P0.0~P0.7P2.0~P2.72.1.2

MCS-51單片機(jī)的結(jié)構(gòu)

CPU是單片機(jī)的核心部件。它由運(yùn)算器和控制器等部件組成。

一.

運(yùn)算器 運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算:加、減、乘、除、加1、減1、比較、BCD碼十進(jìn)制調(diào)整等 邏輯運(yùn)算:與、或、異或、求反、循環(huán)等邏輯操作 位操作:內(nèi)部有布爾處理器,它以進(jìn)位標(biāo)志位C為位累加器,用來處理位操作??蓪ξ恢谩?”、對位清零、位判斷等。

操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存PSW。運(yùn)算器由8位算術(shù)邏輯運(yùn)算單元ALU(ArithmeticLogicUnit)、8位累加器ACC(Accumulator)、8位寄存器B、程序狀態(tài)字寄存器PSW(ProgramStatusWord)、8位暫存寄存器TMP1和TMP2等組成。主要進(jìn)行數(shù)據(jù)的處理和加工。1)、ALU功能:用來完成二進(jìn)制數(shù)的算術(shù)四則運(yùn)算和值的邏輯運(yùn)算。并通過對運(yùn)算結(jié)果的判定,影響程序狀態(tài)字寄存器PSW相關(guān)位的狀態(tài)。2)ACC:8位專用寄存器,作ALU的一個(gè)輸入端,同時(shí)ALU的輸出運(yùn)算結(jié)果也送到ACC;與外部存儲(chǔ)器和I/O接口交換信息時(shí)要經(jīng)過A。3)寄存器B(8位寄存器):做乘法運(yùn)算時(shí),用來寄存乘數(shù)或積的高位字節(jié);做除法運(yùn)算時(shí),用來寄存除數(shù)或余數(shù);不做上述運(yùn)算時(shí),可做通用寄存器使用。(1)進(jìn)位標(biāo)志位Cy(D7位):做加、減運(yùn)算時(shí),若運(yùn)算結(jié)果在最高位有進(jìn)位或借位時(shí),Cy被硬件自動(dòng)置“1”,反之則自動(dòng)置“0”。(2)輔助進(jìn)位標(biāo)志位AC(半進(jìn)位標(biāo)志位,D6位):A、做加減運(yùn)算時(shí),若低4位有向高4位進(jìn)位或借位時(shí),AC被硬件自動(dòng)置“1”,反之則自動(dòng)置“0”。B、CPU常根據(jù)AC的狀態(tài)對BCD碼的運(yùn)算結(jié)果進(jìn)行調(diào)整。(3)用戶標(biāo)志位F0(D5位):用戶可用軟件對F0位,置“1”或置“0”,以決定程序的走向。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVXP4)程序狀態(tài)字寄存器PSW(8位寄存器)(4)工作寄存器組選擇標(biāo)志位RSI、RS2(D4、D3位):用戶通過軟件改變RS1和RS2的組合內(nèi)容,來選擇片內(nèi)RAM中4組工作寄存器組之一。4)程序狀態(tài)字寄存器PSW(8位寄存器)RS1RS0選擇工作寄存器組000組(00H~07H)011組(08H~0FH)102組(10H~17H)113組(18H~1FH)D7D6D5D4D3D2D1D0CyACF0RS1RS0OVXP4)程序狀態(tài)字寄存器PSW(8位寄存器)D7D6D5D4D3D2D1D0CACF0RS1RS0OVXP(5)溢出標(biāo)志位OV(D2位):當(dāng)運(yùn)算的結(jié)果超過8位二進(jìn)制數(shù)的允許范圍時(shí),OV由硬件自動(dòng)置“1”,反之置“0”。OV是最高位和次高位做異或運(yùn)算:當(dāng)最高位和次高位同時(shí)有進(jìn)位時(shí)它是0,最高位和次高位中只有一個(gè)有進(jìn)位,它就是1(6)空缺位(D1位):此位未定義。(7)奇偶校驗(yàn)標(biāo)志位P(D0位):

MCS-51采用偶校驗(yàn),當(dāng)A累加器中1的個(gè)數(shù)為奇數(shù)時(shí),P被硬件置為“1”,反之被置為“0”。運(yùn)算器通道0驅(qū)動(dòng)器通道2驅(qū)動(dòng)器RAM地址鎖存器RAM通道0鎖存器通道2鎖存器ROM/EPROMB寄存器程序地址寄存器緩沖器PC遞增器程序計(jì)數(shù)器PC0驅(qū)動(dòng)器DPTR指針VCCGNDP1.0~P1.7堆棧指針SPACCTMP2PSW通道3鎖存器通道1鎖存器通道1驅(qū)動(dòng)器通道3驅(qū)動(dòng)器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中斷、串行口和定時(shí)器邏輯振蕩器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定時(shí)和控制邏輯指令譯碼器圖2-2MCS-51片內(nèi)總體結(jié)構(gòu)框圖內(nèi)部總線二、控制器是CPU的大腦中樞,主要由控制部件、時(shí)鐘發(fā)生器、指令寄存器IR、指令譯碼器ID、數(shù)據(jù)指針DPTR、程序計(jì)數(shù)器PC、堆棧指針SP等組成。功能:對逐條指令進(jìn)行譯碼,并通過定時(shí)和控制電路在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部控制信號,協(xié)調(diào)各部分的工作,從而使指令得以執(zhí)行。存入指令寄存器寄存指令譯碼器譯碼由定時(shí)與控制電路產(chǎn)生一系列控制信號思考題:一條指令如何執(zhí)行?通道0驅(qū)動(dòng)器通道2驅(qū)動(dòng)器RAM地址鎖存器RAM通道0鎖存器通道2鎖存器ROM/EPROMB寄存器程序地址寄存器緩沖器PC遞增器程序計(jì)數(shù)器PC0驅(qū)動(dòng)器DPTR指針VCCGNDP1.0~P1.7堆棧指針SPACCTMP2PSW通道3鎖存器通道1鎖存器通道1驅(qū)動(dòng)器通道3驅(qū)動(dòng)器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中斷、串行口和定時(shí)器邏輯振蕩器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定時(shí)和控制邏輯指令譯碼器圖2-2MCS-51片內(nèi)總體結(jié)構(gòu)框圖P0.0~P0.7P2.0~P2.72.1.3MCS-51單片機(jī)的外部引腳說明8031805187511.I/O口線功能4個(gè)8位并行I/O接口引腳P0.0~P0.7

、P1.0~P1.7

、P2.0~P2.7和

P3.0~P3.7為多功能引腳,可自動(dòng)切換用作數(shù)據(jù)總線、地址總線、控制總線和或I/O接口外部引腳。40個(gè)引腳分為四類:電源、地2條;時(shí)鐘2條;控制4條;I/O線32條。P0.0--P0.7(39-32):雙向I/O口P0.

第二功能是在訪問外部存儲(chǔ)器時(shí),可分時(shí)用作低8位地址和8位數(shù)據(jù)線;在對8751編程和校驗(yàn)時(shí),用于數(shù)據(jù)的輸人/輸出。P0口作為地址數(shù)據(jù)總線時(shí),不用外接上拉電阻,輸出高電平時(shí)內(nèi)部電源直接輸出到P0口線上,因此驅(qū)動(dòng)能力(電流)可以很大,可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。(L”表示低功耗,“S”表示肖特基技術(shù),“TTL”邏輯門電路)。Pl.0--Pl.7(1-8):雙向I/O口Pl。

P1口能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。在對EPROM編程和程序驗(yàn)證時(shí),它接收低8位地址。在8052單片機(jī)中P1.0還用作定時(shí)器2的計(jì)數(shù)觸發(fā)輸人端T2,P1.1還用作定時(shí)器2的外部控制端T2EX。P2.0--P2.7(21-28):雙向I/O口P2。P2口可以驅(qū)動(dòng)(吸收或輸出電流)4個(gè)LS型TTL負(fù)載。第二功能是在訪問外部存儲(chǔ)器時(shí),輸出高8位地址。在對EPROM編程和校驗(yàn)時(shí),它接收高位地址。P3.0--P3.7(10-17):雙向I/O口P3。P3口能驅(qū)動(dòng)(吸收或輸出電流)4個(gè)LS型TTL負(fù)載。P3口的每條引腳都有各自的第二功能。2.控制線ALE/(30)

:地址鎖存允許信號端

(29):外部程序存儲(chǔ)器讀選通信號端

(31):程序存儲(chǔ)器選擇信號端和編程電源輸入端RST/VPD(9):RST是復(fù)位信號輸人端803180518751

1)ALE地址鎖存信號輸出端:在訪問外部存儲(chǔ)器時(shí),用來鎖存由PO口送出的低8位地址信號。在不訪問外部存儲(chǔ)器時(shí),ALE以振蕩頻率1/6的固定頻率輸出脈沖信號。因此它可用作對外輸出的時(shí)鐘。但要注意,只要外接有存儲(chǔ)器,ALE端輸出的就不再是連續(xù)的周期脈沖信號。

2)編程脈沖輸入端:僅用于對8751片內(nèi)EPROM編程的脈沖輸人(低電平有效)。

ALE/(30):它是外部程序存儲(chǔ)器ROM的讀選通信號。在執(zhí)行訪問外部ROM指令時(shí),會(huì)定時(shí)產(chǎn)生一個(gè)負(fù)脈沖做選通信號,即每個(gè)機(jī)器周期內(nèi)有效兩次。注意:若訪問外部RAM或片內(nèi)的ROM,此引腳不會(huì)有輸出(為高電平)。(29):1)訪問外部存儲(chǔ)器的控制信號輸出端:當(dāng)EA高電平時(shí),先訪問內(nèi)部程序存儲(chǔ)器ROM;但當(dāng)程序計(jì)數(shù)器PC的值超過OFFFH(對8051/80051/8751)或1FFFH(對8052)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)EA保持低電平時(shí),只訪問外部程序存儲(chǔ)器,地址從0000H-FFFFH,不管是否有內(nèi)部程序存儲(chǔ)器。因此,若某單片機(jī)(如8031型)無內(nèi)部程序存儲(chǔ)器,則應(yīng)將端接地。2)VPP編程電壓(+21V)輸入端:當(dāng)對8751單片機(jī)內(nèi)部的程序ROM(即4KB的EPROM)進(jìn)行程序固化時(shí),在此端應(yīng)接入+21V的編程電壓。片內(nèi)EPROM編程期間,此引腳引入21V編程電源VPP。(31):RST/VPD(9):RST是復(fù)位信號輸人端。當(dāng)此輸人端保持兩個(gè)機(jī)器周期(24個(gè)振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。第二功能VPD

:即備用電源輸人端。當(dāng)主電源發(fā)生故障,降低到規(guī)定的低電平以下時(shí),將為片內(nèi)RAM提供備用電源,以保證存儲(chǔ)在RAM中的信息不丟失。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值。Vss(20):電源的接地端。

Vcc(40):

芯片工作電源的輸入端,接十5V。3、電源類引腳;803180518751XTALl(19)和XTAL2(18)的內(nèi)部是一個(gè)振蕩電路。1)、當(dāng)使用單片機(jī)內(nèi)部振蕩電路時(shí),在這兩個(gè)管腳上外接石英晶體的兩端和微調(diào)電容。2)、當(dāng)單片機(jī)采用外部時(shí)鐘信號時(shí),XTAL2接外部振蕩信號,XTAL1接低電平。

4、時(shí)鐘振蕩電路引腳;單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了確保同步工作方式的執(zhí)行,電路應(yīng)在唯一的時(shí)鐘信號的控制下嚴(yán)格地按時(shí)序進(jìn)行工作。單片機(jī)時(shí)鐘電路通常有兩種形式:1.內(nèi)部振蕩方式:MCS-51單片機(jī)片內(nèi)有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。把放大器與作為反饋元件的晶體振蕩器或陶瓷諧振器連接,就構(gòu)成了內(nèi)部自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。2.1.4

單片機(jī)時(shí)鐘電路及CPU基本時(shí)序內(nèi)部振蕩方式時(shí)鐘電路:產(chǎn)生的振蕩信號送入內(nèi)部時(shí)鐘電路,產(chǎn)生單片機(jī)的內(nèi)部時(shí)鐘,最后向CPU提供P1、P2兩相時(shí)鐘信號。其中C1、C2取31PF,對頻率進(jìn)行微調(diào),振蕩頻率范圍在2~12MHz,一般常為12MHz。向CPU提供兩相時(shí)鐘信號振蕩器輸出信號2.外部振蕩方式:外部振蕩方式就是把外部已有的時(shí)鐘信號引入單片機(jī)內(nèi)。3、單片機(jī)時(shí)鐘電路及CPU基本時(shí)序CPU在執(zhí)行指令時(shí),各控制信號在時(shí)間順序上的關(guān)系稱時(shí)序。

CPU發(fā)出的時(shí)序信號有兩類:

A、一類是用于片內(nèi)各功能部件的控制,基本與用戶無關(guān);(不討論)

B、另一類用于片外存儲(chǔ)器、擴(kuò)展的I/O端口的控制,非常重要。(要掌握)一、基本概念1、振蕩周期:振蕩器輸出的振蕩時(shí)鐘脈沖信號的周期。單片機(jī)以晶體振蕩器的振蕩周期(或外部引入的時(shí)鐘周期)為最小的時(shí)序單位,片內(nèi)的各種微操作都以此周期為時(shí)序基準(zhǔn)。2、時(shí)鐘周期(又稱狀態(tài)周期、狀態(tài)時(shí)間S):一個(gè)時(shí)鐘周期等于兩個(gè)振蕩周期,換句話說就是對振蕩頻率進(jìn)行2分頻的振蕩信號。一個(gè)時(shí)鐘周期S分為P1、P2節(jié)拍:1)P1節(jié)拍通常完成算術(shù)邏輯運(yùn)算;2)P2節(jié)拍通常完成內(nèi)部寄存器間數(shù)據(jù)傳送。3、機(jī)器周期若把一條指令執(zhí)行過程分為幾個(gè)基本操作,則執(zhí)行每個(gè)基本操作所需要的時(shí)間,稱為機(jī)器周期。單片機(jī)的一個(gè)機(jī)器周期由6個(gè)時(shí)鐘周期(分別用S1-S6來表示)即12個(gè)振蕩周期(分別表示為S1P1,S1P2,S2P1……S6P1,S6P2)組成。即:一個(gè)機(jī)器周期=6個(gè)時(shí)鐘周期=12個(gè)振蕩周期4、指令周期

CPU執(zhí)行一條指令所需要的時(shí)間。是以機(jī)器周期為單位的,CPU執(zhí)行一條指令通常需要1~4個(gè)機(jī)器周期。P1P2S1P2振蕩周期時(shí)鐘周期機(jī)器周期機(jī)器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2MCS-51單片機(jī)各種周期的相互關(guān)系例已知晶振頻率分別為6MHZ、12MHZ

試計(jì)算振蕩周期、時(shí)鐘周期、機(jī)器周期、指令周期幾種典型的MCS-51單片機(jī)取值/執(zhí)行時(shí)序單片機(jī)的每條指令的執(zhí)行過程都要包括兩個(gè)階段,即取指階段和執(zhí)行階段。(1)指令存放在內(nèi)部ROM區(qū)域,指令本身是訪問內(nèi)部RAM的時(shí)序:地址鎖存信號ALE(單片機(jī)的輸出信號)在每一個(gè)機(jī)器周期內(nèi)有效兩次。即:S1P2~S2P1、S4P2~S5P1,有效寬度為一個(gè)S狀態(tài)周期。ALE信號每有效一次,單片機(jī)就進(jìn)行一次讀指令的操作。再讀下一條指令再讀下一條指令XTAL2(OSC)P2S1ALE讀操作碼讀下一個(gè)操作碼(丟棄)讀第二字節(jié)(a)單字節(jié),單周期指令例:INC

A(d)單字節(jié),雙周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個(gè)操作碼(丟棄)(b)雙字節(jié),單周期指令例:ADDAdir(c)單字節(jié),雙周期指令例:INCDPTR讀操作碼(MOVX)讀下一個(gè)操作碼(丟棄)無取指無ALE無取指地址數(shù)據(jù)(DATA)訪問外部存儲(chǔ)器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1CPU執(zhí)行指令時(shí)序再讀下一條指令再讀下一條指令XTAL2(OSC)P2S1ALE讀操作碼讀下一個(gè)操作碼(丟棄)讀第二字節(jié)(a)單字節(jié),單周期指令例:INC

A(d)單字節(jié),雙周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個(gè)操作碼(丟棄)(b)雙字節(jié),單周期指令例:ADDA,#data(c)單字節(jié),雙周期指令例:INCDPTR讀操作碼(MOVX)讀下一個(gè)操作碼(丟棄)無取指無ALE無取指地址數(shù)據(jù)(DATA)訪問外部存儲(chǔ)器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1CPU執(zhí)行指令時(shí)序再讀下一條指令再讀下一條指令XTAL2(OSC)P2S1ALE讀操作碼讀下一個(gè)操作碼(丟棄)讀第二字節(jié)(a)單字節(jié),單周期指令例:INC

A(d)單字節(jié),雙周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個(gè)操作碼(丟棄)(b)雙字節(jié),單周期指令例:ADDA,#data(c)單字節(jié),雙周期指令例:INCDPTR讀操作碼(MOVX)讀下一個(gè)操作碼(丟棄)無取指無ALE無取指地址數(shù)據(jù)(DATA)訪問外部存儲(chǔ)器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1CPU執(zhí)行指令時(shí)序(2)指令存放在內(nèi)部ROM區(qū)域,指令本身是訪問外部RAM的時(shí)序如:MOVXA,@DPTR(這也是一條單字節(jié)的數(shù)據(jù)傳送指令),只要是訪問外部RAM的指令都是雙機(jī)器周期指令,它與前述的單字節(jié)雙機(jī)器周期指令不同。其完整的過程如下:再讀下一條指令再讀下一條指令XTAL2(OSC)P2S1ALE讀操作碼讀下一個(gè)操作碼(丟棄)讀第二字節(jié)(a)單字節(jié),單周期指令例:INC

A(d)單字節(jié),雙周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個(gè)操作碼(丟棄)(b)雙字節(jié),單周期指令例:ADDA,#data(c)單字節(jié),雙周期指令例:INCDPTR讀操作碼(MOVX)讀下一個(gè)操作碼(丟棄)無取指無ALE無取指地址數(shù)據(jù)(DATA)訪問外部存儲(chǔ)器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1CPU執(zhí)行指令時(shí)序2.2

單片機(jī)復(fù)位電路及復(fù)位狀態(tài)

1.復(fù)位電路單片機(jī)復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。RC復(fù)位電路可以實(shí)現(xiàn)上述基本功能。

51單片機(jī)高電平復(fù)位,在復(fù)位腳加高電平2個(gè)機(jī)器周期(即24個(gè)振蕩周期)可使單片機(jī)復(fù)位。對于12MHZ的晶振,機(jī)器周期為1微秒,因此在RST端保持2微秒的正脈沖則可復(fù)位。只要保證電容的充放電時(shí)間大于2微秒,即可實(shí)現(xiàn)復(fù)位。

MCS-51單片機(jī)通常采用上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。接電復(fù)位:接入+5v電源,在R端得正脈沖,只要保持正脈沖的時(shí)間為10微秒,就可使單片機(jī)復(fù)位。按鍵復(fù)位按下按鍵,電源對C充電,使RST端快速到達(dá)高電平;松開按鍵,C向芯片內(nèi)阻放電,恢復(fù)為低電平,使單片機(jī)可靠復(fù)位。接電及按鍵復(fù)位既可接電復(fù)位又可按鍵復(fù)位,原理同上所述。2.2

單片機(jī)復(fù)位電路及復(fù)位狀態(tài)

2.單片機(jī)復(fù)位后的狀態(tài)單片機(jī)運(yùn)行出錯(cuò)或進(jìn)入死循環(huán)時(shí),可按復(fù)位鍵重新運(yùn)行。21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,如表所示。

特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF××××××××BIP×××00000BSCON00HIE0××00000BPCON0×××××××B單片機(jī)復(fù)位后特殊功能寄存器的狀態(tài)表2.3MCS-51單片機(jī)的存儲(chǔ)器配置

2.3.1程序存儲(chǔ)器 2.3.2片內(nèi)數(shù)據(jù)存儲(chǔ)器2.3.3片外數(shù)據(jù)存儲(chǔ)器2.3.1

程序存儲(chǔ)器程序存儲(chǔ)器的結(jié)構(gòu)如圖所示,包括片內(nèi)和片外程序存儲(chǔ)器兩個(gè)部分。其主要用來存放編好的用戶程序和表格常數(shù),它以16位的程序計(jì)數(shù)器PC作為地址指針,故尋址空間為64KB。當(dāng)EA=1時(shí),單片機(jī)片內(nèi)外統(tǒng)一編址,片內(nèi)ROM地址范圍0000H-OFFFH共4KB,片外ROM地址從1000H-FFFFH,內(nèi)外共64KB。當(dāng)PC<=0FFFH時(shí),執(zhí)行片內(nèi)程序,當(dāng)PC>=0FFFH時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序。當(dāng)EA=0時(shí),只能執(zhí)行片外ROM的程序,此時(shí)片外

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論