單片機(jī) 第9章-1_第1頁(yè)
單片機(jī) 第9章-1_第2頁(yè)
單片機(jī) 第9章-1_第3頁(yè)
單片機(jī) 第9章-1_第4頁(yè)
單片機(jī) 第9章-1_第5頁(yè)
已閱讀5頁(yè),還剩102頁(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)介

1、第九章第九章 單片微機(jī)的系統(tǒng)擴(kuò)展原理單片微機(jī)的系統(tǒng)擴(kuò)展原理及接口技術(shù)及接口技術(shù) 系統(tǒng)擴(kuò)展系統(tǒng)擴(kuò)展是指單片微機(jī)內(nèi)部各功能部件不能滿是指單片微機(jī)內(nèi)部各功能部件不能滿足應(yīng)用系統(tǒng)要求時(shí),在片外連接相應(yīng)的外圍芯片以足應(yīng)用系統(tǒng)要求時(shí),在片外連接相應(yīng)的外圍芯片以滿足應(yīng)用系統(tǒng)要求。滿足應(yīng)用系統(tǒng)要求。 主要有主要有程序存儲(chǔ)器的擴(kuò)展、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展、程序存儲(chǔ)器的擴(kuò)展、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展、I/O口的擴(kuò)展、中斷系統(tǒng)擴(kuò)展以及其它特殊功能接口口的擴(kuò)展、中斷系統(tǒng)擴(kuò)展以及其它特殊功能接口的擴(kuò)展等。的擴(kuò)展等。9.1 9.1 系統(tǒng)擴(kuò)展原理系統(tǒng)擴(kuò)展原理 對(duì)于單片微機(jī)系統(tǒng)擴(kuò)展的方法有并行擴(kuò)展法和對(duì)于單片微機(jī)系統(tǒng)擴(kuò)展的方法有并行擴(kuò)展法

2、和串行擴(kuò)展法兩種。串行擴(kuò)展法兩種。并行擴(kuò)展法并行擴(kuò)展法:利用單片微機(jī)本身具備的三組總線:利用單片微機(jī)本身具備的三組總線(AB、DB、CB)進(jìn)行的系統(tǒng)擴(kuò)展。)進(jìn)行的系統(tǒng)擴(kuò)展。串行擴(kuò)展法串行擴(kuò)展法:利用:利用SPI三線總線和三線總線和I2C雙線總線等進(jìn)雙線總線等進(jìn)行串行系統(tǒng)擴(kuò)展。行串行系統(tǒng)擴(kuò)展。 有的單片微機(jī)應(yīng)用系統(tǒng)同時(shí)采用并行擴(kuò)展法和有的單片微機(jī)應(yīng)用系統(tǒng)同時(shí)采用并行擴(kuò)展法和串行擴(kuò)展法串行擴(kuò)展法。 單片微機(jī)是通過(guò)芯片的引腳進(jìn)行系統(tǒng)擴(kuò)展的。單片微機(jī)是通過(guò)芯片的引腳進(jìn)行系統(tǒng)擴(kuò)展的。 80C51系列帶總線的芯片引腳可以構(gòu)成系列帶總線的芯片引腳可以構(gòu)成圖圖91所所示的三總線結(jié)構(gòu)。示的三總線結(jié)構(gòu)。 具有同樣

3、并行總線的外部芯片通過(guò)這三組總線與具有同樣并行總線的外部芯片通過(guò)這三組總線與單片微機(jī)連接。單片微機(jī)連接。 9.1.1 外部并行擴(kuò)展原理外部并行擴(kuò)展原理圖圖91 80C51系列單片微機(jī)的三總線結(jié)構(gòu)系列單片微機(jī)的三總線結(jié)構(gòu)(1)地址總線(地址總線(AB)由由P0口提供低口提供低8位地址位地址A0A7,P2口提供高口提供高8位地址位地址A8A15。P0口是地址總線低口是地址總線低8位和位和8位數(shù)據(jù)總線復(fù)用口,位數(shù)據(jù)總線復(fù)用口,只能分時(shí)用作地址線。只能分時(shí)用作地址線。P0口輸出的低口輸出的低8位地址位地址A0A7必須用必須用鎖存器鎖存器鎖存。鎖存。鎖存器的鎖存控制信號(hào)來(lái)自單片微機(jī)鎖存器的鎖存控制信號(hào)來(lái)

4、自單片微機(jī)ALE引腳引腳輸出的控制信號(hào)。在輸出的控制信號(hào)。在ALE的下降沿的下降沿將將P0口輸出的地址口輸出的地址A0A7鎖存。鎖存。P0、P2口在系統(tǒng)擴(kuò)展中用作地址線后口在系統(tǒng)擴(kuò)展中用作地址線后便不能作為一般便不能作為一般I/O口使用??谑褂谩5刂房偩€寬度為地址總線寬度為16位,可尋址范圍為位,可尋址范圍為64 KB。7 圖圖9-2 AT89C51單片機(jī)擴(kuò)展的片外三總線單片機(jī)擴(kuò)展的片外三總線(2)數(shù)據(jù)總線(數(shù)據(jù)總線(DB) 由由P0口提供,用口提供,用D0D7表示。表示。P0口為三態(tài)雙口為三態(tài)雙向口,是應(yīng)用系統(tǒng)中使用最為頻繁的通道。單片微向口,是應(yīng)用系統(tǒng)中使用最為頻繁的通道。單片微機(jī)與外部交

5、換的所有數(shù)據(jù)、指令、信息,除少數(shù)可機(jī)與外部交換的所有數(shù)據(jù)、指令、信息,除少數(shù)可直接通過(guò)直接通過(guò)P1口外,全部通過(guò)口外,全部通過(guò)P0口傳送??趥魉?。數(shù)據(jù)總線是并連到多個(gè)連接的外圍芯片的數(shù)據(jù)總線是并連到多個(gè)連接的外圍芯片的數(shù)數(shù)據(jù)線據(jù)線上,而在上,而在同一時(shí)間同一時(shí)間里只能夠有里只能夠有一個(gè)一個(gè)是有效的數(shù)是有效的數(shù)據(jù)傳送通道。哪個(gè)芯片的數(shù)據(jù)通道有效,則由地址據(jù)傳送通道。哪個(gè)芯片的數(shù)據(jù)通道有效,則由地址線控制各個(gè)芯片的片選線來(lái)選擇。線控制各個(gè)芯片的片選線來(lái)選擇。(3)控制總線(控制總線(CB) 包括片外系統(tǒng)擴(kuò)展用控制線和片外信號(hào)對(duì)單片微機(jī)包括片外系統(tǒng)擴(kuò)展用控制線和片外信號(hào)對(duì)單片微機(jī)的控制線。的控制線。

6、ALE:輸出:輸出P0口上地址與數(shù)據(jù)隔離信號(hào),用于鎖存口上地址與數(shù)據(jù)隔離信號(hào),用于鎖存P0口輸出的低口輸出的低8位地址的控制線。位地址的控制線。PSEN :讀片外程序存儲(chǔ)器中的數(shù)據(jù):讀片外程序存儲(chǔ)器中的數(shù)據(jù)。“讀讀”片外片外程序存儲(chǔ)器中數(shù)據(jù)(指令)時(shí),不能用程序存儲(chǔ)器中數(shù)據(jù)(指令)時(shí),不能用“ ”信號(hào),信號(hào),而只能用而只能用 PSEN信號(hào)。信號(hào)。EA:選擇片內(nèi)或片外程序存儲(chǔ)器。:選擇片內(nèi)或片外程序存儲(chǔ)器。 當(dāng)當(dāng) 0時(shí),只訪問(wèn)外部程序存儲(chǔ)器。時(shí),只訪問(wèn)外部程序存儲(chǔ)器。 當(dāng)當(dāng) 1時(shí),先訪問(wèn)內(nèi)部程序存儲(chǔ)器,內(nèi)部程序存儲(chǔ)時(shí),先訪問(wèn)內(nèi)部程序存儲(chǔ)器,內(nèi)部程序存儲(chǔ)器全部訪問(wèn)完之后,再訪問(wèn)外部程序存儲(chǔ)器。器全

7、部訪問(wèn)完之后,再訪問(wèn)外部程序存儲(chǔ)器。 RDEAEA 、 :片外數(shù)據(jù)存儲(chǔ)器和:片外數(shù)據(jù)存儲(chǔ)器和I/O端口的寫、讀控端口的寫、讀控制。當(dāng)執(zhí)行片外數(shù)據(jù)存儲(chǔ)器操作指令制。當(dāng)執(zhí)行片外數(shù)據(jù)存儲(chǔ)器操作指令MOVX時(shí),自動(dòng)時(shí),自動(dòng)生成生成 、 控制信號(hào)控制信號(hào)常用地址鎖存器如圖所示。常用地址鎖存器如圖所示。 WRRDRDWR74LS37374LS373是是有輸出三態(tài)門的電平允許有輸出三態(tài)門的電平允許8D8D鎖存器鎖存器。當(dāng)。當(dāng)G G(使能端)(使能端)為為高電平高電平時(shí),鎖存器的數(shù)據(jù)輸出端時(shí),鎖存器的數(shù)據(jù)輸出端Q Q的狀態(tài)與數(shù)據(jù)輸入端的狀態(tài)與數(shù)據(jù)輸入端D D相相同(透明的)。當(dāng)同(透明的)。當(dāng)G G端從端從高

8、電平返回到低電平高電平返回到低電平時(shí)(下降沿時(shí)(下降沿后),輸入端的數(shù)據(jù)就被鎖存在鎖存器中,數(shù)據(jù)輸入端后),輸入端的數(shù)據(jù)就被鎖存在鎖存器中,數(shù)據(jù)輸入端D D的的變化不再影響變化不再影響Q Q端輸出。端輸出。 74LS27374LS273是帶公共時(shí)鐘復(fù)位八是帶公共時(shí)鐘復(fù)位八D D觸發(fā)器觸發(fā)器(1)1(1)1腳是復(fù)位腳是復(fù)位CLR,CLR,低電平有效低電平有效, ,當(dāng)當(dāng)1 1腳是低電平時(shí)腳是低電平時(shí), ,輸出全部輸出輸出全部輸出0,0,即全部復(fù)位即全部復(fù)位; ;(2)(2)當(dāng)當(dāng)1 1腳為高電平時(shí)腳為高電平時(shí),11(CLK),11(CLK)腳是鎖存控制端腳是鎖存控制端, ,并且是并且是上升沿觸上升沿

9、觸發(fā)鎖存發(fā)鎖存, ,當(dāng)當(dāng)1111腳有一個(gè)上升沿腳有一個(gè)上升沿, ,立即鎖存輸入腳的電平狀態(tài)立即鎖存輸入腳的電平狀態(tài), ,并并且立即呈現(xiàn)在在輸出腳上且立即呈現(xiàn)在在輸出腳上. .所以,如果分別用所以,如果分別用273273和和373373來(lái)作為單片機(jī)的地址存器的話來(lái)作為單片機(jī)的地址存器的話, ,對(duì)對(duì)273273來(lái)說(shuō)來(lái)說(shuō),1(CLR),1(CLR)腳必須接高電平腳必須接高電平,ALE,ALE信號(hào)經(jīng)過(guò)信號(hào)經(jīng)過(guò)反相反相后接后接1111腳腳( (因?yàn)閱纹瑱C(jī)的因?yàn)閱纹瑱C(jī)的ALEALE信號(hào)是以下降沿方式出現(xiàn)信號(hào)是以下降沿方式出現(xiàn)) );對(duì)對(duì)373373來(lái)說(shuō)來(lái)說(shuō),1,1腳接低電平腳接低電平, ,保證使能保證使能

10、,11,11腳腳直接直接接單片機(jī)的接單片機(jī)的ALEALE信號(hào)信號(hào). .1.1.并行擴(kuò)展方式的編址技術(shù)并行擴(kuò)展方式的編址技術(shù)在單片微機(jī)應(yīng)用系統(tǒng)中,為了唯一地選擇片外某一在單片微機(jī)應(yīng)用系統(tǒng)中,為了唯一地選擇片外某一存儲(chǔ)單元或存儲(chǔ)單元或I/OI/O端口,需要進(jìn)行兩種選擇。端口,需要進(jìn)行兩種選擇。必須先找到該存儲(chǔ)單元或必須先找到該存儲(chǔ)單元或I/OI/O端口所在的芯片,稱端口所在的芯片,稱為為“片選片選” ” 通過(guò)對(duì)芯片本身所具有的地址線進(jìn)行譯碼,然后通過(guò)對(duì)芯片本身所具有的地址線進(jìn)行譯碼,然后確定唯一的存儲(chǔ)單元或確定唯一的存儲(chǔ)單元或I/OI/O端口,稱為端口,稱為“字選字選”。地址空間分配地址空間分配注

11、意,注意,“片選片選”和和“字選字選”都是單片機(jī)通過(guò)地址線都是單片機(jī)通過(guò)地址線一次發(fā)出一次發(fā)出的地址信號(hào)來(lái)完成選擇的地址信號(hào)來(lái)完成選擇。 “片選片選” ” 保證每次讀或?qū)憰r(shí),只選中某一片存儲(chǔ)器保證每次讀或?qū)憰r(shí),只選中某一片存儲(chǔ)器芯片或芯片或I/OI/O接口芯片。常用的方法有接口芯片。常用的方法有4 4種:種:“線選法線選法” ” 、“地址譯碼法地址譯碼法” ” 、應(yīng)用、應(yīng)用 “ “可編程器件可編程器件PAL/GAL” PAL/GAL” 或或“I/OI/O口線口線” ” 。 (1) (1) 線選法線選法:一般是利用單片微機(jī)的:一般是利用單片微機(jī)的最高最高幾位空余幾位空余的地址線中一根的地址線中一

12、根( (如如P2.7) P2.7) 作為某一片存儲(chǔ)器芯片或作為某一片存儲(chǔ)器芯片或I/OI/O接口芯片的接口芯片的“片選片選” ” 控制線控制線。用于應(yīng)用系統(tǒng)中擴(kuò)用于應(yīng)用系統(tǒng)中擴(kuò)展芯片較少的場(chǎng)合。展芯片較少的場(chǎng)合。低位地址線低位地址線A0A0A10A10實(shí)現(xiàn)片內(nèi)尋址(字選)。實(shí)現(xiàn)片內(nèi)尋址(字選)。高位地址線高位地址線A11A11A13A13實(shí)現(xiàn)片選(實(shí)現(xiàn)片選(A11A11A13A13中只允許有一中只允許有一根為低電平,另二根必須為高電平,否則出錯(cuò))。根為低電平,另二根必須為高電平,否則出錯(cuò))。無(wú)關(guān)位無(wú)關(guān)位A14A14、A15A15可任取,可任取,高位地址線直接連到存儲(chǔ)器芯片的片選端。高位地址線直

13、接連到存儲(chǔ)器芯片的片選端。線選法線選法二進(jìn)制表示二進(jìn)制表示 16進(jìn)制進(jìn)制表示表示 無(wú)關(guān)位無(wú)關(guān)位片外地址線片外地址線片內(nèi)地址線片內(nèi)地址線A15 A14A13 A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0芯芯片片1 11 1 00 0 0 0 0 0 0 0 0 0 0F000H. . . . . . . . . . . . . .1 11 1 01 1 1 1 1 1 1 1 1 1 1F7FFH芯芯片片1 11 0 10 0 0 0 0 0 0 0 0 0 0E800H. . . . . . . . . . . . . . .1 11 0 11 1 1 1

14、1 1 1 1 1 1 1EFFFH 芯芯片片1 10 1 10 0 0 0 0 0 0 0 0 0 0D800H. . . . . . . . . . . . . . .1 10 1 11 1 1 1 1 1 1 1 1 1 1DFFFH線選法三片存儲(chǔ)器芯片地址分配表線選法三片存儲(chǔ)器芯片地址分配表線選法優(yōu)點(diǎn):連接簡(jiǎn)單;線選法優(yōu)點(diǎn):連接簡(jiǎn)單; 缺點(diǎn):芯片地址空間不連續(xù);缺點(diǎn):芯片地址空間不連續(xù); 適用于擴(kuò)展存儲(chǔ)容量較小的場(chǎng)合。適用于擴(kuò)展存儲(chǔ)容量較小的場(chǎng)合。(2) 譯碼法譯碼法:用譯碼器對(duì)空余的高位地址線進(jìn)行:用譯碼器對(duì)空余的高位地址線進(jìn)行譯碼,而譯碼器的輸出作為譯碼,而譯碼器的輸出作為“片選片

15、選” 控制線??刂凭€。常用的譯碼器有常用的譯碼器有3/8譯碼器譯碼器74LS138、雙、雙2/4譯碼譯碼器器74LS139、4/16譯碼器譯碼器74LS154等。等。3/8譯碼器譯碼器74LS138的管腳見下頁(yè)圖。的管腳見下頁(yè)圖。G1、 、 :使能端。:使能端。 當(dāng)當(dāng)G1=1, = =0時(shí),芯片使能。時(shí),芯片使能。C、B、A:譯碼器輸入,高電平有效。:譯碼器輸入,高電平有效。 Y :譯碼器輸出,低電平有效。:譯碼器輸出,低電平有效。2AG2AG2BGG2B圖圖83 74LS138三三-八譯碼器八譯碼器譯碼法:譯碼法:通過(guò)譯碼器將高位地址線轉(zhuǎn)換為片選信號(hào)。通過(guò)譯碼器將高位地址線轉(zhuǎn)換為片選信號(hào)。二

16、進(jìn)制表示二進(jìn)制表示 16進(jìn)制進(jìn)制表示表示 無(wú)關(guān)位無(wú)關(guān)位片外地址線片外地址線片內(nèi)地址線片內(nèi)地址線A15A14 A13 A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0芯芯片片10 0 0 00 0 0 0 0 0 0 0 0 0 08000H. . . . . . . . . . . . . . .10 0 0 01 1 1 1 1 1 1 1 1 1 187FFH芯芯片片10 0 0 10 0 0 0 0 0 0 0 0 0 08800H. . . . . . . . . . . . . . .10 0 0 11 1 1 1 1 1 1 1 1 1 18FFFH

17、芯芯片片10 0 1 00 0 0 0 0 0 0 0 0 0 09000H. . . . . . . . . . . . . . .1 0 0 1 01 1 1 1 1 1 1 1 1 1 197FFH譯碼法三片存儲(chǔ)器芯片地址分配表譯碼法三片存儲(chǔ)器芯片地址分配表 譯碼法與線選法比較,硬件電路稍復(fù)雜,需要譯碼法與線選法比較,硬件電路稍復(fù)雜,需要使用譯碼器,但可充分利用存儲(chǔ)空間,全譯碼時(shí)還使用譯碼器,但可充分利用存儲(chǔ)空間,全譯碼時(shí)還可避免地址重疊現(xiàn)象,局部譯碼因還有部分高位地可避免地址重疊現(xiàn)象,局部譯碼因還有部分高位地址線未參與譯碼,因此仍存在地址重疊現(xiàn)象。址線未參與譯碼,因此仍存在地址重疊現(xiàn)象

18、。 譯碼法的另一個(gè)優(yōu)點(diǎn)是若譯碼器輸出端留有剩譯碼法的另一個(gè)優(yōu)點(diǎn)是若譯碼器輸出端留有剩余端線未用時(shí),便于繼續(xù)擴(kuò)展存儲(chǔ)器或余端線未用時(shí),便于繼續(xù)擴(kuò)展存儲(chǔ)器或I/O口接口電口接口電路。路。 譯碼法和線選法不僅適用于擴(kuò)展存儲(chǔ)器譯碼法和線選法不僅適用于擴(kuò)展存儲(chǔ)器(包括外包括外RAM和外和外ROM),還適用于擴(kuò)展,還適用于擴(kuò)展I/O口口(包括各種外包括各種外圍設(shè)備和接口芯片圍設(shè)備和接口芯片)。 可編程陣列邏輯器件可編程陣列邏輯器件PAL(Programmable Array Logic)和通用陣列邏輯和通用陣列邏輯GAL(Generic Array Logic)(加密性好加密性好) 。有的應(yīng)用系統(tǒng)為了有的

19、應(yīng)用系統(tǒng)為了硬件電路加密硬件電路加密,采用,采用PAL或或GAL來(lái)進(jìn)行地址譯碼和分配來(lái)進(jìn)行地址譯碼和分配(比如有的單片微機(jī)仿真比如有的單片微機(jī)仿真器器),你能看到的是,你能看到的是PAL或或GAL的輸入線和輸出線,的輸入線和輸出線,而無(wú)法掌握內(nèi)部邏輯關(guān)系。而無(wú)法掌握內(nèi)部邏輯關(guān)系。 輸入輸出線輸入輸出線作為譯碼線作為譯碼線可以利用空余的可以利用空余的I/O口線口線(如如P1.0) ,或應(yīng)用系統(tǒng),或應(yīng)用系統(tǒng)擴(kuò)展的擴(kuò)展的I/O口線作為芯片的片選線,當(dāng)該口線作為芯片的片選線,當(dāng)該I/O口線輸出口線輸出低電平時(shí),即選中了該芯片。低電平時(shí),即選中了該芯片。 地址總線寬度為地址總線寬度為 1616位,在片外

20、可擴(kuò)展的存儲(chǔ)位,在片外可擴(kuò)展的存儲(chǔ)器最大容量為器最大容量為64KB64KB,地址為,地址為0000H0000HFFFFHFFFFH。 片外數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器的操作使用不同片外數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器的操作使用不同的指令和控制信號(hào),允許兩者的地址重疊,故片外的指令和控制信號(hào),允許兩者的地址重疊,故片外可擴(kuò)展的數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器最大容量分別為可擴(kuò)展的數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器最大容量分別為64 KB64 KB。 片外數(shù)據(jù)存儲(chǔ)器與片內(nèi)數(shù)據(jù)存儲(chǔ)器的操作指令片外數(shù)據(jù)存儲(chǔ)器與片內(nèi)數(shù)據(jù)存儲(chǔ)器的操作指令不同(片外不同(片外RAMRAM只能用只能用MOVXMOVX指令)。允許兩者地址重指令)。允許兩者地址重疊

21、,亦即外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器地址可從疊,亦即外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器地址可從0000H0000H開始。開始。I/OI/O口擴(kuò)展與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,不再口擴(kuò)展與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,不再另外提供地址線。另外提供地址線。 外部串行總線主要包括:外部串行總線主要包括:SPI總線和總線和I2C總線兩種??偩€兩種。 1. SPI三線總線結(jié)構(gòu)三線總線結(jié)構(gòu) SPI三線總線結(jié)構(gòu)是一個(gè)同步外圍接口,允許三線總線結(jié)構(gòu)是一個(gè)同步外圍接口,允許MCU與各種外圍設(shè)備以串行方式進(jìn)行通信。與各種外圍設(shè)備以串行方式進(jìn)行通信。一個(gè)完整的一個(gè)完整的SPI系統(tǒng)有如下的特性:系統(tǒng)有如下的特性: . .全雙工、三線同步傳送;全雙工、三線

22、同步傳送; . .主、從機(jī)工作方式;主、從機(jī)工作方式; . .可程控的主機(jī)位傳送頻率、時(shí)鐘極性和相位;可程控的主機(jī)位傳送頻率、時(shí)鐘極性和相位; . .發(fā)送完成中斷標(biāo)志;發(fā)送完成中斷標(biāo)志; . .寫沖突保護(hù)標(biāo)志。寫沖突保護(hù)標(biāo)志。 在大多數(shù)場(chǎng)合,使用一個(gè)在大多數(shù)場(chǎng)合,使用一個(gè)MCU作為主機(jī),控制數(shù)據(jù)作為主機(jī),控制數(shù)據(jù)向一個(gè)或多個(gè)從機(jī)(外圍器件)的傳送。向一個(gè)或多個(gè)從機(jī)(外圍器件)的傳送。 9.1.2 圖圖85 SPI系統(tǒng)時(shí)鐘的極性和相位關(guān)系系統(tǒng)時(shí)鐘的極性和相位關(guān)系圖圖9-49-4 SPISPI數(shù)據(jù)傳送格式數(shù)據(jù)傳送格式 使用兩根信號(hào)線(使用兩根信號(hào)線(SDA和和SCL)串行的方法進(jìn)行)串行的方法進(jìn)行

23、信息傳送,并允許若干兼容器件共享的雙線總線,稱為信息傳送,并允許若干兼容器件共享的雙線總線,稱為I2C總線??偩€。I2C總線系統(tǒng)的示意圖見總線系統(tǒng)的示意圖見圖圖95。SDA:串行數(shù)據(jù)線,傳輸雙向的數(shù)據(jù)。:串行數(shù)據(jù)線,傳輸雙向的數(shù)據(jù)。SCL:串行時(shí)鐘線,傳輸時(shí)鐘信號(hào),同步串行數(shù):串行時(shí)鐘線,傳輸時(shí)鐘信號(hào),同步串行數(shù)據(jù)線上的數(shù)據(jù)。據(jù)線上的數(shù)據(jù)。 圖圖86 I2C總線系統(tǒng)示意圖總線系統(tǒng)示意圖 為片外程序存儲(chǔ)器讀選擇信號(hào)。正常運(yùn)行時(shí),該為片外程序存儲(chǔ)器讀選擇信號(hào)。正常運(yùn)行時(shí),該引腳不能浮空。引腳不能浮空。 根據(jù)連接電平的不同,單片微機(jī)有兩種取指過(guò)程:根據(jù)連接電平的不同,單片微機(jī)有兩種取指過(guò)程:(1)

24、當(dāng)當(dāng) 1時(shí),時(shí),80C51單片微機(jī)所有片內(nèi)程序存儲(chǔ)器有效。單片微機(jī)所有片內(nèi)程序存儲(chǔ)器有效。 當(dāng)程序計(jì)數(shù)器當(dāng)程序計(jì)數(shù)器PC運(yùn)行于片內(nèi)程序存儲(chǔ)器的尋址范圍內(nèi)時(shí),運(yùn)行于片內(nèi)程序存儲(chǔ)器的尋址范圍內(nèi)時(shí),P0口、口、P2 口及口及 線沒(méi)有信號(hào)輸出;當(dāng)程序計(jì)數(shù)器線沒(méi)有信號(hào)輸出;當(dāng)程序計(jì)數(shù)器PC的值超的值超出上述范圍后,出上述范圍后,P0口、口、P2 口及口及 線才有信號(hào)輸出。線才有信號(hào)輸出。(2)當(dāng))當(dāng) 0時(shí),時(shí),80C51單片微機(jī)所有片內(nèi)程序存儲(chǔ)器無(wú)效單片微機(jī)所有片內(nèi)程序存儲(chǔ)器無(wú)效,只能訪問(wèn)片外程序存儲(chǔ)器。伴隨著單片微機(jī)復(fù)位,只能訪問(wèn)片外程序存儲(chǔ)器。伴隨著單片微機(jī)復(fù)位,P0口、口、P2口及口及 線均有信號(hào)

25、輸出。線均有信號(hào)輸出。EAEAPSENEAPSENPSEN 80C51訪問(wèn)片外程序存儲(chǔ)器時(shí),使用如下的信號(hào):訪問(wèn)片外程序存儲(chǔ)器時(shí),使用如下的信號(hào): P0口:分時(shí)輸出程序存儲(chǔ)器的低口:分時(shí)輸出程序存儲(chǔ)器的低8位地址和位地址和8位位數(shù)據(jù)。數(shù)據(jù)。 ALE:在:在ALE的下降沿時(shí),的下降沿時(shí),P0口上出現(xiàn)穩(wěn)定的口上出現(xiàn)穩(wěn)定的程序存儲(chǔ)器的低程序存儲(chǔ)器的低8位地址,用位地址,用ALE信號(hào)鎖存這低信號(hào)鎖存這低8位地位地址。址。 P2口:在整個(gè)取指周期中,輸出穩(wěn)定的程序存口:在整個(gè)取指周期中,輸出穩(wěn)定的程序存儲(chǔ)器的高儲(chǔ)器的高8位地址。位地址。 :低電平有效。在:低電平有效。在ALE的下降沿之后,的下降沿之后,

26、由高變?yōu)榈?,此時(shí)片外程序存儲(chǔ)器的內(nèi)容(指令字)由高變?yōu)榈?,此時(shí)片外程序存儲(chǔ)器的內(nèi)容(指令字)送到送到 P0口,而后在口,而后在 的上升沿將指令字送入指令的上升沿將指令字送入指令寄存器,寄存器, 信號(hào)作為片外程序存儲(chǔ)器的信號(hào)作為片外程序存儲(chǔ)器的“讀讀”選通選通信號(hào)。信號(hào)。PSENPSENPSEN片外程序存儲(chǔ)器取指操作時(shí)序片外程序存儲(chǔ)器取指操作時(shí)序 片內(nèi)程序存儲(chǔ)器容量越來(lái)越大,如片內(nèi)程序存儲(chǔ)器容量越來(lái)越大,如89C5887C58的片內(nèi)程序存儲(chǔ)器的容量高達(dá)的片內(nèi)程序存儲(chǔ)器的容量高達(dá)32KB,甚至為,甚至為 64 KB。而價(jià)格相對(duì)以前也大大降低。而價(jià)格相對(duì)以前也大大降低。程序存儲(chǔ)器的擴(kuò)展已不是必須,僅

27、作為一種技術(shù)程序存儲(chǔ)器的擴(kuò)展已不是必須,僅作為一種技術(shù)來(lái)加以介紹。來(lái)加以介紹。 通常只需要擴(kuò)展一片或兩片通常只需要擴(kuò)展一片或兩片EPROM芯片就足夠。芯片就足夠。ROMROM芯片及擴(kuò)展方法芯片及擴(kuò)展方法 1 1、EPROMEPROM存儲(chǔ)器及擴(kuò)展存儲(chǔ)器及擴(kuò)展常用的常用的EPROMEPROM芯片有芯片有27322732、27642764、2712827128、2725627256、2751227512等等 。型號(hào)型號(hào) “ “27”27”后面的數(shù)字表示其位存儲(chǔ)容量。后面的數(shù)字表示其位存儲(chǔ)容量。如果換算成字節(jié)容如果換算成字節(jié)容量,只需將該數(shù)字除以量,只需將該數(shù)字除以8 8即可。芯片引腳功能:即可。芯片

28、引腳功能:A0A15:地址線引腳。它的數(shù)目由芯片的存儲(chǔ)容量決定,用于進(jìn)行單元選擇。D7D0:數(shù)據(jù)線引腳。 :片選控制端。 :輸出允許控制端。 :編程時(shí),編程脈沖的輸入端。CEOEPCM圖圖8-8 EPROM芯片引腳芯片引腳圖圖9-9 常用常用EPROM芯片引腳芯片引腳EPROM存儲(chǔ)器擴(kuò)展電路:存儲(chǔ)器擴(kuò)展電路:圖圖910 程序存儲(chǔ)器的擴(kuò)展電路程序存儲(chǔ)器的擴(kuò)展電路圖圖911 程序存儲(chǔ)器的擴(kuò)展電路程序存儲(chǔ)器的擴(kuò)展電路門門上圖中上圖中27C128地址是多少?容量?地址是多少?容量?在上在上圖圖電路中電路中 是接高電平的。是接高電平的。27128A是是16KB容量的容量的EPROM,14根地址線根地址線

29、A0A13。系統(tǒng)中只擴(kuò)展了一片程序存儲(chǔ)器,。系統(tǒng)中只擴(kuò)展了一片程序存儲(chǔ)器,27128A的片選端的片選端可直接接地,一直有效??芍苯咏拥?,一直有效。EA=1,程序存儲(chǔ)器先片內(nèi),程序存儲(chǔ)器先片內(nèi)4KB、即、即0000H0FFFH。當(dāng)當(dāng)PC值超出片內(nèi)程序存儲(chǔ)器容量時(shí),自動(dòng)轉(zhuǎn)向片外。值超出片內(nèi)程序存儲(chǔ)器容量時(shí),自動(dòng)轉(zhuǎn)向片外。所以片外所以片外27C128的地址為的地址為1000H 3FFFH,共,共12KB。EA2、EEPROM存儲(chǔ)器及擴(kuò)展存儲(chǔ)器及擴(kuò)展 常用的常用的EEPROM芯片有芯片有2864、2817等等 。123456789101112131428272625242322212019181716

30、152864AVccWENCA8A9A11OEA10CEI/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GNDRDY/BUSY1NC2A73A64A55A46A37A28A19A010I/O011I/O112I/O213GND14I/O315I/O416I/O517I/O618I/O719CE20A1021OE22NC23A9242817AA825NC26WE27VCC28 存儲(chǔ)器固有不揮發(fā)性存儲(chǔ)器固有不揮發(fā)性 高密度高密度 低功耗低功耗 晶體管單元晶體管單元 在線可重寫在線可重寫FLASH SRAM DRAM EEPROM OTP/E

31、PROM 掩膜掩膜ROM 常用的數(shù)據(jù)存儲(chǔ)器有動(dòng)態(tài)常用的數(shù)據(jù)存儲(chǔ)器有動(dòng)態(tài)RAM和靜態(tài)和靜態(tài)RAM,有并行有并行RAM和串行和串行RAM。 各種存儲(chǔ)器性能的比較各種存儲(chǔ)器性能的比較 如如表表8 - 2 “MOVX A,DPTR”和和“MOVX DPTR,A”的操作的操作時(shí)序示于下頁(yè)。時(shí)序示于下頁(yè)。從圖中可以看出,執(zhí)行該組指令時(shí),機(jī)器周期從圖中可以看出,執(zhí)行該組指令時(shí),機(jī)器周期1為取指周為取指周期,期,在取指周期的在取指周期的S5狀態(tài),當(dāng)狀態(tài),當(dāng)ALE為下降沿時(shí),在為下降沿時(shí),在P0總線上出總線上出現(xiàn)的是數(shù)據(jù)存儲(chǔ)器的低現(xiàn)的是數(shù)據(jù)存儲(chǔ)器的低8位地址,即位地址,即DPL;在;在P2口上出現(xiàn)的是數(shù)口上出現(xiàn)

32、的是數(shù)據(jù)存儲(chǔ)器的高據(jù)存儲(chǔ)器的高8位地址,即位地址,即DPH。 取指操作之后,直至機(jī)器周期取指操作之后,直至機(jī)器周期2的的S3狀態(tài)之前,狀態(tài)之前,一直維持高電平。而在機(jī)器周期一直維持高電平。而在機(jī)器周期2的的S1與與S2狀態(tài)之間的狀態(tài)之間的ALE不再不再出現(xiàn)。出現(xiàn)。 執(zhí)行執(zhí)行“MOVX A,DPTR”時(shí),從機(jī)器周期時(shí),從機(jī)器周期2開始到開始到S3狀態(tài),狀態(tài), 出現(xiàn)低電平。此時(shí)允許將片外數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)送上出現(xiàn)低電平。此時(shí)允許將片外數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)送上P0口,在口,在 的上升沿將數(shù)據(jù)讀入累加器的上升沿將數(shù)據(jù)讀入累加器A。數(shù)據(jù)為輸入。數(shù)據(jù)為輸入。PSENRDRD“MOVX A,DPTR” 和和“MO

33、VX DPTR,A” 的操作時(shí)序的操作時(shí)序 執(zhí)行執(zhí)行“MOVX DPTR,A”時(shí),從機(jī)器周期時(shí),從機(jī)器周期2開始到開始到S3狀態(tài),狀態(tài), 出現(xiàn)低電平。此時(shí)出現(xiàn)低電平。此時(shí)P0口上將口上將送出累加器送出累加器A的數(shù)據(jù),在的數(shù)據(jù),在 的上升沿將數(shù)據(jù)寫入的上升沿將數(shù)據(jù)寫入片外數(shù)據(jù)存儲(chǔ)器中。數(shù)據(jù)為輸出。片外數(shù)據(jù)存儲(chǔ)器中。數(shù)據(jù)為輸出。 此時(shí)此時(shí)P0口為地址、數(shù)據(jù)復(fù)用總線;口為地址、數(shù)據(jù)復(fù)用總線;P2口在機(jī)口在機(jī)器周期器周期1的的S4狀態(tài)之后出現(xiàn)鎖存的高狀態(tài)之后出現(xiàn)鎖存的高8位地址(位地址(DPH);用控制線來(lái)調(diào)動(dòng)數(shù)據(jù)總線上的數(shù)據(jù)傳輸);用控制線來(lái)調(diào)動(dòng)數(shù)據(jù)總線上的數(shù)據(jù)傳輸方向:而方向:而 有效時(shí)數(shù)據(jù)為輸入

34、,有效時(shí)數(shù)據(jù)為輸入, 有效時(shí)數(shù)有效時(shí)數(shù)據(jù)為輸出。據(jù)為輸出。WRRDWRWR數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器:常用的數(shù)據(jù)存儲(chǔ)器常用的數(shù)據(jù)存儲(chǔ)器SRAM芯片有芯片有6116626462256等。等。2. 片外并行數(shù)據(jù)存儲(chǔ)器的擴(kuò)展片外并行數(shù)據(jù)存儲(chǔ)器的擴(kuò)展16KB片外并行數(shù)據(jù)存儲(chǔ)器擴(kuò)展電路片外并行數(shù)據(jù)存儲(chǔ)器擴(kuò)展電路上圖所示的是用兩片上圖所示的是用兩片6264擴(kuò)展擴(kuò)展16KB片外并行數(shù)片外并行數(shù)據(jù)存儲(chǔ)器的電路。據(jù)存儲(chǔ)器的電路。采用線選法尋址。用一根口線采用線選法尋址。用一根口線P2.7來(lái)尋址:來(lái)尋址:P2. 7=0時(shí),訪問(wèn)時(shí),訪問(wèn)6264(0) , 地址范圍為地址范圍為6000H7FFFH。P2.7=l時(shí),時(shí), 訪

35、問(wèn)訪問(wèn)6264(1), 地址范圍為地址范圍為E000HFFFFH。80C51同時(shí)擴(kuò)展外同時(shí)擴(kuò)展外ROM和外和外RAM時(shí)典型連接電路時(shí)典型連接電路 地址線、數(shù)據(jù)線仍按地址線、數(shù)據(jù)線仍按80C51一般擴(kuò)展外一般擴(kuò)展外ROM時(shí)時(shí)方式連接。方式連接。 片選線,因外片選線,因外ROM只有一片,無(wú)需片選。只有一片,無(wú)需片選。2764 CE直接接地,始終有效。外直接接地,始終有效。外RAM雖然也只有一片,雖然也只有一片,但系統(tǒng)可能還要擴(kuò)展但系統(tǒng)可能還要擴(kuò)展I/O口,而口,而I/O口與外口與外RAM是是統(tǒng)一編址的,因此一般需要片選,統(tǒng)一編址的,因此一般需要片選,6264CE1接接P2.5,CE2直接接直接接V

36、cc,這樣,這樣6264的地址范圍為的地址范圍為C000HDFFFH,P2.6、P2.7可留給擴(kuò)展可留給擴(kuò)展I/O口片選口片選用。用。 讀寫控制線,讀外讀寫控制線,讀外ROM執(zhí)行執(zhí)行MOVC指令,由指令,由PSEN控制控制2764 OE,讀寫外,讀寫外RAM執(zhí)行執(zhí)行MOVX指令,指令,由由RD控制控制6264OE,WR控制控制6264WE。 1單片微機(jī)為什么需要單片微機(jī)為什么需要I/O接口電路接口電路 存儲(chǔ)器是半導(dǎo)體電路,與單片微機(jī)具有相同的電存儲(chǔ)器是半導(dǎo)體電路,與單片微機(jī)具有相同的電路形式,數(shù)據(jù)信號(hào)也是相同的(電平信號(hào)),能相互路形式,數(shù)據(jù)信號(hào)也是相同的(電平信號(hào)),能相互兼容直接使用,存儲(chǔ)

37、器與單片微機(jī)之間采用同步定時(shí)兼容直接使用,存儲(chǔ)器與單片微機(jī)之間采用同步定時(shí)工作方式。工作方式。存儲(chǔ)器與單片微機(jī)之間的連接相當(dāng)簡(jiǎn)單,除地址存儲(chǔ)器與單片微機(jī)之間的連接相當(dāng)簡(jiǎn)單,除地址線、數(shù)據(jù)線之外,就是讀或?qū)戇x通信號(hào),實(shí)現(xiàn)起來(lái)非線、數(shù)據(jù)線之外,就是讀或?qū)戇x通信號(hào),實(shí)現(xiàn)起來(lái)非常方便。常方便。 9.4.1 I/O擴(kuò)展概述擴(kuò)展概述CPU和外部設(shè)備之間的數(shù)據(jù)傳送卻十分復(fù)雜。和外部設(shè)備之間的數(shù)據(jù)傳送卻十分復(fù)雜。高速高速CPU與工作速度快慢差異很大的慢速外部設(shè)備與工作速度快慢差異很大的慢速外部設(shè)備的矛盾。的矛盾。 外部設(shè)備的數(shù)據(jù)信號(hào)是多種多樣的。外部設(shè)備的數(shù)據(jù)信號(hào)是多種多樣的。 外部設(shè)備種類繁多。外部設(shè)備種類

38、繁多。 外設(shè)的數(shù)據(jù)傳送有近距離的,也有遠(yuǎn)距離的。外設(shè)的數(shù)據(jù)傳送有近距離的,也有遠(yuǎn)距離的。 單片微機(jī)必須在單片微機(jī)和外設(shè)之間有一個(gè)接口單片微機(jī)必須在單片微機(jī)和外設(shè)之間有一個(gè)接口電路,通過(guò)接口電路對(duì)單片微機(jī)與外設(shè)之間的數(shù)據(jù)傳電路,通過(guò)接口電路對(duì)單片微機(jī)與外設(shè)之間的數(shù)據(jù)傳送進(jìn)行協(xié)調(diào)。送進(jìn)行協(xié)調(diào)。單片機(jī)與單片機(jī)與I/O設(shè)備的關(guān)系:設(shè)備的關(guān)系:接口電路主要有如下幾項(xiàng)功能:接口電路主要有如下幾項(xiàng)功能:速度協(xié)調(diào)速度協(xié)調(diào) 速度上的差異,使得數(shù)據(jù)的速度上的差異,使得數(shù)據(jù)的I/O傳送只能以異步方傳送只能以異步方式進(jìn)行,在確認(rèn)外設(shè)已為數(shù)據(jù)傳送作好準(zhǔn)備的前提下式進(jìn)行,在確認(rèn)外設(shè)已為數(shù)據(jù)傳送作好準(zhǔn)備的前提下才能進(jìn)行才能

39、進(jìn)行I/O操作。操作。三態(tài)緩沖三態(tài)緩沖 數(shù)據(jù)輸入時(shí),輸入設(shè)備向數(shù)據(jù)輸入時(shí),輸入設(shè)備向CPU傳送的數(shù)據(jù)也要通傳送的數(shù)據(jù)也要通過(guò)數(shù)據(jù)總線,為了維護(hù)數(shù)據(jù)總線上數(shù)據(jù)傳送的有秩序,過(guò)數(shù)據(jù)總線,為了維護(hù)數(shù)據(jù)總線上數(shù)據(jù)傳送的有秩序,只允許當(dāng)前時(shí)刻正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)只允許當(dāng)前時(shí)刻正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其它數(shù)據(jù)源都必須與數(shù)據(jù)總線處于隔離狀態(tài)。總線,其它數(shù)據(jù)源都必須與數(shù)據(jù)總線處于隔離狀態(tài)。要求接口電路能為三態(tài)緩沖功能。要求接口電路能為三態(tài)緩沖功能。數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換包括:模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、串并轉(zhuǎn)換和并串轉(zhuǎn)換等。包括:模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、串并轉(zhuǎn)換和并串轉(zhuǎn)換等。 接口與端口接口與端口外設(shè)

40、之間在數(shù)據(jù)傳送方面的聯(lián)系。其功能主要是通過(guò)電外設(shè)之間在數(shù)據(jù)傳送方面的聯(lián)系。其功能主要是通過(guò)電路實(shí)現(xiàn)的,稱之為路實(shí)現(xiàn)的,稱之為接口電路接口電路。接口電路中應(yīng)該包含有數(shù)據(jù)寄存器以保存輸入輸出數(shù)據(jù)、接口電路中應(yīng)該包含有數(shù)據(jù)寄存器以保存輸入輸出數(shù)據(jù)、狀態(tài)寄存器以保存外設(shè)的狀態(tài)信息、命令寄存器以保存狀態(tài)寄存器以保存外設(shè)的狀態(tài)信息、命令寄存器以保存來(lái)自來(lái)自CPUCPU的有關(guān)數(shù)據(jù)傳送的控制命令。由于在數(shù)據(jù)的傳的有關(guān)數(shù)據(jù)傳送的控制命令。由于在數(shù)據(jù)的傳送中,送中,CPUCPU需要對(duì)這些寄存器的狀態(tài)口和保存命令的命需要對(duì)這些寄存器的狀態(tài)口和保存命令的命令口尋址等,通常把接口電路中這些已編址并能進(jìn)行讀令口尋址等,通

41、常把接口電路中這些已編址并能進(jìn)行讀或?qū)懖僮鞯募拇嫫鞣Q之為或?qū)懖僮鞯募拇嫫鞣Q之為端口端口(portport), ,或簡(jiǎn)稱口?;蚝?jiǎn)稱口。一個(gè)接口電路就對(duì)應(yīng)著多個(gè)端口地址。對(duì)它們像存儲(chǔ)單一個(gè)接口電路就對(duì)應(yīng)著多個(gè)端口地址。對(duì)它們像存儲(chǔ)單元一樣進(jìn)行編址。元一樣進(jìn)行編址。 數(shù)據(jù)隔離技術(shù)數(shù)據(jù)隔離技術(shù) 輸入輸出的數(shù)據(jù)都要通過(guò)系統(tǒng)的數(shù)據(jù)總線進(jìn)行傳輸入輸出的數(shù)據(jù)都要通過(guò)系統(tǒng)的數(shù)據(jù)總線進(jìn)行傳送,為了正確地進(jìn)行數(shù)據(jù)的傳送,就必須解決數(shù)據(jù)總線送,為了正確地進(jìn)行數(shù)據(jù)的傳送,就必須解決數(shù)據(jù)總線的隔離問(wèn)題。的隔離問(wèn)題。對(duì)于輸出設(shè)備的接口電路,要提供鎖存器,當(dāng)允對(duì)于輸出設(shè)備的接口電路,要提供鎖存器,當(dāng)允許接收輸出數(shù)據(jù)時(shí)鎖存器打

42、開,否則關(guān)閉。許接收輸出數(shù)據(jù)時(shí)鎖存器打開,否則關(guān)閉。對(duì)于輸入設(shè)備的接口電路,要使用三態(tài)緩沖電路對(duì)于輸入設(shè)備的接口電路,要使用三態(tài)緩沖電路或集電極開路門?;蚣姌O開路門。 三態(tài)緩沖電路三態(tài)緩沖電路 具有三態(tài)輸出的門電路,也稱之為三態(tài)門(具有三態(tài)輸出的門電路,也稱之為三態(tài)門(TSL),),低電平狀態(tài)、高電平狀態(tài)和高阻抗三種狀態(tài)。當(dāng)三態(tài)緩低電平狀態(tài)、高電平狀態(tài)和高阻抗三種狀態(tài)。當(dāng)三態(tài)緩沖器的輸出為高或低電平時(shí),就是對(duì)數(shù)據(jù)總線的驅(qū)動(dòng)狀沖器的輸出為高或低電平時(shí),就是對(duì)數(shù)據(jù)總線的驅(qū)動(dòng)狀態(tài);當(dāng)三態(tài)緩沖器的輸出為高阻抗時(shí),就是對(duì)總線的隔態(tài);當(dāng)三態(tài)緩沖器的輸出為高阻抗時(shí),就是對(duì)總線的隔離狀態(tài)。三態(tài)緩沖器的控制邏

43、輯如離狀態(tài)。三態(tài)緩沖器的控制邏輯如表表所示。所示。三態(tài)緩沖器的控制邏輯三態(tài)緩沖器的控制邏輯 三態(tài)控制信號(hào)三態(tài)控制信號(hào) 工作狀態(tài)工作狀態(tài) 數(shù)據(jù)輸入數(shù)據(jù)輸入 輸出端狀態(tài)輸出端狀態(tài) 1 高阻抗高阻抗 0 高阻抗高阻抗 1 高阻抗高阻抗 0 驅(qū)動(dòng)驅(qū)動(dòng) 0 0 1 1對(duì)三態(tài)緩沖電路的主要性能要求有:對(duì)三態(tài)緩沖電路的主要性能要求有: 速度快,信號(hào)延遲時(shí)間短。例如典型三態(tài)速度快,信號(hào)延遲時(shí)間短。例如典型三態(tài)緩沖器的延遲時(shí)間只有緩沖器的延遲時(shí)間只有8-13ns。較高的驅(qū)動(dòng)能力。較高的驅(qū)動(dòng)能力。高阻抗時(shí)對(duì)數(shù)據(jù)總線不呈現(xiàn)負(fù)載,最多只高阻抗時(shí)對(duì)數(shù)據(jù)總線不呈現(xiàn)負(fù)載,最多只能拉走不大于能拉走不大于0.04mA電流。電流

44、。 集電極開路門集電極開路門集電極開路門是從基本的與非門電路演變過(guò)來(lái)集電極開路門是從基本的與非門電路演變過(guò)來(lái)的,把集電極回路中的電阻除去,讓集電極開路,就的,把集電極回路中的電阻除去,讓集電極開路,就得到了集電極開路門電路??梢宰鳛榧姌O開路的電得到了集電極開路門電路??梢宰鳛榧姌O開路的電路有反相器、與非門以及與或非門等。路有反相器、與非門以及與或非門等。集電極開路器件的輸出是低電平起作用,如果集電極開路器件的輸出是低電平起作用,如果其中一個(gè)為低電平,則總的輸出即為低電平。只有當(dāng)其中一個(gè)為低電平,則總的輸出即為低電平。只有當(dāng)所有連在一起的集電極開路器件的輸出端均為高電平所有連在一起的集電極開

45、路器件的輸出端均為高電平時(shí)總的輸出才是高電平。對(duì)于這種邏輯關(guān)系有時(shí)也稱時(shí)總的輸出才是高電平。對(duì)于這種邏輯關(guān)系有時(shí)也稱之為之為“線與線與”。 I/O I/O編址技術(shù)編址技術(shù) 接口電路要對(duì)其中的端口進(jìn)行編址。對(duì)端口編址接口電路要對(duì)其中的端口進(jìn)行編址。對(duì)端口編址是為是為I/O操作而進(jìn)行的,也稱為操作而進(jìn)行的,也稱為I/O編址。常用的編址。常用的I/O編編址有獨(dú)立編址方式和統(tǒng)一編址方式址有獨(dú)立編址方式和統(tǒng)一編址方式 。 獨(dú)立編址方式獨(dú)立編址方式 優(yōu)點(diǎn)是優(yōu)點(diǎn)是I/O地址空間和存儲(chǔ)器地址空間相互獨(dú)立,地址空間和存儲(chǔ)器地址空間相互獨(dú)立,但需要專門設(shè)置一套但需要專門設(shè)置一套I/O指令和控制信號(hào),從而增加了指令

46、和控制信號(hào),從而增加了系統(tǒng)的開銷。系統(tǒng)的開銷。 統(tǒng)一編址方式統(tǒng)一編址方式 統(tǒng)一編址就是把系統(tǒng)中的統(tǒng)一編址就是把系統(tǒng)中的I/O和存儲(chǔ)器統(tǒng)一和存儲(chǔ)器統(tǒng)一進(jìn)行編址。在這種編址方式中,把接口中的寄進(jìn)行編址。在這種編址方式中,把接口中的寄存器(端口)與存儲(chǔ)器中的存儲(chǔ)單元同等對(duì)待存器(端口)與存儲(chǔ)器中的存儲(chǔ)單元同等對(duì)待,稱之為存儲(chǔ)器映像(,稱之為存儲(chǔ)器映像(memory mapped)編址)編址。80C51使用統(tǒng)一編址方式。在接口電路中的使用統(tǒng)一編址方式。在接口電路中的I/O編址也采用編址也采用16位地址,和存儲(chǔ)單元的地址長(zhǎng)位地址,和存儲(chǔ)單元的地址長(zhǎng)度一樣。度一樣。 I/O數(shù)據(jù)傳送的控制方式數(shù)據(jù)傳送的控制

47、方式 有無(wú)條件傳送方式、查詢方式、中斷方式和直有無(wú)條件傳送方式、查詢方式、中斷方式和直接存儲(chǔ)器存?。ń哟鎯?chǔ)器存?。―MA)4種方式。在單片微機(jī)中主要種方式。在單片微機(jī)中主要使用前三種方式。使用前三種方式。 無(wú)條件傳送方式無(wú)條件傳送方式無(wú)條件傳送也稱為同步程序傳送。在進(jìn)行無(wú)條件傳送也稱為同步程序傳送。在進(jìn)行I/O操操作時(shí),不需要測(cè)試外部設(shè)備的狀態(tài),可以根據(jù)需要隨作時(shí),不需要測(cè)試外部設(shè)備的狀態(tài),可以根據(jù)需要隨時(shí)進(jìn)行數(shù)據(jù)傳送操作。時(shí)進(jìn)行數(shù)據(jù)傳送操作。 查詢方式查詢方式查詢方式又稱之為有條件傳送方式,即數(shù)據(jù)的查詢方式又稱之為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。為了實(shí)現(xiàn)查詢方式的數(shù)據(jù)輸入輸出傳送是有

48、條件的。為了實(shí)現(xiàn)查詢方式的數(shù)據(jù)輸入輸出傳送,需要由接口電路提供外設(shè)狀態(tài),并以軟件方法傳送,需要由接口電路提供外設(shè)狀態(tài),并以軟件方法進(jìn)行狀態(tài)測(cè)試。因此這是一種軟硬件方法結(jié)合的數(shù)據(jù)進(jìn)行狀態(tài)測(cè)試。因此這是一種軟硬件方法結(jié)合的數(shù)據(jù)傳送方式。傳送方式。 中斷方式中斷方式當(dāng)外設(shè)為數(shù)據(jù)傳送作好準(zhǔn)備之后,就向當(dāng)外設(shè)為數(shù)據(jù)傳送作好準(zhǔn)備之后,就向CPU發(fā)發(fā)出中斷請(qǐng)求,出中斷請(qǐng)求,CPU響應(yīng)中斷請(qǐng)求之后,轉(zhuǎn)去為外設(shè)的響應(yīng)中斷請(qǐng)求之后,轉(zhuǎn)去為外設(shè)的數(shù)據(jù)輸入輸出服務(wù)。待服務(wù)完成之后,數(shù)據(jù)輸入輸出服務(wù)。待服務(wù)完成之后,CPU再繼續(xù)執(zhí)再繼續(xù)執(zhí)行被中斷的原程序。行被中斷的原程序。 簡(jiǎn)單輸出口的擴(kuò)展簡(jiǎn)單輸出口的擴(kuò)展 輸出口的主

49、要功能是進(jìn)行輸出口的主要功能是進(jìn)行數(shù)據(jù)保持?jǐn)?shù)據(jù)保持(鎖存鎖存) ,一,一般應(yīng)用鎖存器芯片實(shí)現(xiàn)。比如常用般應(yīng)用鎖存器芯片實(shí)現(xiàn)。比如常用74LS377芯片,該芯片,該芯片是一個(gè)具有芯片是一個(gè)具有“使能使能”控制端的控制端的8D鎖存器。一個(gè)時(shí)鎖存器。一個(gè)時(shí)鐘輸入端鐘輸入端CK,一個(gè)鎖存允許信號(hào),一個(gè)鎖存允許信號(hào)G,當(dāng),當(dāng)G=0時(shí),時(shí),CK的上跳變將把的上跳變將把8位位D輸入端的數(shù)據(jù)打入輸入端的數(shù)據(jù)打入8位鎖存器,這位鎖存器,這時(shí)時(shí)Q輸出端將保持輸出端將保持D端輸入的數(shù)據(jù)。端輸入的數(shù)據(jù)。80C51與與74LS377的接口見的接口見圖圖912。 8.4.3 80C51簡(jiǎn)單簡(jiǎn)單I/O的擴(kuò)的擴(kuò)展展 9.4.

50、2 使用使用74系列器件擴(kuò)展系列器件擴(kuò)展I/O口口80C51與與74LS377接口電路圖接口電路圖 例:將一個(gè)數(shù)據(jù)字節(jié)從例:將一個(gè)數(shù)據(jù)字節(jié)從74LS377輸出輸出MOV DPTR,#7FFFH ;地址指針指向;地址指針指向74LS377MOV A,#DATA ;將輸出數(shù)據(jù)送;將輸出數(shù)據(jù)送AMOVX DPTR,A ;輸出數(shù)據(jù);輸出數(shù)據(jù) 簡(jiǎn)單輸入口的擴(kuò)展簡(jiǎn)單輸入口的擴(kuò)展對(duì)于常態(tài)數(shù)據(jù)的輸入,只需采用對(duì)于常態(tài)數(shù)據(jù)的輸入,只需采用8位三態(tài)門控位三態(tài)門控制電路芯片即可。下圖是用制電路芯片即可。下圖是用74LS244通過(guò)通過(guò)P0口擴(kuò)展的口擴(kuò)展的8位并行輸入口,圖中,三態(tài)門由位并行輸入口,圖中,三態(tài)門由P2.

51、6和和 RD相或控相或控制,其端口地址為制,其端口地址為BFFFH。例:數(shù)據(jù)輸入例:數(shù)據(jù)輸入MOV DPTR,#0BFFFH;指向;指向74LS244口地址口地址MOVX A,DPTR;讀入數(shù)據(jù);讀入數(shù)據(jù)80C51與與74LS244接口電路圖接口電路圖 使用使用74373擴(kuò)展輸入口擴(kuò)展輸入口74LSTTL I/O擴(kuò)展舉例擴(kuò)展舉例編寫程序把按鈕開關(guān)狀態(tài)通過(guò)上圖的發(fā)光二極管顯示出來(lái)。程序如下:DDIS:MOV DPTR,#0FEFFH ;輸入口地址;輸入口地址DPTRLP:MOVX A,DPTR;按鈕開關(guān)狀態(tài)讀入;按鈕開關(guān)狀態(tài)讀入A中中 MOVX DPTR,A;A中數(shù)據(jù)送顯示輸出口中數(shù)據(jù)送顯示輸出

52、口 SJMP LP ;反復(fù)連續(xù)執(zhí)行;反復(fù)連續(xù)執(zhí)行由程序可看出,對(duì)于擴(kuò)展接口的輸入/輸出就像從外部RAM讀/寫數(shù)據(jù)一樣方便。上圖僅僅擴(kuò)展了兩片,如果仍上圖僅僅擴(kuò)展了兩片,如果仍不夠用,還可擴(kuò)展多片不夠用,還可擴(kuò)展多片74LS244、74LS273之類的芯片之類的芯片。但作為輸入輸入口時(shí),一定要求有三態(tài)功能要求有三態(tài)功能,否則將影響總線的正常工作。 9.4.3 可編程可編程I/O并行接口芯片并行接口芯片8255A的擴(kuò)展及應(yīng)用的擴(kuò)展及應(yīng)用 在單片微機(jī)在單片微機(jī)I/O擴(kuò)展中常用的并行可編程擴(kuò)展中常用的并行可編程接口芯片有:接口芯片有:8255A :可編程通用并行接口芯片。:可編程通用并行接口芯片。81

53、55:帶:帶RAM和定時(shí)器、計(jì)數(shù)器的可編程和定時(shí)器、計(jì)數(shù)器的可編程 并行接口芯片。并行接口芯片。8279 :可編程鍵盤:可編程鍵盤/顯示器接口芯片顯示器接口芯片 。8255A芯片簡(jiǎn)介芯片簡(jiǎn)介Intel公司的可編程并行I/O接口芯片,3個(gè)個(gè)8位并行位并行I/O口,口,3種工作方式,種工作方式,單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。中間接口電路。引腳及內(nèi)部結(jié)構(gòu)如圖圖9-1和圖圖9-2所示所示。73圖圖9-1 8255A的引腳圖的引腳圖 圖圖9-2 8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)1引腳說(shuō)明引腳說(shuō)明共40個(gè)引腳個(gè)引腳,引腳功能如下引腳功能如下:D7D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)的P0口連接,用來(lái)與單片

54、機(jī)之間傳送數(shù)據(jù)信息。 :片選信號(hào)線,低有效,表示本芯片被選中。 :讀信號(hào)線,低有效,讀8255A端口數(shù)據(jù)的控制信號(hào)。 :寫信號(hào)線,低電平有效,用來(lái)向8255A寫入端口數(shù)據(jù)的控制信號(hào)。VCC:+5V電源。74CSRDWRPA7PA0:端口A輸入/輸出線。PB7PB0:端口B輸入/輸出線。PC7PC0:端口C輸入/輸出線。A1、A0:地址線,用來(lái)選擇8255A內(nèi)部的4個(gè)端口。RESET:復(fù)位引腳,高電平有效。2內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)如圖圖9-2所示所示,3個(gè)并行數(shù)據(jù)輸入個(gè)并行數(shù)據(jù)輸入/輸出端口輸出端口,兩種工作兩種工作方式方式的控制電路,一個(gè)讀/寫控制邏輯電路和一個(gè)8位數(shù)據(jù)總線緩沖器。各部件的功能如下:

55、75(1)端口)端口PA、PB、PC3個(gè)8位并行口PA、PB和PC,都可以選為輸入/輸出工作模式,功能和結(jié)構(gòu)上有差異。PA口:口:一個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器輸出鎖存器和緩沖器;一個(gè)8位數(shù)據(jù)輸入鎖存輸入鎖存器。PB口:口:一個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器輸出鎖存器和緩沖器;一個(gè)8位數(shù)據(jù)輸入緩沖器輸入緩沖器。PC口:口:一個(gè)8位的輸出鎖存器輸出鎖存器;一個(gè)8位數(shù)據(jù)輸入緩沖輸入緩沖器器。通常PA口、口、PB口口作為輸入/輸出口,PC口口既可作為輸入/輸出口,也可在軟件控制下,分為兩個(gè)4位的端口,作為端口PA、PB選通方式操作時(shí)的狀態(tài)控制信號(hào)。76(2)A組和組和B組控制電路組控制電路是兩組根據(jù)80

56、C51寫入的“命令字命令字”控制8255A工作方式的控制電路。A組組控制PA口和PC口的上半部上半部(PC7PC4);B組組控制PB口和PC口的下半部下半部(PC3PC0),并可用“命令字”來(lái)對(duì)端口PC的每一位實(shí)現(xiàn)按位置“1”或清“0”。(3)數(shù)據(jù)總線緩沖器)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個(gè)三態(tài)雙向8位緩沖器,作為8255A與系統(tǒng)總線之間的接口,用來(lái)傳送用來(lái)傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。77(4)讀)讀/寫控制邏輯電路寫控制邏輯電路接收接收80C51單片機(jī)發(fā)來(lái)單片機(jī)發(fā)來(lái)的控制信號(hào)控制信號(hào) 、 、RESET、地址信號(hào)地址信號(hào)A1、A0等,然后根據(jù)控制信號(hào)的要求,端口數(shù)據(jù)被80C51

57、單片機(jī)讀出,或者將80C51單片機(jī)送來(lái)的數(shù)據(jù)寫入端口。各端口工作狀態(tài)與控制信號(hào)的關(guān)系見表表9-1。78RDWR79RDWRCS2 工作方式選擇控制字及端口工作方式選擇控制字及端口PC置位置位/復(fù)位控制字復(fù)位控制字可向向8255A控制寄存器寫入兩種控制寄存器寫入兩種不同的控制字不同的控制字。1)工作方式選擇控制字)工作方式選擇控制字8255A有3種種基本工作方式:(1)方式)方式0基本輸入/輸出;(2)方式)方式1選通輸入/輸出;(3)方式)方式2雙向傳送(僅PA口有此工作方式)。3種工作方式方式控制字來(lái)決定。格式格式如圖圖9-3所示所示。最高位D7=1,為本方式控制字的標(biāo)志標(biāo)志,以便與另一控制

58、字相區(qū)別(最高位D7 = 0)。8081圖圖9-3 8255A的方式控制字格式的方式控制字格式PCPC口分兩部分口分兩部分,隨,隨PAPA口口稱為稱為A A組組,隨,隨PBPB口口稱為稱為B B組組。其中。其中PAPA口口可工作于方式可工作于方式0 0、1 1和和2 2,而,而PBPB口口只能工作在只能工作在方式方式0 0和和1 1?!纠纠?-19-1】80C5180C51向向8255A8255A的控制字寄存器寫入的控制字寄存器寫入工作方工作方式控制字式控制字95H95H,根據(jù),根據(jù)圖圖9-39-3,將,將8255A8255A編程設(shè)置為:編程設(shè)置為:PAPA口方口方式式0 0輸入,輸入,PB

59、PB口方式口方式1 1輸出,輸出,PCPC口的上半部分(口的上半部分(PC7PC7PC4PC4)輸出,輸出,PCPC口的下半部分(口的下半部分(PC3PC3PC0PC0)輸入。)輸入。MOVMOVDPTRDPTR,# #H H;控制字寄存器端口地址;控制字寄存器端口地址;H H送送DPTR DPTR MOV MOV A A,#95H#95H; 方式控制字方式控制字95H95H送送A AMOVXMOVXDPTRDPTR,A A; 控制字控制字95H95H送控制字寄存器送控制字寄存器822)PC口按位置位口按位置位/復(fù)位控制字復(fù)位控制字為另一控制字。即PC口中任何一位,可用一個(gè)寫入8255A控制口

60、的置位置位/復(fù)位控制字復(fù)位控制字來(lái)對(duì)PC口按位置置“1”或清“0”。用于位控位控。格式如圖圖9-4所示所示?!纠纠?-2】 80C51向8255A的控制字寄存器寫入工作方工作方式控制字式控制字07H,則PC3置置1;08H寫入控制口,則PC4清清0。程序段如下:MOVDPTR,#H; 控制寄存器端口地址;H送DPTR MOV A,#07H; 方式控制字07H送A83圖圖9-4 PC口按位置位口按位置位/復(fù)位控制字格式復(fù)位控制字格式MOVXDPTR,A; 控制字07H送控制寄存器,把PC3置1MOVDPTR,#H; 控制字寄存器端口地址送DPTR MOV A,#08H; 方式控制字08H送AM

溫馨提示

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