




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第九章 單片微機的系統(tǒng)擴展(kuzhn)原理及接口技術共一百零八頁 系統(tǒng)擴展是指單片微機內部各功能部件不能滿足應用系統(tǒng)要求時,在片外連接(linji)相應的外圍芯片以滿足應用系統(tǒng)要求。 主要有程序存儲器的擴展、數(shù)據(jù)存儲器的擴展、I/O口的擴展、中斷系統(tǒng)擴展以及其它特殊功能接口的擴展等。9.1 系統(tǒng)(xtng)擴展原理共一百零八頁 對于單片微機系統(tǒng)擴展的方法有并行擴展法和串行擴展法兩種。并行擴展法:利用單片微機本身具備的三組總線(AB、DB、CB)進行(jnxng)的系統(tǒng)擴展。串行擴展法:利用SPI三線總線和I2C雙線總線等進行串行系統(tǒng)擴展。 有的單片微機應用系統(tǒng)同時采用并行擴展法和串行擴展法。
2、共一百零八頁 單片微機是通過芯片(xn pin)的引腳進行系統(tǒng)擴展的。 80C51系列帶總線的芯片引腳可以構成圖91所示的三總線結構。 具有同樣并行總線的外部芯片通過這三組總線與單片微機連接。 9.1.1 外部(wib)并行擴展原理共一百零八頁圖91 80C51系列(xli)單片微機的三總線結構共一百零八頁(1)地址總線(AB)由P0口提供低8位地址A0A7,P2口提供高8位地址A8A15。P0口是地址總線低8位和8位數(shù)據(jù)總線復用口,只能分時用作地址線。P0口輸出的低8位地址A0A7必須用鎖存器鎖存。鎖存器的鎖存控制信號來自單片微機ALE引腳輸出的控制信號。在ALE的下降沿將P0口輸出的地址A
3、0A7鎖存。P0、P2口在系統(tǒng)(xtng)擴展中用作地址線后便不能作為一般I/O口使用。地址總線寬度為16位,可尋址范圍為64 KB。共一百零八頁7 圖9-2 AT89C51單片機擴展(kuzhn)的片外三總線共一百零八頁(2)數(shù)據(jù)總線(DB) 由P0口提供,用D0D7表示。P0口為三態(tài)雙向口,是應用系統(tǒng)中使用最為頻繁的通道。單片微機與外部交換的所有數(shù)據(jù)、指令、信息,除少數(shù)可直接通過P1口外(Kuwi),全部通過P0口傳送。數(shù)據(jù)總線是并連到多個連接的外圍芯片的數(shù)據(jù)線上,而在同一時間里只能夠有一個是有效的數(shù)據(jù)傳送通道。哪個芯片的數(shù)據(jù)通道有效,則由地址線控制各個芯片的片選線來選擇。共一百零八頁(3
4、)控制總線(CB) 包括片外系統(tǒng)擴展(kuzhn)用控制線和片外信號對單片微機的控制線。ALE:輸出P0口上地址與數(shù)據(jù)隔離信號,用于鎖存P0口輸出的低8位地址的控制線。ALE信號的下降沿控制鎖存器鎖存地址數(shù)據(jù),通常選擇下降沿選通的鎖存器作低8位地址鎖存器。 PSEN :讀片外程序存儲器中的數(shù)據(jù)。“讀”片外程序存儲器中數(shù)據(jù)(指令)時,不能用“ ”信號,而只能用 PSEN信號。EA:選擇片內或片外程序存儲器。 當 0時,只訪問外部程序存儲器。 當 1時,先訪問內部程序存儲器,內部程序存儲器全部訪問完之后,再訪問外部程序存儲器。 共一百零八頁 、 :片外數(shù)據(jù)存儲器和I/O端口的寫、讀控制。當執(zhí)行片外
5、數(shù)據(jù)存儲器操作指令MOVX時,自動生成 、 控制信號(xnho)常用地址鎖存器如圖所示。 共一百零八頁74LS373是有輸出三態(tài)門的電平允許8D鎖存器。當G(使能端)為高電平時,鎖存器的數(shù)據(jù)輸出端Q的狀態(tài)與數(shù)據(jù)輸入端D相同(透明的)。當G端從高電平返回(fnhu)到低電平時(下降沿后),輸入端的數(shù)據(jù)就被鎖存在鎖存器中,數(shù)據(jù)輸入端D的變化不再影響Q端輸出。 共一百零八頁74LS273是帶公共時鐘復位八D觸發(fā)器(1)1腳是復位CLR,低電平有效(yuxio),當1腳是低電平時,輸出全部輸出0,即全部復位;(2)當1腳為高電平時,11(CLK)腳是鎖存控制端,并且是上升沿觸發(fā)鎖存,當11腳有一個上升
6、沿,立即鎖存輸入腳的電平狀態(tài),并且立即呈現(xiàn)在在輸出腳上.所以,如果分別用273和373來作為單片機的地址存器的話,對273來說,1(CLR)腳必須接高電平,ALE信號經(jīng)過反相后接11腳(因為單片機的ALE信號是以下降沿方式出現(xiàn));對373來說,1腳接低電平,保證使能,11腳直接接單片機的ALE信號.共一百零八頁1.并行擴展方式的編址技術在單片微機應用系統(tǒng)中,為了唯一地選擇片外某一存儲單元或I/O端口,需要進行兩種選擇。必須先找到該存儲單元或I/O端口所在的芯片,稱為“片選” 通過(tnggu)對芯片本身所具有的地址線進行譯碼,然后確定唯一的存儲單元或I/O端口,稱為“字選”。地址空間(kngj
7、in)分配注意,“片選”和“字選”都是單片機通過地址線一次發(fā)出的地址信號來完成選擇。共一百零八頁“片選” 保證每次讀或寫時,只選中某一片存儲器芯片或I/O接口芯片。常用的方法有4種:“線選法” 、“地址譯碼法” 、應用 “可編程器件PAL/GAL” 或“I/O口線” 。(1) 線選法:一般是利用單片微機的最高幾位空余的地址線中一根(如P2.7) 作為(zuwi)某一片存儲器芯片或I/O接口芯片的“片選” 控制線。用于應用系統(tǒng)中擴展芯片較少的場合。共一百零八頁低位地址線A0A10實現(xiàn)片內尋址(字選)。高位地址線A11A13實現(xiàn)片選(A11A13中只允許有一根為低電平,另二根必須為高電平,否則出錯
8、(ch cu))。無關位A14、A15可任取,一般取“1”。高位地址(dzh)線直接連到存儲器芯片的片選端。線選法共一百零八頁二進制表示 16進制表示 無關位片外地址線片內地址線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. . . . . . . . . . . . . .
9、 .1 11 0 11 1 1 1 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線選法三片存儲器芯片地址(dzh)分配表共一百零八頁線選法優(yōu)點:連接簡單(jindn); 缺點:芯片地址空間不連續(xù); 適用于擴展存儲容量較小的場合。共一百零八頁(2) 譯碼法:用譯碼器對空余的高位地址(dzh)線進行譯碼,而譯碼器的輸出作為“片選” 控制線。常用的譯碼器有3/8譯碼器74LS138、雙2/4譯碼器74LS139
10、、4/16譯碼器74LS154等。3/8譯碼器74LS138的管腳見下頁圖。G1、 、 :使能端。 當G1=1, = =0時,芯片使能。C、B、A:譯碼器輸入,高電平有效。 Y :譯碼器輸出,低電平有效。共一百零八頁圖83 74LS138三-八譯碼器共一百零八頁譯碼法:通過(tnggu)譯碼器將高位地址線轉換為片選信號。共一百零八頁二進制表示 16進制表示 無關位片外地址線片內地址線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. . . . . . . . . .
11、. . . . .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芯片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譯碼法三片存儲器芯片地址(dzh)分配表 共一百零八頁 譯碼法與線選法比較,硬件電路稍復雜,需要使用譯碼器,但可充分
12、利用存儲空間,全譯碼時還可避免地址重疊現(xiàn)象,局部譯碼因還有部分高位地址線未參與譯碼,因此仍存在地址重疊現(xiàn)象。 譯碼法的另一個優(yōu)點是若譯碼器輸出端留有剩余端線未用時,便于繼續(xù)擴展(kuzhn)存儲器或I/O口接口電路。 譯碼法和線選法不僅適用于擴展存儲器(包括外RAM和外ROM),還適用于擴展I/O口(包括各種外圍設備和接口芯片)。共一百零八頁 可編程陣列邏輯器件PAL(Programmable Array Logic)和通用陣列邏輯GAL(Generic Array Logic)(加密性好) 。有的應用系統(tǒng)為了硬件電路加密,采用PAL或GAL來進行地址譯碼和分配(比如有的單片微機仿真器),你能
13、看到的是PAL或GAL的輸入線和輸出線,而無法(wf)掌握內部邏輯關系。 輸入輸出線作為譯碼線可以利用空余的I/O口線(如P1.0) ,或應用系統(tǒng)擴展的I/O口線作為芯片的片選線,當該I/O口線輸出低電平時,即選中了該芯片。共一百零八頁280C51系列單片微機的系統(tǒng)并行擴展能力 地址總線寬度為 16位,在片外可擴展的存儲器最大容量為64KB,地址為0000HFFFFH。 片外數(shù)據(jù)存儲器與程序存儲器的操作使用不同的指令和控制信號,允許兩者的地址重疊,故片外可擴展的數(shù)據(jù)存儲器與程序存儲器最大容量分別為64 KB。 片外數(shù)據(jù)存儲器與片內數(shù)據(jù)存儲器的操作指令不同(片外RAM只能用MOVX指令)。允許兩
14、者地址重疊,亦即外部(wib)擴展數(shù)據(jù)存儲器地址可從0000H開始。I/O口擴展與片外數(shù)據(jù)存儲器統(tǒng)一編址,不再另外提供地址線。 共一百零八頁 外部串行總線主要包括:SPI總線和I2C總線兩種。 1. SPI三線總線結構 SPI三線總線結構是一個同步外圍接口,允許(ynx)MCU與各種外圍設備以串行方式進行通信。一個完整的SPI系統(tǒng)有如下的特性: .全雙工、三線同步傳送; .主、從機工作方式; .可程控的主機位傳送頻率、時鐘極性和相位; .發(fā)送完成中斷標志; .寫沖突保護標志。 在大多數(shù)場合,使用一個MCU作為主機,控制數(shù)據(jù)向一個或多個從機(外圍器件)的傳送。 9.1.2 外部串行擴展(kuzh
15、n)原理共一百零八頁圖85 SPI系統(tǒng)(xtng)時鐘的極性和相位關系圖9-4 SPI數(shù)據(jù)傳送(chun sn)格式共一百零八頁2. I2C(Intel IC BUS)公用雙總線結構 使用兩根信號線(SDA和SCL)串行的方法進行信息傳送,并允許若干兼容器件共享的雙線總線,稱為I2C總線。I2C總線系統(tǒng)(xtng)的示意圖見圖95。SDA:串行數(shù)據(jù)線,傳輸雙向的數(shù)據(jù)。SCL:串行時鐘線,傳輸時鐘信號,同步串行數(shù)據(jù)線上的數(shù)據(jù)。 共一百零八頁圖86 I2C總線(zn xin)系統(tǒng)示意圖共一百零八頁 9.2 程序(chngx)存儲器的擴展8.2.1 程序存儲器擴展時的總線功能和操作時序為片外程序存儲
16、器讀選擇信號。正常運行時,該引腳不能浮空。 根據(jù)連接電平的不同,單片微機有兩種取指過程:(1) 當 1時,80C51單片微機所有片內程序存儲器有效。 當程序計數(shù)器PC運行于片內程序存儲器的尋址范圍內時,P0口、P2 口及 線沒有信號輸出;當程序計數(shù)器PC的值超出上述范圍后,P0口、P2 口及 線才有信號輸出。(2)當 0時,80C51單片微機所有片內程序存儲器無效,只能訪問片外程序存儲器。伴隨(bn su)著單片微機復位,P0口、P2口及 線均有信號輸出。共一百零八頁 80C51訪問片外程序存儲器時,使用如下的信號: P0口:分時輸出程序存儲器的低8位地址和8位數(shù)據(jù)(shj)。 ALE:在AL
17、E的下降沿時,P0口上出現(xiàn)穩(wěn)定的程序存儲器的低8位地址,用ALE信號鎖存這低8位地址。 P2口:在整個取指周期中,輸出穩(wěn)定的程序存儲器的高8位地址。 :低電平有效。在ALE的下降沿之后,由高變?yōu)榈?,此時片外程序存儲器的內容(指令字)送到 P0口,而后在 的上升沿將指令字送入指令寄存器, 信號作為片外程序存儲器的“讀”選通信號。共一百零八頁片外程序(chngx)存儲器取指操作時序共一百零八頁9.2.2擴展片外程序存儲器的硬件電路 片內程序存儲器容量越來越大,如89C5887C58的片內程序存儲器的容量高達32KB,甚至(shnzh)為 64 KB。而價格相對以前也大大降低。程序存儲器的擴展已不是
18、必須,僅作為一種技術來加以介紹。 通常只需要擴展一片或兩片EPROM芯片就足夠。共一百零八頁ROM芯片及擴展方法(fngf) 1、EPROM存儲器及擴展常用的EPROM芯片有2732、2764、27128、27256、27512等 。型號 “27”后面的數(shù)字表示其位存儲容量。如果換算成字節(jié)容量,只需將該數(shù)字除以8即可。芯片引腳功能:A0A15:地址線引腳。它的數(shù)目由芯片(xn pin)的存儲容量決定,用于進行單元選擇。D7D0:數(shù)據(jù)線引腳。 :片選控制端。 :輸出允許控制端。 :編程時,編程脈沖的輸入端。共一百零八頁圖8-8 EPROM芯片(xn pin)引腳圖9-9 常用(chn yn)EP
19、ROM芯片引腳共一百零八頁EPROM存儲器擴展(kuzhn)電路:圖910 程序存儲器的擴展(kuzhn)電路共一百零八頁圖911 程序存儲器的擴展(kuzhn)電路共一百零八頁門上圖中27C128地址是多少?容量?在上圖電路中 是接高電平的。27128A是16KB容量的EPROM,14根地址線A0A13。系統(tǒng)中只擴展(kuzhn)了一片程序存儲器,27128A的片選端可直接接地,一直有效。EA=1,程序存儲器先片內4KB、即0000H0FFFH。當PC值超出片內程序存儲器容量時,自動轉向片外。所以片外27C128的地址為1000H 3FFFH,共12KB。共一百零八頁2、EEPROM存儲器及
20、擴展 常用(chn yn)的EEPROM芯片有2864、2817等 。共一百零八頁 存儲器固有(gyu)不揮發(fā)性 高密度 低功耗 晶體管單元 在線可重寫FLASH SRAM DRAM EEPROM OTP/EPROM 掩膜ROM 常用的數(shù)據(jù)存儲器有動態(tài)RAM和靜態(tài)RAM,有并行RAM和串行RAM。 各種存儲器性能(xngnng)的比較 如表8 - 2 9.3 數(shù)據(jù)存儲器的擴展共一百零八頁9.3.1 片外并行數(shù)據(jù)存儲器擴展 1. 片外并行數(shù)據(jù)存儲器擴展時的總線功能和讀、寫操作時序 80C51對片外數(shù)據(jù)存儲器讀、寫操作的指令有以下4條: MOVX A,Ri ; 片外RAM(A),讀操作 MOVX
21、Ri,A ;(A)片外RAM ,寫操作Ri只能提供8位地址,僅能擴展256個字節(jié)(z ji)的片外RAM。 MOVX A,DPTR;片外RAM(A),讀操作 MOVX DPTR,A ;(A)片外RAM,寫操作 DPTR能提供16位地址,可以擴展 64KB的片外 RAM。共一百零八頁“MOVX A,DPTR”和“MOVX DPTR,A”的操作時序示于下頁。從圖中可以看出,執(zhí)行該組指令時,機器周期1為取指周期,在取指周期的S5狀態(tài),當ALE為下降沿時,在P0總線上出現(xiàn)的是數(shù)據(jù)(shj)存儲器的低8位地址,即DPL;在P2口上出現(xiàn)的是數(shù)據(jù)存儲器的高8位地址,即DPH。 取指操作之后,直至機器周期2的
22、S3狀態(tài)之前,一直維持高電平。而在機器周期2的S1與S2狀態(tài)之間的ALE不再出現(xiàn)。 執(zhí)行“MOVX A,DPTR”時,從機器周期2開始到S3狀態(tài), 出現(xiàn)低電平。此時允許將片外數(shù)據(jù)存儲器的數(shù)據(jù)送上P0口,在 的上升沿將數(shù)據(jù)讀入累加器A。數(shù)據(jù)為輸入。共一百零八頁“MOVX A,DPTR” 和“MOVX DPTR,A” 的操作(cozu)時序共一百零八頁 執(zhí)行“MOVX DPTR,A”時,從機器周期2開始到S3狀態(tài), 出現(xiàn)低電平。此時P0口上將送出累加器A的數(shù)據(jù),在 的上升沿將數(shù)據(jù)寫入片外數(shù)據(jù)存儲器中。數(shù)據(jù)為輸出。 此時P0口為地址、數(shù)據(jù)復用總線(zn xin);P2口在機器周期1的S4狀態(tài)之后出現(xiàn)
23、鎖存的高8位地址(DPH);用控制線來調動數(shù)據(jù)總線(zn xin)上的數(shù)據(jù)傳輸方向:而 有效時數(shù)據(jù)為輸入, 有效時數(shù)據(jù)為輸出。共一百零八頁數(shù)據(jù)(shj)存儲器:常用的數(shù)據(jù)存儲器SRAM芯片有6116626462256等。2. 片外并行數(shù)據(jù)(shj)存儲器的擴展共一百零八頁共一百零八頁16KB片外并行數(shù)據(jù)(shj)存儲器擴展電路共一百零八頁上圖所示的是用兩片6264擴展16KB片外并行(bngxng)數(shù)據(jù)存儲器的電路。采用線選法尋址。用一根口線P2.7來尋址:P2. 7=0時,訪問6264(0) , 地址范圍為6000H7FFFH。P2.7=l時, 訪問6264(1), 地址范圍為E000HFF
24、FFH。共一百零八頁80C51同時擴展外ROM和外RAM時典型(dinxng)連接電路共一百零八頁 地址線、數(shù)據(jù)線仍按80C51一般擴展外ROM時方式連接。 片選線,因外ROM只有一片,無需片選。2764 CE直接接地,始終有效。外RAM雖然也只有一片,但系統(tǒng)可能還要擴展I/O口,而I/O口與外RAM是統(tǒng)一編址的,因此一般需要片選,6264CE1接P2.5,CE2直接接Vcc,這樣6264的地址范圍為C000HDFFFH,P2.6、P2.7可留給擴展I/O口片選用。 讀寫控制線,讀外ROM執(zhí)行(zhxng)MOVC指令,由PSEN控制2764 OE,讀寫外RAM執(zhí)行MOVX指令,由RD控制62
25、64OE,WR控制6264WE。共一百零八頁 1單片微機為什么需要I/O接口電路 存儲器是半導體電路,與單片微機具有相同的電路形式,數(shù)據(jù)信號也是相同的(電平信號),能相互兼容直接使用(shyng),存儲器與單片微機之間采用同步定時工作方式。存儲器與單片微機之間的連接相當簡單,除地址線、數(shù)據(jù)線之外,就是讀或寫選通信號,實現(xiàn)起來非常方便。 9.4 I/O 的擴展(kuzhn)及應用9.4.1 I/O擴展概述共一百零八頁CPU和外部設備之間的數(shù)據(jù)傳送卻十分復雜。高速CPU與工作速度快慢差異很大的慢速外部設備的矛盾。 外部設備的數(shù)據(jù)信號是多種多樣的。 外部設備種類繁多(fndu)。 外設的數(shù)據(jù)傳送有近
26、距離的,也有遠距離的。 單片微機必須在單片微機和外設之間有一個接口電路,通過接口電路對單片微機與外設之間的數(shù)據(jù)傳送進行協(xié)調。共一百零八頁單片機與I/O設備(shbi)的關系:共一百零八頁接口電路主要有如下幾項功能:速度協(xié)調 速度上的差異,使得數(shù)據(jù)的I/O傳送只能以異步方式進行,在確認外設已為數(shù)據(jù)傳送作好準備的前提下才能進行I/O操作。三態(tài)緩沖 數(shù)據(jù)輸入時,輸入設備向CPU傳送的數(shù)據(jù)也要通過數(shù)據(jù)總線,為了維護數(shù)據(jù)總線上數(shù)據(jù)傳送的有秩序,只允許當前時刻正在進行數(shù)據(jù)傳送的數(shù)據(jù)源使用(shyng)數(shù)據(jù)總線,其它數(shù)據(jù)源都必須與數(shù)據(jù)總線處于隔離狀態(tài)。要求接口電路能為三態(tài)緩沖功能。數(shù)據(jù)轉換包括:模數(shù)轉換、數(shù)
27、模轉換、串并轉換和并串轉換等。共一百零八頁 接口與端口外設之間在數(shù)據(jù)傳送方面的聯(lián)系。其功能主要是通過電路實現(xiàn)的,稱之為接口電路。接口電路中應該包含有數(shù)據(jù)寄存器以保存輸入輸出數(shù)據(jù)、狀態(tài)寄存器以保存外設的狀態(tài)信息、命令寄存器以保存來自CPU的有關數(shù)據(jù)傳送的控制命令。由于在數(shù)據(jù)的傳送中,CPU需要對這些寄存器的狀態(tài)口和保存命令的命令口尋址等,通常把接口電路中這些已編址并能進行讀或寫操作的寄存器稱之為端口(port),或簡稱口。一個接口電路就對應著多個(du )端口地址。對它們像存儲單元一樣進行編址。共一百零八頁 數(shù)據(jù)隔離技術 輸入輸出的數(shù)據(jù)都要通過系統(tǒng)的數(shù)據(jù)總線進行傳送,為了正確地進行數(shù)據(jù)的傳送,就
28、必須解決數(shù)據(jù)總線的隔離問題。對于輸出設備的接口電路,要提供鎖存器,當允許(ynx)接收輸出數(shù)據(jù)時鎖存器打開,否則關閉。對于輸入設備的接口電路,要使用三態(tài)緩沖電路或集電極開路門。 三態(tài)緩沖電路 具有三態(tài)輸出的門電路,也稱之為三態(tài)門(TSL),低電平狀態(tài)、高電平狀態(tài)和高阻抗三種狀態(tài)。當三態(tài)緩沖器的輸出為高或低電平時,就是對數(shù)據(jù)總線的驅動狀態(tài);當三態(tài)緩沖器的輸出為高阻抗時,就是對總線的隔離狀態(tài)。三態(tài)緩沖器的控制邏輯如表所示。共一百零八頁三態(tài)緩沖器的控制(kngzh)邏輯 三態(tài)控制信號 工作狀態(tài) 數(shù)據(jù)輸入(shr) 輸出端狀態(tài) 1 高阻抗 0 高阻抗 1 高阻抗 0 驅動 0 0 1 1共一百零八頁對
29、三態(tài)緩沖電路的主要(zhyo)性能要求有: 速度快,信號延遲時間短。例如典型三態(tài)緩沖器的延遲時間只有8-13ns。較高的驅動能力。高阻抗時對數(shù)據(jù)總線不呈現(xiàn)負載,最多只能拉走不大于0.04mA電流。共一百零八頁 集電極開路門集電極開路門是從基本的與非門電路演變過來的,把集電極回路中的電阻除去,讓集電極開路,就得到了集電極開路門電路??梢?ky)作為集電極開路的電路有反相器、與非門以及與或非門等。集電極開路器件的輸出是低電平起作用,如果其中一個為低電平,則總的輸出即為低電平。只有當所有連在一起的集電極開路器件的輸出端均為高電平時總的輸出才是高電平。對于這種邏輯關系有時也稱之為“線與”。共一百零八頁
30、 I/O編址技術 接口電路要對其中的端口進行編址。對端口編址是為I/O操作而進行的,也稱為I/O編址。常用的I/O編址有獨立編址方式和統(tǒng)一編址方式 。 獨立編址方式 優(yōu)點是I/O地址空間(kngjin)和存儲器地址空間(kngjin)相互獨立,但需要專門設置一套I/O指令和控制信號,從而增加了系統(tǒng)的開銷。共一百零八頁 統(tǒng)一編址方式 統(tǒng)一編址就是把系統(tǒng)中的I/O和存儲器統(tǒng)一進行編址。在這種編址方式中,把接口中的寄存器(端口)與存儲器中的存儲單元同等對待(tn dn du di),稱之為存儲器映像(memory mapped)編址。80C51使用統(tǒng)一編址方式。在接口電路中的I/O編址也采用16位地
31、址,和存儲單元的地址長度一樣。共一百零八頁 I/O數(shù)據(jù)傳送的控制方式 有無條件傳送方式、查詢方式、中斷方式和直接存儲器存?。―MA)4種方式。在單片微機中主要使用前三種方式。 無條件傳送方式無條件傳送也稱為同步程序傳送。在進行(jnxng)I/O操作時,不需要測試外部設備的狀態(tài),可以根據(jù)需要隨時進行(jnxng)數(shù)據(jù)傳送操作。共一百零八頁 查詢方式查詢方式又稱之為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。為了實現(xiàn)查詢方式的數(shù)據(jù)輸入輸出傳送,需要由接口電路提供外設狀態(tài)(zhungti),并以軟件方法進行狀態(tài)(zhungti)測試。因此這是一種軟硬件方法結合的數(shù)據(jù)傳送方式。 中斷方式當外設為數(shù)據(jù)傳送
32、作好準備之后,就向CPU發(fā)出中斷請求,CPU響應中斷請求之后,轉去為外設的數(shù)據(jù)輸入輸出服務。待服務完成之后,CPU再繼續(xù)執(zhí)行被中斷的原程序。共一百零八頁 簡單輸出口的擴展輸出口的主要功能是進行數(shù)據(jù)保持(鎖存) ,一般應用鎖存器芯片實現(xiàn)。比如常用(chn yn)74LS377芯片,該芯片是一個具有“使能”控制端的8D鎖存器。一個時鐘輸入端CK,一個鎖存允許信號G,當G=0時,CK的上跳變將把8位D輸入端的數(shù)據(jù)打入8位鎖存器,這時Q輸出端將保持D端輸入的數(shù)據(jù)。80C51與74LS377的接口見圖912。 8.4.3 80C51簡單(jindn)I/O的擴展 9.4.2 使用74系列器件擴展I/O口
33、共一百零八頁80C51與74LS377接口(ji ku)電路圖共一百零八頁例:將一個數(shù)據(jù)字節(jié)(z ji)從74LS377輸出MOV DPTR,#7FFFH ;地址指針指向74LS377MOV A,#DATA ;將輸出數(shù)據(jù)送AMOVX DPTR,A ;輸出數(shù)據(jù)共一百零八頁 簡單輸入(shr)口的擴展對于常態(tài)數(shù)據(jù)的輸入,只需采用8位三態(tài)門控制電路芯片即可。下圖是用74LS244通過P0口擴展的8位并行輸入口,圖中,三態(tài)門由P2.6和 RD相或控制,其端口地址為BFFFH。例:數(shù)據(jù)輸入MOV DPTR,#0BFFFH;指向74LS244口地址MOVX A,DPTR;讀入數(shù)據(jù)共一百零八頁80C51與7
34、4LS244接口(ji ku)電路圖 共一百零八頁使用(shyng)74373擴展輸入口共一百零八頁74LSTTL I/O擴展(kuzhn)舉例共一百零八頁編寫程序把按鈕開關狀態(tài)通過上圖的發(fā)光二極管顯示出來。程序如下:DDIS:MOV DPTR,#0FEFFH ;輸入口地址DPTRLP:MOVX A,DPTR;按鈕開關狀態(tài)讀入A中 MOVX DPTR,A;A中數(shù)據(jù)送顯示輸出口 SJMP LP ;反復(fnf)連續(xù)執(zhí)行由程序可看出,對于擴展接口的輸入/輸出就像從外部RAM讀/寫數(shù)據(jù)一樣方便。上圖僅僅擴展了兩片,如果仍不夠用,還可擴展多片74LS244、74LS273之類的芯片。但作為輸入口時,一
35、定要求有三態(tài)功能,否則將影響總線的正常工作。共一百零八頁 9.4.3 可編程I/O并行接口芯片8255A的擴展(kuzhn)及應用 在單片微機I/O擴展中常用的并行可編程接口芯片(xn pin)有:8255A :可編程通用并行接口芯片。:帶RAM和定時器、計數(shù)器的可編程 并行接口芯片。8279 :可編程鍵盤/顯示器接口芯片 。共一百零八頁8255A芯片簡介(jin ji)Intel公司的可編程并行I/O接口芯片,3個8位并行I/O口,3種工作方式,單片機與多種外設連接時的中間接口電路。引腳及內部結構如圖9-1和圖9-2所示。共一百零八頁73圖9-1 8255A的引腳圖 圖9-2 8255A的內
36、部結構共一百零八頁1引腳說明(shumng)共40個引腳,引腳功能如下:D7D0:三態(tài)雙向數(shù)據(jù)線,與單片機的P0口連接,用來與單片機之間傳送數(shù)據(jù)信息。 :片選信號線,低有效,表示本芯片被選中。 :讀信號線,低有效,讀8255A端口數(shù)據(jù)的控制信號。 :寫信號線,低電平有效,用來向8255A寫入端口數(shù)據(jù)的控制信號。VCC:+5V電源。74共一百零八頁PA7PA0:端口A輸入/輸出線。PB7PB0:端口B輸入/輸出線。PC7PC0:端口C輸入/輸出線。A1、A0:地址線,用來選擇8255A內部的4個端口。RESET:復位引腳,高電平有效。2內部結構如圖9-2所示,3個并行數(shù)據(jù)輸入/輸出端口,兩種工作
37、方式(fngsh)的控制電路,一個讀/寫控制邏輯電路和一個8位數(shù)據(jù)總線緩沖器。各部件的功能如下:75共一百零八頁(1)端口PA、PB、PC3個8位并行口PA、PB和PC,都可以選為輸入/輸出工作模式,功能(gngnng)和結構上有差異。PA口:一個8位數(shù)據(jù)輸出鎖存器和緩沖器;一個8位數(shù)據(jù)輸入鎖存器。PB口:一個8位數(shù)據(jù)輸出鎖存器和緩沖器;一個8位數(shù)據(jù)輸入緩沖器。PC口:一個8位的輸出鎖存器;一個8位數(shù)據(jù)輸入緩沖器。通常PA口、PB口作為輸入/輸出口,PC口既可作為輸入/輸出口,也可在軟件控制下,分為兩個4位的端口,作為端口PA、PB選通方式操作時的狀態(tài)控制信號。76共一百零八頁(2)A組和B組
38、控制電路是兩組根據(jù)80C51寫入的“命令字”控制8255A工作方式的控制電路。A組控制PA口和PC口的上半部(PC7PC4);B組控制PB口和PC口的下半部(PC3PC0),并可用“命令字”來對端口PC的每一位實現(xiàn)按位置“1”或清“0”。(3)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個三態(tài)雙向8位緩沖器,作為(zuwi)8255A與系統(tǒng)總線之間的接口,用來傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。77共一百零八頁(4)讀/寫控制邏輯電路(lu j din l)接收80C51單片機發(fā)來的控制信號 、 、RESET、地址信號A1、A0等,然后根據(jù)控制信號的要求,端口數(shù)據(jù)被80C51單片機讀出,或者將80C
39、51單片機送來的數(shù)據(jù)寫入端口。各端口工作狀態(tài)與控制信號的關系見表9-1。78共一百零八頁79共一百零八頁2 工作方式選擇控制字及端口PC置位/復位控制字可向8255A控制寄存器寫入兩種不同的控制字。1)工作方式選擇控制字8255A有3種基本工作方式:(1)方式0基本輸入(shr)/輸出;(2)方式1選通輸入/輸出;(3)方式2雙向傳送(僅PA口有此工作方式)。3種工作方式方式控制字來決定。格式如圖9-3所示。最高位D7=1,為本方式控制字的標志,以便與另一控制字相區(qū)別(最高位D7=0)。80共一百零八頁81圖9-3 8255A的方式(fngsh)控制字格式共一百零八頁PC口分兩部分,隨PA口稱
40、為A組,隨PB口稱為B組。其中PA口可工作于方式0、1和2,而PB口只能工作在方式0和1?!纠?-1】80C51向8255A的控制字寄存器寫入工作方式控制字95H,根據(jù)(gnj)圖9-3,將8255A編程設置為:PA口方式0輸入,PB口方式1輸出,PC口的上半部分(PC7PC4)輸出,PC口的下半部分(PC3PC0)輸入。MOVDPTR,#H;控制字寄存器端口地址;H送DPTR MOV A,#95H; 方式控制字95H送AMOVXDPTR,A; 控制字95H送控制字寄存器82共一百零八頁2)PC口按位置位/復位控制字為另一控制字。即PC口中任何一位,可用一個寫入8255A控制口的置位/復位控制
41、字來對PC口按位置“1”或清“0”。用于位控。格式如圖9-4所示?!纠?-2】 80C51向8255A的控制字寄存器寫入工作(gngzu)方式控制字07H,則PC3置1;08H寫入控制口,則PC4清0。程序段如下:MOVDPTR,#H; 控制寄存器端口地址;H送DPTR MOV A,#07H; 方式控制字07H送A83共一百零八頁圖9-4 PC口按位置位/復位(f wi)控制字格式共一百零八頁MOVXDPTR,A; 控制(kngzh)字07H送控制寄存器,把PC3置1MOVDPTR,#H; 控制字寄存器端口地址送DPTR MOV A,#08H; 方式控制字08H送AMOVXDPTR,A; 08
42、H送控制字寄存器,PC4清085共一百零八頁3、 8255A的3種工作方式1)方式0是基本輸入/輸出(shch)方式。80C51可對8255A進行I/O數(shù)據(jù)的無條件傳送。例如,80C51單片機從8255A的某一輸入口讀入一組開關狀態(tài),從8255A輸出控制一組指示燈的亮、滅。并不需要任何條件,外設I/O數(shù)據(jù)可在8255A的各端口得到鎖存和緩沖。因此,方式0稱為基本輸入/輸出方式。方式0下,3個端口都可以由軟件設置為輸入或輸出,不需要應答聯(lián)絡信號。方式0的基本功能如下:86共一百零八頁(1)具有兩個8位端口(PA、PB)和兩個4位端口(PC的上半部分和下半部分)。(2)任何端口都可以設定為輸入或輸
43、出,各端口的輸入、輸出共有16種組合。PA口、PB口和PC口均可設定為方式0,并可根據(jù)需要,向控制(kngzh)寄存器寫入工作方式控制(kngzh)字,規(guī)定各端口為輸入或輸出方式。共一百零八頁【例9-3】假設8255A的控制(kngzh)字寄存器端口地址為FF7FH,令PA口和PC口的高4位為方式0輸出,PB口和PC口的低4位為方式0輸入,初始化程序:MOVDPTR,#0FF7FH; 端口地址#0FF7F送DPTR MOV A,#83H; 方式控制字83H送AMOVXDPTR,A; 控制字83H送控制字寄存器88共一百零八頁2)方式1是一種采用應答聯(lián)絡(linlu)的輸入/輸出工作方式。PA口
44、、PB口皆可設成這種工作方式。在方式1下,8255A的PA口和PB口通常用于I/O數(shù)據(jù)的傳送,PC口用作PA口和PB口的應答聯(lián)絡信號線,以實現(xiàn)采用中斷方式來傳送I/O數(shù)據(jù)。PC口的PC7PC0的應答聯(lián)絡線是規(guī)定好的,其各位分配如圖9-5和圖9-7所示,圖中,標有I/O的各位仍可用作基本輸入/輸出,不作應答聯(lián)絡用。下介紹方式1輸入/輸出時的應答聯(lián)絡信號與工作原理。89共一百零八頁(1)方式1輸入方式1輸入應答聯(lián)絡信號如圖9-5所示。其中 與IBF為一對應答聯(lián)絡信號。各應答聯(lián)絡信號的功能如下。 :是由輸入外設發(fā)給8255A的選通輸入信號,低有效。IBF:輸入緩沖器滿,應答信號。8255A通知外設已
45、收到外設發(fā)來的且已進入輸入緩沖器的數(shù)據(jù),高有效。INTR:由8255A向80C51單片機發(fā)出的中斷請求信號,高有效。INTEA:控制(kngzh)PA口是否允許中斷的控制信號,由PC4的置位/復位來控制。90共一百零八頁INTEB:控制PB口是否(sh fu)允許中斷的控制信號,由PC2的置位/復位來控制。方式1輸入如圖9-6所示。下面以PA口的方式1輸入為例,介紹方式1輸入的工作過程。 當外設向8255A輸入一個數(shù)據(jù)并送到PA7PA0時,外設自動在 上向8255A發(fā)送一個低電平選通信號。 8255A收到 后,先把PA7PA0輸入的數(shù)據(jù)存入PA口的輸入數(shù)據(jù)緩沖/鎖存器,然后使輸出應答線IBF變
46、為高,通知輸入外設,PA口已收到它送來的數(shù)據(jù)。 8255A檢測到 由低電平變?yōu)楦唠娖?、IBFA(PC5)為“1”狀態(tài)和中斷允許INTEA(PC4)=1時,使91共一百零八頁INTRA(PC3)變?yōu)楦唠娖?,向單片機發(fā)出中斷請求。INTEA的狀態(tài)可由用戶通過指令對PC4的單一置位/復位控制(kngzh)字來控制(kngzh)。 單片機響應中斷后,進入中斷服務子程序來讀取PA口的外設發(fā)來的輸入數(shù)據(jù)。當輸入數(shù)據(jù)被單片機讀走后,8255A撤銷INTRA上的中斷請求,并使IBFA變低,通知輸入外設可傳送下一個輸入數(shù)據(jù)。92共一百零八頁93圖9-5 方式1輸入(shr)應答聯(lián)絡信號共一百零八頁94圖9-6
47、PA口方式(fngsh)1輸入工作過程示意圖共一百零八頁(2)方式1輸出方式1輸出時,應答聯(lián)絡信號如圖9-7所示。 與 構成一對應答聯(lián)絡信號,應答聯(lián)絡信號功能如下。 :端口輸出緩沖器滿信號,低有效,它是8255A發(fā)給外設的聯(lián)絡信號,表示外設可以將數(shù)據(jù)取走。 :外設應答信號,低有效。表示外設已把8255A發(fā)出(fch)的數(shù)據(jù)取走。INTR:中斷請求信號,高有效。表示該數(shù)據(jù)已被外設取走,向單片機發(fā)出中斷請求,如果80C51響應該中斷,在中斷服務子程序中向8255A寫入要輸出的下一數(shù)據(jù)。95共一百零八頁INTEA控制PA口是否允許中斷,由PC6控制。INTEB控制PB口是否允許中斷,由PC2控制。方
48、式(fngsh)1輸出工作示意如圖9-8所示。以PB口的方式1輸出為例,介紹工作過程。 80C51可以通過“MOVX Ri,A”指令把輸出數(shù)據(jù)送到B口的輸出數(shù)據(jù)鎖存器,8255A收到后便令輸出緩沖器滿引腳 (PC1)變低,以通知輸出設備輸出的數(shù)據(jù)已在PB口的PB7PB0上。 輸出外設收到 上低電平后,先從PB7PB0上取走輸出數(shù)據(jù),然后使 B 變低電平,以通知8255A輸出外設已收到8255A輸出的數(shù)據(jù)。96共一百零八頁97圖9-7 方式1輸出應答(yngd)聯(lián)絡信號共一百零八頁 圖9-8 PB口方式1輸出工作(gngzu)過程示意圖98共一百零八頁 8255A從應答輸入線 B收到低電平后就對
49、 B 和中斷允許控制位INTEB狀態(tài)進行(jnxng)檢測,若皆為高電平,則INTRB變?yōu)楦唠娖蕉騿纹瑱C請求中斷。 80C51單片機響應INTRB上中斷請求后便可通過中斷服務程序把下一個輸出數(shù)據(jù)送到PB口的輸出數(shù)據(jù)鎖存器。重復上述過程,完成數(shù)據(jù)的輸出。3)方式2只有PA口才有方式2。圖9-9為工作示意圖。方式2是方式1輸入和輸出組合。PA7PA0為雙向I/O總線。當作為輸入口使用,PA7PA0受STBA 和IBFA控制;當作輸出端口使用,PA7PA0受 A、 A 控制。99共一百零八頁100圖9-9 PA口在方式(fngsh)2下的工作示意圖共一百零八頁方式2特別適用于像鍵盤、顯示器一類的外部設備,因為有時需要把鍵盤上輸入的編碼信號通過PA口送給單片機,有時又需把單片機發(fā)出(fch)的數(shù)據(jù)通過PA口送給顯示器顯示。4、 80C51單片機與8255A的接口設計1)硬件接口電路如圖9-10為80C51
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZHCA 025-2023 化妝品抗氧化人體測試方法
- 沈陽生姜種植與市場推廣2025年度聯(lián)合發(fā)展合同
- 2025年度自愿離婚協(xié)議書:子女撫養(yǎng)權及監(jiān)護責任協(xié)議
- 二零二五年度創(chuàng)新型企業(yè)員工股權激勵合同
- 2025年度金融服務違約賠償協(xié)議范本
- 2025年度美容院美容師職業(yè)保險與福利合作協(xié)議
- 二零二五年度國際物流公司總經(jīng)理聘用協(xié)議
- 二零二五年度專業(yè)冷庫租賃與溫控技術支持協(xié)議
- 二零二五年度物流行業(yè)勞動合同法更新及風險防范合同
- 二零二五年度心理咨詢服務連鎖機構心理咨詢師聘用合同
- 2024至2030年中國細胞農(nóng)業(yè)動向追蹤與發(fā)展前景現(xiàn)狀探索報告
- 2025初級社會工作實務考試要點速記
- 數(shù)據(jù)中心全生命周期綠色算力指數(shù)白皮書 2024
- 接觸網(wǎng)工高級技師理論試題庫及答案
- 二年級下冊口算題大全(全冊可直接打印)
- 初中美術備課組工作計劃
- 湖北省武漢市江岸區(qū)2024年七年級下學期期末數(shù)學試題附答案
- 辦公區(qū)域主要風險辨識與分級管控清單
- 2024-2034年中國藏香豬養(yǎng)殖行業(yè)市場深度分析及發(fā)展?jié)摿︻A測報告
- 小學科學湘科版六年級下冊全冊同步練習含答案
- 人教版小學五年級英語上冊作文專項練習題
評論
0/150
提交評論