




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章常用接口芯片
7.3可編程串行接口8251
7.4模擬I/O接口
7.5例題解析7.2可編程定時(shí)/計(jì)數(shù)器8253/82547.1可編程并行接口8255
7.1可編程并行接口8255
7.3可編程串行接口8251
7.1可編程并行接口8255
7.1可編程并行接口82557.1.1并行通信的概念
1.并行通信與串行通信
隨著多微機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,計(jì)算機(jī)與外部設(shè)備之間、計(jì)算機(jī)和計(jì)算機(jī)之間常常要進(jìn)行數(shù)據(jù)交換,這些數(shù)據(jù)交換可稱為數(shù)據(jù)通信。數(shù)據(jù)通信方式有兩種:并行通信與串行通信。
并行通信是指數(shù)據(jù)的各位同時(shí)進(jìn)行傳送的通信方式,可以字或字節(jié)為單位并行進(jìn)行。并行通信速度快,但用的通信線多、成本高,故不宜進(jìn)行遠(yuǎn)距離通信。計(jì)算機(jī)內(nèi)部各種總線就是以并行方式傳送數(shù)據(jù)的。
串行通信是指數(shù)據(jù)逐位順序傳送的通信方式。串行傳送的速度低,但只需要很少幾根通信線,適用于長距離而速度要求不高的場合。在網(wǎng)絡(luò)中傳送數(shù)據(jù)絕大多數(shù)采用串行方式。
2.并行接口無論是并行通信還是串行通信,就其I/O接口與CPU之間的通信而言,均是以并行通信方式傳送數(shù)據(jù)的。并行通信由并行接口完成,它以字節(jié)(或字)為單位與I/O設(shè)備或被控對象進(jìn)行數(shù)據(jù)交換,以同步方式傳輸。如打印機(jī)接口,A/D、D/A轉(zhuǎn)換器接口,IEEE488接口,開關(guān)量接口,控制設(shè)備接口等。
從并行接口的電路結(jié)構(gòu)來看,并行口有硬連線接口和可編程接口之分。一個(gè)并行接口中包括狀態(tài)信息、控制信息和數(shù)據(jù)信息⑴狀態(tài)寄存器
狀態(tài)寄存器用來存放外設(shè)的信息,CPU通過訪問這個(gè)寄存器來了解某個(gè)外設(shè)的狀態(tài),進(jìn)而控制外設(shè)的工作,以便與外設(shè)進(jìn)行數(shù)據(jù)交換。⑵控制寄存器
并行接口中有一個(gè)控制寄存器,CPU對外設(shè)的操作命令都寄存在控制寄存器中。⑶數(shù)據(jù)緩沖寄存器
在并行接口中還設(shè)置了輸入緩沖寄存器和輸出緩沖寄存器,緩沖器是用來暫存數(shù)據(jù)。因?yàn)橥庠O(shè)與CPU交換數(shù)據(jù),CPU的速度遠(yuǎn)遠(yuǎn)高于外設(shè)的速度。一個(gè)典型的并行接口與CPU、外設(shè)的連接圖
3.數(shù)據(jù)輸入過程數(shù)據(jù)輸入過程,指的是外設(shè)向CPU輸入數(shù)據(jù)。①當(dāng)外設(shè)將數(shù)據(jù)通過數(shù)據(jù)輸入線送給接口時(shí),先使?fàn)顟B(tài)線“輸入數(shù)據(jù)準(zhǔn)備好”為高電平。然后通過接口把數(shù)據(jù)接收到輸入緩沖寄存器中,同時(shí)把“輸入回答”信號置成高電平“1”,并發(fā)給外設(shè)。②外設(shè)接到回答信號后,將撤消“輸入數(shù)據(jù)準(zhǔn)備好”的信號。當(dāng)接口收到數(shù)據(jù)后,會在狀態(tài)寄存器中設(shè)置“準(zhǔn)備好輸入”狀態(tài)位,以便CPU對其進(jìn)行查詢。③接口向CPU發(fā)出一個(gè)中斷請求信號,這樣CPU可以用軟件查詢方式,也可以用中斷的方式將接口中的數(shù)據(jù)輸入到CPU中。④CPU在接收到數(shù)據(jù)后,將“準(zhǔn)備好輸入”的狀態(tài)位自動清除,并使數(shù)據(jù)總線處于高阻狀態(tài)。準(zhǔn)備外設(shè)向CPU輸入下一個(gè)數(shù)據(jù)。
4.數(shù)據(jù)輸出過程數(shù)據(jù)輸出過程,指的是CPU向外設(shè)輸出數(shù)據(jù)。①當(dāng)外設(shè)從接口接收到一個(gè)數(shù)據(jù)后,接口的輸出緩沖寄存器“空”,使?fàn)顟B(tài)寄存的“輸出數(shù)據(jù)準(zhǔn)備好”狀態(tài)位置成高電平“1”,這表示CPU可以向外設(shè)接口輸出數(shù)據(jù),這個(gè)狀態(tài)位可供CPU查詢。②此時(shí)接口也可向CPU發(fā)出一個(gè)中斷請求信號,同上面的輸入過程相同,CPU可以用軟件查詢方式,也可以用中斷的方式將CPU中的數(shù)據(jù)通過接口輸出到外設(shè)中。當(dāng)輸出數(shù)據(jù)送到接口的輸出緩沖寄存器后,再輸出到外設(shè)。③與此同時(shí),接口向外設(shè)發(fā)送一個(gè)啟動信號,啟動外設(shè)接收數(shù)據(jù)。外設(shè)接收到數(shù)據(jù)后,向接口回送一個(gè)“輸出回答”信號。④接口電路收到該信號后,自動將接口狀態(tài)寄存器中的“準(zhǔn)備好輸出”狀態(tài)位重新置為高電平“1”,通知CPU可以向外設(shè)輸出下一個(gè)數(shù)據(jù)。7.1.28255外部引腳及內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET1.8255內(nèi)部結(jié)構(gòu)⑴面向CPU的接口電路①數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個(gè)三態(tài)雙向的8位緩沖器,是8255與系統(tǒng)數(shù)據(jù)總線的接口。與此關(guān)聯(lián)的接口信號線是數(shù)據(jù)線D7~D0,它直接與CPU數(shù)據(jù)總線相連,以實(shí)現(xiàn)CPU與8255接口之間的信息傳遞。CPU向8255寫入控制字、或從8255中讀狀態(tài)信息以及所有數(shù)據(jù)的輸入和輸出,都需要通過數(shù)據(jù)緩沖器進(jìn)行傳遞。②讀/寫控制邏輯。讀/寫控制邏輯是8255內(nèi)部完成讀/寫控制功能的部件,它接收來自CPU的地址和控制信號,并依據(jù)這些信號,通過內(nèi)部控制邏輯向8255的各功能部件發(fā)出讀/寫控制命令,用于管理數(shù)據(jù)、控制字或狀態(tài)字的傳送。與此部分有關(guān)的有6根信號線:片選信號、讀信號、寫信號、端口選擇信號A1、A0以及RESET復(fù)位信號。
⑵面向外設(shè)的接口電路端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0A組控制高4位PC4~PC7B組控制低4位PC0~PC3端口A:PA0~PA7常作數(shù)據(jù)端口,功能最強(qiáng)大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個(gè)4位,每位可獨(dú)立操作控制最靈活,最難掌握⑶內(nèi)部控制邏輯包括A組控制部件、B組控制部件兩部分。A組控制部件控制端口A和端口C的高4位(PC7~PC4);B組控制部件控制端口B和端口C的低4位(PC3~PC0)??刂七壿媰?nèi)部設(shè)置了一個(gè)控制寄存器,接收來自CPU的控制字,根據(jù)控制字的內(nèi)容決定各數(shù)據(jù)端口的工作方式。也可以根據(jù)控制字對端口C的每一位進(jìn)行置位和復(fù)位??刂萍拇嫫鞯膬?nèi)容只能寫入而不能讀出。與處理器接口CS*A1A0I/O地址讀操作RD*寫操作WR*00000101001160H61H62H63H讀端口A讀端口B讀端口C非法寫端口A寫端口B寫端口C寫控制字2.8255的引腳功能8255芯片有40根引腳,各引腳信號如圖所示.7.1.38255的工作方式方式0:基本輸入輸出方式適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路方式0輸入時(shí)序datadata輸入端口D0~D7RDCS,A1,A0請?bào)w會這里8255A的數(shù)據(jù)緩沖作用方式0輸出時(shí)序WRdatadata輸出端口D0~D7CS,A1,A08255A對CPU通過它輸出給外設(shè)的數(shù)據(jù)進(jìn)行鎖存方式1輸入引腳:A端口數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中斷允許觸發(fā)器方式1輸入引腳:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號表示B口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)中斷允許觸發(fā)器方式1需借用端口C用做聯(lián)絡(luò)信號同時(shí)還具有中斷請求和屏蔽功能方式1輸入聯(lián)絡(luò)信號STB*——選通信號,低電平有效由外設(shè)提供的輸入信號,當(dāng)其有效時(shí),將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF——輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡(luò)信號。當(dāng)其有效時(shí),表示數(shù)據(jù)已鎖存在輸入鎖存器INTR——中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)方式1輸入時(shí)序dataINTRIBF
data輸入端口D0~D7STBRDSTB*和IBF是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸入數(shù)據(jù)方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位允許中斷,復(fù)位禁止中斷對INTE的操作通過寫入端口C的對應(yīng)位實(shí)現(xiàn),INTE觸發(fā)器對應(yīng)端口C的位是作應(yīng)答聯(lián)絡(luò)信號的輸入信號的哪一位,只要對那一位置位/復(fù)位就可以控制INTE觸發(fā)器選通輸入方式下端口A的INTEA對應(yīng)PC4端口B的INTEB對應(yīng)PC2方式1輸出引腳:A端口外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許觸發(fā)器征用C口3引腳和1個(gè)控制位方式1輸出引腳:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)中斷允許觸發(fā)器征用C口3引腳和1個(gè)控制位方式1輸出聯(lián)絡(luò)信號OBF*——輸出緩沖器滿信號,低有效8255A輸出給外設(shè)的一個(gè)控制信號,當(dāng)其有效時(shí),表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK*——響應(yīng)信號,低有效外設(shè)的響應(yīng)信號,指示8255A的端口數(shù)據(jù)已由外設(shè)接受INTR——中斷請求信號,高有效當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)提供數(shù)據(jù)端口A的INTEA對應(yīng)PC6端口B的INTEB對應(yīng)PC28255外設(shè)CPU內(nèi)總線外總線方式1輸出時(shí)序
INTR
datadata輸出端口D0~D7WROBFACK
OBF*和ACK*是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸出數(shù)據(jù)方式2雙向方式(只有端口A)方式2將方式1的選通輸入輸出功能組合成一個(gè)雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù)只有端口A可以工作于方式2,需要利用端口C的5個(gè)信號線,其作用與方式1相同方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點(diǎn)不同:數(shù)據(jù)輸出時(shí)8255A不是在OBF*有效時(shí)向外設(shè)輸出數(shù)據(jù),而是在外設(shè)提供響應(yīng)信號ACK*時(shí)才送出數(shù)據(jù)方式2雙向選通引腳PC6PC7PC3PA7~PA0INTE1-OBFAINTRA-ACKAPC4PC5IBFA-STBAINTE2數(shù)據(jù)輸入中斷和輸出中斷通過或門輸出INTRA信號征用C口5引腳和2個(gè)控制位中斷允許觸發(fā)器(控制中斷輸出)通過位控PC6設(shè)置INTE1中斷允許觸發(fā)器(控制中斷輸出)通過位控PC4設(shè)置INTE2輸入聯(lián)絡(luò)輸出聯(lián)絡(luò)方式2雙向時(shí)序data-out
INTR
data-outdata-indata-inPA0~PA7D0~D7IBF
WROBFACKSTBRD7.1.4方式控制字及狀態(tài)字1.8255的控制字⑴方式控制字方式控制字用來決定8255的工作方式。它將三個(gè)通道分為兩組,即A口和C口的高4位作為一組(A組),端口B和C組的低4位作為一組(B組)。
方式控制字的格式如下⑵端口C置位/復(fù)位控制字
置位/復(fù)位控制可對C口中的任意一位進(jìn)行置位或者復(fù)位操作。該控制字各位定義如下:2.8255的狀態(tài)字
8255的狀態(tài)字為查詢式輸入/輸出數(shù)據(jù)提供了外設(shè)的工作狀態(tài),如IBF、、INTR等。根據(jù)8255工作在不同的工作方式下,以及各端口作輸入、輸出的不同情況,狀態(tài)字的格式有所不同。值得注意的是,C口的狀態(tài)字與C口各位對外的引腳狀態(tài)不完全一致。D7D6D5D4D3D2D1D0方式1輸入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向OBFAINTE1IBFAINTE2INTRA×××端口C的狀態(tài)字A組B組7.1.58255與CPU的連接
8255占用四個(gè)I/O端口地址,即A口、B口、C口和控制寄存器。在8255的連接使用中,它的8根數(shù)據(jù)線D7~D0與系統(tǒng)數(shù)據(jù)總線相連,A1、A0接地址總線的A1和A0,地址總線高位A9~A2經(jīng)譯碼器譯碼后接片選信號,其控制信號線RESET、讀、寫分別與系統(tǒng)控制總線的RESET、讀、寫信號相連,如圖所示。PC機(jī)中8255的連接
7.1.68255應(yīng)用舉例8255A初始化時(shí),先要寫入控制字;指定它的工作方式,然后才能通過編程;將總線上的數(shù)據(jù)從8255A輸出給外設(shè);將外部設(shè)備的數(shù)據(jù)通過8255A送到CPU中。例7.1利用8255方式0實(shí)現(xiàn)打印機(jī)的接口BUSY
DATA0~78255APC6PC2PA0~PA7打印機(jī)STROBE打印機(jī)接口的信號與時(shí)序BUSYDATA0~7ACKSTROBE主機(jī)把數(shù)據(jù)送給引腳DATA0~DATA7同時(shí)送出數(shù)據(jù)選通信號STROBE*打印機(jī)在BUSY信號線上發(fā)出忙信號打印機(jī)處理好輸入的數(shù)據(jù)時(shí)撤消忙信號同時(shí)又送出一個(gè)響應(yīng)信號ACK*8255A的初始化
MOVAL,10000011B
;將控制字送AL中
MOVDX,0383H
;將控制寄存器端口地址送DX中
OUTDX,AL MOVAL,00001101B
;將PC6設(shè)置為1
MOVDX,AL
;將控制寄存器端口地址送DX中將AL中的字符送到打印機(jī)輸出
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字符送出打印例7.2利用8255方式1實(shí)現(xiàn)打印機(jī)的接口
1000pf2K15321441LS123單穩(wěn)電路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印機(jī)ACKACKOBFSTROBEPC4BUSYBUSY8255A方式1與打印機(jī)接口時(shí)序配合PA0~PA7(DATA0~7)ACKOBFSTROBE方式1時(shí)序打印機(jī)時(shí)序8255A的初始化
MOVAL,10100000B
;將控制字送AL中
MOVDX,0383H
;將控制寄存器端口地址送DX中
OUTDX,AL
MOVAL,00001101B
;將PC6設(shè)置為1
MOVDX,AL
將AL中的字符送到打印機(jī)輸出
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字符送出打印7.2可編程定時(shí)/計(jì)數(shù)器8253/8254定時(shí)控制在微機(jī)系統(tǒng)中極為重要定時(shí)器由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成,通過記錄高精度晶振脈沖信號的個(gè)數(shù),輸出準(zhǔn)確的時(shí)間間隔計(jì)數(shù)電路如果記錄外設(shè)提供的具有一定隨機(jī)性的脈沖信號時(shí),它主要反映脈沖的個(gè)數(shù)(進(jìn)而獲知外設(shè)的某種狀態(tài)),常又稱為計(jì)數(shù)器定時(shí)/計(jì)數(shù)系統(tǒng)的核心器件是8253/8254可編程定時(shí)/計(jì)數(shù)器,它是Intel公司生產(chǎn)的一種通用的定時(shí)/計(jì)數(shù)器芯片(Counter/TimerCircuit,簡稱CTC),或稱為可編程間隔定時(shí)器(ProgrammableIntervalTimer,簡稱PIT)。8253/8254可編程定時(shí)/計(jì)數(shù)器都是采用NMOS工藝制造的雙列直插式封裝芯片,8254是8253的改進(jìn)型,它的引腳信號、硬件組成與8253基本上是相同的,因此8254在工作方式和編程方式上與8253兼容,凡是使用8253的地方均可用8254來代替。
定時(shí)功能的實(shí)現(xiàn)方法軟件延時(shí)——利用微處理器執(zhí)行一個(gè)延時(shí)程序段實(shí)現(xiàn)不可編程的硬件定時(shí)——采用分頻器、單穩(wěn)電路或簡易定時(shí)電路控制定時(shí)時(shí)間可編程的硬件定時(shí)——軟件硬件相結(jié)合、用可編程定時(shí)器芯片構(gòu)成一個(gè)方便靈活的定時(shí)電路8253/8254定時(shí)計(jì)數(shù)器3個(gè)獨(dú)立的16位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器有6種工作方式按二進(jìn)制或十進(jìn)制(BCD碼)計(jì)數(shù)8254是8253的改進(jìn)型7.2.18253的外部引線及內(nèi)部結(jié)構(gòu)1.8253的內(nèi)部結(jié)構(gòu)1.8253的內(nèi)部結(jié)構(gòu)⑴數(shù)據(jù)總線緩沖器該緩沖器為雙向、三態(tài)的8位緩沖器,可直接掛接在數(shù)據(jù)總線上,它是8253與CPU之間的數(shù)據(jù)接口。CPU通過數(shù)據(jù)總線緩沖器將計(jì)數(shù)器初始化,把控制命令字寫入8253的控制寄存器,從8253計(jì)數(shù)器中讀取當(dāng)前計(jì)數(shù)值等。⑵讀/寫邏輯讀/寫邏輯的功能是接收來自CPU的控制信號,包括讀、寫信號和地址信號,實(shí)現(xiàn)對8253各計(jì)數(shù)器和控制寄存器的讀/寫控制。⑶控制寄存器每個(gè)計(jì)數(shù)器都有一個(gè)相應(yīng)的控制寄存器,用于接收CPU送來的方式控制字。控制字將決定計(jì)數(shù)器的工作方式、計(jì)數(shù)形式及輸出方式等。8253的3個(gè)控制寄存器只占用一個(gè)端口地址號,通過控制字高二位的特征標(biāo)志區(qū)分當(dāng)前控制字是發(fā)給哪個(gè)計(jì)數(shù)器的??刂萍拇嫫髦荒軐懭?,不能讀出。⑷計(jì)數(shù)器8253有三個(gè)計(jì)數(shù)器通道:計(jì)數(shù)器0、計(jì)數(shù)器1和計(jì)數(shù)器2。計(jì)數(shù)器結(jié)構(gòu)示意圖預(yù)置寄存器GATECLKOUT減1計(jì)數(shù)器輸出鎖存器計(jì)數(shù)初值存于預(yù)置寄存器;在計(jì)數(shù)過程中,減法計(jì)數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫入鎖存命令時(shí),鎖定當(dāng)前計(jì)數(shù)值2.8253的引腳功能CLK時(shí)鐘輸入信號——在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減1GATE門控輸入信號——控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類型OUT計(jì)數(shù)器輸出信號——當(dāng)一次計(jì)數(shù)過程結(jié)束(計(jì)數(shù)值減為0),OUT引腳上將產(chǎn)生一個(gè)輸出信號1方式控制字計(jì)數(shù)器讀寫格式工作方式數(shù)制D7D6D5D4D3D2D1D000計(jì)數(shù)器001計(jì)數(shù)器110計(jì)數(shù)器211非法00計(jì)數(shù)器鎖存命令01只讀寫低字節(jié)10只讀寫高字節(jié)11先讀寫低字節(jié)后讀寫高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進(jìn)制1十進(jìn)制控制字寫入控制字I/O地址(A1A0=11)7.2.28253的方式控制字和讀/寫操作2.8253的讀寫操作及編程8253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫入控制字寫入計(jì)數(shù)初值讀取計(jì)數(shù)值8254新增讀回命令選擇二進(jìn)制時(shí)計(jì)數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進(jìn)制(BCD碼)計(jì)數(shù)值范圍:0000~99990000代表最大值10000計(jì)數(shù)值寫入計(jì)數(shù)器各自的I/O地址⑴寫操作:寫入計(jì)數(shù)值例7.4利用8253的計(jì)數(shù)器通道2產(chǎn)生頻率為1000Hz的方波。設(shè)計(jì)數(shù)時(shí)鐘脈沖的頻率f=10000Hz。
MOV AL,10110110B
;方式3,通道2,二進(jìn)制,先低后高
OUT COTR,AL
;寫入控制寄存器
MOV
AX,4A7H
;產(chǎn)生10000Hz所需的計(jì)數(shù)初值=f/1000
OUT CTN2,AL
;先寫計(jì)數(shù)初值低字節(jié)
MOV AL,AH
OUT CTN2,AL
;再寫計(jì)數(shù)初值高字節(jié)
例7.5若選擇通道0,工作在方式1,計(jì)數(shù)初值為2350H,按十進(jìn)制計(jì)數(shù),并設(shè)8253的端口地址為40H~43H,則初始化程序段為
MOV AL,33H
;計(jì)數(shù)器0,方式1,十進(jìn)制,先低后高
OUT 43H,AL
;寫入控制寄存器
MOV AL,50H
;計(jì)數(shù)初值低字節(jié)
OUT 40H,AL
;寫入計(jì)數(shù)器0
MOV AL,23H
;計(jì)數(shù)初值高字節(jié)
OUT 40H,AL
;寫入計(jì)數(shù)器0對8位數(shù)據(jù)線,讀取16位計(jì)數(shù)值需分兩次計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行鎖存,然后讀?。合蚩刂谱諭/O地址:給8253寫入鎖存命令從計(jì)數(shù)器I/O地址:讀取鎖存的計(jì)數(shù)值CPU可對8253的計(jì)數(shù)器進(jìn)行讀操作,以讀出計(jì)數(shù)器的當(dāng)前值。讀取計(jì)數(shù)器當(dāng)前值有兩種方法:第一種方法是利用門控GATE信號為低電平或關(guān)閉CLK脈沖,使得計(jì)數(shù)操作暫停,以讀出確定的計(jì)數(shù)值。第二種方法是在計(jì)數(shù)過程中讀出計(jì)數(shù)器值,而不影響計(jì)數(shù)器的工作。讀取計(jì)數(shù)值,要注意讀寫格式和計(jì)數(shù)數(shù)制⑵讀操作例如采用鎖存讀的方法,讀取通道1的16位計(jì)數(shù)值,其程序段如下:
MOVAL,40H
;方式控制字:通道1,鎖存OUTCOTR,AL
;寫入8253的控制寄存器INAL,CNT1
;第一次讀入低8位MOVCL,ALINAL,CNT1
;第二次讀入高8位MOVCH,AL7.2.38253的工作方式
8253的每個(gè)計(jì)數(shù)通道都有6種不同的工作方式可供選擇。這6種工作方式的區(qū)別在于:它們啟動計(jì)數(shù)器進(jìn)行計(jì)數(shù)的觸發(fā)方式不同;計(jì)數(shù)過程中,門控信號GATE對計(jì)數(shù)操作的影響不同;計(jì)數(shù)結(jié)束后,OUT輸出線上的輸出波形不同。下面我們將分別討論這6種工作方式的工作過程和特點(diǎn)。1.方式0(計(jì)數(shù)結(jié)束產(chǎn)生中斷)①②⑤④⑥GATEOUTCLK
031244方式0WR①設(shè)定工作方式②設(shè)定計(jì)數(shù)初值④計(jì)數(shù)值送入計(jì)數(shù)器⑤計(jì)數(shù)過程⑥計(jì)數(shù)結(jié)束2.方式1(可編程單穩(wěn)脈沖)①②⑤④⑥①設(shè)定工作方式②設(shè)定計(jì)數(shù)初值③③硬件啟動④計(jì)數(shù)值送入計(jì)數(shù)器⑤計(jì)數(shù)過程⑥計(jì)數(shù)結(jié)束GATEOUTCLK
031244方式1WR3.方式2(分頻器)03124GATEOUTCLK
4方式2031240312403124WR4.方式3(方波頻率發(fā)生器)03124GATEOUTCLK
4方式3031240312403124WR5.方式4(軟件觸發(fā)選通)GATEOUTCLK031244方式42233310WR6.方式5(硬件觸發(fā)選通)GATEOUTCLK031244方式522333110WR各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N017.3可編程串行接口82517.3.1串行通信概述串行通信:將數(shù)據(jù)分解成二進(jìn)制位用一條信號線,一位一位順序傳送的方式串行通信的優(yōu)勢:用于通信的線路少,因而在遠(yuǎn)距離通信時(shí)可以極大地降低成本串行通信適合于遠(yuǎn)距離數(shù)據(jù)傳送,也常用于速度要求不高的近距離數(shù)據(jù)傳送PC系列機(jī)上有兩個(gè)串行異步通信接口、鍵盤、鼠標(biāo)器與主機(jī)間采用串行數(shù)據(jù)傳送1.串行通信接口的基本任務(wù)⑴實(shí)現(xiàn)數(shù)據(jù)格式化⑶控制數(shù)據(jù)傳輸速率⑷進(jìn)行錯(cuò)誤檢測⑸進(jìn)行TTL與EIA電平轉(zhuǎn)換⑵進(jìn)行串-并轉(zhuǎn)換⑹提供EIA-RS-232C接口標(biāo)準(zhǔn)所要求的信號線2.串行通信接口的組成串行接口是通過系統(tǒng)總線和CPU相連,串行接口部件的典型結(jié)構(gòu)如圖所示。主要由控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器4部分組成。
3.串行通信的有關(guān)概念⑴發(fā)送時(shí)鐘和接收時(shí)鐘把二進(jìn)制數(shù)據(jù)序列稱為比特組,由發(fā)送器發(fā)送到傳輸線上,再由接收器從傳輸線上接收。①發(fā)送時(shí)鐘:串行數(shù)據(jù)的發(fā)送由發(fā)送時(shí)鐘控制,數(shù)據(jù)發(fā)送過程是:把并行的數(shù)據(jù)序列送入移位寄存器,然后通過移位寄存器由發(fā)送時(shí)鐘觸發(fā)進(jìn)行移位輸出,數(shù)據(jù)位的時(shí)間間隔可由發(fā)送時(shí)鐘周期來劃分。②接收時(shí)鐘:串行數(shù)據(jù)的接收是由接收時(shí)鐘來檢測,數(shù)據(jù)接收過程是:傳輸線上送來的串行數(shù)據(jù)序列由接收時(shí)鐘作為移位寄存器的觸發(fā)脈沖,逐位打入移位寄存器。接收過程就是將串行數(shù)據(jù)序列,逐位移入移位寄存器后組成并行數(shù)據(jù)序列的過程。⑵DTE和DCE①數(shù)據(jù)終端設(shè)備(簡稱DTE):是對屬于用戶所有聯(lián)網(wǎng)設(shè)備和工作站的統(tǒng)稱,它們是數(shù)據(jù)的源或目的或者即是源又是目的。例如:數(shù)據(jù)輸入/輸出設(shè)備,通信處理機(jī)或各種大、中、小型計(jì)算機(jī)等。②數(shù)據(jù)電路終端設(shè)備或數(shù)據(jù)通信設(shè)備(簡稱DCE):DCE是對網(wǎng)絡(luò)設(shè)備的統(tǒng)稱,該設(shè)備為用戶設(shè)備提供入網(wǎng)的連接點(diǎn)。自動呼叫/應(yīng)答設(shè)備、調(diào)制解調(diào)器Modem和其他一些中間設(shè)備均屬DCE。⑶信道信道是傳輸信息所經(jīng)過的通道,是連接2個(gè)DTE的線路,它包括傳輸介質(zhì)和有關(guān)的中間設(shè)備。4.串行通信中的工作方式⑴單工工作方式⑵半雙工工作方式⑶全雙工工作方式傳輸制式全雙工站A站B站A站B站A站B半雙工單工5.同步通信和異步通信方式⑴同步通信方式同步通信方式的特點(diǎn)是:由一個(gè)統(tǒng)一的時(shí)鐘控制發(fā)送方和接收方,若干字符組成一個(gè)信息組,字符要一個(gè)接著一個(gè)傳送;沒有字符時(shí),也要發(fā)送專用的“空閑”字符或者是同步字符,因?yàn)橥絺鬏敃r(shí),要求必須連續(xù)傳送字符,每個(gè)字符的位數(shù)要相同,中間不允許有間隔。⑵異步通信方式異步通信的特點(diǎn)是:字符是一幀一幀的傳送,每一幀字符的傳送靠起始位來同步。在數(shù)據(jù)傳輸過程中,傳輸線上允許有空字符。所謂異步通信,是指通信中兩個(gè)字符的時(shí)間間隔是不固定的,而在同一字符中的兩個(gè)相鄰代碼間的時(shí)間間隔是固定的通信。異步通信中發(fā)送方和接收方的時(shí)鐘頻率也不要求完全一樣,但不能超過一定的允許范圍。6.通信中必須遵循的規(guī)定⑴字符格式的規(guī)定
通信中,傳輸字符的格式要按規(guī)定寫,圖7.35是異步通信的字符格式。在異步傳輸方式每個(gè)字符在傳送時(shí),前面必須加一個(gè)起始位,后面必須加停止位來結(jié)束,停止位可以為1位,1.5位,2位。奇、偶校驗(yàn)位可以加也可以不加。⑵比特率、波特率(baudrate)①比特率:比特率作為串行傳輸中數(shù)據(jù)傳輸速度的測量單位,用每秒傳輸?shù)亩M(jìn)制數(shù)的位數(shù)bit/s(位/秒)來表示。②波特率:波特率是用來描述每秒鐘內(nèi)發(fā)生二進(jìn)制信號的事件數(shù),用來表示一個(gè)二進(jìn)制數(shù)據(jù)位的持續(xù)時(shí)間。7.調(diào)制解調(diào)器調(diào)制(Modulating)把數(shù)字信號轉(zhuǎn)換為電話線路傳送的模擬信號解調(diào)(Demodulating)將電話線路的模擬信號轉(zhuǎn)換為數(shù)字信號調(diào)制解調(diào)器MODEM具有調(diào)制和解調(diào)功能的器件合制在一個(gè)裝置7.3.28251的外部引線及內(nèi)部結(jié)構(gòu)8251實(shí)現(xiàn)了起止式串行異步通信協(xié)議,支持全雙工通信通信字符可選擇數(shù)據(jù)位為5~8位停止位1、1.5或2位可進(jìn)行奇偶校驗(yàn)具有奇偶、幀和溢出錯(cuò)誤檢測電路8251支持的數(shù)據(jù)傳輸速率為0~19.2Kbps1.8251的內(nèi)部結(jié)構(gòu)及性能⑴數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器通過8位數(shù)據(jù)線D7~D0和CPU的數(shù)據(jù)總線相連,負(fù)責(zé)把接收口接收到的信息送給CPU,或把CPU發(fā)來的信息送給發(fā)送口。⑵讀/寫控制邏輯讀/寫控制邏輯接收與讀/寫有關(guān)的控制信號⑶發(fā)送緩沖器與發(fā)送控制電路發(fā)送緩沖器包括發(fā)送移位寄存器和數(shù)據(jù)輸出寄存器,發(fā)送移位寄存器通過8251芯片的TxD管腳將串行數(shù)據(jù)發(fā)送出去。⑷接收緩沖器與接收控制電路
接收緩沖器包括接收移位寄存器和數(shù)據(jù)輸入寄存器。串行輸入的數(shù)據(jù)通過8251芯片的RxD管腳逐位進(jìn)入接收移位寄存器,然后變成并行格式進(jìn)入數(shù)據(jù)輸入寄存器,等待CPU取走。接收控制電路是用來控制數(shù)據(jù)接收工作。⑸調(diào)制/解調(diào)器控制邏輯。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)財(cái)務(wù)培訓(xùn)新方案:以員工基礎(chǔ)知識培養(yǎng)為核心
- 會所廚師合同范例
- 2025年硫精砂項(xiàng)目合作計(jì)劃書
- 農(nóng)村廢棄大坑合同范本
- 包裝蔬菜合同范本
- 農(nóng)用禮品贈送合同范本
- 企業(yè) 個(gè)人借貸合同范本
- 勞務(wù)派遣合同范本新
- 古建勞務(wù)生產(chǎn)合同范本
- 農(nóng)村房屋購買合同范本
- GB/T 25146-2010工業(yè)設(shè)備化學(xué)清洗質(zhì)量驗(yàn)收規(guī)范
- GB/T 2007.1-1987散裝礦產(chǎn)品取樣、制樣通則手工取樣方法
- 交流課:資本主義世界市場的形成
- 城市社會學(xué)(2015)課件
- 年產(chǎn)2萬噸馬來酸二乙酯技改建設(shè)項(xiàng)目環(huán)評報(bào)告書
- 中國古代文論教程完整版課件
- 中班美工區(qū)角活動教案10篇
- SJG 103-2021 無障礙設(shè)計(jì)標(biāo)準(zhǔn)-高清現(xiàn)行
- 皇冠假日酒店智能化系統(tǒng)安裝工程施工合同范本
- 路面工程重點(diǎn)、關(guān)鍵、和難點(diǎn)工程的施工方案(技術(shù)標(biāo))
- 合肥市城市大腦·數(shù)字底座白皮書2020
評論
0/150
提交評論