版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山西醫(yī)科大學(xué)招聘真題(行政管理崗)
- 四川省南充市閬中中學(xué)校2025-2026學(xué)年高三上學(xué)期1月月考語(yǔ)文試題(含答案)
- 2026年1月福建廈門(mén)市生態(tài)環(huán)境局補(bǔ)充非在編人員招聘2人備考題庫(kù)及完整答案詳解一套
- 2025甘肅天水市甘谷縣公安局招聘警務(wù)輔助人員50人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2026交通運(yùn)輸部所屬事業(yè)單位統(tǒng)一招聘160人備考題庫(kù)(第四批廣東60人)帶答案詳解
- 2026云南省教育廳招募基礎(chǔ)教育銀齡教師760人備考題庫(kù)及答案詳解1套
- 冷鏈物流多式聯(lián)運(yùn)服務(wù)平臺(tái)2025年技術(shù)創(chuàng)新與冷鏈配送效率可行性報(bào)告
- 高端醫(yī)療設(shè)備研發(fā)生產(chǎn)基地建設(shè)可行性及技術(shù)創(chuàng)新分析報(bào)告
- 2025年老年服飾品牌數(shù)字化轉(zhuǎn)型報(bào)告
- 2026年自動(dòng)駕駛汽車(chē)安全標(biāo)準(zhǔn)行業(yè)報(bào)告
- 變配電室工程施工質(zhì)量控制流程及控制要點(diǎn)
- 依庫(kù)珠單抗注射液-臨床用藥解讀
- 國(guó)有企業(yè)合規(guī)管理
- 膀胱全切回腸代膀胱護(hù)理
- 公司個(gè)人征信合同申請(qǐng)表
- 示波器說(shuō)明書(shū)
- 談心談話記錄100條范文(6篇)
- 微電影投資合作協(xié)議書(shū)
- 排水管道溝槽土方開(kāi)挖專(zhuān)項(xiàng)方案
- GB/T 5277-1985緊固件螺栓和螺釘通孔
- GB/T 32451-2015航天項(xiàng)目管理
評(píng)論
0/150
提交評(píng)論