《微機原理與接口技術(shù)》第3版 課件 08 常用接口芯片_第1頁
《微機原理與接口技術(shù)》第3版 課件 08 常用接口芯片_第2頁
《微機原理與接口技術(shù)》第3版 課件 08 常用接口芯片_第3頁
《微機原理與接口技術(shù)》第3版 課件 08 常用接口芯片_第4頁
《微機原理與接口技術(shù)》第3版 課件 08 常用接口芯片_第5頁
已閱讀5頁,還剩128頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術(shù)(第3版)8常用接口芯片可編程并行接口8255可編程定時/計數(shù)8253/8254可編程串行接8251例題解析模擬I/O接口8.1.1并行通信的概念1.并行通信與串行通信

并行通信:指數(shù)據(jù)的各位同時進行傳送的通信方式,可以字或字節(jié)為單位并行進行。特點是速度快,所用的通信線多、成本高,故不宜進行遠距離通信。計算機內(nèi)部各種總線都是以并行方式。

串行通信:指數(shù)據(jù)逐位順序傳送的通信方式。特點是速度低,但只需要很少的通信線,適用于長距離而速度要求不高的場合。在網(wǎng)絡(luò)中傳送數(shù)據(jù)絕大多數(shù)采用串行方式。8.1可編程并行接口82558.1可編程并行接口82552.并行接口并行通信由并行接口完成,它與I/O設(shè)備或被控對象進行數(shù)據(jù)交換,以同步方式傳輸。從并行接口的電路結(jié)構(gòu)來看,它有硬連線接口和可編程接口之分。硬連線接口的工作方式及功能用硬連線的不同方式來設(shè)定,不能用軟件編程的方法加以改變;可編程接口的工作方式及功能可以用軟件編程的方法加以改變。

并行接口中包括狀態(tài)信息、控制信息和數(shù)據(jù)信息,這些信息分別存放在狀態(tài)寄存器、控制寄存器和數(shù)據(jù)緩沖寄存器中。1)狀態(tài)寄存器:用來存放外設(shè)的信息,CPU通過訪問這個寄存器來了解某個外設(shè)的狀態(tài)。2)控制寄存器:CPU對外設(shè)的操作命令都寄存在控制寄存器中。3)數(shù)據(jù)緩沖寄存器:緩沖器是用來暫存數(shù)據(jù)的。這是因為外設(shè)與CPU交換數(shù)據(jù)時,CPU的速度遠遠高于外設(shè)的速度。

8.1可編程并行接口8255圖8.1是一個典型的并行接口與CPU、外設(shè)的連接圖。圖8.1并行接口與CPU、外設(shè)的連接8.1可編程并行接口82553.數(shù)據(jù)輸入過程:數(shù)據(jù)輸入過程指的是外設(shè)向CPU輸入數(shù)據(jù)的過程。(1)當外設(shè)將數(shù)據(jù)通過數(shù)據(jù)輸入線送給接口時,先使狀態(tài)線“輸入數(shù)據(jù)準備好”為高電平,然后通過接口把數(shù)據(jù)送到輸入緩沖寄存器中,同時把“輸入回答”信號置成高電平1發(fā)給外設(shè)。(2)外設(shè)接到回答信號后,將撤銷“輸入數(shù)據(jù)準備好”信號。在接口收到數(shù)據(jù)后,它會在狀態(tài)寄存器中設(shè)置“準備好輸入”狀態(tài)位,以便CPU對其進行查詢。8.1可編程并行接口8255

(3)接口向CPU發(fā)出一個中斷請求信號,這樣CPU可以用軟件查詢方式或中斷的方式將接口中的數(shù)據(jù)輸入到CPU中。(4)CPU在接收到數(shù)據(jù)后,將“準備好輸入”的狀態(tài)位自動清除,并使數(shù)據(jù)總線處于高阻狀態(tài),準備外設(shè)向CPU輸入下一個數(shù)據(jù)。4.數(shù)據(jù)輸出過程數(shù)據(jù)輸出過程指的是CPU向外設(shè)輸出數(shù)據(jù)的過程。(1)當外設(shè)從接口接收到一個數(shù)據(jù)后,接口的輸出緩沖寄存器“空”,使狀態(tài)寄存器的“輸出數(shù)據(jù)準備好”狀態(tài)位置成高電平1,這表示CPU可以向外設(shè)接口輸出數(shù)據(jù),這個狀態(tài)位可供CPU查詢。8.1可編程并行接口8255

(2)此時接口也可向CPU發(fā)出一個中斷請求信號,同上面的輸入過程相同,CPU可以用軟件查詢方式或中斷的方式將CPU中的數(shù)據(jù)通過接口輸出到外設(shè)中。當輸出數(shù)據(jù)送到接口的輸出緩沖寄存器后,再輸出到外設(shè)。(3)與此同時,接口向外設(shè)發(fā)送一個啟動信號,啟動外設(shè)接收數(shù)據(jù)。外設(shè)接收到數(shù)據(jù)后,向接口回送一個“輸出回答”信號。(4)接口電路收到該信號后,自動將接口狀態(tài)寄存器中的“準備好輸出”狀態(tài)位重新置為高電平1,通知CPU可以向外設(shè)輸出下一個數(shù)據(jù)。8.1可編程并行接口82558.1.28255外部引腳及內(nèi)部結(jié)構(gòu)1.8255內(nèi)部結(jié)構(gòu)8255是一個40條引腳的雙列直插式組件,它內(nèi)部有3個8位I/O數(shù)據(jù)端口:A口、B口和C口,以及一個8位的控制端口。8255的內(nèi)部結(jié)構(gòu)如圖8.2所示。8.1可編程并行接口8255圖8.28255內(nèi)部結(jié)構(gòu)

1)面向CPU的接口電路(1)數(shù)據(jù)總線緩沖器:是一個三態(tài)雙向的8位緩沖器,是8255與系統(tǒng)數(shù)據(jù)總線的接口。接口的數(shù)據(jù)線D7~D0直接與CPU數(shù)據(jù)總線相連,以實現(xiàn)CPU與8255接口之間的信息傳遞。CPU向8255寫入控制字或從8255中讀狀態(tài)信息以及所有數(shù)據(jù)的輸入和輸出,都需要通過數(shù)據(jù)緩沖器來進行傳遞。(2)讀/寫控制邏輯:是8255內(nèi)部完成讀/寫控制功能的部件,它接收來自CPU的地址和控制信號,通過內(nèi)部控制邏輯向8255的各功能部件發(fā)出讀/寫控制命令,用于管理數(shù)據(jù)、控制字或狀態(tài)字的傳送。8.1可編程并行接口82552)面向外設(shè)的接口電路(1)端口A:包含一個8位的數(shù)據(jù)輸出鎖存/緩沖器和一個8位的數(shù)據(jù)輸入鎖存器,與之關(guān)聯(lián)的接口線是PA7~PA0。(2)端口B:包含一個8位的數(shù)據(jù)輸入/輸出、鎖存/緩沖器和一個8位的數(shù)據(jù)輸入緩沖器,與之關(guān)聯(lián)的接口線是PB7~PB0。(3)端口C:包含一個8位的數(shù)據(jù)輸出鎖存/緩沖器和一個8位的數(shù)據(jù)輸入鎖存器。必要時端口C可分成兩個4位端口,分別與端口A和端口B配合工作,以輸出控制信號,或接收從外設(shè)輸入的狀態(tài)信號,與之關(guān)聯(lián)的接口線是PC7~PC0。8.1可編程并行接口8255

3)內(nèi)部控制邏輯內(nèi)部控制邏輯包括A組控制部件、B組控制部件兩部分。A組控制部件:控制端口A和端口C的高4位(PC7~PC4);B組控制部件:控制端口B和端口C的低4位(PC3~PC0)??刂七壿媰?nèi)部設(shè)置了一個控制寄存器,接收來自CPU的控制字,根據(jù)控制字的內(nèi)容決定各數(shù)據(jù)端口的工作方式。也可以根據(jù)控制字對端口C的每一位進行置位和復位??刂萍拇嫫鞯膬?nèi)容只能寫入而不能讀出。8.1可編程并行接口82552.8255的引腳功能8255芯片有40根引腳,如圖8.3所示。PA7~PA0(輸入/輸出、三態(tài)):A口的8根輸入/輸出信號線??捎密浖幊虥Q定這8條線是工作于輸入、輸出還是雙向方式。PB7~PB0(輸入/輸出、三態(tài)):B口的8根輸入/輸出信號線??捎密浖幊讨付ㄟ@8條線作輸入還是輸出。PC7~PC0(輸入/輸出、三態(tài)):C口的8根輸入/輸出信號線。根據(jù)其設(shè)定的工作方式可作輸入或輸出線使用,也可用作控制信號的輸出或狀態(tài)信號的輸入。8.1可編程并行接口8255圖8.38255的外部引腳D7~D0(輸入/輸出、三態(tài)):雙向三態(tài)數(shù)據(jù)線,用來傳送數(shù)據(jù)、控制字和狀態(tài)字等信息。直接與系統(tǒng)數(shù)據(jù)總線相連。RESET(輸入):復位信號,高電平有效。當它有效時,所有寄存器,包括控制寄存器的內(nèi)容全部清零,A口、B口、C口均被設(shè)定為輸入方式。A1、A0(輸出):端口選擇信號。8255內(nèi)部共有4個端口,即3個數(shù)據(jù)端口(A口、B口、C口)和一個控制端口(控制寄存器),它們可由程序?qū)ぶ?。A1、A0通常與系統(tǒng)總線的低位地址線相連8.1可編程并行接口8255圖8.38255的外部引腳

(輸入):讀信號,低電平有效。當它為低電平時,CPU從8255中讀取數(shù)據(jù)或狀態(tài)信息。通常接系統(tǒng)總線的信號。(輸入):寫信號,低電平有效。當它為低電平時,CPU將數(shù)據(jù)或命令字寫入8255。通常接系統(tǒng)總線的信號。(輸入):片選信號,低電平有效。當它為低電平時,選中8255芯片。通常由系統(tǒng)總線的高位地址線經(jīng)譯碼得到。8.1可編程并行接口8255圖8.38255的外部引腳

A1A0和、、信號配合可對各端口進行輸入/輸出訪問,組合邏輯功能如表8.1所示。A1A0所選端口傳送方向00100讀A口A口→數(shù)據(jù)總線00101讀B口B口→數(shù)據(jù)總線00110讀C口C口→數(shù)據(jù)總線01000寫A口數(shù)據(jù)總線→A口01001寫B(tài)口數(shù)據(jù)總線→B口01010寫C口數(shù)據(jù)總線→C口01011寫控制寄存器數(shù)據(jù)總線→控制寄存器表8.18255尋址和基本操作表8.1可編程并行接口82558.1.38255的工作方式1.工作方式0(基本輸入/輸出方式):適用于簡單的無條件輸入/輸出數(shù)據(jù)或查詢式輸入/輸出數(shù)據(jù)的場合。

無條件數(shù)據(jù)的傳送過程中,輸入/輸出數(shù)據(jù)隨時都處于準備好狀態(tài),8255與CPU及外設(shè)之間無須交換應(yīng)答(握手)信號。

查詢式數(shù)據(jù)的傳送過程中,需要有應(yīng)答信號,通常A口與B口作為輸入/輸出數(shù)據(jù)端口,而C口分為兩個4位端口分別作為控制信號輸出口和狀態(tài)信號輸入口,用于配合A口和B口的查詢式數(shù)據(jù)傳送。當A口、B口、C口都工作于方式0時,8255各口的輸入/輸出有16種組合,如表8.2所示。8.1可編程并行接口8255序號控制字A組B組D7D6D5D4D3D2D1D0十六進制A口C口高4位B口C口低4位01000000080輸出輸出輸出輸出11000000181輸出輸出輸出輸入21000001082輸出輸出輸入輸出31000001183輸出輸出輸入輸入41000100088輸出輸入輸出輸出51000100189輸出輸入輸出輸入6100010108A輸出輸入輸入輸出7100010118B輸出輸入輸入輸入81001000090輸入輸出輸出輸出91001000191輸入輸出輸出輸入101001001092輸入輸出輸入輸出111001001193輸入輸出輸入輸入121001100098輸入輸入輸出輸出131001100199輸入輸入輸出輸輸入輸入輸入輸輸入輸入輸入輸入表8.2方式0的工作狀態(tài)組合8.1可編程并行接口82552.工作方式1(選通輸入/輸出方式):是一種選通輸入/輸出方式,即利用C口所提供的選通信號和應(yīng)答信號,控制A口和B口的輸入/輸出。1)方式1的主要功能(1)分成A、B兩組選通端口,可工作于查詢式或中斷式輸入/輸出數(shù)據(jù)傳送。其中,A組包括端口A的8位數(shù)據(jù)線和端口C的3位聯(lián)絡(luò)信號線;B組包括端口B的8位數(shù)據(jù)線和端口C的3位聯(lián)絡(luò)信號線,每組均設(shè)置有中斷請求邏輯。(2)當兩組端口中只有一組(A組或B組)工作在方式1時,另一組端口的8位和C口的剩余5位可工作在方式0下作輸入或輸出;若A組和B組同時工作在方式1下,則C口中剩余兩位既可作輸入或輸出,又可用位操作方式對它們進行置位或復位。8.1可編程并行接口8255

2)方式1的工作過程(1)A口、B口工作于輸出方式在方式1下,A口作輸出時,需使用C口的3根引腳PC6、PC7、PC3作為其、、的握手信號線,協(xié)同完成A口與CPU或外部設(shè)備之間的數(shù)據(jù)傳送。其端口定義如圖8.4(a)所示。8.1可編程并行接口8255B口工作于方式1作輸出時,同樣需要使用C口的3根引腳PC2、PC1、PC0作為、、的握手信號線,協(xié)同完成B口與CPU或外部設(shè)備的數(shù)據(jù)傳送。其端口狀態(tài)如圖8.4(b)所示。8.1可編程并行接口8255方式1的輸出時序、各參數(shù)說明表,如圖8.5和表8.3所示。圖8.58255方式1輸出時序圖參數(shù)說明8255A最小時間/ns最大時間/nstWIT從寫信號有效到中斷請求無效的時間

850tWOB從寫信號無效到輸出緩沖器清的時間

650tAOB

有效到無效的時間

350tAK

脈沖的寬度300

tAIT

為1到發(fā)新的中斷請求的時間

350tWD寫信號撤除到數(shù)據(jù)有效的時間

350表8.3圖8.5參數(shù)說明8.1可編程并行接口8255圖8.6

8255方式1輸入端口狀態(tài)

(2)A口、B口工作于輸入方式。在方式1下,A口、B口作為輸入口的端口定義如圖8.6所示。8.1可編程并行接口8255

方式1的輸入時序如圖8.7所示,各參數(shù)說明如表8.4所示。圖8.78255方式1輸入時序圖參數(shù)說明8255A最小時間/ns最大時間/nstST選通脈沖的寬度500

tSIB從選通脈沖有效到IBF有效的時間

300tSIT=1到中斷請求INTR有效的時間

300tPH數(shù)據(jù)保持時間180

tPS從數(shù)據(jù)有效到無效的時間0

tRIT從有效到中斷請求撤除的時間

400tRIB從為1到IBF為0之間的時間

300表8.4圖8.7參數(shù)說明8.1可編程并行接口82553.工作方式2(雙向輸入/輸出方式):只有A口可在此方式下工作。當A口工作于雙向輸入/輸出方式時,B口只能工作于方式0或方式1下,而C口剩下的3位(PC2~PC1)既可作為輸入/輸出線使用,也可作為B口方式1下的控制線。A口工作于方式2時,各端口定義如圖8.8所示。圖8.88255工作方式2端口狀態(tài)8.1可編程并行接口8255方式2的時序圖如圖8.9所示。圖8.98255工作方式2時序圖8.1可編程并行接口8255各參數(shù)說明如表8.5所示。參數(shù)說明8255A最小時間/ns最大時間/nstST選通脈沖的寬度500

tPH數(shù)據(jù)保存時間180

tSIB從選通脈沖有效到IBFA有效的時間

300tPS從數(shù)據(jù)有效到無效的時間0

tWOD從寫信號無效到有效的時間

650tAOD從有效到無效的時間

350tAD從有效到數(shù)據(jù)輸出的時間

300tHD數(shù)據(jù)保存時間200表8.5圖8.9參數(shù)說明8.1可編程并行接口82558.1.4方式控制字及狀態(tài)字1.8255的控制字1)方式控制字:用來決定8255的工作方式。它將3個通道分為兩組,格式如圖8.10所示。圖8.108255方式控制字格式8.1可編程并行接口82552)C口置位/復位控制字:可對C口中的任意一位進行置位或者復位操作。該控制字各位定義如圖8.11所示。圖8.118255C口置位/復位控制字格式8.1可編程并行接口82552.8255的狀態(tài)字

注意:C口的狀態(tài)字與C口各位對外的引腳狀態(tài)不完全一致?。。‘?255的A口和B口均工作在方式1的輸入時,由C口讀出的8位數(shù)據(jù)各位的意義如圖8.12所示。圖8.12A、B口均為方式1輸入時的狀態(tài)字8.1可編程并行接口8255

當8255的A口和B口均工作在方式1的輸出時,由C口讀出的狀態(tài)字各位的意義如圖8.13所示。當8255的A口工作在方式2時,狀態(tài)字各位的意義如圖8.14所示圖8.13A、B口均為方式1輸出時的狀態(tài)字圖8.14A口在方式2工作時的狀態(tài)字8.1可編程并行接口82558.1.58255與CPU的連接在8255的連接使用中,它的8根數(shù)據(jù)線D7~D0與系統(tǒng)數(shù)據(jù)總線相連,A1、A0分別接地址總線的A1和A0,地址總線高位A9~A2經(jīng)譯碼器譯碼后接片選信號,其控制信號線RESET、、分別與系統(tǒng)控制總線的RESET、、信號相連,如圖8.15所示。圖8.15計算機中8255的連接8.1可編程并行接口82558.1.68255應(yīng)用舉例例8.1利用8255方式0實現(xiàn)打印機的接口。

分析:打印機打印計算機送來的ASCII碼字符。因為ASCII碼為8位,所以利用8255的A口的工作方式0來實現(xiàn)打印機與CPU之間的并行輸出接口,連接示意圖如圖8.16所示。由圖可見,由地址譯碼決定的A口、B口、C口及控制寄存器的端口地址分別為380H、381H、382H、383H。8.1可編程并行接口8255

在實現(xiàn)打印機接口時,可以設(shè)置A組、B組均工作在方式0下,使用A口的PA7~PA0與打印機的D7~D0相連,并利用C口的PC6作為輸出信號接打印機的選通端,PC2作為輸入信號接打印機的忙信號BUSY。由此,可以作如下的初始化:A口為輸出,C口的高4位為輸出、低4位為輸入,B口保留,A、C口均工作于方式0。初始化程序如下:MOVAL,10000011B;將控制字送AL中MOVDX,0383H;將控制寄存器端口地址送DX中OUTDX,ALMOVAL,00001101B;將PC6設(shè)置為1MOVDX,AL;將控制寄存器端口地址送DX中8.1可編程并行接口8255若要將AL中的字符送到打印機輸出,則可用下面程序來完成:MOVDX,0382H;將C口地址送DX中XCHGAX,BX;將打印字符暫存BL中PWAIT:INAL,DX;輸入C口數(shù)據(jù)ANDAL,04H;測試PC2JNZPWAIT;忙則等待XCHGAX,BX;將BL中的打印字符送回AL中MOVDX,0380H;將A口地址送DX中OUTDX,AL;將AL字符送出打印8.1可編程并行接口8255

利用下面一段程序,可以完成一批字符數(shù)據(jù)的打印輸出。假設(shè)要打印的字符串位于當前數(shù)據(jù)段從DATA開始的內(nèi)存區(qū)域中,字符串長度在BLAK單元中。PRINT:MOVAL,BLAKMOVCL,ALMOVSI,OFFSETDATAGOON:MOVDX,0382HPWAIT:INAL,DXANDAL,04HJNZPWAITMOVAL,[SI]MOVDX,0380HMOVDX,ALMOVAL,00HMOVDX,0382HMOVDX,ALNOPNOPMOVAL,40HMOVDX,ALINCSIDECCLJNZGOONRET8.1可編程并行接口8255例8.2利用8255方式1實現(xiàn)打印機的接口。

設(shè)置8255的A口工作于方式1,PA7~PA0作數(shù)據(jù)輸出;利用PC7()產(chǎn)生打印機所需的選通脈沖;并將打印機發(fā)出的信號接8255的端,以產(chǎn)生有效的INTR信號,向CPU發(fā)出中斷請求。連接圖如圖8.17所示。圖8.17采用方式1的查詢方式8.1可編程并行接口82558255的初始化程序:MOVAL,10100000B;將控制字送AL中MOVDX,0383H;將控制寄存器端口地址送DX中OUTDX,ALMOVAL,00001101B;將PC6設(shè)置為1MOVDX,AL8.1可編程并行接口8255

關(guān)于字符數(shù)據(jù)的傳送和打印控制程序,同學們可自行編寫練習例8.3如果采用中斷方式傳送數(shù)據(jù),電路的連接形式如圖8.18所示。由CPU控制PC4產(chǎn)生選通脈沖,PC4作輸出用,這里的沒有用。PC3作為中斷請求INTR,由ACK信號上升沿產(chǎn)生,使用中斷IRQ3,中斷向量0BH。圖8.188255采用中斷方式與打印機的連接8.1可編程并行接口8255程序段如下:MOVAL,0A0HMOVDX,PortCtrOUTDX,AL;A口,方式1輸出方式,PC4作輸出MOVAL,00001000B;置PC4=1,令=1選通無效CLI;關(guān)中斷MOVAH,35HMOVAL,0BHINT21H;將0BH中斷向量取到ES、BX中PUSHESPUSHBX;保存0BH中斷向量PUSHDSMOVDX,OFFSETINTSERV;中斷子程序的偏移地址送DXMOVAX,SEGINTSERVMOVDS,AX;中斷子程序段地址送DS8.1可編程并行接口8255;

設(shè)置0BH中斷向量,即將DS、DX的內(nèi)容傳送到中斷向量表中MOVAL,0BHMOVAH,25HINT21HPOPDSMOVAL,0DMOVDX,PortCtrOUTDX,AL;將PC6置“1”,使INTE為“1”,允許8255A口中斷STI;開中斷,允許中斷請求信號進入CPU

┇CLIPOPDXPOPDS;將開始壓棧的ES、BX的內(nèi)容彈入DX中MOVAL,0BHMOVAH,25HINT21H;恢復0BH原中斷向量STI┇8.1可編程并行接口8255;中斷服務(wù)程序INTSERV:PUSHAD;通用寄存器進棧MOVAL,CL;打印字符送ALMOVDX,PortAOUTDX,AL;打印字符送A口MOVAL,00HMOVDX,PortCtrOUTDX,AL;使PC4=0,產(chǎn)生選通信號,使為低電平INCALOUTDX,AL;使PC4=1,撤銷選通信號MOVDX,20HOUTDX,20H;發(fā)EOI命令POPAD;通用寄存器出棧IRET;中斷返回8.1可編程并行接口8255

8253/8254可編程定時/計數(shù)器是Intel公司生產(chǎn)的一種通用的定時/計數(shù)器芯片(Counter/TimerCircuit,CTC),或稱為可編程間隔定時器(ProgrammableIntervalTimer,PIT)。8254是8253的改進型,它的引腳信號、硬件組成與8253基本上是相同的,因此8254在工作方式和編程方式上與8253兼容8.2可編程定時/計數(shù)器8253/82548254與8253存在如下一些差異:(1)它們允許最高計數(shù)脈沖(CLK)的頻率不同,8253的最高頻率為2MHz,而8254允許的最高計數(shù)脈沖頻率可達10MHz。(2)8254中每個計數(shù)器的內(nèi)部都有一個狀態(tài)寄存器和狀態(tài)鎖存器,并可通過讀回命令字來讀取狀態(tài)寄存器的當前內(nèi)容以及計數(shù)執(zhí)行單元CE的內(nèi)容,而8253沒有。8.2可編程定時/計數(shù)器8253/82548.2.18253的外部引線及內(nèi)部結(jié)構(gòu)1.8253的內(nèi)部結(jié)構(gòu)(內(nèi)部結(jié)構(gòu)如圖8.19)1)數(shù)據(jù)總線緩沖器:為雙向、三態(tài)的8位緩沖器,直接掛接在數(shù)據(jù)總線上,它是

8253與CPU之間的數(shù)據(jù)接口。2)讀/寫邏輯:是接收來自CPU的控制信號,包括讀、寫信號和地址信號,實現(xiàn)對計數(shù)器和控制寄存器的讀/寫控制。3)控制寄存器:只能寫入,不能讀出。控制字將決定計數(shù)器的工作方式、計數(shù)形式及輸出方式等。4)計數(shù)器:由16位鎖存寄存器和一個16位的減1計數(shù)器組成。圖8.19可編程定時器8253內(nèi)部結(jié)構(gòu)框圖8.2可編程定時/計數(shù)器8253/8254

2.8253的引腳功能芯片共有24根引腳,如圖8.20所示。D0~D7(輸入/輸出、三態(tài)):與數(shù)據(jù)總線相連,用以傳送CPU與8253之間的數(shù)據(jù)信息。A0、A1(輸入):地址輸入信號線,用來選擇計數(shù)器或控制寄存器,一般接地址線低位。其功能如表8.6所示圖8.20Intel8253的外部引腳圖A0A1說明00可選擇計數(shù)器0寄存器01可選擇計數(shù)器1寄存器10可選擇計數(shù)器2寄存器11可選擇控制寄存器表8.6A0、A1功能說明8.2可編程定時/計數(shù)器8253/8254

(輸入):片選信號,低電平有效。通常由地址線高位譯碼形成。(輸入):讀控制輸入信號,低電平有效。通常與系統(tǒng)總線的信號連接。(輸入):寫控制輸入信號,低電平有效。通常與系統(tǒng)總線的信號連接。8253尋址操作的控制邏輯如表8.7所示。圖8.20Intel8253的外部引腳圖A1A0操作功能01000計數(shù)器初值裝入計數(shù)器001001計數(shù)器初值裝入計數(shù)器101010計數(shù)器初值裝入計數(shù)器201011寫控制寄存器00100讀計數(shù)器000101讀計數(shù)器100110讀計數(shù)器28.2可編程定時/計數(shù)器8253/8254

(輸入):用于控制計數(shù)器的減1操作。CLK最高頻率可達5MHz。(輸入):門控信號,即計數(shù)器的控制信號,用來控制計數(shù)器工作或者復位。(輸出):當相應(yīng)的計數(shù)器計數(shù)值減到零時,該端輸出標志信號。在不同的工作方式下,OUT的輸出波形各不相同。圖8.20Intel8253的外部引腳圖8.2可編程定時/計數(shù)器8253/82548.2.28253的方式控制字和讀/寫操作1.方式控制字:用來決定計數(shù)器的工作方式、計數(shù)形式及輸出方式等。其格式如圖8.21所示。圖8.218253的方式控制字格式8.2可編程定時/計數(shù)器8253/82542.8253的讀/寫操作及編程1)寫操作8253有3個計數(shù)器通道,需逐個對各計數(shù)器分別進行初始化。當方式控制字中D0=0時,采用二進制計數(shù),初值可在0000H~FFFFH之間選擇;而當方式控制字中D0=1時,采用十進制計數(shù),初值可在0000~9999之間選擇。由于8253中計數(shù)器采用減1計數(shù)方式工作,因此計數(shù)初值為0時,對應(yīng)著最大計數(shù)值,即二進制數(shù)時為65536,十進制數(shù)時為10000。8.2可編程定時/計數(shù)器8253/8254例8.4利用8253的計數(shù)器通道2產(chǎn)生頻率為10000Hz的方波。設(shè)計數(shù)時鐘脈沖的頻率f=10000Hz。其初始化程序如下:MOVAL,10110110B;方式3,通道2,二進制,先低后高OUTCOTR,AL;寫入控制寄存器MOVAX,4A7H;產(chǎn)生10000Hz所需的計數(shù)初值=f/1000OUTCTN2,AL;先寫計數(shù)初值低字節(jié)MOVAL,AHOUTCTN2,AL;再寫計數(shù)初值高字節(jié)8.2可編程定時/計數(shù)器8253/8254例8.5若選擇通道0,工作在方式1,計數(shù)初值為2350H,按十進制計數(shù),并設(shè)8253的端口地址為40H~43H,則初始化程序段如下:MOVAL,33H;計數(shù)器0,方式1,十進制,先低后高OUT43H,AL;寫入控制寄存器MOVAL,50H;計數(shù)初值低字節(jié)OUT40H,AL;寫入計數(shù)器0MOVAL,23H;計數(shù)初值高字節(jié)OUT40H,AL;寫入計數(shù)器08.2可編程定時/計數(shù)器8253/82542)讀操作讀取計數(shù)器當前值有兩種方法:第一種方法:利用門控GATE信號為低電平或關(guān)閉CLK脈沖,使計數(shù)操作暫停,以讀出確定的計數(shù)值。CPU首先向8253的控制寄存器中送入一個方式控制字,選擇要讀取的計數(shù)器并設(shè)定讀/寫方式。第二種方法:在計數(shù)過程中讀出計數(shù)器值,而不影響計數(shù)器的工作。CPU首先向8253的控制寄存器寫入一個特定的方式控制字(SC1SC000××××),即鎖存讀命令,將所選中的計數(shù)器當前計數(shù)值鎖存到計數(shù)鎖存器中。這種讀取計數(shù)值的方法稱為鎖存讀,又叫做“飛讀”。8.2可編程定時/計數(shù)器8253/8254例如,采用鎖存讀的方法,讀取通道1的16位計數(shù)值,其程序段如下:MOVAL,40H;方式控制字:通道1,鎖存OUTCOTR,AL;寫入8253的控制寄存器INAL,CNT1;第一次讀入低8位MOVCL,ALINAL,CNT1;第二次讀入高8位MOVCH,AL8.2可編程定時/計數(shù)器8253/82548.2.38253的工作方式有6種不同的工作方式。其區(qū)別:它們啟動計數(shù)器進行計數(shù)的觸發(fā)方式不同;計數(shù)過程中,門控信號GATE對計數(shù)操作的影響不同;計數(shù)結(jié)束后,OUT輸出線上的輸出波形不同。8.2可編程定時/計數(shù)器8253/82541.方式0(計數(shù)結(jié)束產(chǎn)生中斷)

1)工作過程當CPU向8253的計數(shù)器通道所對應(yīng)的控制寄存器中寫入方式0的控制字后,該計數(shù)器通道的OUT輸出信號立即變?yōu)榈碗娖剑坏┯嫈?shù)初值被裝入,計數(shù)器馬上開始對CLK輸入信號進行減1計數(shù),即每過一個時鐘周期計數(shù)器減1,當計數(shù)值減到0即計數(shù)結(jié)束時,OUT輸出高電平,其工作波形如圖8.22所示(其中CW是控制字,N為計數(shù)值)。常利用OUT信號作為中斷請求信號。8.2可編程定時/計數(shù)器8253/82542)方式0特點(1)方式0是一種單次計數(shù)工作方式,即寫一次計數(shù)值,觸發(fā)一次定時計數(shù)操作,計數(shù)器不會自動恢復初值重新開始計數(shù)。(2)如果在計數(shù)過程中修改計數(shù)值,則在寫入新的計數(shù)值后,計數(shù)器將從新的計數(shù)值開始重新減1計數(shù)。(3)門控信號GATE可以用來控制計數(shù)過程。當GATE為高電平時,允許減1計數(shù);當GATE為低電平時,則禁止減1計數(shù),這時計數(shù)值將保持GATE有效時的數(shù)值不變,待GATE重新為高電平時再恢復計數(shù)。8.2可編程定時/計數(shù)器8253/8254

2.方式1(可編程單穩(wěn)觸發(fā)器)1)工作過程:工作波形如圖8.23所示圖8.23方式1的工作波形2)特點(1)OUT端輸出的單穩(wěn)負脈沖的寬度等于計數(shù)器的初值乘以CLK端的輸入脈沖周期。(2)如果在計數(shù)器未減到0時,門控信號GATE又來一次觸發(fā)脈沖,則將從初值開始重新計數(shù)。(3)是一種可重觸發(fā)的單次脈沖方式。(4)在形成單個負脈沖的計數(shù)過程中改變計數(shù)值,不會影響正在進行的計數(shù)。8.2可編程定時/計數(shù)器8253/82543.方式2(分頻器)1)工作過程:工作波形如圖8.24所示圖8.24方式2的工作波形2)特點(1)一種連續(xù)計數(shù)工作方式,OUT端輸出信號的頻率為CLK信號頻率的1/n(n為計數(shù)初值),故稱為頻率發(fā)生器。這種工作方式可以用作分頻器或用于產(chǎn)生定時時鐘中斷。(2)在計數(shù)過程中,可由門控信號GATE控制暫?;騿?。(3)在計數(shù)過程中,改變計數(shù)值,不影響當前的計數(shù)過程,直到下一次計數(shù)分頻時,才用新的計數(shù)值進行計數(shù)操作。8.2可編程定時/計數(shù)器8253/82544.方式3(方波頻率發(fā)生器)1)工作過程:工作波形如圖8.25所示。圖8.25方式3的工作波形2)特點(1)是一種連續(xù)計數(shù)工作方式,只是OUT輸出為方波,故也稱為方波頻率發(fā)生器。(2)可由門控信號GATE控制暫?;蛑匦掠嫈?shù)。(3)在計數(shù)過程中,改變計數(shù)值,不影響當前的計數(shù)過程,直到下一次計數(shù),才用新的計數(shù)值進行計數(shù)操作。8.2可編程定時/計數(shù)器8253/82545.方式4(軟件觸發(fā)選通)1)工作過程:工作波形如圖8.26所示。圖8.26方式4的工作波形2)特點(1)是一種單次計數(shù)工作方式,若要再次啟動計數(shù)過程,則必須重新置入計數(shù)初值。(2)如果在計數(shù)過程中修改計數(shù)值,則計數(shù)器從下一計數(shù)脈沖周期開始以新的計數(shù)值進行計數(shù)。即在計數(shù)過程中,修改計數(shù)初值將立即影響正在進行的計數(shù),這也正是軟件觸發(fā)選通名字的由來。(3)門控信號GATE可以用來控制計數(shù)過程。8.2可編程定時/計數(shù)器8253/8254

6.方式5(硬件觸發(fā)選通)1)工作過程:工作波形如圖8.27所示

2)特點(1)是一種單次計數(shù)工作方式。(2)在計數(shù)過程中,若門控信號GATE發(fā)生了正跳變,則不論計數(shù)是否結(jié)束,都將開始新一輪的計數(shù)。這也正是硬件觸發(fā)

選通名字的由來。(3)在計數(shù)過程中修改了計數(shù)初值,不會影響正在進行的計數(shù)工作。圖8.27方式5的工作波形8.2可編程定時/計數(shù)器8253/8254

門控信號GATE對不同的工作方式,其作用也不一樣。表8.8和表8.9分別給出了GATE信號的功能和計數(shù)過程中改變計數(shù)值對6種工作方式的影響。GATE低電平或變到低電平上升沿高電平方式0禁止計數(shù)不影響允許計數(shù)方式1不影響啟動計數(shù)不影響方式2禁止計數(shù)并置OUT為高初始化計數(shù)允許計數(shù)方式3禁止計數(shù)并置OUT為高初始化計數(shù)允許計數(shù)方式4禁止計數(shù)不影響允許計數(shù)方式5不影響啟動計數(shù)不影響方式功能改變計數(shù)值0計數(shù)結(jié)束中斷立即有效1可編程單穩(wěn)外部觸發(fā)后有效2頻率發(fā)生器計數(shù)到0后有效3方波發(fā)生器計數(shù)到0后有效4軟件觸發(fā)選通立即有效5硬件觸發(fā)選通外部觸發(fā)后有效表8.8GATE信號功能表表8.9改變計數(shù)值對計數(shù)的影響8.2可編程定時/計數(shù)器8253/82548.2.48253的初始化編程及應(yīng)用IBM-PC/XT的系統(tǒng)板上使用了一片8253來構(gòu)成系統(tǒng)定時計數(shù)的核心部件。如圖8.28所示。其中:A0、A1用于尋址8253內(nèi)部寄存器和計數(shù)器。端口地址分配如表8.10所示。圖8.288253在系統(tǒng)板上的連接圖I/O端口地址計數(shù)器通道及寄存器0040H計數(shù)器00041H計數(shù)器10042H計數(shù)器20043H控制寄存器表8.10端口地址分配表8.2可編程定時/計數(shù)器8253/82543個通道計數(shù)器的功能1)計數(shù)器0系統(tǒng)分配給它的口地址是0040H。它用作IBM-PC/XT系統(tǒng)的“時鐘”計時電路。分析:其門控信號GATE由于恒接+5V電源,為1.193MHz方波信號;計數(shù)器0的輸出接在系統(tǒng)中斷控制器8259的中斷請求線上;BIOS初始化計數(shù)器0為工作方式3,初值預置為0,最大計數(shù)值為216

BIOS時鐘中斷服務(wù)程序的地址單元0040H:006CH和0040H:006DH保存時鐘的低位字,0040H:006EH和0040H:006FH保存時鐘的高位字,。8.2可編程定時/計數(shù)器8253/8254BIOS對計數(shù)器0的初始化程序段如下:MOVAL,36H;通道0,方式3,二進制計數(shù)OUT43H,AL;寫方式控制字MOVAL,0OUT40H,AL;寫計數(shù)器低字節(jié)OUT40H,AL;寫計數(shù)器高字節(jié)8.2可編程定時/計數(shù)器8253/82542)計數(shù)器1系統(tǒng)分配給它的口地址為0041H,用于定時地向DMA控制器提出服務(wù)請求,以對動態(tài)存儲器RAM進行刷新。BIOS初始化計數(shù)器1為工作方式2,初值預置為18。BIOS對計數(shù)器1的初始化程序如下:MOVAL,54H;計數(shù)器1,低字節(jié),方式2,二進制計數(shù)OUT43H,AL;寫方式控制字MOVAL,18;計時器初值為18OUT41H,AL;寫計數(shù)器初值8.2可編程定時/計數(shù)器8253/82543)計數(shù)器2系統(tǒng)分配給它的口地址為0042H,利用該計數(shù)器的輸出控制揚聲器發(fā)聲。BIOS初始化計數(shù)器2為工作方式3,初值預置為533H。BEEPPROCNEARMOVAL,10110110B;計數(shù)器2,寫入低、高字節(jié),二進制OUT43H,AL;寫入方式控制字MOVAX,533H;計數(shù)器初值,產(chǎn)生1000Hz分頻數(shù)OUT42H,AL;寫入低字節(jié)MOVAL,AHOUT42H,AL;寫入高字節(jié)INAL,61H;讀8255的B口8.2可編程定時/計數(shù)器8253/8254MOVAH,AL;暫存ORAL,03H;揚聲器啟動OUT61H,ALSUBCX,CX;設(shè)置計數(shù)器等待500msG7:LOOPG7;延遲DECBL;延遲計數(shù)滿JNGG7;否,繼續(xù)發(fā)聲MOVAL,AHOUT61H,AL;恢復端口BRETBEEPENDP8.2可編程定時/計數(shù)器8253/82548.2.5可編程定時/計數(shù)器82548254芯片中每一個計數(shù)器都有一個狀態(tài)寄存器,用于保存該計數(shù)器的狀態(tài)。狀態(tài)寄存器的內(nèi)容稱為狀態(tài)字,可由CPU讀出。其格式如圖8.29所示。圖8.298254狀態(tài)字格式其中:D5~D0與CPU寫入該計數(shù)器的方式控制字的對應(yīng)位一致;D7位為輸出位,反映該計數(shù)器輸出信號OUT的狀態(tài),若OUT輸出高電平,則D7=1,否則D7=0;D6位指示計數(shù)值是否已由計數(shù)寄存器送入減1寄存器中,若已裝入,則D6=0,否則D6=1。顯然,D6=1時讀入計數(shù)值是無意義的。8.2可編程定時/計數(shù)器8253/8254另外,8254比8253多一個讀回命令字,即8254有兩個命令字:鎖存命令字和讀回命令字,這兩個命令字的地址相同。鎖存命令字:用來將指定計數(shù)器通道的當前計數(shù)執(zhí)行單元的內(nèi)容存入相應(yīng)的輸出鎖存器中,以供CPU讀出。格式如圖8.30所示。SC1、SC0:用于選擇計數(shù)器通道;D5、D4:是鎖存命令字的特征標志;其余4位在該命令字中沒有意義。圖8.308254鎖存命令字格式8.2可編程定時/計數(shù)器8253/8254讀回命令字:將指定計數(shù)器通道的當前計數(shù)執(zhí)行單元的內(nèi)容和狀態(tài)信息鎖存待讀。格式如圖8.31所示。D7D6=11:兩位是讀回命令字的特征標志;D5:是計數(shù)值鎖存命令位,若D5=0,表明指定計數(shù)器通道的計數(shù)值進行鎖存,否則D5=1不鎖存;

D4:是狀態(tài)字鎖存命令位,若D4=0,表明指定計數(shù)器通道的狀態(tài)字進行鎖存,否則D4=1不鎖存;D3~D1

:3位用于選擇計數(shù)器,分別對應(yīng)計數(shù)器2、1和0,這3位是相互獨立的,這表明一個讀回命令字可以同時命令一個以上的計數(shù)值和狀態(tài)字鎖存待讀。圖8.318254讀回命令字格式8.2可編程定時/計數(shù)器8253/82548.3.1串行通信概述串行通信:是把組成信息的各個碼位在同一根傳輸線上,從低位到高位,逐位地、順序地進行傳送的通信方式。特點:在一根傳輸線上既傳送數(shù)據(jù)信息,又傳送聯(lián)絡(luò)控制信息;它的信息格式有固定的要求,分異步和同步信息格式,與此相應(yīng),就有異步通信和同步通信兩種方式;在傳輸線上對信息的邏輯定義與TTL不兼容,因此,需要進行邏輯電平轉(zhuǎn)換。優(yōu)點:串行通信具有傳輸線少、成本低等,適合遠距離傳送;缺點:速度慢。8.3可編程串行接口82511.串行通信接口的基本任務(wù)1)實現(xiàn)數(shù)據(jù)格式化2)進行串—并轉(zhuǎn)換3)控制數(shù)據(jù)傳輸速率4)進行錯誤檢測5)進行TTL與EIA電平轉(zhuǎn)換6)提供EIA-RS-232C接口標準所要求的信號線8.3可編程串行接口82512.串行通信接口的組成串行接口部件的典型結(jié)構(gòu)如圖8.32所示,主要由控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器四部分組成。圖8.32串行接口與CPU、外設(shè)的連接8.3可編程串行接口82511)控制寄存器:控制寄存器用來保存決定接口工作方式的控制信息。2)狀態(tài)寄存器:狀態(tài)寄存器中的每一個狀態(tài)位都可以用來標識傳輸過程中某一種錯誤或當前傳輸狀態(tài)。3)數(shù)據(jù)寄存器(1)數(shù)據(jù)輸入寄存器:在輸入過程中,串行數(shù)據(jù)一位一位地從傳輸線進入串行接口的移位寄存器,經(jīng)過串入并出電路的轉(zhuǎn)換,接收完一個字符后,數(shù)據(jù)就從移位寄存器傳送到數(shù)據(jù)輸入寄存器。(2)數(shù)據(jù)輸出寄存器:在輸出過程中,先送到數(shù)據(jù)輸出緩沖寄存器,然后傳到移位寄存器,經(jīng)過并入串出電路的轉(zhuǎn)換一位一位地通過輸出傳輸線送到對方。8.3可編程串行接口8251

隨著大規(guī)模集成電路技術(shù)的發(fā)展,通用的可編程序的同步和異步接口芯片種類越來越多,如表8.11所示。芯片同步異步(起止式)面向字符HDLCINS8250

√MC6850

√MC6852√

MC6854

INT8251√

√INT8273

Z-80SIO√√√表8.11常用可編程同步和異步接口芯片8.3可編程串行接口82513.串行通信的有關(guān)概念1)發(fā)送時鐘和接收時鐘(1)發(fā)送時鐘:串行數(shù)據(jù)的發(fā)送由發(fā)送時鐘控制,數(shù)據(jù)發(fā)送過程是:把并行的數(shù)據(jù)序列送入移位寄存器,然后通過移位寄存器由發(fā)送時鐘觸發(fā)進行移位輸出,數(shù)據(jù)位的時間間隔可由發(fā)送時鐘周期來劃分。(2)接收時鐘:串行數(shù)據(jù)的接收是由接收時鐘來檢測的,接收過程就是將串行數(shù)據(jù)序列,逐位移入移位寄存器后組成并行數(shù)據(jù)序列的過程。8.3可編程串行接口82512)DTE和DCE(1)數(shù)據(jù)終端設(shè)備(DataTerminalEquipment,DTE):是對屬于用戶所有聯(lián)網(wǎng)設(shè)備和工作站的統(tǒng)稱,是數(shù)據(jù)的源或目的或者既是源又是目的。(2)數(shù)據(jù)電路終端設(shè)備或數(shù)據(jù)通信設(shè)備(DataCircuit-terminatingEquipment或DataCommunicationEquipment,DCE):前者為CCITT標準所用;

后者為EIA標準所用。DCE是對網(wǎng)絡(luò)設(shè)備的統(tǒng)稱;自動呼叫/應(yīng)答設(shè)備、調(diào)制解調(diào)器(Modem)和其他一些中間設(shè)備均屬于DCE。3)信道:傳輸信息所經(jīng)過的通道,是連接兩個DTE的線路。8.3可編程串行接口82514.串行通信中的工作方式1)單工工作方式:傳輸?shù)木€路用一根線連接,通信的一端連接發(fā)送器,另一端連接接收器,即形成單向連接,只允許數(shù)據(jù)按照一個固定的方向傳送,如圖8.33(a)所示。8.3可編程串行接口8251

2)半雙工工作方式:使用同一根傳輸線既作輸入又作輸出,但通信雙方不能同時收發(fā)數(shù)據(jù),即它們只能依賴分時切換方向?qū)崿F(xiàn)互相收發(fā)數(shù)據(jù)。如圖8.33(b)所示3)全雙工工作方式:數(shù)據(jù)的發(fā)送和接收分為兩套獨立的資源同時進行,分別由兩根不同的傳輸線同時傳送時,通信雙方都能在同一時刻進行發(fā)送和接收操作,如圖8.33(c)所示。8.3可編程串行接口82515.同步通信和異步通信方式1)同步通信方式由一個統(tǒng)一的時鐘控制發(fā)送方和接收方,若干字符組成一個信息組,字符要一個接著一個傳送;沒有字符時,也要發(fā)送專用的“空閑”字符或者同步字符,因為同步傳輸時,要求必須連續(xù)傳送字符,每個字符的位數(shù)要相同,中間不允許有間隔。同步傳輸?shù)奶卣魇?在每組信息的開始(常稱為幀頭)要加上1~2個同步字符,后面跟著8位的字符數(shù)據(jù)。同步通信的數(shù)據(jù)格式如圖8.34所示。圖8.34同步通信字符格式8.3可編程串行接口82512)異步通信方式:是指通信中兩個字符的時間間隔是不固定的,而在同一字符中的兩個相鄰代碼間的時間間隔是固定的通信。

特征:字符是一幀一幀的傳送,每一幀字符的傳送靠起始位來同步。在數(shù)據(jù)傳輸過程中,傳輸線上允許有空字符,數(shù)據(jù)格式如圖8.35所示。圖8.35異步通信字符格式8.3可編程串行接口82516.通信中必須遵循的規(guī)定1)字符格式的規(guī)定:通信中傳輸字符的格式要按規(guī)定寫。2)比特率、波特率(Baudrate)(1)比特率:作為串行傳輸中數(shù)據(jù)傳輸速度的測量單位,用每秒傳輸?shù)亩M制數(shù)的位數(shù)bps(位/秒)來表示。(2)波特率:用來描述每秒鐘發(fā)生二進制信號的事件數(shù),用來表示一個二進制數(shù)據(jù)位的持續(xù)時間。

波特率=1/二進制位的持續(xù)時間時鐘頻率=n×波特率8.3可編程串行接口8251

8.信號的調(diào)制與解調(diào)調(diào)制解調(diào)器:顧名思義主要完成調(diào)制和解調(diào)的功能。經(jīng)過調(diào)制器(Modulator)可把數(shù)字信號轉(zhuǎn)換為模擬信號;經(jīng)過解調(diào)器(Demodulator)可把模擬信號轉(zhuǎn)換為數(shù)字信號。使用Modem實現(xiàn)了對通信雙方信號的轉(zhuǎn)換過程,如圖8.36所示。圖8.36調(diào)制與解調(diào)過程8.3可編程串行接口82518.3.28251的外部引線及內(nèi)部結(jié)構(gòu)1.8251的內(nèi)部結(jié)構(gòu)及性能8251是一個功能很強的全雙工可編程串行通信接口,具有獨立的雙緩沖結(jié)構(gòu)的接收和發(fā)送器,通過編程可以選擇同步方式或者異步方式。8251由數(shù)據(jù)總線緩沖器、讀/寫控制邏輯、發(fā)送緩沖器、發(fā)送控制器、接收緩沖器、接收控制器、調(diào)制/解調(diào)控制邏輯、同步字符寄存器及控制各種操作的方式寄存器等組成。其內(nèi)部結(jié)構(gòu)圖如圖8.37所示。8.3可編程串行接口8251圖8.378251內(nèi)部結(jié)構(gòu)原理框圖8.3可編程串行接口82511)數(shù)據(jù)總線緩沖器

通過8位數(shù)據(jù)線D7~D0和CPU的數(shù)據(jù)總線相連,負責把接收口接收到的信息送給CPU,或把CPU發(fā)來的信息送給發(fā)送口。還可隨時把狀態(tài)寄存器中的內(nèi)容讀到CPU中,在8251初始化時,分別把方式字、控制字和同步字符送到方式寄存器、控制寄存器和同步字符寄存器中。2)接收緩沖器與接收控制電路接收緩沖器:包括接收移位寄存器和數(shù)據(jù)輸入寄存器。接收控制電路:是用來控制數(shù)據(jù)接收工作的。8.3可編程串行接口82513)讀/寫控制邏輯讀/寫控制邏輯接收與讀/寫有關(guān)的控制信號,由、、、的邏輯電路組合產(chǎn)生出8251所執(zhí)行的操作,如表8.12所示。執(zhí)行的操作0000010110100011CPU由8251輸入數(shù)據(jù)CPU向8251輸出數(shù)據(jù)CPU讀取8251的狀態(tài)CPU向8251寫入控制命令表8.128251的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系8.3可編程串行接口82514)發(fā)送緩沖器與發(fā)送控制電路發(fā)送緩沖器:包括發(fā)送移位寄存器和數(shù)據(jù)輸出寄存器,。發(fā)送控制電路:對串行數(shù)據(jù)實行發(fā)送控制。發(fā)送器的另一個功能是發(fā)送中止符

(BREAK),只要8251的命令寄存器的bit3為“1”,發(fā)送器就始終發(fā)送終止符。5)調(diào)制/解調(diào)器控制邏輯在全雙工通信方式下,每個收、發(fā)口都要連接調(diào)制解調(diào)器。調(diào)制解調(diào)器控制電路是專為調(diào)制解調(diào)器提供控制信號用的。8.3可編程串行接口82512.8251的外部性能雙列直插式的28條引腳封裝的集成電路,引腳信號如圖8.38所示。與CPU連接如圖8.39所示。圖8.388251引腳圖圖8.398251和CPU連接示意圖8.3可編程串行接口82511)8251與CPU的接口信號(1)數(shù)據(jù)線D7~D0(輸入/輸出,三態(tài)):通過這8條線和CPU的數(shù)據(jù)總線相連接(2)片選信號(輸入):低電平有效。(3)讀/寫控制信號(輸入):讀信號,低電平有效。(輸入):寫信號,低電平有效。(輸入):控制/數(shù)據(jù)信號,分時復用。用來區(qū)分當前讀/寫的是數(shù)據(jù)還是控制信息或狀態(tài)信息。

RESET(輸入):復位信號,高電平有效。

CLK(輸入):主時鐘信號,用于芯片內(nèi)部的定時。8.3可編程串行接口8251(4)與發(fā)送有關(guān)的聯(lián)絡(luò)信號TXRDY(輸出):發(fā)送器準備好信號,高電平有效。所謂發(fā)送器準備好,就是控制字的第0位TXEN為“1”時,使8251允許發(fā)送,并且調(diào)制解調(diào)器已做好接收準備,發(fā)出信號使8251的CTS信號變低為有效。TXEMPTY(輸入):發(fā)送器空信號。控制8251發(fā)送器發(fā)送字符的速度。對于同步方式,它的輸入時鐘頻率應(yīng)等于發(fā)送數(shù)據(jù)的波特率;對于異步方式,它的頻率等于發(fā)送波特率和波特率因子的乘積。8.3可編程串行接口8251(5)與接收有關(guān)的聯(lián)絡(luò)信號。

RXRDY(輸出):接收器準備好信號,高電平有效。它可以作為中斷請求信號或查詢聯(lián)絡(luò)信號與CPU聯(lián)系。

TXE(輸入):接收器時鐘信號,控制8251接收字符的速度。在同步方式下,它的頻率等于接收數(shù)據(jù)的波特率;在異步方式下,時鐘頻率等于波特率和波特率因子的乘積。

SYNDET/BRKDET(輸入/輸出):同步檢測/斷缺檢測信號,高電平有效。在同步方式下,SYNDET執(zhí)行同步檢測功能,可以工作在輸入狀態(tài),也可以工作在輸出狀態(tài)。同步檢測分為內(nèi)同步和外同步兩種方式。8.3可編程串行接口8251

內(nèi)同步方式時,SYNDET作為輸出端,是在8251內(nèi)部檢測同步字符。如果8251檢測到了所要求的一個或兩個同步字符,則SYNDET輸出高電平,表示已達到同步,后續(xù)收到的是有效數(shù)據(jù)。

外同步方式時,SYNDET作為輸入端。外同步是由外部其他機構(gòu)來檢測同步字符的,當外部檢測到同步字符以后,從SYNDET端向8251輸入一個高電平信號,表示已達到同步,接收器可以串行接收數(shù)據(jù)。芯片復位時,SYNDET為低電平。在異步方式下BRKDET實現(xiàn)斷缺檢測功能,當端連續(xù)收到8個0信號時,BRKDET端呈高電平,表示當前處于數(shù)據(jù)斷缺狀態(tài),端沒有收到數(shù)據(jù);當端收到1信號時,BRKDET端變?yōu)榈碗娖健?.3可編程串行接口82512)8251與外部裝置之間的接口信號(1)數(shù)據(jù)信號。

TXD(輸出):發(fā)送數(shù)據(jù)信號端。

RXD(輸入):接收數(shù)據(jù)信號端。(2)發(fā)送數(shù)據(jù)時的聯(lián)絡(luò)信號。(輸出):請求發(fā)送信號,低電平有效。(輸入):發(fā)送允許信號,低電平有效。(3)接收數(shù)據(jù)時的聯(lián)絡(luò)信號。(輸出):數(shù)據(jù)終端準備好信號,低電平有效。(輸入):數(shù)據(jù)裝置準備好信號,低電平有效。8.3可編程串行接口82518.3.38251的控制字及其工作方式1.方式寄存器:8251初始化時,用來寫入方式選擇字。方式選擇有兩種:同步方式和異步方式1)8251工作在同步方式下,格式如圖8.40所示。圖8.408251同步方式下方式寄存器的格式8.3可編程串行接口82512)8251工作在異步方式下,方式寄存器的格式如圖8.41所示。圖8.418251異步方式下方式寄存器的格式8.3可編程串行接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論