版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章 89C51單片機(jī)硬件結(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,8031 80c51BH,80c31BH
2、… 它們的基本組成、基本性能和指令系統(tǒng)都是相同的。,89C51單片機(jī)是ATNMEL、PHILIPS、SST公司的產(chǎn)品: 89C51= 80C31+373+Flash ROM 給單片機(jī)的開發(fā)及應(yīng)用帶來(lái)很大的方便,89C51單片機(jī)結(jié)構(gòu)框圖,89C51CPU,振蕩器和時(shí)序OSC,64KB 總線擴(kuò)展控制器,數(shù)據(jù)存儲(chǔ)器256B RAM/SFR,2×16位定時(shí)器/計(jì)數(shù)器,,,,,,,,,,,可編程I/O,程序
3、存儲(chǔ)器4KBROM,,可編程全雙工串行口,,,,,,,,,,,,,外中斷,內(nèi)中斷,控制,并行口,,,串行通信,外部時(shí)鐘源,外部事件計(jì)數(shù),含有: 1. 一個(gè)8位 CPU 80C51 2. 128 B/256 B RAM/SFR 3. 4KB Flash ROM (8051/8052是掩膜 ROM, 8751/8752是EPROM,但8031、
4、 8032、80C32片內(nèi)無(wú)ROM) 4. 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路(石英晶體與微調(diào)電容需外接, 最高允許振蕩頻率為12MHZ) 5. 4個(gè)8位并行I/O接口(共32位I/O)P0~P3,每個(gè)口皆可輸入 和輸出,其中P3口還可用于——串行輸入/輸出、定時(shí)/計(jì)數(shù) 器、外部事件計(jì)數(shù)輸入,中斷輸入。 6. 2個(gè) 16位 定時(shí)/計(jì)數(shù)器 7. 5
5、個(gè)中斷源的中斷控制系統(tǒng)(2個(gè)外中斷,2個(gè)定時(shí)/計(jì)數(shù)器中 斷,1個(gè)串行口中斷) 8. 1個(gè)全雙工的串行I/O 接口,51系列單片機(jī)的溫度適用范圍 為: 民品(商業(yè)用) 0~70 °C 工業(yè)品 -40~+85 °C 軍品
6、 -55~+125 °C,工業(yè)級(jí)產(chǎn)品1. 采用密封式封裝2. 在工業(yè)級(jí)規(guī)定的溫度范圍內(nèi)進(jìn)行電器特性測(cè)試3. 產(chǎn)品經(jīng)過(guò)125 °C 溫度下44小時(shí)的老化處理4. 老化后100%進(jìn)行電氣測(cè)試,質(zhì)量檢驗(yàn)。 軍品則要求更高,與8051相比,89C51具有兩種用軟件選擇的節(jié)電工作方式—— 空閑方式:CPU停止工作,RAM、定時(shí)/計(jì)數(shù)
7、器、中斷系統(tǒng)等繼續(xù)工作。 掉電方式:片內(nèi)振蕩器停止,所以系統(tǒng)不能工作,僅保存RAM中內(nèi)容。,二、 89C51單片機(jī)內(nèi)部結(jié)構(gòu),89C51與8051/8751/8031芯片的外部引腳和指令系統(tǒng)完全兼容,僅在內(nèi)部配置了一個(gè)Flash ROM。結(jié)構(gòu)總圖如下:,由 中央處理單元(CPU)、 存儲(chǔ)器(ROM及RAM)、 I/O接口組成。,ALU—可對(duì)4位,8位,16位數(shù)據(jù)進(jìn)行算術(shù)邏輯運(yùn)算等操作。ACC—提供一個(gè)運(yùn)
8、算數(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,,,,,,P0驅(qū)動(dòng)器,P2驅(qū)動(dòng)器,P0鎖存器,P2鎖存器
9、,RAM地址寄存器,128BRAM,4KBFlash ROM,B寄存器,暫存器1,暫存器2,ACC,SP,程序地址寄存器,緩沖器,PC增1,PC,DPTR,中斷、串行口和定時(shí)器,PSW,P1鎖存器,P1驅(qū)動(dòng)器,P3鎖存器,P3驅(qū)動(dòng)器,定時(shí)控制,指令寄存器,指令譯碼器,OSC,,ALU,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,P0.0-P0.7,P2.0-P2.7,P3.0
10、-P3.7,P1.0-P1.7,XTAL1 XTAL2,PSENALEEARET,,,,,程序計(jì)數(shù)器PC(16bit)—PCH,PCL。 其中存放著將要執(zhí)行的下一條指令的地址。指令Reg. IR—存放從PC中地址取出的指令。 指令譯碼器ID—對(duì)指令進(jìn)行譯碼?PLA,產(chǎn)生控制信 號(hào),以執(zhí)行指令規(guī)定的操
11、作。振蕩器及定時(shí)電路:外接晶體和微調(diào)電容(30pF),其頻率范圍為1.2MHZ~12MHZ,常用6MHZ晶體。,③ 控制器,,2. 存儲(chǔ)器 (特點(diǎn): ROM和RAM獨(dú)立編址(哈佛結(jié)構(gòu))),(1)程序存儲(chǔ)器(ROM) 地址從0000H開始,內(nèi)部4KB。用于存放程序和表格常數(shù)。,(2)數(shù)據(jù)存儲(chǔ)器(RAM) ① 地址為00H~7FH,128B。存放中間結(jié)果、數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。 ② 128B的RAM中有32個(gè)字節(jié)單元可指定為
12、工作寄存器。 ③片內(nèi)還有21個(gè)特殊功能寄存器(SFR),它們同128字節(jié)RAM統(tǒng)一編址,地址為80H~FFH。后面詳細(xì)介紹。,3. I/O接口(1) 4個(gè)8位并行I/O口 P0~P3,均可輸入/輸出。(2)每個(gè)I/O口(8位)有一鎖存器,鎖存器地址與RAM地址統(tǒng)一編址,可作為特殊功能Reg. (SFR)來(lái)尋址。 這個(gè)鎖存器(SFR)類似于8255中I/O口與Reg之間的關(guān)系。對(duì)I/O口操作,即是對(duì)這個(gè)鎖存器操作。,在單片機(jī)外
13、部的存儲(chǔ)器:(1)外部程序存儲(chǔ)器ROM單元: 與內(nèi)部程序存儲(chǔ)器ROM統(tǒng)一編址,共64KB。 如,內(nèi)部已用4KB,則外部ROM地址為 1000H~FFFFH。(2)外部數(shù)據(jù)存儲(chǔ)器RAM單元:0000H~FFFFH(64KB) 內(nèi)、外部數(shù)據(jù)存儲(chǔ)器RAM的操作指令不同。,89C51為40 PIN DIP封裝。,2.2 89C51單片機(jī)引腳及其功能,89C51單片機(jī)引腳圖,1
14、.電源引腳(Vss,Vcc) Vss(I,20) 電源地電平 Vcc(I, 40) 電源端 +5V,當(dāng)外接晶體時(shí),接晶體和微調(diào)電容的一端。,2.時(shí)鐘電路引腳(XTAL1, XTAL2) XTAL1(I,19):振蕩器反向放大器輸入端。,當(dāng)采用外部時(shí)鐘時(shí),此腳作為驅(qū)動(dòng)端,接外部時(shí)鐘。,XTAL2(I,18):振蕩器反向放大器輸出端。,當(dāng)外接晶體時(shí),接晶體和微調(diào)電容的一端。,當(dāng)采用外部時(shí)鐘時(shí),此腳懸空。,
15、振蕩電路的頻率就是晶體固有頻率。單片機(jī)正常工作時(shí),該引腳應(yīng)有脈沖信號(hào)輸出。,注,CHMOS(互補(bǔ)金屬氧化物HMOS)是CMOS和HMOS(高密度溝道MOS工藝)的結(jié)合,除了保持HMOS高速度和高密度之外,還有CMOS低功耗的特點(diǎn)。 兩類器件的功能是完全兼容的,區(qū)別在CHMOS器件具有低功耗的特點(diǎn)。它所消耗的電流比HMOS器件少很多,主要在于其采用了兩種降低功耗的方式:空閑方式和掉電方式。 CHMOS器件在掉電
16、方式(CPU停止工作,片內(nèi)RAM的數(shù)據(jù)繼續(xù)保持)下時(shí),消耗的電流可低于10μA。 采用CHMOS的器件在編號(hào)中用一個(gè)C來(lái)加以區(qū)別, 如 : 80C51,80C31,89C51等。,(1)RST/VPD(I,9)——多功能引腳,復(fù)位/備用電源。 RST 復(fù)位信號(hào),高電平有效。 VPD 備用電源輸入端。當(dāng)Vcc發(fā)生故障(掉電等 ),降低到低
17、 電平的規(guī)定值時(shí),可由該端子為片內(nèi)RAM提供電源。,在通電瞬間(Vc=0),電容C通過(guò)R充電,在RST 端出現(xiàn)如圖正脈沖,則89C51加電自動(dòng)復(fù)位。 R、C隨CPU時(shí)鐘頻率而變化,取值如圖。,復(fù)位電路有上電復(fù)位、按鍵兼上電復(fù)位兩種:,上電復(fù)位(右圖),開關(guān)常開時(shí),為上電復(fù)位電路; 當(dāng)常開按鍵閉合時(shí),相當(dāng)于RST端通過(guò)電阻R1(200Ω)與Vcc電源接通,22uF電容迅速放電,R
18、ST上得到一個(gè)5V經(jīng)220Ω與1K電阻的分壓(高電平)。這個(gè)分壓大致為5V的5/6,4.2V,使單片機(jī)復(fù)位。,當(dāng)常開按鍵松開時(shí),RST端經(jīng)一段時(shí)間后又逐漸降至0V。時(shí)序圖如右所示。,上電兼手動(dòng)復(fù)位 (右圖,電平方式開關(guān)復(fù)位),,即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以振蕩頻率的1/6周期性地輸出正脈沖信號(hào),這可作為輸出脈沖或定時(shí)信號(hào)。,ALE端的負(fù)載能力為8個(gè)LS型TTL輸入。,VPP:用于在對(duì)89c51的片內(nèi)Flash
19、 ROM編程時(shí),施加 (12V~21V)高壓的輸入端。,,(4) EA/VPP(I,31)——內(nèi)外程序存儲(chǔ)器選擇/編程電源輸入,4. I/O端口 P0~P3,準(zhǔn)雙向 當(dāng)I/O口作為輸入時(shí),應(yīng)先向此口鎖存器寫入全1, 此時(shí)該口引腳浮空,可作高阻抗輸入。,漏極開路的8位準(zhǔn)雙向I/O口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。在CPU訪問(wèn)片外存儲(chǔ)器(RAM、ROM)時(shí),P0口為分時(shí)復(fù)用的低8位地址總線和8位數(shù)據(jù)總線(此時(shí)
20、,其內(nèi)部上拉電阻被激活 )若系統(tǒng)中無(wú)外擴(kuò)存儲(chǔ)器(RAM、ROM),P0口可作為一個(gè)數(shù)據(jù)輸入/輸出口(輸出時(shí),不能激活內(nèi)部上拉電阻,需外接上拉電阻;輸入時(shí),應(yīng)先向口鎖存器寫入1,使P0口全部引腳浮空再輸入)。,(2) P1口(P1.0~P1.7,1~8pin,I/O) 帶內(nèi)部上拉電阻的8位 準(zhǔn)雙向I/O端口。(并行或按位使用)
21、 輸出時(shí),P1口的每一位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。 輸入時(shí),先向其口鎖存器寫入全1,此時(shí)將P1口引腳由內(nèi)部上拉電阻拉成高電平。,(3) P2口(P2.0~P2.7,21-28,I/O) 帶內(nèi)部上拉電阻的8位 準(zhǔn)雙向I/O端口。 當(dāng)有外部存貯器時(shí),用作高8 位地址總線。②
22、 當(dāng)無(wú)外部存貯器時(shí),可用作一般I/O線。輸出輸入時(shí)的情況同P1口。,(4) P3口(P3.0~P3.7,10~17pin,I/O) 雙功能口。 帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口。,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口除作為一般I/O口外,每個(gè)引腳都有第二功能。,第一功能:一般I/O口,準(zhǔn)雙向,輸出輸入時(shí)的情況同P1口。,第二功能
23、:系統(tǒng)控制信號(hào),定義如下:,第二功能:系統(tǒng)控制信號(hào),定義如下:,任意一位不用于第二功能(首選)時(shí),可用于第一功能。,① 程序MEM和數(shù)據(jù)MEM獨(dú)立編址(哈佛結(jié)構(gòu))。 ② 程序MEM:片內(nèi)與片外統(tǒng)一編址(64KB) 。 ③ 數(shù)據(jù)MEM:片內(nèi)與片外獨(dú)立編址。,① 片內(nèi)片外統(tǒng)一編址的64KB ROM: 0000H~FFFFH ② 64KB 片外RAM:0000H~FFFFH ③ 256字節(jié)片內(nèi)RAM:00H~FFH
24、 存儲(chǔ)空間分布圖見下圖。,編址特點(diǎn),,從用戶角度看,89C51存貯器地址空間分為3類:,89c51指令系統(tǒng)設(shè)計(jì)了不同的訪問(wèn)指令,以區(qū)別3個(gè)存貯區(qū)的訪問(wèn)。如: ①片內(nèi)、外ROM 用 MOVC ②片外RAM用 MOVX ③片內(nèi)RAM用 MOV,2. 3 89C51單片機(jī)存儲(chǔ)器配置,,,圖2-
25、4 89C51存儲(chǔ)器配置,一、 程序存儲(chǔ)器(地址線16位,最多達(dá)64KB) ——用于存放程序和表格常數(shù)等。,2.程序M中的部分保留單元(系統(tǒng)留用),見下表。,中斷向量表,1. 片外RAM 0000H~FFFFH,使用MOVX指令訪問(wèn)。,二、 數(shù)據(jù)存儲(chǔ)器——用于存放暫存數(shù)據(jù)、中間運(yùn)算結(jié)果等。,2. 片內(nèi)RAM 00H~FFH,使用MOV指令訪問(wèn)。,,0003H~002AH均勻
26、地分為5段,為5個(gè)中斷服務(wù)程序起始處。因?yàn)樽止?jié)單元太少,所以常在這些存儲(chǔ)單元中存放轉(zhuǎn)移指令。,注:P26 圖,擴(kuò)展ROM。一般,盡量不擴(kuò)充片外ROM,而選用片內(nèi)具有大容量Flash的單片機(jī)。,,安排了21個(gè)SFR地址離散分布,,32個(gè)字節(jié)通用Reg.區(qū),即可字節(jié)尋址,又可位尋址.,80字節(jié)RAM區(qū),由PSW中的RS1、RS0兩位組合選中當(dāng)前組,,CPU上電時(shí)選中0組;未用到的組可作為RAM用.程序執(zhí)行的
27、任何時(shí)刻,只能用一組。,,16字節(jié),,,圖2-8 低128字節(jié)RAM區(qū),圖2-9 高128字節(jié)RAM區(qū)(SFR區(qū)),② 高128字節(jié)RAM ——SFR 是80H~FFH的部分單元,使用時(shí)只能直接尋址。其余未定義部分不能使用。,① 低128字節(jié)RAM 00H~7FH 均可用作一般的RAM單元外,其中某些部分還可以以其它形式使用。,片內(nèi)RAM,通用Reg.區(qū) 4個(gè),00H~1FH (4×8=32), 指令
28、 比一般RAM更豐富、簡(jiǎn)潔、快捷。 位地址區(qū) 20H~2FH 以位尋址方式使用時(shí),地址從00H~7FH。 對(duì)字節(jié)RAM,用直接尋址和間接尋址;對(duì)位地址單元用位尋址方式。(以區(qū)別某個(gè)單元是字節(jié)或位單元) 用戶通用RAM 可在此將部分區(qū)域設(shè)置為堆棧,低128字節(jié),,ⅲ)SFR包括 ACC——累加器(字節(jié)地址E0H),指令中用A表示。 B——Reg.(字節(jié)地址F0H),用于乘除
29、指令。 在其他指令中,可作為一般通用Reg或 RAM單元。 PSW——程序狀態(tài)字(字節(jié)地址D0H),各位的含義及格式見下一頁(yè)。,SP----堆棧指針(字節(jié)地址81H),其內(nèi)容可為00~7FH的 任何地址單元,系統(tǒng)復(fù)位時(shí)為07H(向上生成)。 DPTR----數(shù)據(jù)指針(83H、82H),既可作為一個(gè)16位Reg (DPTR)、
30、 也可作為兩個(gè)8位Reg ( DPH,DPL)使用。 以16位使用時(shí),對(duì)片外RAM尋址。,P0~P3 ——I/O端口(80H,90H,A0H,B0H) 4個(gè)I/O端口的鎖存器地址,還可按位尋址,即每一條I/O線均可獨(dú)立用作輸入或輸出。 在單片機(jī)中,將I/O端口當(dāng)作SFR,不設(shè)專門的口操作指令(IN或OUT),而采用統(tǒng)一的MOV指令,使用方便。
31、 例:MOV P1,A ;A→P1,SBUF——串行數(shù)據(jù)緩沖器(99H) 用于存放欲發(fā)送或已接收的數(shù)據(jù)。 例:MOV SBUF,A; A→SBUF,THi,TLi ——定時(shí)/計(jì)數(shù)器 i中的計(jì)數(shù)器(i=1,2) 一個(gè)16位(THi TLi)
32、 或兩個(gè)8位定時(shí)/計(jì)數(shù)器(THi,TLi)。,其他控制Reg.——IP,IE,TMOD… 為中斷系統(tǒng)、定時(shí)/計(jì)數(shù)器、串行口和供電方 式的控制與狀態(tài)位。P30 表,2. 4 CPU時(shí)序,一、片內(nèi)振蕩器及時(shí)鐘信 號(hào)的產(chǎn)生,2. 時(shí)鐘信號(hào)的產(chǎn)生,1. 振蕩器 (構(gòu)成見
33、前),時(shí)鐘信號(hào)的周期S包含2個(gè)振蕩周期: S=fosc/2。 每個(gè)時(shí)鐘周期S有兩個(gè)節(jié)拍P1、P2,稱為相1(P1)和相2(P2)。,CPU以P1、P2為基本節(jié)拍指揮單片機(jī)各部件協(xié)調(diào)工作。,1. 機(jī)器周期:CPU訪問(wèn)存儲(chǔ)器一次所需要的時(shí)間 (如取指令、讀存儲(chǔ)器、寫存儲(chǔ)器等)。 2. 1個(gè)機(jī)器周期 = 12個(gè)振蕩周期( fosc) = 6個(gè)時(shí)鐘周期(S,fosc/2) 當(dāng)使用6MHZ晶振時(shí),一個(gè)機(jī)器周期
34、 = 2us。 3. 指令周期(一條指令的執(zhí)行時(shí)間)= n 個(gè)機(jī)器周期 n小則執(zhí)行速度快。 注:大部分指令周期為1個(gè)或2個(gè)機(jī)器周期,乘除指令為4個(gè)機(jī)器周期。,二、機(jī)器周期和指令周期,,CPU的4個(gè)時(shí)序單位從小到大依次是: 節(jié)拍、時(shí)鐘周期、機(jī)器周期和指令周期,如圖2-13所示。,圖2-13 89C51單片機(jī)各種周期的相互關(guān)系,三、CPU取指、執(zhí)指周期時(shí)序,每條指令的執(zhí)行都可以包括取指和執(zhí)指兩個(gè)階段
35、。在取指階段,CPU從內(nèi)部或外部ROM中取出指令操作碼及操作數(shù),然后再執(zhí)行這條指令。單字節(jié)和雙字節(jié)的指令都可能是單機(jī)器周期或雙周期,而三字節(jié)指令都是雙周期的,只有乘、除指令占四周期。因此,當(dāng)使用6MHZ晶振時(shí),執(zhí)行一條指令的時(shí)間(指令周期)分別是2μs,4μs和8μs。如 圖2-14所示。,圖2-14 89C51單片機(jī)的取指/執(zhí)行時(shí)序,(1) 每個(gè)機(jī)器周期出現(xiàn)兩次ALE脈沖,用于地址鎖存。(此周期信號(hào)可用于其它外設(shè)的控制信
36、號(hào)) (2) 對(duì)外RAM進(jìn)行讀寫時(shí),ALE信號(hào)不是周期性的,缺一次。故用ALE做系統(tǒng)定時(shí)脈沖時(shí)要考慮到這一點(diǎn)。,1. 復(fù)位電路 ① 復(fù)位信號(hào)的內(nèi)部電路 復(fù)位引腳RST通過(guò)片內(nèi)一個(gè)斯密特觸發(fā)器與片內(nèi)復(fù)位電路相連,斯密特觸發(fā)器用來(lái)脈沖整形及抑制噪聲,其輸出在每個(gè)機(jī)器周期的S5P2被復(fù)位電路采樣一次。如果RST引腳有一高電平并維持2個(gè)機(jī)器周期,89C51便執(zhí)行內(nèi)部復(fù)位。P39 圖2-15。,② 復(fù)位信號(hào)的外部電路
37、(見前),2. 復(fù)位時(shí)SFR的狀態(tài),復(fù)位后,PC=0000H,使單片機(jī)從起始地址0000H單元開始執(zhí)行程序。 若單片機(jī)運(yùn)行出錯(cuò)或進(jìn)入死循環(huán),可按復(fù)位鍵重新啟動(dòng),或通過(guò)watchdog電路使其自動(dòng)復(fù)位。,2. 5 復(fù)位操作,,,A=00H:累加器已被清0。 PSW=00H:選寄存器0組為工作寄存器組。 SP=07H:堆棧指針指向片內(nèi)RAM 07H字節(jié)單元,根據(jù)堆棧操作法則,第一個(gè)被壓入的數(shù)據(jù)被寫入08H單元
38、中。 P0~P3=FFH: 已向各端口線寫入1,此時(shí),各端口既可用于輸入,又可用于輸出。 IP=×××00000B: 各個(gè)中斷源處于低優(yōu)先級(jí)。 IE=0××00000B: 各個(gè)中斷均被關(guān)斷。 TMOD=00H: T0/T1均為工作方式0,且運(yùn)行于定時(shí)器狀態(tài)。 TCON=00H: T0/T1均被關(guān)斷。 SCON=00H: 串行口處于工作方式0
39、,允許發(fā)送,不允許接收。 PCON=00H: SMOD=0,波特率不加倍。,表2-8中的符號(hào)意義如下:,2. 6 89c51單片機(jī)的低功耗工作方式,89C51提供兩種節(jié)電工作方式:空閑(等待、待機(jī))方式和掉電(停機(jī))工作方式圖2-17所示為實(shí)現(xiàn)這兩種方式的內(nèi)部電路。,89c51有4個(gè)8位并行I/O端口P0、P1、P2、P3。 每個(gè)端口是8位準(zhǔn)雙向口,每一條I/O線都能獨(dú)立地作I/O。 每個(gè)端口有:
40、1個(gè)輸出鎖存器(P0~P3),即常說(shuō)的口地址(80H,90H,A0H,B0H)。 1個(gè)輸出驅(qū)動(dòng)器 2(或3)個(gè)三態(tài)輸入緩沖器。,2. 7 輸入/輸出端口,一、P0口 某一位結(jié)構(gòu)見圖2-21,當(dāng)C=0時(shí),開關(guān)MUX被控為如圖示位置,P0口為通用I/O口;,當(dāng)C=1時(shí),開關(guān)撥向反相器3的輸出端,P0口分時(shí)作為地址/數(shù)據(jù)總線使用。,這時(shí),輸出級(jí)是漏極開路的開漏電路,P0口可作為一般I/O口使用。 當(dāng)用于I
41、/O時(shí),需外接10K的上拉電阻到Vcc,否則不能有高電平輸出。,當(dāng)執(zhí)行一條由端口輸入的指令時(shí),“讀引腳”脈沖把三態(tài)緩沖器2打開,這樣,端口上的數(shù)據(jù)經(jīng)過(guò)緩沖器2讀入到內(nèi)部總線。,當(dāng)用一根端口線去驅(qū)動(dòng)一個(gè)晶體管的基極時(shí),向此端口線輸出“1”使該晶體管導(dǎo)通,導(dǎo)通的晶體管會(huì)把引腳上的電平拉低。若這時(shí)從該引腳讀入剛才輸出的數(shù)據(jù),讀入的 為“0”,與剛才輸出的值不符。 為避免錯(cuò)讀引腳電平,單片機(jī)還提供了一組“讀鎖存器”操作。見圖中的“讀鎖
42、存器”線。,如:ORLP0,A ;指令功能: 將P0與A相或,然后?P0 該指令先將P0口D鎖存器數(shù)據(jù)(即此時(shí)引腳應(yīng)該的電平)讀入CPU,再與A內(nèi)容相“或”,最終將“或”的結(jié)果送到P0鎖存器。此時(shí),鎖存器的內(nèi)容(Q端狀態(tài))和引腳一致,P0數(shù)據(jù)來(lái)源于鎖存器而不是引腳。,(3)P0口作輸出時(shí)需注意,在以上過(guò)程中,讀入操作不是“讀引腳”,而是“讀鎖存器”。這一類指令稱為“讀—修改—寫”指令,有: A
43、NL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ等。這類指令常用來(lái)“位”修改,修改時(shí)不能影響其他位。,CPU對(duì)片外存儲(chǔ)器讀寫時(shí),系統(tǒng)自動(dòng)使C=1,圖中MUX接反相器3的輸出端: (1)輸出 地址/數(shù)據(jù)信號(hào)經(jīng)T1、T2推拉輸出(T1導(dǎo)通時(shí)上拉,T2導(dǎo)通時(shí)下拉),負(fù)載能力較強(qiáng)。(激活內(nèi)部上拉電阻T1) (2)輸入 數(shù)據(jù)從P0輸入。這時(shí),“讀引腳”信號(hào)有效?打開輸入緩沖器2?數(shù)據(jù)到DB。,2.
44、 P0口作為地址/數(shù)據(jù)總線使用(C=1),對(duì)89C51外擴(kuò)存儲(chǔ)器并使用時(shí),系統(tǒng)自動(dòng)使C=1。這時(shí): P0口可作為地址/數(shù)據(jù)總線使用,對(duì)片外ROM(或RAM)尋址及作為數(shù)據(jù)輸入/輸出通道。,注意:當(dāng)P0作為總線使用時(shí),不再能作I/O口使用。,3. P1口用作輸出時(shí):能向外提供拉電流負(fù)載,所以不必再接 上拉電阻。
45、 作輸入時(shí):先對(duì)鎖存器 寫入“1”,使FET截止。,內(nèi)部電阻實(shí)際上是兩個(gè)FET并在一起,一個(gè)為負(fù)載管,其阻值固定;另一個(gè)工作在導(dǎo)通或截止兩種狀態(tài),使其總阻值在0或阻值很大兩種情況下變化。 當(dāng)阻值為0時(shí),引腳快速上拉至高電平; 當(dāng)阻值很大時(shí),P1口為高阻輸入狀態(tài)。,二、P1口,某一位結(jié)構(gòu)圖見圖2-19,工作原理同P0口, 也是一個(gè)準(zhǔn)雙向口。區(qū)別如下: 1. 僅作為一般I/O口。 2
46、. 內(nèi)部有上拉電阻,無(wú)需外接。,3. 當(dāng)系統(tǒng)中無(wú)需外擴(kuò)ROM(89C51/8751),只需擴(kuò)展256B片外RAM 時(shí),只需用P0口的低8位地址即可。這時(shí),P2口仍可作為通用I/O口。 使用MOVX A,@Ri,4. 若擴(kuò)展RAM超過(guò)256B(用MOVX A, @DPTR),需使用P2口的 高8位地址線。,訪問(wèn)片外RAM周期結(jié)束后,P2口仍可作通用I/O口,但使用時(shí)要謹(jǐn)慎
47、。,三、P2口 見 圖2-20,1. 作為一般I/O口使用時(shí),同P1口。,2. 當(dāng)系統(tǒng)中有外部ROM、RAM時(shí),P2口輸出高8位地址。 此時(shí),不再作為通用I/O口。,驅(qū)動(dòng)部分與P1口類似,但比P1口多了一個(gè)轉(zhuǎn)換控制部分。,當(dāng)CPU對(duì)片內(nèi)存儲(chǔ)器和I/O口進(jìn)行讀/寫(執(zhí)行MOV 指令或EA=1時(shí),執(zhí)行MOVC指令)時(shí),由內(nèi)部硬件自動(dòng)使開關(guān)MUX倒向鎖存器的Q端,這時(shí),P2口為一般I/O口。,四、P
48、3口——多功能口,某一位結(jié)構(gòu)圖見圖2-22 1. 作為一般I/O口使用時(shí)(W=1), 同P0、P1、P2口。 CPU對(duì)P3口進(jìn)行SFR(位或字節(jié))尋址訪問(wèn)時(shí),為I/O口。,2. 作為第二功能使用時(shí)(Q=1) (CPU不把P3口作為SFR尋址),內(nèi)部硬件使鎖存器Q=1。,表2-10 P3口線與第二功能表,,(1)作為I/O口使用時(shí),外接上拉電阻,輸出時(shí)才有高電平輸出;用作輸入時(shí)需先
49、向鎖存器(80H)寫“1”,不影響輸入電平。(2)用作地址/數(shù)據(jù)總線時(shí),無(wú)需外接上拉電阻。這時(shí)用作輸入時(shí),也無(wú)需寫“1”。(3)若通過(guò)OC門輸入,需外接上拉電阻。,(1)輸出時(shí),無(wú)需外接上拉電阻 。 (2)輸入時(shí),先寫“1”。 (3)若通過(guò)OC門輸入,無(wú)需外接上拉電阻。 對(duì)89C51單片機(jī)(CHMOS),由于其端口只能提供幾mA輸出電流,當(dāng)其端口接普通晶體管的基極,應(yīng)在端口與晶體管基極之間串連一個(gè)電阻以限流。對(duì)T
50、TL門或NMOS電路,可直接接入。,五、端口的負(fù)載能力和接口要求,1. P0口的每一位輸出可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載,2. P1~P3口的 每一位輸出級(jí)有上拉電阻,每一位可驅(qū)動(dòng)4個(gè)TTL負(fù)載。,這樣,當(dāng)P1.x輸出高電平時(shí),不至于負(fù)載電阻過(guò)小,而需P1.x端輸出大電流(過(guò)載)。,例:,,,,說(shuō)明:,哈佛結(jié)構(gòu)是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的存儲(chǔ)器結(jié)構(gòu)。中央處理器首先到程序指令存儲(chǔ)器中讀取程序指令內(nèi)容,解碼后得到數(shù)據(jù)地址,再到
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- icl7107引腳圖及引腳功能介紹
- 數(shù)字時(shí)鐘集成電路引腳功能
- 555芯片引腳圖及引腳描述
- 多功能插座
- 多功能陽(yáng)臺(tái)
- 多功能家具設(shè)計(jì)-從多功能書桌說(shuō)起.pdf
- lm339引腳圖與功能簡(jiǎn)介
- isd2560語(yǔ)音芯片的引腳及功能介紹
- pcs7_standard_library_功能塊引腳說(shuō)明
- sg3525 中文資料 引腳功能 應(yīng)用電路
- 多功能支架.dwg
- mlc多功能混凝土
- 多功能支架.dwg
- 多功能炒菜機(jī)
- 多功能支架.dwg
- 多功能救援擔(dān)架
- 多功能支架.dwg
- 多功能支架.dwg
- 多功能智能小車
- 多功能支架.dwg
評(píng)論
0/150
提交評(píng)論