《單片機(jī)原理與接口技術(shù)》第9章MCS-51單片機(jī)的I-O擴(kuò)展_第1頁(yè)
《單片機(jī)原理與接口技術(shù)》第9章MCS-51單片機(jī)的I-O擴(kuò)展_第2頁(yè)
《單片機(jī)原理與接口技術(shù)》第9章MCS-51單片機(jī)的I-O擴(kuò)展_第3頁(yè)
《單片機(jī)原理與接口技術(shù)》第9章MCS-51單片機(jī)的I-O擴(kuò)展_第4頁(yè)
《單片機(jī)原理與接口技術(shù)》第9章MCS-51單片機(jī)的I-O擴(kuò)展_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、高等職業(yè)教育 計(jì)算機(jī)類(lèi)課程規(guī)劃教材,單片機(jī)原理與接口技術(shù),大連理工大學(xué)出版社,第9章 MCS-51 單片機(jī)的I/O擴(kuò)展,9.1 簡(jiǎn)單并行I/P口的擴(kuò)展 9.2 可編程并行I/P口的擴(kuò)展,9.1.1 擴(kuò)展概述 1.單片機(jī)I/O口擴(kuò)展方法 (1)總線擴(kuò)展方法 采用總線擴(kuò)展的方法是將擴(kuò)展的并行I/O口芯片連接到 MCS-51單片機(jī)的總線上,即數(shù)據(jù)總線使用P0口,地址總線使用P2和P0口,控制總線使用部分P3口。 這種擴(kuò)展方法不影響總線上其他擴(kuò)展芯片的連接,在MCS-51單片機(jī)應(yīng)用系統(tǒng)的I/O擴(kuò)展中被廣泛采用。 (2)串行口擴(kuò)展方法 MCS-51單片機(jī)串行口工作在方式0時(shí),提供一種I/O擴(kuò)展方法。,9

2、.1 簡(jiǎn)單并行I/P口的擴(kuò)展,串行口方式 0是移位寄存器工作方式,可借助外接串入并出的移位寄存器擴(kuò)展并行輸出口,也可通過(guò)外接并入串出的移位寄存器擴(kuò)展并行輸入口。 這種擴(kuò)展方法不占用并行總線且可以擴(kuò)展多個(gè)并行I/O。由于采用串行輸入輸出的方法,故數(shù)據(jù)傳輸速度較慢。 2.I/O擴(kuò)展常用芯片 (1)TTL/CMOS鎖存器/緩沖器芯片: 如74LS377、74LS374、74LS373、74LS273、74LS244、74LS245等; (2)通用可編程I/O接口芯片: 如8255、8155、8729等; (3)可編程陣列: 如GAL16V8、GAL20V8等。 3.I/O擴(kuò)展中應(yīng)注意的幾個(gè)問(wèn)題 (1

3、)訪問(wèn)擴(kuò)展I/O的方法與訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器完全相同,使用相同的指令。,(2)擴(kuò)展多片I/O芯片或多個(gè)I/O設(shè)備時(shí),注意總線的驅(qū)動(dòng)能力問(wèn)題; (3)擴(kuò)展I/O口的目的是為了單片機(jī)與外部設(shè)備進(jìn)行信息交換而設(shè)置的一個(gè)輸入輸出通道,I/O口最終與外設(shè)相連。 (4)在軟件設(shè)計(jì)時(shí),I/O口對(duì)應(yīng)初始狀態(tài)設(shè)置、工作方式選擇要與外接設(shè)備相匹配。 9.1.2 擴(kuò)展簡(jiǎn)單并行接口 1.擴(kuò)展并行輸出口 (1)用74LS377擴(kuò)展并行輸出口 74LS377 是帶有輸出允許端的8D鎖存器,有8個(gè)輸入端口、8個(gè)輸出端口、1個(gè)時(shí)鐘輸入端 CLK(上升沿有效)和1個(gè)允許控制端OE,其功能見(jiàn)表9-1。(見(jiàn)教材P190頁(yè)) 如圖9-

4、1所示,OE與P2.7相連,74LS377的地址為7FFFH; 若與P2.0相連,則地址相應(yīng)為0EFFH。,【例9.1】 若以圖9-1為接口電路,將片內(nèi)RAM地址為50H單元的數(shù)據(jù)通過(guò)該電路輸出。程序清單如下: MOV DPTR,#7FFFH ;數(shù)據(jù)指針指向74LS377 MOV A,50H ;輸出的50H單元數(shù)據(jù)送累加器A MOVX DPTR,A ;P0口將數(shù)據(jù)通過(guò)74LS377輸出 (2)用74LS374擴(kuò)展并行輸出口,圖9-1 MCS-51擴(kuò)展輸出口74LS377,74LS374是具有三態(tài)輸出的8D邊沿觸發(fā)器,其功能與74LS377相似,見(jiàn)表9-2。(見(jiàn)教材P190頁(yè)) 74LS374與

5、單片機(jī)接口電路如圖9-2所示,74LS374的地址為7FFFH。 74LS374具有較強(qiáng)的驅(qū)動(dòng)能力,輸出低電平電流IOL最大可達(dá)24mA,是74LS377的3倍。 在有較強(qiáng)驅(qū)動(dòng)能力要求場(chǎng)合,可選用74LS374作為并行口擴(kuò)展器件。,圖9-2 74LS374與單片機(jī)接口電路,2.擴(kuò)展并行輸入口 并行輸入擴(kuò)展口比較簡(jiǎn)單,只需采用8位緩沖器即可。 常用的緩沖器有74LS244,其功能見(jiàn)表9-3。(見(jiàn)教材P191頁(yè)) 74LS244為單向總線緩沖器,只能一個(gè)方向傳輸數(shù)據(jù)。 并行輸入接口與單片機(jī)連接如圖9-3所示。,圖9-3 擴(kuò)展74LS244并行輸入口,【例9.2】 如圖9-3所示,擴(kuò)展并行輸入口,將

6、輸入口中的8位數(shù)據(jù)送片內(nèi)51H單元。程序清單如下: MOV DPTR,#7FFFH ;數(shù)據(jù)指針指向74LS244 MOVX A,DPTR ;外部數(shù)據(jù)經(jīng)過(guò)74LS244送入累加器A MOV 51H,A ;數(shù)據(jù)送51H單元保存 將上述輸入輸出電路合并即如圖9-4所示。 在圖9-4的輸入輸出接口電路中,輸入采用三態(tài)門(mén)74HC244,輸出采用8D觸發(fā)器(鎖存器)74HC374。P0口為雙向數(shù)據(jù)線,既能從74HC244輸入數(shù)據(jù),又能將數(shù)據(jù)通過(guò)74HC374輸出。輸出控制信號(hào)由P2.0和WR合成,當(dāng)兩者同時(shí)為低電平時(shí),或門(mén)輸出0,將P0口數(shù)據(jù)鎖存到74HC374,其輸出控制著發(fā)光二極管LED。當(dāng)某線輸出為

7、0時(shí),該線上的LED發(fā)光。 輸入控制信號(hào)由P2.0和RD合成,當(dāng)二者同時(shí)為低電平時(shí),或門(mén)輸出為0,選通74HC244,將外部信息輸入到總線。,與74HC244相連的按鍵開(kāi)關(guān)沒(méi)有按下時(shí),輸入全為1;若按下某鍵則所在的線輸入為0。 可見(jiàn),輸入輸出都是在P2.0為0時(shí)有效,因此它們的口地址為0FEFFH,即占用相同的地址空間。但是由于分別用RD和WR信號(hào)控制,因此不會(huì)發(fā)生沖突。,圖9-4 合并輸入輸出口,正如前面所提到的,擴(kuò)展I/O口和擴(kuò)展外部RAM一樣,因此訪問(wèn)外部I/O口就像訪問(wèn)外部 RAM一樣,用的是 MOVX類(lèi)指令。 對(duì)于圖9-4,如果需要實(shí)現(xiàn)的功能是按下任意一個(gè)按鍵,對(duì)應(yīng)的LED發(fā)光,則程

8、序如下: LOOP: MOV DPTR,#0FEFFH ;數(shù)據(jù)指針指向擴(kuò)展I/O地址 MOVX A,DPTR ;從74HC244讀入數(shù)據(jù),檢測(cè)按鍵 MOVX DPTR,A ;向74HC374輸出數(shù)據(jù),驅(qū)動(dòng)LED SJMP LOOP ;循環(huán),9.2 可編程并行I/O口的擴(kuò)展,9.2.1 RAM/IO擴(kuò)展芯片8155 (1)8155的結(jié)構(gòu)及引腳功能,8155的引腳如圖9-5(a)所示,邏輯框圖如圖9-5(b)所示。,圖9-5 8155引腳及邏輯框圖,圖9-5中涉及的引腳符號(hào)的含義和功能如下: AD0AD7: 地址數(shù)據(jù)線; IO/M: IO/RAM選擇信號(hào)端,輸入高電平選擇I/O操作,低電平選擇訪問(wèn)

9、片內(nèi)RAM; CE: 片選信號(hào)輸入端,低電平有效; RD: 讀選通輸入端,低電平有效; WR: 寫(xiě)選通輸入端,低電平有效; TI: 計(jì)數(shù)器計(jì)數(shù)脈沖輸入端; TO:計(jì)數(shù)器的輸出信號(hào)端,輸出波形由內(nèi)部定時(shí)工作方式?jīng)Q定; PA0PA7: 8位并行I/O口; PB0PB7: 8位并行I/O口; PC0PC5: 6位并行I/O口; ALE: 地址鎖存信號(hào)輸入端,其下降沿時(shí),鎖存AD0AD7上的地址。,RESET: 復(fù)位輸入引腳,高電平復(fù)位。 Vcc: 電源+5V; Vss: 接地。 (2)8155的RAM和I/O地址編碼 8155的I/O端口及RAM地址在單片機(jī)應(yīng)用系統(tǒng)中與外部數(shù)據(jù)存儲(chǔ)器是統(tǒng)一編址的,其

10、控制操作見(jiàn)表 9-4,對(duì)應(yīng)I/O口寄存器的地址編碼見(jiàn)表 9-5。(見(jiàn)教材P193頁(yè)) (3)命令/狀態(tài)寄存器 8155的命令/狀態(tài)寄存器物理上只有一個(gè)端口地址(見(jiàn)表9-5)。 (見(jiàn)教材P193頁(yè)) 對(duì)該口寫(xiě)操作,命令字被寫(xiě)入命令寄存器; 對(duì)該口讀操作,則從狀態(tài)寄存器讀出狀態(tài)字。,8155所提供的每個(gè)I/O口和定時(shí)器都是可編程的。 I/O的工作方式選擇,定時(shí)器/計(jì)數(shù)器的工作控制都是通過(guò)對(duì)8155內(nèi)部命令寄存器設(shè)定命令控制字的方式來(lái)實(shí)現(xiàn)的,通過(guò)對(duì)狀態(tài)字的讀取來(lái)判別它們的工作狀態(tài)。 命令/狀態(tài)寄存器共用一個(gè)口地址,通過(guò)讀/寫(xiě)信號(hào)加以區(qū)分。命令字寄存器只能寫(xiě)不能讀,狀態(tài)寄存器只能讀不能寫(xiě)。 8155命

11、令字格式見(jiàn)表9-6; 8155狀態(tài)字格式見(jiàn)表9-7。(見(jiàn)教材P194頁(yè)) 信號(hào)說(shuō)明: INTRA、INTRB: 中斷請(qǐng)求輸出線,高電平有效。 STBA、STBB: 設(shè)備選通信號(hào)輸入線,低電平有效。 BFA、BFB: 口緩沖器滿(mǎn)信號(hào),高電平有效。 (4)定時(shí)器/計(jì)數(shù)器的擴(kuò)展,8155片內(nèi)有一個(gè)14位的減法計(jì)數(shù)器,可對(duì)輸入脈沖進(jìn)行減法計(jì)數(shù),它可以在0002H3FFFH之間選擇計(jì)數(shù)器初值。 外部有兩個(gè)定時(shí)器/計(jì)數(shù)器引腳端TI、TO,TI為定時(shí)器時(shí)鐘輸入,由外部輸入時(shí)鐘脈沖,時(shí)鐘脈沖頻率最高可達(dá)4MHz。 TO為定時(shí)器輸出,輸出各種信號(hào)脈沖波形。 定時(shí)器的高6位、低8位計(jì)數(shù)單元和定時(shí)輸出方式由8155

12、內(nèi)部?jī)蓚€(gè)寄存器確定。這兩個(gè)寄存器格式如下:,M2 M1 T13 T12 T11 T10 T9 T8,T7 T6 T5 T4 T3 T2 T1 T0,定時(shí)器方式 計(jì)數(shù)長(zhǎng)度高6位 計(jì)數(shù)長(zhǎng)度低8位,高字節(jié)寄存器的最高兩位M2、M1所對(duì)應(yīng)的定時(shí)器/計(jì)數(shù)器的工作方式見(jiàn)表9-8。(見(jiàn)教材P195頁(yè)),對(duì)定時(shí)器進(jìn)行編程時(shí),首先將計(jì)數(shù)初值及定時(shí)方式送入定時(shí)器的高、低字節(jié)寄存器,計(jì)數(shù)初值不要超過(guò)范圍。計(jì)數(shù)器的啟停由命令字的最高兩位控制,任何時(shí)刻都可以置定時(shí)器的初值和工作方式。然后必須將啟動(dòng)命令寫(xiě)入命令寄存器,即使計(jì)數(shù)器已經(jīng)計(jì)數(shù),在寫(xiě)入啟動(dòng)命令后仍可改變定時(shí)器的工作方式,8155復(fù)位后不預(yù)置定時(shí)器方式和計(jì)數(shù)初值。

13、 (5)接口與編程 硬件連接。 8155可以直接與MCS-51單片機(jī)連接,不需要任何外加邏輯。擴(kuò)展一片8155系統(tǒng)將增加256B片外RAM,22位I/O口線及1個(gè)14位減法計(jì)數(shù)器。 MCS-51與8155的連接方法如圖9-6所示。 P0口不需要加鎖存器,可以直接與8155的 AD0AD7相連,它既是低8位地址線也是8位數(shù)據(jù)線。8155的鎖存信號(hào)ALE直接引自單片機(jī)ALE輸出,用以在內(nèi)部鎖存地址。,CE及IO/M與MCS-51的連接方式?jīng)Q定了8155的地址范圍: RAM字節(jié)地址范圍: 7E00H7EFFH 命令/狀態(tài)寄存器: 7F00H PA口: 7F01H,圖9-6 MCS-51與8155的一

14、種接口邏輯,PB口: 7F02H PC口: 7F03H 定時(shí)器低8位寄存器: 7F04H 定時(shí)器高8位寄存器: 7F05H 程序設(shè)計(jì)。 圖9-6接口電路中,將單片機(jī)片內(nèi)RAM50H5FH單元的內(nèi)容送8155片內(nèi)的50H5FH單元,設(shè)定8155的工作方式為: A口基本輸入方式,B口基本輸出方式,C口輸入方式,定時(shí)器作方波發(fā)生器,對(duì)輸入脈沖50分頻。 程序清單如下: D8155: MOV R0,50H ;將源數(shù)據(jù)單元首地址送寄存器R0中 MOV DPTR,#7E50H ;數(shù)據(jù)指針指向8155內(nèi)部RAM單元 LP: MOV A,R0 ;數(shù)據(jù)送累加器A,MOVX DPTR,A ;數(shù)據(jù)從累加器A送815

15、5內(nèi)部RAM單元 INC DPTR ;指向下一個(gè)8155內(nèi)部RAM單元 INC R0 ;指向下一個(gè)CPU內(nèi)部RAM單元 CJNE R0,#60H,LP ;數(shù)據(jù)未傳送完繼續(xù) MOV DPTR,#7F04H ;指向定時(shí)器低8位 MOV A,#32H ;分頻系數(shù)32H(即50) MOVX DPTR,A ;低8位初值裝入 INC DPTR ;指向定時(shí)器高8位 MOV A,#40H ;設(shè)定時(shí)器方式為連續(xù)方波(40H=01000000B) MOVX DPTR,A ;定時(shí)器/計(jì)數(shù)器方式及高6位初值裝入 MOV DPTR,#7F00H ;數(shù)據(jù)指針指向控制字寄存器 MOV A,#0C2H ;設(shè)定A,B口方式,并

16、啟動(dòng)定時(shí)器 (0C2H=11000010B),MOVX DPTR,A RET ;程序返回 程序中,定時(shí)器2個(gè)字節(jié)的內(nèi)容二進(jìn)制形是: 0100000000110010B, 最高2位01的作用是設(shè)定定時(shí)器輸出方式: 連續(xù)方波; 其余14位是計(jì)數(shù)初值0032H=50(十進(jìn)制)。 向控制寄存器寫(xiě)入的命令字的內(nèi)容是11000010B,對(duì)應(yīng)的十六進(jìn)制形式是0C2H,其意義是: 最高2位11的作用是啟動(dòng)計(jì)數(shù)器,最低位D0=0設(shè)PA為輸入,D1=1設(shè)PB為輸出。D3D2=00設(shè)PA、PB為基本I/O,PC為輸入。 9.2.2 可編程I/O口8255的擴(kuò)展 1.可編程并行口8255A (1)8255A的結(jié)構(gòu)及引

17、腳功能 8255A是Intel公司生產(chǎn)的通用可編程并行接口電路,廣泛應(yīng)用于單片機(jī)擴(kuò)展并行I/O 口。它具有3個(gè)8位并行口PA、PB和PC。,8255A的引腳及邏輯框圖如圖9-7所示。,圖9-7 8255A引腳及邏輯框圖,8255A的引腳功能如下: D7D0: 雙向三態(tài)數(shù)據(jù)總線,通常與CPU數(shù)據(jù)總線相連; PA: 8位I/O口; PB: 8位I/O口; PC: 8位I/O口; CS: 片選信號(hào)輸入端,低電平有效; RD: 讀選通輸入端,低電平有效; WR: 寫(xiě)選通輸入端,低電平有效; RESET: 復(fù)位輸入引腳,高電平有效,復(fù)位后PA、PB、PC口均為輸入; Vcc: 電源+5V; GND: 接

18、地; A1、A0: 端口地址輸入線,通過(guò)地址組合選擇8255A內(nèi)部寄存器:,0 0 PA口寄存器 0 1 PB口寄存器 1 0 PC口寄存器 1 1 控制寄存器 從圖9-7中可以看出,8255A的三個(gè)并行口被分成2組: A和B組,PC口的8位被分為上C口(PC7PC4)和下C口(PC3PC0),分別屬于A組和B組。 (2)8255A的操作方式 讀/寫(xiě)控制邏輯操作選擇 主要通過(guò)單片機(jī)輸出的地址線A1、A0選擇端口,CS選中芯片,WR與RD選擇數(shù)據(jù)流向。8255口的操作狀態(tài)見(jiàn)表9-9。(見(jiàn)教材P198頁(yè)) 工作方式選擇,8255A有三種工作方式: 方式0(基本輸入/輸出方式)。 方式1(選通輸入/

19、輸出方式)。 方式2(雙向I/O口方式)。 8255A在不同的工作方式下,各口線的功能見(jiàn)表9-10。(教材P199頁(yè)) 各種工作方式下PC口引腳符號(hào)含義如下: STB: 設(shè)備選通信號(hào)輸入線,低電平有效。 IBF: 端口鎖存器滿(mǎn)標(biāo)志輸出線,與設(shè)備相連。 INTR: 中斷請(qǐng)求信號(hào)線,高電平有效,送CPU申請(qǐng)中斷,對(duì)MCS-51來(lái)說(shuō),應(yīng)使該信號(hào)反相后接CPU的外部中斷源輸入端。 OBF: 輸出緩存器滿(mǎn)狀態(tài)標(biāo)志輸出線,OBF為低電平表示CPU已將數(shù)據(jù)寫(xiě)入端口。, ACK:設(shè)備響應(yīng)信號(hào)輸入線,設(shè)備通過(guò)此引腳通知端口數(shù)據(jù)已取走. 8255A的控制字 8255A的初始化編程是通過(guò)對(duì)控制口寫(xiě)入控制字的方式實(shí)現(xiàn)的,控制字有兩個(gè): 一是方式控制字,另一個(gè)是PC口置位/復(fù)位控制字。 方式控制字??刂?255A三個(gè)端口的工作方式,特征是最高位為1。 例如,將0B1H寫(xiě)入8255A控制寄存器后,8255A被編程設(shè)定為A口為方式1輸入,B口為方式0輸出,PC7PC4為輸出,PC3PC0為輸入。 8255A方式控制字格式見(jiàn)表9-11: (見(jiàn)教材P200頁(yè)) 8255A PC口置位/復(fù)位字格式見(jiàn)表9-12: (見(jiàn)教材P200頁(yè)) C

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論