匯編語言(微機)第六章.ppt
《匯編語言(微機)第六章.ppt》由會員分享,可在線閱讀,更多相關《匯編語言(微機)第六章.ppt(60頁珍藏版)》請在裝配圖網上搜索。
1,主講教師:范新民,第六章:可編程并行接口芯片和串行接口芯片,2,主要內容:,3,6.1并行接口與串行接口,并行接口:是指數據的各位同時進行傳送,其特點是傳輸速度快,但當傳輸距離較遠、位數又多時,導致了通信線路復雜且成本提高。,串行接口:是指一條信息的各位數據被逐位按順序傳送的通訊方式。其特點是數據按位傳送,最少只需一根傳輸線即可完成,成本低但傳送速度慢。,可編程并行接口芯片和串行接口芯片,,,4,串口與并口:并口由于8位通道之間的互相干擾。傳輸時速度就受到了限制。而且當傳輸出錯時,要同時重新傳8個位的數據。串口沒有干擾,傳輸出錯后重發(fā)一位就可以了。所以串口速度非??臁?并行接口與串行接口,5,一、可編程接口芯片的功能和電路組成多數I/O接口具有如下功能及其電路單元:輸入/輸出數據鎖存器和緩沖器,用以解決CPU與外設之間速度不匹配的矛盾,以及起隔離和緩沖的作用;控制命令和狀態(tài)寄存器,以存放CPU對外設的控制命令,以及外設的狀態(tài)信息;,6.1.1可編程接口芯片概述,地址譯碼器,用來選擇接口電路中的不同端口;讀寫控制邏輯中斷控制邏輯,并行接口與串行接口,6,二、可編程接口芯片的幾個概念片選的概念必須要有一個地址信號選中接口芯片后,才能使該接口芯片進入電路工作狀態(tài),實現數據的輸入/輸出。選通端CE(ChipEnable),又稱片選端CS(ChipSelect)。CE端是控制接口芯片進入電路工作狀態(tài)的引腳端。,可編程接口芯片概述,,,,7,讀/寫概念:當地址信號穩(wěn)定,讀信號和訪問I/O口控制信號有效時,片選信號穩(wěn)定,CPU數據線和輸入口接通,進行讀操作。當地址信號穩(wěn)定,CPU輸出數據,寫信號和訪問I/O口控制信號有效時,片選信號穩(wěn)定,數據寫入I/O口。,可編程接口芯片概述,8,可編程接口的概念接口芯片大部分是多通道、多功能的。多通道是指一個接口芯片一面與CPU連接,另一面可接幾個外設;多功能是指一個接口芯片能實現多種接口功能,實現不同的電路工作狀態(tài)。接口芯片功能可由程序改變。,可編程接口芯片概述,9,“聯絡”的概念接口芯片常常需要和外設間有一定的“聯絡”信號,以保證信息的正常傳送。通常采用兩個“聯絡”(Handhake)信號:(選通信號,strobe)和RDY(就緒信號,Ready)。,可編程接口芯片概述,10,8255A的結構和引腳功能8255A的工作方式8255A的初始化8255A的應用舉例16位系統中的并行接口,6.2可編程并行接口芯片8255A,11,6.2.18255A的結構和引腳功能,1、8255A的內部結構,12,(1)數據端口端口A:PA0~PA7,數據輸出鎖存器/緩存器和輸入鎖存器,可用于數據雙向傳輸。端口B:PB0~PB7,數據輸出鎖存器/緩存器和輸入緩存器,B口作為輸出口時數據可得到鎖存,做輸入口時,外設輸入的數據必須維持到有效讀取為止。端口C:PC0~PC7,結構同B口,可作為兩個4位端口使用,可配合A口或B口在數據傳輸時做控制、狀態(tài)和中斷請求信號使用。,8255A的內部結構,13,(2)A組控制和B組控制A口和高4位PC4~PC7構成A組,B口和低4位PC0~PC3構成B組。一組有一個控制寄存器接收CPU控制字,確定8255工作方式。(3)數據總線緩沖器八位三態(tài)雙向緩沖器,用于8255與CPU數據總線的接口。(4)讀/寫控制邏輯把接受來自CPU的地址和控制信號發(fā)送給兩個控制組。根據不同的信息進行不同的傳送。,8255A的內部結構,14,2、8255A的引腳及其功能(1)端口引腳PA0~PA7:端口A數據線,雙向,三態(tài)。PB0~PB7:端口B數據線,雙向,三態(tài)。PC0~PC7:端口C數據線,雙向,三態(tài)。,(2)和CPU連接的引腳D7~D0:數據線,與系統總線連接。RD:讀信號,輸入,低電平有效,從8255A讀取數據WR:寫信號,輸入,低電平有效,把數據寫入8255,,,8255A的引腳,15,CS:片選信號,輸入,低電平有效,決定芯片地址。RESET:復位信號,輸入。將所有內部寄存器的內容清零,3個數據端口設為輸入工作方式。A0,A1:端口選擇信號,8255占四個端口地址:,,根據RD、WR、CS、A0、A1的不同組合決定8255A的不同端口的操作,,,,8255A的引腳,16,6.2.28255A的工作方式,1、方式0—基本輸入輸出,CPU可以采用無條件讀寫方式與8255A交換數據。若把C口的兩個部分用作控制和狀態(tài)口,與外設的控制和狀態(tài)端相連,CPU也可通過對C口的讀寫,實現A口與B口的查詢方式工作。輸出的數據被鎖存,輸入的數據不鎖存,端口A、B和C都可工作于輸入或輸出。三個端口無必然聯系,各端口輸入輸出組合共有16種,可適用于多種用途。,17,2、方式1—選通輸入輸出(應答式輸入輸出)端口A和B輸入/輸出數據時,必須利用端口C提供聯絡信號(選通、應答信號)。一般情況下,用中斷傳送數據方式(也可用查詢方式)。這時:通道A:8位數據端口(A口),3位控制位(C口)。通道B:8位數據端口(B口),3位控制位(C口)。這種配合固定,不可以用程序修改。,8255A的工作方式,18,特點:端口A、B既可做輸入又可做輸出。端口C引腳分別作為控制、狀態(tài)和中斷申請信號等。若只有一個端口工作在方式1,則余下13位可工作在方式0。若兩個端口都工作在方式1,則余下2位可由程序指定為輸入或輸出。,端口A、B工作于方式1的輸入或輸出時,端口C聯絡信號的引腳和意義都不同。,8255A的工作方式,19,(1)方式1的輸入傳送,A、B兩個口都設為方式1輸入方式,8255A的工作方式,20,INTR:中斷請求信號,輸出,高電平有效,可向CPU申請中斷。,STB:輸入選通信號,輸入,低電平有效,表示外設輸入的數據送至8255A的輸入鎖存器中。,IBF:輸入緩沖區(qū)滿,輸出,高電平有效。通知外設輸入緩沖區(qū)滿,不要送新數據,由CPU讀取數據時(RD的上升沿)清除,表明輸入緩沖器可以接受新數據。,INTE:中斷允許,INTEA是C口輸出鎖存器的PC4,INTEB是C口輸出鎖存器的PC2,由它們分別控制A口和B口的中斷申請。(可由C口置/復位控制字將INTE置1或復位為0),,,8255A的工作方式,21,方式1的輸入時序:從工作在方式1下的輸入端口輸入數據時,有關信號的變化關系。,8255A的工作方式,22,①當外設數據準備好,將數據送至端口線PA7~PA0或PB7~PB0②外設發(fā)出選通信號STB:將數據鎖存在輸入端口內。使IBF變高,表示輸入端口滿,可用于阻止外設輸入新數據。如果INTE=1,STB的上升沿使INTR變高,發(fā)出中斷請求。③中斷處理程序中CPU讀取數據,發(fā)出RD信號:(1)RD的下降沿清除INTR(2)RD的上升沿清除IBF(3)端口內的數據進入CPU,,,,,,以中斷方式輸入數據:,8255A的工作方式,23,①當外設數據準備好,將數據送至端口線PA7~PA0或PB7~PB0②外設發(fā)出選通信號STB:將數據鎖存在輸入端口內。使IBF變高,表示輸入端口滿,可用于阻止外設輸入新數據。③在主程序中CPU查詢IBF,若其為高電平,讀取數據,發(fā)出RD信號:RD的上升沿清除IBF端口內的數據進入CPU,,,以查詢方式輸入數據:,,8255A的工作方式,24,查詢方法從8255的A口向CPU輸入數據:程序如下:INPUT:INAL,PortC;讀方式1狀態(tài)信號TESTAL,20H;查A口的IBFJZINPUT;IBF=0,數據未準備好INAL,PortA;IBF≠0,CPU讀入數據,方式1輸入時共用到C口6個引腳,剩余2個引腳PC6、PC7可做I/O位,或由C口置/復位控制字決定其輸出。,8255A的工作方式,25,(2)方式1的輸出傳送,A口方式1輸出時相應的聯絡信號,B口方式1輸出時相應的聯絡信號,8255A的工作方式,26,INTE:中斷允許,INTEA、INTEB分別控制A口和B口的中斷申請。(INTEA由PC6、INTEB由PC2控制),OBF:輸出緩沖器滿,輸出,表示CPU已將數據輸出到指定端口,通知外設可以將數據取走。,,ACK:響應信號,輸入。外設通知8255已取走數據,并清除OBF,置INTR為“1”。,INTR:中斷請求信號,輸出。向CPU申請中斷,請求CPU輸出后續(xù)數據。(條件:OBF∧ACK∧INTE=1),控制信號:,,,,8255A的工作方式,27,方式1的輸出時序:,以中斷方式輸出數據:,①CPU輸出數據②CPU發(fā)出WR:數據寫到8255A的端口使OBF有效,表示輸出端口滿,清除中斷請求信號INTR③外設接受到數據后,發(fā)出ACK信號:(1)ACK的下降沿使OBF變高,(2)當INTE=1,ACK的上升沿使INTR變高,請求CPU輸出新的數據,,,,,,8255A的工作方式,28,①CPU輸出數據②CPU發(fā)出WR:(ⅰ)數據寫到8255A的端口(ⅱ)使OBF有效,表示輸出端口滿,通知外設取數據。③外設接受到數據后,發(fā)出ACK信號:(ⅰ)ACK的下降沿使OBF變高,(ⅱ)在主程序中CPU查詢OBF,若其為高電平,數據已取走,端口可接受新的數據。,,,以查詢方式輸出數據:,,,,,8255A的工作方式,29,注意:方式1輸出時共用到C口6個引腳,剩余2個引腳PC4、PC5可做I/O位,或由C口置/復位控制字決定其輸出。,查詢方法向8255的A口輸出數據:程序如下:OUTPUT:INAL,PortC;讀方式1狀態(tài)信號TESTAL,80H;查A口的OBF,設備空閑?JZOUTPUT;OBF=0,不空,等待。MOVAL,DATASOUTPortA,AL;OBF=1,CPU輸出數據。,,,,8255A的工作方式,30,3、方式2—雙向選通輸入輸出,方式2只限于A組使用。與方式0、方式1的單向傳送不同,工作在方式2下的端口A,具有雙向傳送功能。端口工作在方式2時,C口的5根引腳作為端口的聯絡信號;是方式1下A口輸入、輸出聯絡信號的組合。C口未做聯絡信號的3條引腳,可作為B口在方式1下的聯絡線,也可和B口一樣工作在方式0。由方式控制字決定其輸入/輸出。,8255A的工作方式,31,,方式2下的時序為方式1輸入/輸出兩者的組合。,8255A的工作方式,32,6.2.38255A的控制字及初始化使用8255A,首先要由CPU對8255A寫入控制命令字。有2種控制命令字:方式選擇控制字;C口按位置位/復位控制字;1、方式選擇控制字(D7=1)控制字可以使8255A的三個數據端口工作在不同的工作方式,將三個端口分為兩組來設定。,8255A的工作方式,33,8255A方式選擇控制字,8255A的控制字,34,2、端口C按位置/復位控制字(D7=0)可使8255作為位控接口,實現對外設的按位控制。,,8255A的控制字,35,例:利用位復位和置位可使端口CPC5位產生方波。,程序如下:MOVCX,10LOP:MOVAL,0AHOUTPOR-CL,AL;置0CALLDELAYMOVAL,0BHOUTPORT-CL,AL;置1CALLDELAYLOOPLOP,8255A的控制字,36,,6.2.48255A的應用實例1、初始化設置例:一8088系統的8255A工作于方式0,端口A為輸入,端口B為輸出,若系統中8255A的口地址為80H-83H。,方式控制字:,1001X00X,初始化程序:,MOVAL,90HOUT83H,AL,37,例6-2:開關接口(8255端口地址:60H~63H),實現如下功能:每隔5分鐘從PA口讀入8個開關的狀態(tài)存入2000H:3000H開始的數據區(qū),工作10小時結束。,8255A的應用實例,38,MOVAX,2000HMOVDS,AXMOVBX,3000HMOVCX,120MOVAL,10010000B(90H)OUT63H,ALLOP:INAL,60HMOV[BX],ALINCBXCALLDELAY5MLOOPLOPHLT,程序設計:,8255A的應用實例,39,例6-3LED接口,PA口做輸出數據口,采用方式0工作方式,無條件傳送。設8255A的端口地址為60H~63H。要求每隔5分秒,發(fā)光燈向上移一個。,8255A的應用實例,40,MOVAL,10000000B(80H)OUT63H,ALMOVCX,7200MOVAL,7FHLOP:OUT60H,ALRORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21H,8255A的應用實例,41,例6-4打印機接口(1)并行接口標準(Centronice)該標準規(guī)定了一個36芯的連接口。STB:數據選通接口;DATA:數據信號;ACK:響應信號;BUSY:忙信號。,,,8255A的應用實例,42,采用查詢控制方式(方式0)的接口PA口作為向打印機輸出的數據口,PC0產生控制信號STB,PC7讀取外設狀態(tài)BUSY,端口地址為90H~93H。從內存2000H:3000H開始取出100個數據送打印機打印的控制程序為:,8255A的應用實例,43,MOVAX,2000HMOVDS,AXMOVBX,3000HMOVCX,100MOVAL,10001000BOUT93H,ALLOP:INAL,92HTESTAL,80HJNZLOP,8255A的應用實例,44,MOVAL,[BX]OUT90H,ALMOVAL,01HOUT92H,ALMOVAL,00HOUT92H,ALMOVAL,01HOUT92H,ALINCBXLOOPLOPMOVAH,4CHINT21H,,8255A的應用實例,45,例6-5鍵盤接口兩類鍵盤:簡單鍵盤和矩陣結構鍵盤。矩陣結構鍵盤又有編碼鍵盤和非編碼鍵盤。編碼鍵盤能自動提供對應于被按鍵的編碼信息,如ASCII碼,并能同時產生一個選通脈沖通知微處理器。非編碼鍵盤由一組開關組成,提供行和列的鍵盤矩陣。其全部工作,包括按鍵的識別、按鍵代碼的產生、防止串鍵和消去抖動等問題,都靠程序來實現。,8255A的應用實例,46,最簡單的線性結構鍵盤每一個引腳連接一個鍵輸入0/1反映健是否高低,◆簡易鍵盤的工作原理,8255A的應用實例,47,常用的矩陣結構鍵盤每行連接一個引腳每列連接一個引腳,◆常用的矩陣結構鍵盤,8255A的應用實例,48,(1)鍵盤輸入信息的過程:①檢測是否有鍵按下;②查出按下的是哪一個鍵;③將該鍵所代表的信息翻譯成計算機能識別的內部代碼,設有mn個鍵:m行——由輸出口控制n列——由輸入口讀入,當某行輸出為低電平時:有鍵按下——某列輸入低電平無鍵按下——某列輸入高電平,8255A的應用實例,49,,(2)非編碼鍵盤的鍵碼識別方法為了識別鍵盤上的閉合鍵,常用的鍵碼識別方法有行掃描法。,8255A的應用實例,50,(3)8255A作矩陣結構鍵盤接口的實例,8255A的應用實例,,51,使用行掃描方式尋找按下鍵的編號(鍵號)的程序如下:…PORTAEQU0FFF8HPORTBEQU0FFFAHPORTCEQU0FFFCHPORTCNEQU0FFFEHMOVDX,PORTCNMOVAL,10000010BOUTDX,ALWAITK:MOVDX,PORTAMOVAL,0OUTDX,AL,8255A的應用實例,52,MOVDX,PORTBINAL,DXCMPAL,0FFHJZWAITKMOVBL,0;置鍵號初值MOVBH,11111110B;置行掃描初值MOVCX,8;置掃描計數器初值FNDROW:MOVAL,BH;輸出行掃描值MOVDX,PORTAOUTDX,ALROLBH,1;修改下次行掃描值MOVDX,PORTB;讀列值INAL,DX,8255A的應用實例,53,CMPAL,0FFHJNZFNDCOLADDBL,8LOOPFNDROWJMPDONEFNDCOL:RORAL,1JNCRIGHTINCBLJMPFNDCOLRIGHT:……DONE…,8255A的應用實例,54,共陽極,共陰極,3、七段LED顯示器接口,◆LED數碼管的結構,8255A的應用實例,55,(1)單個8段LED數碼管的顯示,8255A的應用實例,56,(2)8255A作8個8段LED顯示器接口,,8255A的應用實例,程序實現:8個數碼管分別顯示0~7。,57,程序如下:,DATASEGMENTTABLEDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,80HMODDX,PORTCLOUTDX,AL,8255A的應用實例,58,LOP0:LEABX,TABLEMOVCX,8MOVAL,7FHLOP1:OUTPORTA,ALMOVDL,ALMOVAL,[BX]OUTPORTB,ALCALLDELAYINCBXRORDL,1MOVAL,DLLOOPLOP1JMPLOP0,MOVAH,4CHINT21HCODEENDSENDSTART,8255A的應用實例,59,60,ThankYou!,,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 匯編語言 微機 第六
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.820124.com/p-3257166.html