第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理_第1頁
第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理_第2頁
第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理_第3頁
第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理_第4頁
第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

89C51系列單片機(jī)的結(jié)構(gòu);89C51系列單片機(jī)引腳及其功能;存儲器配置;CPU時序;復(fù)位及復(fù)位電路;輸入/輸出端口結(jié)構(gòu)

2.1

89C51單片機(jī)內(nèi)部結(jié)構(gòu)及特點(diǎn)一、89C51單片機(jī)的基本組成

89C51單片機(jī)的基本結(jié)構(gòu)見下圖。

MCS-51系列單片機(jī)為Intel公司產(chǎn)品,1980年推出。MCS-51系列單片機(jī)有:8051,8751,803180c51BH,80c31BH…它們的基本組成、基本性能和指令系統(tǒng)都是相同的。

89C51單片機(jī)是ATMEL、PHILIPS、SST公司的產(chǎn)品:89C51=80C31+373+FlashROM給單片機(jī)的開發(fā)及應(yīng)用帶來很大的方便第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理89C51單片機(jī)結(jié)構(gòu)框圖80C51CPU振蕩器和時序OSC64KB總線擴(kuò)展控制器數(shù)據(jù)存儲器256BRAM/SFR2×16位定時器/計(jì)數(shù)器可編程I/O程序存儲器4KBROM可編程全雙工串行口外中斷內(nèi)中斷控制并行口串行通信外部時鐘源外部事件計(jì)數(shù)第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理含有:1.

一個8位CPU80C512.

128B/256BRAM/SFR3.4KBFlashROM

(8051/8052是掩膜ROM,8751/8752是EPROM,但8031、8032、80C32片內(nèi)無ROM)4.片內(nèi)振蕩器和時鐘產(chǎn)生電路(石英晶體與微調(diào)電容需外接,最高允許振蕩頻率為12MHZ)5.4個8位并行I/O接口(共32位I/O)P0~P3,每個口皆可輸入和輸出,其中P3口還可用于——串行輸入/輸出、定時/計(jì)數(shù)器、外部事件計(jì)數(shù)輸入,中斷輸入。6.2個16位定時/計(jì)數(shù)器7.5個中斷源的中斷控制系統(tǒng)(2個外中斷,2個定時/計(jì)數(shù)器中斷,1個串行口中斷)8.1個全雙工的串行I/O接口第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理與8051相比,89C51具有兩種用軟件選擇的節(jié)電工作方式——

空閑方式:CPU停止工作,RAM、定時/計(jì)數(shù)器、中斷系統(tǒng)等繼續(xù)工作。

掉電方式:片內(nèi)振蕩器停止,所以系統(tǒng)不能工作,僅保存RAM中內(nèi)容。

第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

89C51與8051/8751/8031芯片的外部引腳和指令系統(tǒng)完全兼容,僅在內(nèi)部配置了一個FlashROM。結(jié)構(gòu)總圖如下:由中央處理單元(CPU)、存儲器(ROM及RAM)、I/O接口組成。ALU—可對4位,8位,16位數(shù)據(jù)進(jìn)行算術(shù)邏輯運(yùn)算等操作。ACC—提供一個運(yùn)算數(shù),經(jīng)Temp2送入ALU或中轉(zhuǎn)站,用A表示。PSW—程序狀態(tài)字,標(biāo)志指令執(zhí)行后的信息狀態(tài)。B—8位Reg,可作通用Reg.使用。②布爾處理器——以PSW中的C(進(jìn)位標(biāo)志位)為其累加器,專門用于處理位操作(位運(yùn)算、位處理、位尋址)①運(yùn)算器1.CPU二、89C51單片機(jī)內(nèi)部結(jié)構(gòu)P0驅(qū)動器P2驅(qū)動器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBFlashROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器緩沖器PC增1PCDPTR中斷、串行口和定時器PSWP1鎖存器P1驅(qū)動器P3鎖存器P3驅(qū)動器定時控制指令寄存器指令譯碼器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1

XTAL2PSENALEEARET程序計(jì)數(shù)器PC(16bit)—PCH,PCL。其中存放著將要執(zhí)行的下一條指令的地址。指令Reg.IR—存放從PC中地址取出的指令。指令譯碼器ID—對指令進(jìn)行譯碼PLA,產(chǎn)生控制信號,以執(zhí)行指令規(guī)定的操作。振蕩器及定時電路:外接晶體和微調(diào)電容(30pF),其頻率范圍為0~24MHZ,常用6MHZ晶體。

③控制器

2.存儲器(特點(diǎn):

ROM和RAM獨(dú)立編址(哈佛結(jié)構(gòu)))(1)程序存儲器(ROM)地址從0000H開始,內(nèi)部4KB。用于存放程序和表格常數(shù)。(2)數(shù)據(jù)存儲器(RAM)

地址為00H~7FH,128B。存放中間結(jié)果、數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。

②128B的RAM中有32個字節(jié)單元可指定為工作寄存器。

③片內(nèi)還有21個特殊功能寄存器(SFR),它們同128字節(jié)RAM統(tǒng)一編址,地址為80H~FFH。后面詳細(xì)介紹。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理3.I/O接口(1)4個8位并行I/O口P0~P3,均可輸入/輸出。(2)每個I/O口(8位)有一鎖存器,鎖存器地址與RAM地址統(tǒng)一編址,可作為特殊功能Reg.(SFR)來尋址。

這個鎖存器(SFR)類似于8255中I/O口與Reg之間的關(guān)系。對I/O口操作,即是對這個鎖存器操作。在單片機(jī)外部的存儲器:(1)外部程序存儲器ROM單元:

與內(nèi)部程序存儲器ROM統(tǒng)一編址,共64KB。

如,內(nèi)部已用4KB,則外部ROM地址為1000H~FFFFH。(2)外部數(shù)據(jù)存儲器RAM單元:0000H~FFFFH(64KB)

內(nèi)、外部數(shù)據(jù)存儲器RAM的操作指令不同。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

89C51為40

PINDIP封裝或方形封裝。2.2

89C51單片機(jī)引腳及其功能89C51單片機(jī)引腳圖1.電源引腳(Vss,Vcc)

Vss(I,20)

電源地電平

Vcc(I,40)

電源端+5V當(dāng)外接晶體時,接晶體和微調(diào)電容的一端。2.時鐘電路引腳(XTAL1,XTAL2)

XTAL1(I,19):振蕩器反向放大器輸入端。當(dāng)采用外部時鐘時,此腳作為驅(qū)動端,接外部時鐘。XTAL2(I,18):振蕩器反向放大器輸出端。當(dāng)外接晶體時,接晶體和微調(diào)電容的一端。當(dāng)采用外部時鐘時,此腳懸空。振蕩電路的頻率就是晶體固有頻率。單片機(jī)正常工作時,該引腳應(yīng)有脈沖信號輸出。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理振蕩電路的頻率為晶體固有頻率C30PFC30PF6MHZ89C51X1X2對CHMOS如此VCC5.1K外時鐘信號89c51X1X2第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理對HMOS如此VCC5.1K外時鐘信號8031X2X1VssXTAL1(I,19):當(dāng)采用外部時鐘時HMOS:此腳接地CHMOS:此腳作為驅(qū)動端,接外部時鐘。XTAL2(I,18):當(dāng)采用外部時鐘時HMOS:此腳接外部時鐘CHMOS:此腳懸空第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理注第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

CHMOS(互補(bǔ)金屬氧化物HMOS)是CMOS和HMOS(高密度溝道MOS工藝)的結(jié)合,除了保持HMOS高速度和高密度之外,還有CMOS低功耗的特點(diǎn)。兩類器件的功能是完全兼容的,區(qū)別在CHMOS器件具有低功耗的特點(diǎn)。它所消耗的電流比HMOS器件少很多,主要在于其采用了兩種降低功耗的方式:空閑方式和掉電方式。CHMOS器件在掉電方式(CPU停止工作,片內(nèi)RAM的數(shù)據(jù)繼續(xù)保持)下時,消耗的電流可低于10μA。采用CHMOS的器件在編號中用一個C來加以區(qū)別,如:80C51,80C31,89C51等。(1)RST/VPD(I,9)——多功能引腳,復(fù)位/備用電源。

RST復(fù)位信號,高電平有效。VPD

備用電源輸入端。當(dāng)Vcc發(fā)生故障(掉電等),降低到低電平的規(guī)定值時,可由該端子為片內(nèi)RAM提供電源。

在通電瞬間(Vc=0),電容C通過R充電,在RST

端出現(xiàn)如圖正脈沖,則89C51加電自動復(fù)位。

R、C隨CPU時鐘頻率而變化,取值如圖。復(fù)位電路有上電復(fù)位、按鍵兼上電復(fù)位兩種:

在RST端加入“1”,且維持兩個機(jī)器周期(24個振蕩周期),則CPU復(fù)位。復(fù)位時PC=0000H。復(fù)位上電復(fù)位(右圖)3.控制信號引腳(RST/VPD,ALE/PROG、PSEN和EA)

開關(guān)常開時,為上電復(fù)位電路;

當(dāng)常開按鍵閉合時,相當(dāng)于RST端通過電阻R1(200Ω)與Vcc電源接通,22uF電容迅速放電,RST上得到一個5V經(jīng)220Ω與1K電阻的分壓(高電平)。這個分壓大致為5V的5/6,4.2V,使單片機(jī)復(fù)位。

當(dāng)常開按鍵松開時,RST端經(jīng)一段時間后又逐漸降至0V。時序圖如右所示。5V4.2V按下開關(guān)松開開關(guān)上電兼手動復(fù)位

(右圖,電平方式開關(guān)復(fù)位)第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

PROG:對片內(nèi)FlashROM編程寫入時的編程脈沖輸入端。ALE:當(dāng)訪問外部存儲器時,ALE的輸出用于鎖存地址的低8位,即將P0口數(shù)據(jù)和地址分開。(2)ALE/PROG(I/O,30)——地址鎖存允許/編程脈沖輸入端

即使不訪問外部存儲器,ALE端仍以振蕩頻率的1/6周期性地輸出正脈沖信號,這可作為輸出脈沖或定時信號。ALE端的負(fù)載能力為8個LS型TTL輸入。(3)PSEN(O,29)——外部程序存儲器“讀”信號

當(dāng)訪問外部程序存儲器時,此腳定時輸出負(fù)脈沖作為讀片外程序M的選通信號,通常接EPROM的OE端。

PSEN端在每個機(jī)器周期(12個振蕩周期)中兩次有效,但當(dāng)訪問外部RAM時,兩次PSEN負(fù)脈沖信號不出現(xiàn)。PSEN端可以驅(qū)動8個LS型TTL。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理VPP:用于在對89c51的片內(nèi)FlashROM編程時,施加(12V~21V)高壓的輸入端。EA=1,CPU訪問片內(nèi)FlashROM,并執(zhí)行其指令。當(dāng)PC>0FFFH

時(4KB),自動轉(zhuǎn)向片外ROM。(4)EA/VPP(I,31)——內(nèi)外程序存儲器選擇/編程電源輸入4.I/O端口P0~P3(1)P0口(P0.0~P0.7,39~32pin,I/O)是漏極開路的8位準(zhǔn)雙向

I/O端口。GDSEA=0,不論片內(nèi)是否有存儲器,只執(zhí)行片外ROM的指令。準(zhǔn)雙向

當(dāng)I/O口作為輸入時,應(yīng)先向此口鎖存器寫入全1,此時該口引腳浮空,可作高阻抗輸入。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理漏極開路的8位準(zhǔn)雙向I/O口,每位能驅(qū)動8個LS型TTL負(fù)載。在CPU訪問片外存儲器(RAM、ROM)時,P0口為分時復(fù)用的低8位地址總線和8位數(shù)據(jù)總線(此時,其內(nèi)部上拉電阻被激活)若系統(tǒng)中無外擴(kuò)存儲器(RAM、ROM),P0口可作為一個數(shù)據(jù)輸入/輸出口(輸出時,不能激活內(nèi)部上拉電阻,需外接上拉電阻;輸入時,應(yīng)先向口鎖存器寫入1,使P0口全部引腳浮空再輸入)。

(2)P1口(P1.0~P1.7,1~8pin,I/O)帶內(nèi)部上拉電阻的8位

準(zhǔn)雙向I/O端口。(并行或按位使用)

輸出時,P1口的每一位能驅(qū)動4個LS型TTL負(fù)載。

輸入時,先向其口鎖存器寫入全1,此時將P1口引腳由內(nèi)部上拉電阻拉成高電平。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理(3)

P2口(P2.0~P2.7,21~28pin,I/O)帶內(nèi)部上拉電阻的8位

準(zhǔn)雙向I/O端口。當(dāng)有外部存貯器時,用作高8位地址總線。②當(dāng)無外部存貯器時,可用作一般I/O線。輸出輸入時的情況同P1口。

(4)

P3口(P3.0~P3.7,10~17pin,I/O)

雙功能口。帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口。每位能驅(qū)動4個LS型TTL負(fù)載。P3口除作為一般I/O口外,每個引腳都有第二功能。第一功能:一般I/O口,準(zhǔn)雙向,輸出輸入時的情況同P1口。第二功能:系統(tǒng)控制信號,定義如下:第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

P3.0RXDP3.1TXD

P3.2INT0P3.3INT1

P3.4T0P3.5T1

P3.6WRP3.7RD串行口輸入/

輸出端外部中斷輸入定時/計(jì)數(shù)器的計(jì)數(shù)脈沖輸入片外RAM讀/寫信號第二功能:系統(tǒng)控制信號,定義如下:任意一位不用于第二功能(首選)時,可用于第一功能。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

①程序MEM和數(shù)據(jù)MEM獨(dú)立編址(哈佛結(jié)構(gòu))。

②程序MEM:片內(nèi)與片外統(tǒng)一編址(64KB)。③數(shù)據(jù)MEM:片內(nèi)與片外獨(dú)立編址。

①片內(nèi)片外統(tǒng)一編址的64KBROM:0000H~FFFFH②64KB片外RAM:0000H~FFFFH③256字節(jié)片內(nèi)RAM:00H~FFH

存儲空間分布圖見下圖。編址特點(diǎn)從用戶角度看,89C51存貯器地址空間分為3類:89c51指令系統(tǒng)設(shè)計(jì)了不同的訪問指令,以區(qū)別3個存貯區(qū)的訪問。如:①片內(nèi)、外ROM用MOVC②片外RAM用MOVX③片內(nèi)RAM用MOV2.389C51單片機(jī)存儲器配置第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

③圖2-489C51存儲器配置①

②RAM與I/O統(tǒng)一編址第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理一、程序存儲器(地址線16位,最多達(dá)64KB) ——用于存放程序和表格常數(shù)等。1.89C51片內(nèi)有4K程序M

EA=1,片內(nèi)尋址4KB:0000H~0FFFH。當(dāng)指令地址超過0FFFH后,自動指向外部ROM,地址

1000H~FFFFH。

EA=0,片內(nèi)ROM不起作用,CPU只能從片外ROM中取指令,

0000H~FFFFH

。

注:EA=0,適用于內(nèi)部沒有ROM的8031應(yīng)用系統(tǒng)。2.程序M中的部分保留單元(系統(tǒng)留用),見下表。INT1中斷服務(wù)程序0013H~001AH定時器2中斷服務(wù)(89C52才有)002BH定時器0溢出中斷服務(wù)000BH~0012H串行口中斷服務(wù)程序0023H~002AHINT0中斷服務(wù)程序0003H~000AH定時器1中斷服務(wù)001BH~0022H復(fù)位后初始化引導(dǎo)程序0000H~0002H保留目的存儲單元保留目的存儲單元第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理中斷向量表1.片外RAM

0000H~FFFFH,使用MOVX指令訪問。二、數(shù)據(jù)存儲器 ——用于存放暫存數(shù)據(jù)、中間運(yùn)算結(jié)果等。2.片內(nèi)RAM

00H~FFH,使用MOV指令訪問。0023H串行口中斷001BH定時器1溢出中斷0013HINT1中斷000BH定時器0溢出中斷0003HINT0中斷中斷入口地址中斷源0003H~002AH均勻地分為5段,為5個中斷服務(wù)程序起始處。因?yàn)樽止?jié)單元太少,所以常在這些存儲單元中存放轉(zhuǎn)移指令。注:P26圖,擴(kuò)展ROM。一般,盡量不擴(kuò)充片外ROM,而選用片內(nèi)具有大容量Flash的單片機(jī)。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理安排了21個SFR地址離散分布32個字節(jié)通用Reg.區(qū)即可字節(jié)尋址,又可位尋址.80字節(jié)RAM區(qū)由PSW中的RS1、RS0兩位組合選中當(dāng)前組CPU上電時選中0組;未用到的組可作為RAM用.程序執(zhí)行的任何時刻,只能用一組。16字節(jié)圖2-8低128字節(jié)RAM區(qū)圖2-9高128字節(jié)RAM區(qū)(SFR區(qū))第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

②高128字節(jié)RAM——SFR是80H~FFH的部分單元,使用時只能直接尋址。其余未定義部分不能使用。①低128字節(jié)RAM

00H~7FH均可用作一般的RAM單元外,其中某些部分還可以以其它形式使用。

片內(nèi)RAM

通用Reg.區(qū)4組,00H~1FH(4×8=32),指令比一般RAM更豐富、簡潔、快捷。位地址區(qū)20H~2FH

以位尋址方式使用時,地址從00H~7FH。

對字節(jié)RAM,用直接尋址和間接尋址;對位地址單元用位尋址方式。(以區(qū)別某個單元是字節(jié)或位單元)

用戶通用RAM可在此將部分區(qū)域設(shè)置為堆棧低128字節(jié)第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理ⅲ)SFR包括

ACC——累加器(字節(jié)地址E0H),指令中用A表示。

B——Reg.(字節(jié)地址F0H),用于乘除指令。在其他指令中,可作為一般通用Reg或RAM單元。

PSW——程序狀態(tài)字(字節(jié)地址D0H),各位的含義及格式見下一頁。

ⅰ)SFR的表示方式:寄存器名ACC地址E0HTCON.0——表示Reg的bit(點(diǎn)操作符)IT0(位名稱)ⅱ)SFR中,凡地址能整除8的單元同時具有位尋址能力(11個)。位地址都是88HACC.0E0H(位地址,ACC.0無位名稱)以ACC為例:這些位地址的一般表示方式第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

SP----堆棧指針(字節(jié)地址81H),其內(nèi)容可為00~7FH的任何地址單元,系統(tǒng)復(fù)位時為07H(向上生成)。

DPTR----數(shù)據(jù)指針(83H、82H),既可作為一個16位Reg(DPTR)、

也可作為兩個8位Reg(DPH,DPL)使用。

以16位使用時,對片外RAM尋址。

P

XOVRS0RS1F0ACCYPSW(D0H)進(jìn)借位標(biāo)志,位地址D7H位操作時的位累加器。CY——AC——半進(jìn)位標(biāo)志。FO——用戶標(biāo)志位(用戶可設(shè)置其為0或1)RS1、RSO——選擇工作Reg.區(qū)OV——溢出標(biāo)志P——奇偶標(biāo)志,運(yùn)行結(jié)果有奇數(shù)個1,P=1;否則P=0。

P0~P3

——I/O端口(80H,90H,A0H,B0H)

4個I/O端口的鎖存器地址,還可按位尋址,即每一條I/O線均可獨(dú)立用作輸入或輸出。

在單片機(jī)中,將I/O端口當(dāng)作SFR,不設(shè)專門的口操作指令(IN或OUT),而采用統(tǒng)一的MOV指令,使用方便。例:MOVP1,A

;A→P1

SBUF——串行數(shù)據(jù)緩沖器(99H)用于存放欲發(fā)送或已接收的數(shù)據(jù)。例:MOVSBUF,A;A→SBUF

THi,TLi——定時/計(jì)數(shù)器i中的計(jì)數(shù)器(i=1,2)一個16位(THiTLi)或兩個8位定時/計(jì)數(shù)器(THi,TLi)。

其他控制Reg.——IP,IE,TMOD…為中斷系統(tǒng)、定時/計(jì)數(shù)器、串行口和供電方式的控制與狀態(tài)位。 P30表第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

2.4CPU時序一、片內(nèi)振蕩器及時鐘信號的產(chǎn)生2.時鐘信號的產(chǎn)生1.振蕩器(構(gòu)成見前)S1S2S3S4S5S6時鐘信號的周期S包含2個振蕩周期:S=fosc/2。每個時鐘周期S有兩個節(jié)拍P1、P2,稱為相1(P1)和相2(P2)。

CPU以P1、P2為基本節(jié)拍指揮單片機(jī)各部件協(xié)調(diào)工作。foscfosc/2第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

1.機(jī)器周期:CPU訪問存儲器一次所需要的時間(如取指令、讀存儲器、寫存儲器等)。2.1個機(jī)器周期=12個振蕩周期(fosc)=6個時鐘周期(S,fosc/2) 當(dāng)使用6MHZ晶振時,一個機(jī)器周期=2us。3.指令周期(一條指令的執(zhí)行時間)=n個機(jī)器周期

n小則執(zhí)行速度快。

注:大部分指令周期為1個或2個機(jī)器周期,乘除指令為4個機(jī)器周期。二、機(jī)器周期和指令周期

CPU的4個時序單位從小到大依次是:

節(jié)拍、時鐘周期、機(jī)器周期和指令周期,如圖2-13所示。圖2-1389C51單片機(jī)各種周期的相互關(guān)系第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理三、CPU取指、執(zhí)指周期時序每條指令的執(zhí)行都可以包括取指和執(zhí)指兩個階段。在取指階段,CPU從內(nèi)部或外部ROM中取出指令操作碼及操作數(shù),然后再執(zhí)行這條指令。單字節(jié)和雙字節(jié)的指令都可能是單機(jī)器周期或雙周期,而三字節(jié)指令都是雙周期的,只有乘、除指令占四周期。因此,當(dāng)使用6MHZ晶振時,執(zhí)行一條指令的時間(指令周期)分別是2μs,4μs和8μs。如

圖2-14所示。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理圖2-1489C51單片機(jī)的取指/執(zhí)行時序第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理(1)每個機(jī)器周期出現(xiàn)兩次ALE脈沖,用于地址鎖存。(此周期信號可用于其它外設(shè)的控制信號)(2)對外RAM進(jìn)行讀寫時,ALE信號不是周期性的,缺一次。故用ALE做系統(tǒng)定時脈沖時要考慮到這一點(diǎn)。

1.復(fù)位電路

①復(fù)位信號的內(nèi)部電路復(fù)位引腳RST通過片內(nèi)一個斯密特觸發(fā)器與片內(nèi)復(fù)位電路相連,斯密特觸發(fā)器用來脈沖整形及抑制噪聲,其輸出在每個機(jī)器周期的S5P2被復(fù)位電路采樣一次。如果RST引腳有一高電平并維持2個機(jī)器周期,89C51便執(zhí)行內(nèi)部復(fù)位。P39圖2-15。②復(fù)位信號的外部電路(見前)

2.復(fù)位時SFR的狀態(tài)復(fù)位后,PC=0000H,使單片機(jī)從起始地址0000H單元開始執(zhí)行程序。若單片機(jī)運(yùn)行出錯或進(jìn)入死循環(huán),可按復(fù)位鍵重新啟動,或通過watchdog電路使其自動復(fù)位。2.5復(fù)位操作第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIP××000000BSBUF不定IE0×000000BPCON0×××0000BTMOD00H第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

A=00H:

累加器已被清0。PSW=00H:選寄存器0組為工作寄存器組。SP=07H: 堆棧指針指向片內(nèi)RAM07H字節(jié)單元,根據(jù)堆棧操作法則,第一個被壓入的數(shù)據(jù)被寫入08H單元中。P0~P3=FFH:

已向各端口線寫入1,此時,各端口既可用于輸入,又可用于輸出。IP=×××00000B:

各個中斷源處于低優(yōu)先級。IE=0××00000B:

各個中斷均被關(guān)斷。TMOD=00H:T0/T1均為工作方式0,且運(yùn)行于定時器狀態(tài)。TCON=00H:T0/T1均被關(guān)斷。SCON=00H:

串行口處于工作方式0,允許發(fā)送,不允許接收。PCON=00H:

SMOD=0,波特率不加倍。表2-8中的符號意義如下:

2.689c51單片機(jī)的低功耗工作方式第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理89C51提供兩種節(jié)電工作方式:空閑(等待、待機(jī))方式和掉電(停機(jī))工作方式圖2-17所示為實(shí)現(xiàn)這兩種方式的內(nèi)部電路。若IDL=0,則89C51將進(jìn)入空閑運(yùn)作方式。此時,振蕩器仍繼續(xù)運(yùn)行,但I(xiàn)DL封鎖了去CPU的“與”門,故CPU得不到時鐘信號。而中斷、串行口和定時器等環(huán)節(jié)卻仍在時鐘控制下正常運(yùn)行。掉電方式下(PD=0),振蕩器凍結(jié)。圖中,PD和IDL均為PCON中PD和IDL觸發(fā)器的Q輸出端。89c51有4個8位并行I/O端口P0、P1、P2、P3。每個端口是8位準(zhǔn)雙向口,每一條I/O線都能獨(dú)立地作I/O。每個端口有:

1個輸出鎖存器(P0~P3),即常說的口地址(80H,90H,A0H,B0H)。

1個輸出驅(qū)動器

2(或3)個三態(tài)輸入緩沖器。

2.7輸入/輸出端口一、P0口

某一位結(jié)構(gòu)見圖2-21第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理負(fù)載管當(dāng)C=0時,開關(guān)MUX被控為如圖示位置,P0口為通用I/O口;當(dāng)C=1時,開關(guān)撥向反相器3的輸出端,P0口分時作為地址/數(shù)據(jù)總線使用。1.P0口作為一般I/O口使用(C=0)CPU執(zhí)行I/O指令時,系統(tǒng)自動使:C=0,則有:

①鎖存器的Q端與輸出級T2連接

②與門4輸出0使負(fù)載管T1截止負(fù)載管這時,輸出級是漏極開路的開漏電路,P0口可作為一般I/O口使用。

當(dāng)用于I/O時,需外接10K的上拉電阻到Vcc,否則不能有高電平輸出。

(1)P0口作輸出MOV A,#00H;MOV P0,A;向P0口輸出00H這時有:鎖存器Q=0(輸出數(shù)據(jù)0),Q=1,T2導(dǎo)通,P0.x=0。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理(2)P0口作輸入例:MOV A,P0 ;P0.x信號經(jīng)輸入緩沖器到CPU

輸入時應(yīng)保證T2截止(否則,輸入的高電平將可能被短路)

為此,在輸入前先輸出“1”,使Q=0,T2截止.(這時T1、T2全截止,引腳處于懸浮狀態(tài),可作高阻抗輸入)程序通常為:MOV A,#0FFH MOV P0,A ;先輸出 MOV A,P0 ;再輸入

稱這種數(shù)據(jù)輸入為“讀引腳”操作。見圖中的“讀引腳”線。負(fù)載管當(dāng)執(zhí)行一條由端口輸入的指令時,“讀引腳”脈沖把三態(tài)緩沖器2打開,這樣,端口上的數(shù)據(jù)經(jīng)過緩沖器2讀入到內(nèi)部總線。

當(dāng)用一根端口線去驅(qū)動一個晶體管的基極時,向此端口線輸出“1”使該晶體管導(dǎo)通,導(dǎo)通的晶體管會把引腳上的電平拉低。若這時從該引腳讀入剛才輸出的數(shù)據(jù),讀入的為“0”,與剛才輸出的值不符。

為避免錯讀引腳電平,單片機(jī)還提供了一組“讀鎖存器”操作。見圖中的“讀鎖存器”線。如:ORL P0,A ;指令功能:

將P0與A相或,然后P0

該指令先將P0口D鎖存器數(shù)據(jù)(即此時引腳應(yīng)該的電平)讀入CPU,再與A內(nèi)容相“或”,最終將“或”的結(jié)果送到P0鎖存器。此時,鎖存器的內(nèi)容(Q端狀態(tài))和引腳一致,P0數(shù)據(jù)來源于鎖存器而不是引腳。(3)P0口作輸出時需注意負(fù)載管第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理

在以上過程中,讀入操作不是“讀引腳”,而是“讀鎖存器”。這一類指令稱為“讀—修改—寫”指令,有:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ等。這類指令常用來“位”修改,修改時不能影響其他位。CPU對片外存儲器讀寫時,系統(tǒng)自動使C=1,圖中MUX接反相器3的輸出端:(1)輸出地址/數(shù)據(jù)信號經(jīng)T1、T2推拉輸出(T1導(dǎo)通時上拉,T2導(dǎo)通時下拉),負(fù)載能力較強(qiáng)。(激活內(nèi)部上拉電阻T1)

(2)輸入數(shù)據(jù)從P0輸入。這時,“讀引腳”信號有效打開輸入緩沖器2數(shù)據(jù)到DB。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理負(fù)載管2.P0口作為地址/數(shù)據(jù)總線使用(C=1)

對89C51外擴(kuò)存儲器并使用時,系統(tǒng)自動使C=1。這時:P0口可作為地址/數(shù)據(jù)總線使用,對片外ROM(或RAM)尋址及作為數(shù)據(jù)輸入/輸出通道。注意:當(dāng)P0作為總線使用時,不再能作I/O口使用。3.P1口用作輸出時:能向外提供拉電流負(fù)載,所以不必再接上拉電阻。

作輸入時:先對鎖存器寫入“1”,使FET截止。內(nèi)部電阻實(shí)際上是兩個FET并在一起,一個為負(fù)載管,其阻值固定;另一個工作在導(dǎo)通或截止兩種狀態(tài),使其總阻值在0或阻值很大兩種情況下變化。

當(dāng)阻值為0時,引腳快速上拉至高電平;當(dāng)阻值很大時,P1口為高阻輸入狀態(tài)。二、P1口某一位結(jié)構(gòu)圖見圖2-19,工作原理同P0口,也是一個準(zhǔn)雙向口。區(qū)別如下:1.僅作為一般I/O口。2.內(nèi)部有上拉電阻,無需外接。第2章89C51單片機(jī)硬件結(jié)構(gòu)和原理3.當(dāng)系統(tǒng)中無需外擴(kuò)ROM(89C51/8751),只需擴(kuò)展256B片外RAM時,只需用P0口的低8位地址即可。這時,P2口仍可作為通用I/O口。使用 MOVXA,@Ri4.若擴(kuò)展RAM超過256B(用MOVXA,@DPTR),需使用P2口的高8位地址線。訪問片外RAM周期結(jié)束后,P2口仍可作通用I/O口,但使用時要謹(jǐn)慎。三、P2口見圖2-201.作為一般I/O口使用時,同P1口。2.當(dāng)系統(tǒng)中有外部ROM、RAM時,P2口輸出高8位地址。此時,不再作為通用I/O口。驅(qū)動部分與P1口類似,但比P1口多了一個轉(zhuǎn)換控制部分。當(dāng)CPU對片內(nèi)存儲器和I/O口進(jìn)行讀/寫(執(zhí)行MOV指令或EA=1時,執(zhí)行MOVC指令)時,由內(nèi)部硬件自動使開關(guān)MUX倒向鎖存器的Q端,這時,P2口為一般I/O口。四、P3口——多功能口

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論