




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第七章 微機(jī)接口及其應(yīng)用,內(nèi)容提要:1 接口概述 2 串行接口與通信 3 通用串行接口標(biāo)準(zhǔn) 4 并行接口與通信 本章重點(diǎn): 8251A的基本性能,8251A的內(nèi)部結(jié)構(gòu),8251A的引腳功能。 串行接口與通信概述,串行通信接口,通信規(guī)程和通信標(biāo)準(zhǔn) 8251A的編程,8251A應(yīng)用舉例。 8255A的工作方式,8255A的編程及應(yīng)用。,1 接口概述,所謂接口指位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路,被稱為I/O接口電路。 一、設(shè)置接口的原因 1.微機(jī)的外部設(shè)備多種多樣 2. 工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大 3.它們不能與CPU直接相連 除了上面這些原
2、因外,外設(shè)的工作速度通常比CPU的速度低得多,而且各種外設(shè)的工作速度互不相同,這就要求接口電路對輸入輸出過程能起一個(gè)緩沖和聯(lián)絡(luò)的作用。,二、接口功能, 尋址能力:對送來的片選信號進(jìn)行識別。 輸入/輸出功能:根據(jù)讀/寫信號決定當(dāng)前進(jìn)行的是輸入操作還是輸出操作。 數(shù)據(jù)轉(zhuǎn)換功能:并行數(shù)據(jù)向串行數(shù)據(jù)的轉(zhuǎn)換或串行數(shù)據(jù)向并行數(shù)據(jù)的轉(zhuǎn)換。 聯(lián)絡(luò)功能:就緒信號,忙信號等。 中斷管理:發(fā)出中斯請求信號、接收中斷響應(yīng)信號、發(fā)送中斷類型碼的功能。并具有優(yōu)先級管理功能。, 復(fù)位:接收復(fù)位信號,從而使接口本身以及所連的外設(shè)進(jìn)行重新啟動(dòng)。 可編程:用軟件來決定其工作方式,用軟件來設(shè)置有關(guān)的控制信號。 錯(cuò)誤檢測:一類是傳輸
3、錯(cuò)誤。另一類是覆蓋錯(cuò)誤。 注:一些接口還可根據(jù)具體情況設(shè)置其它的檢測信息。,三、I/O接口與系統(tǒng)的連接 1.CPU與I/O設(shè)備之間的信號(三類) (1)數(shù)據(jù)信息 包括三種形式:數(shù)字量、模擬量 、開關(guān)量 (2)狀態(tài)信息 是外設(shè)通過接口往CPU傳送的,如:“準(zhǔn)備好”(READY)信號、“忙”(BUSY)信號 (3)控制信息 是CPU通過接口傳送給外設(shè)的,如:外設(shè)的啟動(dòng)信號、停止信號就是常見的控制信息,2.接口部件的I/O端口: 數(shù)據(jù)端口、控制端口、狀態(tài)端口 CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口,每個(gè)端口有一個(gè)端口地址。用于對來自CPU和內(nèi)存的數(shù)
4、據(jù)或者送往CPU和內(nèi)存的數(shù)據(jù)起緩沖作用的,這些端口叫數(shù)據(jù)端口。用來存放外部設(shè)備或者接口部件本身的狀態(tài),稱為狀態(tài)端口。用來存放CPU發(fā)出的命令,以便控制接口和設(shè)備的動(dòng)作,這類端口叫控制端口。如圖7-1所示:,圖7-1 I/O端口分類,注:輸入還是輸出,所用到的地址總是對端口而言的,不是對接口部件而言的。 為了節(jié)省地址空間,將數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口對應(yīng)同一個(gè)端口地址。同樣,狀態(tài)端口和控制端口也常用同一個(gè)端口地址。 CPU對外設(shè)的輸入/輸出操作就歸結(jié)為對接口芯片各端口的讀/寫操作。,3.接口與系統(tǒng)的連接. 接口電路位于CPU與外設(shè)之間,從結(jié)構(gòu)上看,可以把一個(gè)接口分為兩個(gè)部分: 用來和I/O設(shè)備相
5、連; 用來和系統(tǒng)總線相連,這部分接口電路結(jié)構(gòu)類似,連在同一總線上。 圖7-2是一個(gè)典型的I/O接口和外部電路的連接圖:,圖7-2 I/O接口和外部電路的連接圖,聯(lián)絡(luò)信號:讀/寫信號,以便決定數(shù)據(jù)傳輸方向。 地址譯碼器,片選信號:地址譯碼器除了接收地址信號外,還用來區(qū)分I/0地址空間和內(nèi)存地址空間的信號(M/)用于譯碼過程。 注:一個(gè)接口通常有若干個(gè)寄存器可讀/寫, 一般用1-2位低位地址結(jié)合讀/寫信號來實(shí) 現(xiàn)對接口內(nèi)部寄存器的尋址。,4.輸入輸出的尋址方式 CPU對外設(shè)的尋址方式通常有兩種: (1) 存儲器對應(yīng)輸入輸出方式 每一個(gè)外設(shè)端口占有存儲器的一個(gè)地址。 優(yōu)點(diǎn):CPU對外設(shè)的操作可使用全
6、部的存儲器操作指令,尋址方式多,使用方便靈活,且可尋址的外設(shè)數(shù)量多。 缺點(diǎn):由于外設(shè)占用了存儲單元的地址,使內(nèi)存的容量減小,同時(shí),程序的可讀性下降。,(2) 端口尋址的輸入輸出方式 CPU有專門的輸入輸出指令( IN, OUT),通過這些指令中的地址來區(qū)分不同的外設(shè)。 優(yōu)點(diǎn):容易掌握,編出的程序可讀性好。 缺點(diǎn):可尋址的范圍較小,還必須有相應(yīng)的控制線(M/)來區(qū)分是尋址內(nèi)存還是外設(shè)。,2串行接口與通信,一、串行接口與通信概述 (一)并行通信與串行通信 并行通信:是指利用多條數(shù)據(jù)傳輸線將一個(gè)數(shù)據(jù)的各位同時(shí)傳送。 特點(diǎn):是傳輸速度快,適用于短距離通信。 串行通信:是指利用一條傳輸線將數(shù)據(jù)一位位地順
7、序傳送。 特點(diǎn):是通信線路簡單,利用電話或電報(bào)線路就可實(shí)現(xiàn)通信,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢。,(二)串行通信方式 串行通信:分為同步通信(SYNC)與異步通信(ASYNC)兩種方式。 1.異步通信及其協(xié)議 異步通信以一個(gè)字符為傳輸單位,通信中兩個(gè)字符間的時(shí)間間隔是不固定的,然而在同一個(gè)字符中的兩個(gè)相鄰位代碼間的時(shí)間間隔是固定的。 通信協(xié)議(通信規(guī)程):是通信雙方約定的一些規(guī)則。,傳送一個(gè)字符的信息格式:規(guī)定有起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位等,其中各位的意義如下: 圖7-3 異步串行傳輸數(shù)據(jù)的格式,起始位:先發(fā)出一個(gè)邏輯”0”信號,表示傳輸字符的開始。 數(shù)據(jù)位:緊接著起始位之后
8、。數(shù)據(jù)位的個(gè)數(shù)可以是4-8位,構(gòu)成一個(gè)字符。通常采用ASCII碼。從最低位開始傳送,靠時(shí)鐘定位。 奇偶校驗(yàn)位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來校驗(yàn)數(shù)據(jù)傳送的正確性。 停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、1.5位、2位的高電平。 空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有數(shù)據(jù)傳送。,波特率:是衡量數(shù)據(jù)傳送速率的指標(biāo)。表示每秒鐘傳送的二進(jìn)制位數(shù)。例如數(shù)據(jù)傳送速率為120字符/秒,而每一個(gè)字符為10位,則其傳送的波特率為101201200字符/秒1200波特。 注:異步通信是按字符傳輸?shù)?,接收設(shè)備在收到起始信號之后只要在一個(gè)字符的傳輸時(shí)間
9、內(nèi)能和發(fā)送設(shè)備保持同步就能正確接收。下一個(gè)字符起始位的到來又使同步重新校準(zhǔn)。,2.同步串行通信及其規(guī)程 同步通信以一個(gè)幀為傳輸單位,每個(gè)幀中包含有多個(gè)字符。在通信過程中,每個(gè)字符間的時(shí)間間隔是相等的,而且每個(gè)字符中各相鄰位代碼間的時(shí)間間隔也是固定的。同步通信的數(shù)據(jù)格式如圖7-4所示 圖7-4 同步串行傳輸數(shù)據(jù)的格式,同步通信的規(guī)程有以下兩種: 面向比特(bit)型規(guī)程:以二進(jìn)制位作為信息單位?,F(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)大多采用此類規(guī)程。最典型的是HDLC(高級數(shù)據(jù)鏈路控制)通信規(guī)程。 面向字符型規(guī)程:以字符作為信息單位。字符是EBCD碼或ASCII碼。最典型的是IBM公司的二進(jìn)制同步控制規(guī)程(BSC規(guī)程)
10、。在這種控制規(guī)程下,發(fā)送端與接收端采用交互應(yīng)答式進(jìn)行通信。,(三)數(shù)據(jù)傳送方式 根據(jù)數(shù)據(jù)傳送方向的不同有以下三種方式。如圖7-5所示。 (a)單工方式 (b)半雙工方式 (c)全雙工方式,(1)單工方式:只允許數(shù)據(jù)按照一個(gè)固定的方向傳送,即一方只能作為發(fā)送站,另一方只能作為接收站。 (2)半雙工方式:“數(shù)據(jù)能從A站傳送到B站,也能從B站傳送到A站,但是不能同時(shí)在兩個(gè)方向上傳送,每次只能有一個(gè)站發(fā)送,另一個(gè)站接收。通信雙方可以輪流地進(jìn)行發(fā)送和接收。 (3)全雙工方式:允許通信雙方同時(shí)進(jìn)行發(fā)送和接收。這時(shí),A站在發(fā)送的同時(shí)也可以接收,B站亦同。全雙工方式相當(dāng)于把兩個(gè)方向相反的單工方式組合在一起,因
11、此它需要兩條傳輸線。 在計(jì)算機(jī)串行通訊中主要使用半雙工和全雙工方式。,(四)信號傳輸方式 1基帶傳輸方式 在傳輸線路上直接傳輸不加調(diào)制的二進(jìn)制信號,如圖7-6所示。它要求傳送線的頻帶較寬,傳輸?shù)臄?shù)字信號是矩形波。 基帶傳輸方式僅適宜于近距離和速度較低的通信。,2頻帶傳輸方式 傳輸經(jīng)過調(diào)制的模擬信號 在長距離通信時(shí),發(fā)送方要用調(diào)制器把數(shù)字信號轉(zhuǎn)換成模擬信號,接收方則用解調(diào)器將接收到的模擬信號再轉(zhuǎn)換成數(shù)字信號,這就是信號的調(diào)制解調(diào)。 實(shí)現(xiàn)調(diào)制和解調(diào)任務(wù)的裝置稱為調(diào)制解調(diào)器(MODEM)。采用頻帶傳輸時(shí),通信雙方各接一個(gè)調(diào)制解調(diào)器,將數(shù)字信號寄載在模擬信號(載波)上加以傳輸。因此,這種傳輸方式也稱為
12、載波傳輸方式。這時(shí)的通信線路可以是電話交換網(wǎng),也可以是專用線。,常用的調(diào)制方式有三種:調(diào)幅、調(diào)頻和調(diào)相,分別如圖7-7所示。,(五)串行接口標(biāo)準(zhǔn) 串行接口標(biāo)準(zhǔn):指的是計(jì)算機(jī)或終端(數(shù)據(jù)終端設(shè)備DTE)的串行接口電路與調(diào)制解調(diào)器MODEM等(數(shù)據(jù)通信設(shè)備DCE)之間的連接標(biāo)準(zhǔn)。 1RS-232C標(biāo)準(zhǔn) RS-232C是一種標(biāo)準(zhǔn)接口,D型插座,采用25芯引腳或9芯引腳的連接器,如圖7-8所示。,圖7-8 RS-232C標(biāo)準(zhǔn)接口,微型計(jì)算機(jī)之間的串行通信就是按照RS-232C標(biāo)準(zhǔn)設(shè)計(jì)的接口電路實(shí)現(xiàn)的。如果使用一根電話線進(jìn)行通信,那么計(jì)算機(jī)和MODEM之間的連線就是根據(jù)RS-232C標(biāo)準(zhǔn)連接的。其連接及
13、通信原理如圖7-9所示,信號線 RS-232C標(biāo)準(zhǔn)規(guī)定接口有25根連線。只有以下9個(gè)信號經(jīng)常使用。引腳和功能分別如下: TXD(第2腳):發(fā)送數(shù)據(jù)線,輸出。發(fā)送數(shù)據(jù)到MODEM。 RXD(第3腳):接收數(shù)據(jù)線,輸入。接收數(shù)據(jù)到計(jì)算機(jī)或終端。 RTS(第4腳):請求發(fā)送,輸出。計(jì)算機(jī)通過此引腳通知MODEM,要求發(fā)送數(shù)據(jù)。 CTS(第5腳):允許發(fā)送,輸入。發(fā)出CTS作為對RTS的回答,計(jì)算機(jī)才可以進(jìn)行發(fā)送數(shù)據(jù)。,DSR(第6腳):數(shù)據(jù)裝置就緒(即MODEM準(zhǔn)備好),輸入。表示調(diào)制解調(diào)器可以使用,該信號有時(shí)直接接到電源上,這樣當(dāng)設(shè)備連通時(shí)即有效。 CD(第8腳):載波檢測(接收線信號測定器),輸
14、入。表示MODEM已與電話線路連接好。如果通信線路是交換電話的一部分,則至少還需如下兩個(gè)信號: RI (第22腳):振鈴指示,輸入。MODEM若接到交換臺送來的振鈴呼叫信號,就發(fā)出該信號來通知計(jì)算機(jī)或終端。 DTR(第20腳):數(shù)據(jù)終端就緒,輸出。計(jì)算機(jī)收到RI信號以后,就發(fā)出DTR信號到MODEM作為回答,以控制它的轉(zhuǎn)換設(shè)備,建立通信鏈路。 GND(第7腳):地,邏輯電平 RS-232C標(biāo)準(zhǔn)采用EIA電平, 規(guī)定:“1”的邏輯電平在-3V-15v之間, “0”的邏輯電平在+3V+15V之間。 由于EIA電平與TTL電平完全不同,必須進(jìn)行相應(yīng)的電平轉(zhuǎn)換, MCl488完成TTL電平到EIA電平
15、的轉(zhuǎn)換,MCl489完成EIA電平到ITL電平的轉(zhuǎn)換。 除了RS-232C標(biāo)準(zhǔn)以外,還有一些其它的通用的串行接口標(biāo)準(zhǔn),如:RS-423A、RS-422A、RS-485等。,2RS-423A總線 為了克服RS-232C的缺點(diǎn),提高傳送效率,增加通信距離,又考慮到與RS-232C的兼容性,美國電子工業(yè)協(xié)會在1987年提出了RS-423A總線標(biāo)準(zhǔn)。RS-423A的接口電路如圖7-10所示。,該標(biāo)準(zhǔn)的主要優(yōu)點(diǎn)是在接收端采用了差分輸入。而差分輸入對共模干擾信號有較高的抑制作用,這樣就提高了通信的可靠性。RS-423A用-6v表示邏輯“1”,用+6v表示邏輯“0”,可以直接與RS-232C相接。采用RS-
16、423A標(biāo)準(zhǔn)以獲得比RS-232C更佳的通信效果。,3RS-422A總線 RS-422A總線采用平衡輸出的發(fā)送器,差分輸入的接收器。如圖7-11所示。 圖7-11 RS-422A平衡輸出差分輸入圖,RS-422A的輸出信號線間的電壓為2v,接收器的識別電壓為0.2v。共模范圍25v。在高速傳送信號時(shí),應(yīng)該考慮到通信線路的阻抗匹配,一般在接收端加終端電阻以吸收掉反射波。電阻網(wǎng)絡(luò)也應(yīng)該是平衡的,如圖7-12所示。,4RS-485總線 RS-485適用于收發(fā)雙方共用一對線進(jìn)行通信,也適用于多個(gè)點(diǎn)之間共用一對線路進(jìn)行總線方式聯(lián)網(wǎng),通信只能是半雙工的,線路如圖7-13所示。,典型的RS232到RS422
17、/485轉(zhuǎn)換芯片有: MAX481/483/485/487/488/489/490/491,SN75175/176/184等等,它們均只需單一+5v電源供電即可工作。具體使用方法可查閱有關(guān)技術(shù)手冊。,習(xí)題與思考: 1.串行通信和并行通信有什么異同?它們各自的優(yōu)缺點(diǎn)是什么? 2. RS-232C的最基本數(shù)據(jù)傳送引腳是哪幾根? 3. 為什么要在RS-232C與TTL之間加電平轉(zhuǎn)換器件。一般采用那些轉(zhuǎn)換器件,請以圖說明。 4. 調(diào)制解調(diào)器的功能是什么?如何利用Modem的控制信號進(jìn)行通信的聯(lián)絡(luò)控制?,二、可編程串行接口芯片8251A的基本性能 (一)基本性能 8251A是可編程的串行通信接口芯片,基
18、本性能: 1兩種工作方式: 同步方式:波特率為064K, 異步方式:波特率為019.2K。 2同步方式下的格式 每個(gè)字符可以用5、6、7或8位來表示,并且內(nèi)部能自動(dòng)檢測同步字符,從而實(shí)現(xiàn)同步。除此之外,8251A也允許同步方式下增加奇/偶校驗(yàn)位進(jìn)行校驗(yàn)。,3異步方式下的格式 每個(gè)字符也可以用5、6、7或8位來表示,時(shí)鐘頻率為傳輸波特率的1、16或64倍,用1位作為奇/偶校驗(yàn)。1個(gè)啟動(dòng)位。并能根據(jù)編程為每個(gè)數(shù)據(jù)增加1個(gè)、15個(gè)或2個(gè)停止位。可以檢查假啟動(dòng)位,自動(dòng)檢測和處理終止字符。 4全雙工的工作方式 其內(nèi)部提供具有雙緩沖器的發(fā)送器和接收器。 5提供出錯(cuò)檢測 具有奇偶、溢出和幀錯(cuò)誤三種校驗(yàn)電路。
19、,(二)8251A的內(nèi)部結(jié)構(gòu) 8251A的內(nèi)部結(jié)構(gòu)如圖7-14所示:,1.發(fā)送器 發(fā)送器由發(fā)送緩沖器和發(fā)送控制電路兩部分組成。 采用異步方式,則由發(fā)送控制電路在其首尾加上起始位和停止位,然后從起始位開始,經(jīng)移位寄存器從數(shù)據(jù)輸出線TXD逐位串行輸出。 采用同步方式,則在發(fā)送數(shù)據(jù)之前,發(fā)送器將自動(dòng)送出1個(gè)或2個(gè)同步字符,然后才逐位串行輸出數(shù)據(jù)。 如果CPU與8251A之間采用中斷方式交換信息,那么TXRDY可作為向CPU發(fā)出的中斷請求信號。當(dāng)發(fā)送器中的8位數(shù)據(jù)串行發(fā)送完畢時(shí),由發(fā)送控制電路向CPU發(fā)出TXE有效信號,表示發(fā)送器中移位寄存器已空。,2.接收器 接收器由接收緩沖器和接收控制電路兩部分組
20、成。 接收移位寄存器從RXD引腿上接收串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)后存入接收緩沖器。 異步方式:在RXD線上檢測低電平,將檢測到的低電平作為起始位, 8251A開始進(jìn)行采樣,完成字符裝配,并進(jìn)行奇偶校驗(yàn)和去掉停止位,變成了并行數(shù)據(jù)后,送到數(shù)據(jù)輸入寄存器,同時(shí)發(fā)出RXRDY信號送CPU,表示已經(jīng)收到一個(gè)可用的數(shù)據(jù)。,同步方式:首先搜索同步字符。8251A監(jiān)測RXD線,每當(dāng)RXD線上出現(xiàn)一個(gè)數(shù)據(jù)位時(shí),接收下來并送入移位寄存器移位,與同步字符寄存器的內(nèi)容進(jìn)行比較,如果兩者不相等,則接收下一位數(shù)據(jù),并且重復(fù)上述比較過程。當(dāng)兩個(gè)寄存器的內(nèi)容比較相等時(shí),8251A的SYNDET升為高電平,表示同步字符已經(jīng)找到,
21、同步已經(jīng)實(shí)現(xiàn)。,采用雙同步方式,就要在測得輸入移位寄存器的內(nèi)容與第一個(gè)同步字符寄存器的內(nèi)容相同后,再繼續(xù)檢測此后輸入移位寄存器的內(nèi)容是否與第二個(gè)同步字符寄存器的內(nèi)容相同。如果相同,則認(rèn)為同步已經(jīng)實(shí)現(xiàn)。 在外同步情況下,同步輸入端SYNDET加一個(gè)高電位來實(shí)現(xiàn)同步的。 實(shí)現(xiàn)同步之后,接收器和發(fā)送器間就開始進(jìn)行數(shù)據(jù)的同步傳輸。這時(shí),接收器利用時(shí)鐘信號對RXD線進(jìn)行采樣,并把收到的數(shù)據(jù)位送到移位寄存器中。在RXRDY引腳上發(fā)出一個(gè)信號,表示收到了一個(gè)字符。,3.數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是CPU與8251A之間的數(shù)據(jù)接口。包含3個(gè)8位的緩沖寄存器:兩個(gè)寄存器分別用來存放CPU向8251A讀取的數(shù)
22、據(jù)或狀態(tài)信息。一個(gè)寄存器用來存放CPU向8251A寫入的數(shù)據(jù)或控制。,5.讀/寫控制電路: 讀/寫控制電路用來配合數(shù) 據(jù)總線緩沖器的工作。功能如下: (1)接收寫信號,并將來自數(shù)據(jù)總線的數(shù)據(jù)和控制字寫入8251A; (2)接收讀信號,并將數(shù)據(jù)或狀態(tài)字從8251A送往數(shù)據(jù)總線; (3)接收控制/數(shù)據(jù)信號C/,高電平時(shí)為控制字或狀態(tài)字;低電平時(shí)為數(shù)據(jù)。 (4)接收時(shí)鐘信號CLK完成8251A的內(nèi)部定時(shí); (5)接收復(fù)位信號RESET,使8251A處于空閑狀態(tài)。 6.調(diào)制解調(diào)控制電路: 調(diào)制解調(diào)控制電路用來簡化8251A和調(diào)制解調(diào)器的連接。,(三)8251A的引腳功能 1.8251A和CPU之間的連
23、接信號,8251A和CPU之間的連接信號可以分為四類: (1)片選信號 :由CPU的地址信號通過譯碼后得到。 (2)數(shù)據(jù)信號 D0-D7:8位,三態(tài),雙向數(shù)據(jù)線,與系統(tǒng)的數(shù)據(jù)總線相連。傳輸CPU對8251A的編程命令字和8251A送往CPU的狀態(tài)信息及數(shù)據(jù)。,(3)讀/寫控制信號: 讀信號,低電平時(shí), CPU當(dāng)前正在從8251A讀取數(shù)據(jù)或者狀態(tài)信息。 寫信號,低電乎時(shí), CPU當(dāng)前正在往8251A寫入數(shù)據(jù)或者控制信息。 C/:控制/數(shù)據(jù)信號,用來區(qū)分當(dāng)前讀/寫的是數(shù)據(jù)還是控制信息或狀態(tài)信息。該信號也可看作是8251A數(shù)據(jù)口/控制口的選擇信號。 由此可知,這3個(gè)信號的組合,決定了8251A的具體
24、操作。 注:數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口合用同一個(gè)偶地址,而狀態(tài)端口和控制端口合用同一個(gè)奇地址。,(4) 收發(fā)聯(lián)絡(luò)信號 TXRDY:發(fā)送器準(zhǔn)備好信號,用來通知CPU, 8251A已準(zhǔn)備好發(fā)送一個(gè)字符。 TXE:發(fā)送器空信號,TXE為高電平時(shí)有效,用來表示此時(shí)8251A發(fā)送器中并行到串行轉(zhuǎn)換器空,說明一個(gè)發(fā)送動(dòng)作已完成。 RXRDY:接收器準(zhǔn)備好信號,用來表示當(dāng)前8251A已經(jīng)從外部設(shè)備或調(diào)制解調(diào)器接收到一個(gè)字符,等待CPU來取走。因此,在中斷方式時(shí),RXRDY可用來作為中斷請求信號;在查詢方式時(shí),RXRDY可用來作為查詢信號。 SYNDET:同步檢測信號,只用于同步方式。,2.8251A與外部設(shè)
25、備之間的連接信號 8251A與外部設(shè)備之間的連接信號分為兩類: (1) 收發(fā)聯(lián)絡(luò)信號 數(shù)據(jù)終端準(zhǔn)備好信號,通知外部設(shè)備,CPU當(dāng)前已經(jīng)準(zhǔn)備就緒。 數(shù)據(jù)設(shè)備準(zhǔn)備好信號,表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備好。 請求發(fā)送信號,表示CPU已經(jīng)準(zhǔn)備好發(fā)送。 允許發(fā)送信號,是對請求信號的響應(yīng),由外設(shè)送往8251A。 實(shí)際使用時(shí),這4個(gè)信號中通常只有必須為低電平,其它3個(gè)信號可以懸空。,(2)數(shù)據(jù)信號 TXD:發(fā)送器數(shù)據(jù)輸出信號。當(dāng)CPU送往8251A的并行數(shù)據(jù)被轉(zhuǎn)變?yōu)榇袛?shù)據(jù)后,通過TXD送往外設(shè)。 RXD:接收器數(shù)據(jù)輸入信號。用來接收外設(shè)送來的串行數(shù)據(jù),數(shù)據(jù)進(jìn)入8251A后被轉(zhuǎn)變?yōu)椴⑿蟹绞健?3. 時(shí)鐘、電源和地 C
26、LK:時(shí)鐘輸入,產(chǎn)生8251A的內(nèi)部時(shí)序。 同步方式下,大于接收數(shù)據(jù)或發(fā)送數(shù)據(jù)的波特率的30倍, 異步方式下,則要大于數(shù)據(jù)波特率的4.5倍。 TXD:發(fā)送器時(shí)鐘輸入,控制發(fā)送字符的速度。 同步方式下,TXC的頻率等于字符傳輸?shù)牟ㄌ芈剩?異步方式下,TXC的頻率可以為字符傳輸波特率的1倍、16倍或者64倍。 RXD:接收器時(shí)鐘輸入,控制接收字符的速度,和TXC一樣。 在實(shí)際使用時(shí),RXC和TXC往往連在一起,由同一個(gè)外部時(shí)鐘來提供, CLK則由另一個(gè)頻率較高的外部時(shí)鐘來提供。 VCC:電源輸入 GND:地,習(xí)題與思考: 18251內(nèi)部有哪些寄存器?分別舉例說明它們的作用和使用方法。 28251內(nèi)
27、部有哪幾個(gè)端口?它們的作用分別是什么? 38251的引腳分為哪幾類?分別說明它們的功能。,三、8251A的編程 編程的內(nèi)容包括兩大方面: 是由CPU發(fā)出的控制字,即方式選擇控制字和操作命令控制字; 是由8251A向CPU送出的狀態(tài)字,1.方式選擇控制字(模式字) 方式選擇控制字的格式如圖7-16所示。,2.操作命令控制字(控制字) 操作命令控制字的格式如下:,3.狀態(tài)字 狀態(tài)字的格式如下:,例如,若要查詢8251A接收器是否準(zhǔn)備好,則可用下列程序段完成: MOV DX,0FFF2H ;狀態(tài)口 L: IN AL,DX ;讀狀態(tài)口 AND AL,02H ;查Dl1?即準(zhǔn)備 好了嗎? JZ L ;未
28、準(zhǔn)備好,則等待 MOV DX, OFFF0H ;數(shù)據(jù)口 IN Al ,DX ;已準(zhǔn)備好則輸入數(shù)據(jù),4. 8251A的初始化 (1)芯片復(fù)位以后,第一次用奇地址端口寫入的值作為模式字進(jìn)入模式寄存器。 (2)如果模式字中規(guī)定了8251A工作在同步模式, (3)由CPU用奇地址端口寫入的值將作為控制字送到控制寄存器,而用偶地址端口寫入的值將作為數(shù)據(jù)送到數(shù)據(jù)輸出緩沖寄存器。 流程圖如圖7-19所示:,圖7-19 8251A初始化流程圖,四、8251A應(yīng)用舉例 1.異步模式下的初始化程序舉例 設(shè)8251A工作在異步模式,波特率系數(shù)(因子)為16,7個(gè)數(shù)據(jù)位/字符,偶校驗(yàn),2個(gè)停止位,發(fā)送、接收允許,設(shè)端
29、口地址為00E2H和00E4H。完成初始化程序。 分析:根據(jù)題目要求,可以確定模式字為:11111010B 即FAH;而控制字為:00110111B 即37H,則初始化程序如下:,MOV AL, 0FAH ;送模式字 MOV DX,00E2H OUT DX, AL ;異步方式,7位/字 符,偶校驗(yàn),2個(gè)停止位 MOV AL,37H ;設(shè)置控制字,使發(fā)送、接收允許,清出錯(cuò)標(biāo)志 OUT DX, AL ;,2.同步模式下初始化程序舉例 設(shè)端口地址為52H,采用內(nèi)同步方式,2個(gè)同步字符(設(shè)同步字符為16H),偶校驗(yàn),7位數(shù)據(jù)位/字符。 分析:根據(jù)題目要求,可以確定模式字為:00111000B 即38H
30、 而控制字為:10010111B 即97H。它使8251A對同步字符進(jìn)行檢索;同時(shí)使?fàn)顟B(tài)寄存器中的3個(gè)出錯(cuò)標(biāo)志復(fù)位;此外,使8251A的發(fā)送器啟動(dòng),接收器也啟動(dòng);控制字還通知8251A,CPU當(dāng)前已經(jīng)準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。,具體程序段如下: MOV AL,38H ;設(shè)置模式字,同步模式,用2個(gè)同步字符, OUT 52H,AL ; 7個(gè)數(shù)據(jù)位,偶校驗(yàn) MOV AL,16H OUT 52H,AL ;送同步字符16H 0UT 52H,AL MOV AL, 97H ;設(shè)置控制字,使發(fā)送器和接收器啟動(dòng) OUT 52H, AL,3.利用狀態(tài)字進(jìn)行編程的舉例 下面的程序段先對8251A進(jìn)行初始化,然后對狀態(tài)字
31、進(jìn)行測試,以便輸入字符。本程序段可用來輸入80個(gè)字符。 分析:8251A的控制和狀態(tài)端口地址為52H,數(shù)據(jù)輸入和輸出端口地址為50H。字符輸入后,放在BUFFER標(biāo)號所指的內(nèi)存緩沖區(qū)中。 具體的程序段如下:,MOV AL,0FAH ;設(shè)置模式字 OUT 52H,AL ;用7個(gè)數(shù)據(jù)位,2個(gè)停止位,偶校驗(yàn) MOV AL,35H ;設(shè)置控制字 OUT 52H,AL ;并清除出錯(cuò)指示位 MOV DI,0 ;變址寄存器初始化 MOV CX,80 ;計(jì)數(shù)器初始化,共收取80個(gè)字符 BEGIN:IN AL,52H TEST AL,02H ;讀取狀態(tài)字,測試RXRDY位是否為1,如為0表示未收到字符,故繼續(xù)讀
32、取狀態(tài)字并測試 JZ BEGIN IN AL,50 ;讀取字符,MOV DX,OFFSET BUFFER MOV DX+DI,AL INC DI ;修改緩沖區(qū)指針 IN AL,52H ;讀取狀態(tài)字 TEST AL,38H JZ ERROR ;測試有無幀校驗(yàn)錯(cuò),奇/ 偶校驗(yàn)錯(cuò)和溢出錯(cuò),如有,則轉(zhuǎn)出錯(cuò)處理程序 L00P BEGIN ;如沒錯(cuò),則再收下一個(gè)字符 JMP EXIT ;如輸入滿足80個(gè)字符,則結(jié)束 ERROR: CALL ERR-0UT ;調(diào)出錯(cuò)處理 EXIT:,4.兩臺微型計(jì)算機(jī)通過8251A相互通信的舉例 通過8251A實(shí)現(xiàn)相距較遠(yuǎn)的兩臺微型計(jì)算機(jī)相互通信的系統(tǒng)連接簡化框圖如下。這時(shí)
33、,利用兩片8251A通過標(biāo)準(zhǔn)串行接口RS-232C實(shí)現(xiàn)兩臺8086微機(jī)之問的串行通信,可采用異步或同步工作方式。,分析:設(shè)系統(tǒng)采用查詢方式控制傳輸過程,異步傳送。 初始化程序由兩部分組成: 是將一方定義為發(fā)送器。發(fā)送端CPU每查詢到TXRDY有效,則向8251A并行輸出一個(gè)字節(jié)數(shù)據(jù); 是將對方定義為接收器。接收端CPU每查詢到RXRDY有效,則從8251A輸入一個(gè)字節(jié)數(shù)據(jù),一直進(jìn)行到全部數(shù)據(jù)傳送完畢為止。,發(fā)送端初始化程序與發(fā)送控制程序如下所示: STT: MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL ;將825lA定義為異步方式 MOV AL,11H ;偶校驗(yàn),
34、取波特率系數(shù)為64,允許發(fā)送。 OUT DX,AL MOV DI,發(fā)送數(shù)據(jù)塊首地址 ;設(shè)置地址指針 MOV CX,發(fā)送數(shù)據(jù)塊字節(jié)數(shù) ;設(shè)置計(jì)數(shù)器初值 NEXT:MOV DX,8251A控制端口 IN AL,DX AND AL,01H ;查詢TXRDY有效否? JZ NEXT ;無效則等待 MOV DX,8251A數(shù)據(jù)端口、 MOV AL,DI; ;向8251A輸出一個(gè)字節(jié)數(shù)據(jù)。 OUT DX,AL INC DI ;修改地址指針 LOOP NEXT ;未傳輸完,則繼續(xù)下一個(gè) HLT,接收端初始化程序和接收控制程序如下所示: SRR:MOV DX,8251A控制端口 MOV AL,7FH OUT
35、DX,AL ;初始化8251A,異步方式,8位數(shù)據(jù) MOV AL, 14H ;1位停止位,偶校驗(yàn),波特率系數(shù)64,允許接收。 OUT DX,AL MOV DI,接收數(shù)據(jù)塊首地址 ;設(shè)置地址指針 MOV CX,接收數(shù)據(jù)塊字節(jié)數(shù) ;設(shè)置計(jì)數(shù)器初值 COMT: MOV DX,8251A控制端口 IN AL,DX ROR AL,1 ;查詢RXRDY有效否?,ROR AL,1 JNC COMT ;無效則等待 ROR AL,1 ROR AL,1 ;有效時(shí),進(jìn)一步查詢是否有奇偶校驗(yàn)錯(cuò)。 JC ERR ;有錯(cuò)時(shí),轉(zhuǎn)出錯(cuò)處理 MOV DX,8251A數(shù)據(jù)端口 IN AL,DX ;無錯(cuò)時(shí),輸入一個(gè)字節(jié)到接收數(shù)據(jù)塊
36、。 MOV DI,AL INC DI ;修改地址指針 LOOP COMT ;未傳輸完,則繼續(xù)下一個(gè) HLT ERR: CALL ERR-OUT,3 通用串行接口標(biāo)準(zhǔn),一通用串行接口USB 1USB是外設(shè)總線標(biāo)準(zhǔn) 給PC的外部帶來計(jì)算機(jī)外設(shè)的即插即用。USB消除了將卡安裝在專用的計(jì)算機(jī)插槽并重新配置系統(tǒng)的需要,同時(shí)也節(jié)省了寶貴的系統(tǒng)資源,如中斷IRQ。裝備了USB的個(gè)人計(jì)算機(jī),一旦實(shí)現(xiàn)了計(jì)算機(jī)外設(shè)物理連接就能自動(dòng)地進(jìn)行配置,不必重啟動(dòng)或運(yùn)行設(shè)置程序。USB還允許多達(dá)127個(gè)設(shè)備同在一臺計(jì)算機(jī)上運(yùn)行。,2USB接口有兩種不同的連接器(A系列和B系列) A系列連接器是為那些要求電纜保留永久連接的設(shè)備
37、而設(shè)計(jì)的,比如集線器、鍵盤和鼠標(biāo)器。大多數(shù)主板上的USB端口通常是A系列連接器。 B系列連接器是為那些需要可分離電纜的設(shè)備設(shè)計(jì)的,如打印機(jī)、掃描儀、Modem、電話和揚(yáng)聲器等。物理的USB插頭是小型的,與典型的串口或并口電纜不同,插頭不通過螺絲和螺母連接,3USB的特點(diǎn) USB所有相連的設(shè)備都由USB總線供電。 USB規(guī)范的另一個(gè)優(yōu)點(diǎn)是自我識別外設(shè),這個(gè)特性大大簡化了安裝。 USB設(shè)備可以進(jìn)行熱插拔,這就是說每次連接或斷開一個(gè)外設(shè)時(shí),不必關(guān)機(jī)或重新啟動(dòng)計(jì)算機(jī)。 USB這樣的接口帶來的最大好處是只需要PC機(jī)中的一個(gè)中斷。,二1394接口 1IEEE-1394(又稱i.Link或FireWire)
38、是一個(gè)相對新的總線技術(shù), 2IEEE-1394特點(diǎn): IEEE-1394標(biāo)準(zhǔn)現(xiàn)在存在著三種不同的信號速率: 100-、200-和400Mb/s(125-、25-、50MB/s),每秒吉位(Gb/s)在制定中。 最多63個(gè)設(shè)備可以通過菊花鏈方式連接到單個(gè)IEEE。1394適配卡上。 IEEE-1394包含6條導(dǎo)線:4條線用作數(shù)據(jù)傳輸,兩條線傳送電源。,三IEEE-1394和USB的性能比較 USB和1394在形態(tài)和功能上有很大的的相似性,它們的主要區(qū)別在速度上。 現(xiàn)在,1394提供的數(shù)據(jù)傳輸速率是USB的16倍。將來1394更高速的版本推出后,速度差異將更大。 USB是為低速外設(shè)而設(shè)計(jì),如鍵盤、
39、鼠標(biāo)器、Modem和打印機(jī) 1394將用來連接高性能計(jì)算機(jī)和數(shù)字視頻電子產(chǎn)品。,1394的另一個(gè)重要優(yōu)點(diǎn)是不再需要PC主機(jī)連接,它可以直接將數(shù)字視頻(DV)便攜式攝像機(jī)與DV-VCR連接在一起,進(jìn)行磁帶的配音和編輯。為了將來在PC中的多媒體需要,IEEE-1394連接性是必須的。,習(xí)題與思考: 1已知8251發(fā)送的數(shù)據(jù)格式為:數(shù)據(jù)位7位、偶校驗(yàn)、1個(gè)停止位、波特率因子64。設(shè)8251控制寄存器的地址碼是3FBH,發(fā)送/接收寄存器的地址碼是3F8H。試編寫用查詢法和中斷法收發(fā)數(shù)據(jù)的通信程序。 2若8251A的收、發(fā)時(shí)鐘的頻率為38.4KHz,它的和引腳相連,試完成滿足以下要求的初始化程序:(82
40、51A的地址為02C0H和02C1H。) 半雙工異步通信,每個(gè)字符的數(shù)據(jù)位數(shù)是7,停止位為1位,偶校驗(yàn),波特率為600B/s,發(fā)送允許。 半雙工同步通信,每個(gè)字符的數(shù)據(jù)位數(shù)是8,無校驗(yàn),內(nèi)同步方式,雙同步字符,同步字符為16H,接收允許。,4 并行接口與通信,一并行通信與接口 并行通信就是把一個(gè)字符的各位同時(shí)用幾根線進(jìn)行傳輸。傳輸速度快,信息率高。電纜要多,隨著傳輸距離的增加,電纜的開銷會成為突出的問題,所以,并行通信用在傳輸速率要求較高,而傳輸距離較短的場合。 Intel 8255A是一個(gè)通用的可編程的并行接口芯片,它有三個(gè)并行I/O口,又可通過編程設(shè)置多種工作方式,價(jià)格低廉,使用方便,可以
41、直接與Intel系列的芯片連接使用,在中小系統(tǒng)中有著廣泛的應(yīng)用。,二8255A的編程結(jié)構(gòu) 8255A由以下幾部分組成:見圖7-3,1三個(gè)數(shù)據(jù)端口A,B,C 這三個(gè)端口均可看作是I/O口,但它們的結(jié)構(gòu)和功能也稍有不同。 A口:是一個(gè)獨(dú)立的8位I/O口,它的內(nèi)部有對數(shù)據(jù)輸入/輸出的鎖存功能。 B口:也是一個(gè)獨(dú)立的8位I/O口,僅對輸出數(shù)據(jù)的鎖存功能。 C口:可以看作是一個(gè)獨(dú)立的8位I/O口;也可以看作是兩個(gè)獨(dú)立的4位I/O口。也是僅對輸出數(shù)據(jù)進(jìn)行鎖存。,2A組和B組的控制電路 這是兩組根據(jù)CPU命令控制8255A工作方式的電路,這些控制電路內(nèi)部設(shè)有控制寄存器,可以根據(jù)CPU送來的編程命令來控制82
42、55A的工作方式,也可以根據(jù)編程命令來對C口的指定位進(jìn)行置/復(fù)位的操作。 A組控制電路用來控制A口及C口的高4位; B組控制電路用來控制B口及C口的低4位。,3數(shù)據(jù)總線緩沖器 8位的雙向的三態(tài)緩沖器。作為8255A與系統(tǒng)總線連接的界面,輸入/輸出的數(shù)據(jù),CPU的編程命令以及外設(shè)通過8255A傳送的工作狀態(tài)等信息,都是通過它來傳輸?shù)摹?4讀/寫控制邏輯 讀/寫控制邏輯電路負(fù)責(zé)管理8255A的數(shù)據(jù)傳輸過程。它接收片選信號及系統(tǒng)讀信號、寫信號、復(fù)位信號RESET,還有來自系統(tǒng)地址總線的口地址選擇信號A0和A1,習(xí)題與思考: 1接口電路的主要作用是什么?它的基本結(jié)構(gòu)如何? 2說明接口電路中控制寄存器與
43、狀態(tài)寄存器的功能,通常它們可共用一個(gè)端口地址碼,為什么? 3CPU尋址外設(shè)端口的方式通常有哪兩種?試說明它們的優(yōu)缺點(diǎn)。 4在CPU與外部設(shè)備接口電路的連接中,通過數(shù)據(jù)總線可傳輸哪幾種信息?在這里地址譯碼器起什么作用?,三8255A的引腳功能 引腳信號可以分為兩組:一組是面向CPU的信號,一組是面向外設(shè)的信號。 1面向CPU的引腳信號及功能 D0-D7:8位,雙向,三態(tài)數(shù)據(jù)線,用來與系統(tǒng)數(shù)據(jù)總線相連; RESET:復(fù)位信號,高電平有效,輸入,用來清除8255A的內(nèi)部寄存器,并置A口,B口,C口均為輸入方式; 片選,輸入,用來決定芯片是否被選中; 讀信號,輸入,控制8255A將數(shù)據(jù)或狀態(tài)信息送給C
44、PU; 寫信號,輸入,控制CPU將數(shù)據(jù)或控制信息送到8255A; A1,AO:內(nèi)部口地址的選擇,輸入。這兩個(gè)引腳上的信號組合決定對8255A內(nèi)部的哪一個(gè)口或寄存器進(jìn)行操作。,2面向外設(shè)的引腳信號及功能 PA0PA7:A組數(shù)據(jù)信號,用來連接外設(shè); PB0PB7:B組數(shù)據(jù)信號,用來連接外設(shè); PC0PC7:C組數(shù)據(jù)信號,用來連接外設(shè)或者作為控制信號。,四8255A的工作方式 8255A有三種工作方式,用戶可以通過編程來設(shè)置。 方式0簡單輸入/輸出查詢方式;A,B,C三個(gè)端口均可。 方式1選通輸入/輸出中斷方式;A ,B,兩個(gè)端口均可。 方式2雙向輸入/輸出中斷方式。只有A端口才有。 工作方式的選擇
45、可通過向控制端口寫入控制字來實(shí)現(xiàn)。,1方式0: 為一種簡單的輸入/輸出方式,沒有規(guī)定固定的應(yīng)答聯(lián)絡(luò)信號,可用A,B,C三個(gè)口的任一位充當(dāng)查詢信號,其余I/O口仍可作為獨(dú)立的端口和外設(shè)相連。 方式0的應(yīng)用場合有兩種:一種是同步傳送;一種是查詢傳送。,2方式1 方式1是一種選通I/O方式,A口和B口仍作為兩個(gè)獨(dú)立的8位I/O數(shù)據(jù)通道,可單獨(dú)連接外設(shè),通過編程分別設(shè)置它們?yōu)檩斎牖蜉敵觥6鳦口則要有6位(分成兩個(gè)3位)分別作為A口和B口的應(yīng)答聯(lián)絡(luò)線,其余2位仍可工作在方式0,可通過編程設(shè)置為輸入或輸出。 (1) 方式1的輸入組態(tài)和應(yīng)答信號的功能 圖7-4給出了8255A的A口和B口方式1的輸入組態(tài)。,
46、C口的PC3-PC5用作A口的應(yīng)答聯(lián)絡(luò)線, PC0-PC2則作用B口的應(yīng)答聯(lián)絡(luò)線, 余下的PC6PC7則可作為方式0使用。 應(yīng)答聯(lián)絡(luò)線的功能如下: 選通輸入。用來將外設(shè)輸入的數(shù)據(jù)打入8255A的輸入緩沖器。 IBF:輸入緩沖器滿。作為STB的回答信號,。 INTR:中斷請求信號。INTR置位的條件是STB為高且IBF為高且INTE為高。 INTE:中斷允許。對A口來講,是由PC4置位來實(shí)現(xiàn),對B口來講,則是由PC0置位來實(shí)現(xiàn)。事先將其置位。,(2) 方式1的輸出組態(tài)和應(yīng)答信號功能,C口的PC3、PC6、PC7用作A口的應(yīng)答聯(lián)絡(luò)線, PC0-PC2則作用B口的應(yīng)答聯(lián)絡(luò)線, 余下的PC4PC5則可
47、作為方式0使用。 應(yīng)答聯(lián)絡(luò)線的功能如下: 輸出緩沖器滿。當(dāng)CPU已將要輸出的數(shù)據(jù)送入8255A時(shí)有效,用來通知外設(shè)可以從8255A取數(shù)。 響應(yīng)信號。作為對的響應(yīng)信號,表示外設(shè)已將數(shù)據(jù)從8255A的輸出緩沖器中取走。 INTR:中斷請求信號。INTR置位的條件是ACK為高且OBF為高且INTE為高。 INTE:中斷允許。對A口來講,由PC6的置位來實(shí)現(xiàn),對B口仍是由PC2的置位來實(shí)現(xiàn)。,3方式2 方式2為雙向選通I/O方式,只有A口才有此方式。這時(shí),C口有5根線用作A口的應(yīng)答聯(lián)絡(luò)信號,其余3根線可用作方式0,也可用作B口方式1的應(yīng)答聯(lián)絡(luò)線。 方式2:就是方式1的輸入與輸出方式的組合,各應(yīng)答信號的
48、功能也相同。而C口余下的PC0PC2正好可以充當(dāng)B 口方式1的應(yīng)答線,若B口不用或工作于方式0,則這三條線也可工作于方式0。,方式2的應(yīng)用場合 方式2是一種雙向工作方式,如果一個(gè)并行外部設(shè)備既可以作為輸入設(shè)備,又可以作為輸出設(shè)備,并且輸入輸出動(dòng)作不會同時(shí)進(jìn)行。 方式2和其它方式的組合 方式2和方式0輸入的組合: 控制字:11XXX01T 方式2和方式0輸出的組合:控制字:11XXX00T 方式2和方式1輸入的組合:控制字:11XXX11X 方式2和方式1輸出的組合:控制字:11XXX10X 其中X表示與其取值無關(guān),而T表示視情況可取1或0。,五8255A的編程及應(yīng)用 18255A的編程 對82
49、55A的編程涉及到兩個(gè)內(nèi)容: 寫控制字設(shè)置工作方式等信息, 使C口的指定位置位/復(fù)位的功能。 注:均寫入控制端口,(1)控制字格式 控制字要寫入8255A的控制口,寫入控制字之后,8255A才能按指定的工作方式工作。 例1. 某系統(tǒng)要求使用8255A的A口方式0輸入,B口方式0輸出,C口高4位方式0輸出,C口低4位方式0輸入。 則控制字為: 10010001 即91H 初始化程序?yàn)椋?MOV AL, 91H OUT CTRL_PORT,AL,(2) C口的置位/復(fù)位功能 只有C口才有,它是通過向控制口寫入按指定位置位/復(fù)位的控制字來實(shí)現(xiàn)的。C口的這個(gè)功能可用于設(shè)置方式1的中斷允許,可以設(shè)置外設(shè)
50、的啟/停等。,2接口應(yīng)用舉例 例3 利用8255A的A口方式0與微型打印機(jī)相連,將內(nèi)存緩沖區(qū)BUFF中的字符打印輸出。試完成相應(yīng)的軟硬件設(shè)計(jì)。(CPU為8088) 首先我們分析一下打印機(jī)的工作。微型打印機(jī)和主機(jī)之間的接口采用并行接口。,它的工作流程是:主機(jī)將要打印的數(shù)據(jù)送上數(shù)據(jù)線,然后發(fā)選通信號。打印機(jī)將數(shù)據(jù)讀入,同時(shí)使BUSY線為高,通知主機(jī)停止送數(shù)。這時(shí),打印機(jī)內(nèi)部對讀入的數(shù)據(jù)進(jìn)行處理。處理完以后使ACK有效,同時(shí)使BUSY失效,通知主機(jī)可以發(fā)下一個(gè)數(shù)據(jù)。 硬件連線如下圖,說明: 由PC0充當(dāng)打印機(jī)的選通信號,通過對PC0的置位/復(fù)位來產(chǎn)生選通。同時(shí),由PC7來接收打印機(jī)發(fā)出的“BUSY”
51、信號作為能否輸出的查詢。 8255A的控制字為:10001000 即88H A口方式0,輸出;C口高位方式0輸入,低位方式0輸出 PC0置位: 00000001 即 01H PC0復(fù)位: 00000000 即 00H 8255A的4個(gè)口地址分別為:00H,01H,02H, 03H。,編制程序如下: DADA SEGMENT BUFF DB This is a print program!,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX, DATA MOV DS, AX MOV SI,OFFSET BUFF MOV AL, 88H ;8255A初始化,A口方式0,輸出 OUT 03H, AL ;C口高位方式0輸入,低位方式0輸出 MOV AL, 01H; OUT 03H,AL ;使PC0置位,即使選通無效,WAIT: IN AL, 02H TEST AL, 80H ;檢測PC7是否為1即是否忙 JNZ WAIT ; 為忙則等待 MOV
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 入戶維修調(diào)研報(bào)告范文
- 熱成型實(shí)驗(yàn)報(bào)告范文
- 2025年度智慧城市建設(shè)合作協(xié)議解除合同書
- 二零二五年度網(wǎng)絡(luò)游戲押金轉(zhuǎn)讓與賬號安全保障協(xié)議
- 二零二五年度平面模特時(shí)尚雜志封面拍攝合同書
- 二零二五年度獵聘市場營銷人才委托協(xié)議
- 二零二五年度輪胎品牌授權(quán)與銷售代理合同
- 二零二五年度交通事故保險(xiǎn)賠償協(xié)議書(含事故調(diào)查服務(wù))
- 2025年度社區(qū)餐飲合伙經(jīng)營與社區(qū)服務(wù)合同
- 二零二五年度農(nóng)村土地流轉(zhuǎn)合同轉(zhuǎn)讓與生態(tài)保護(hù)協(xié)議
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類機(jī)電設(shè)備故障預(yù)測、診斷研究
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 企業(yè)承包經(jīng)營合同范本
- 中學(xué)校長2025春開學(xué)典禮講話:以黃旭華之魂、DeepSeek 之智、哪吒之氣逐夢新程
- 2025年福建省中職《英語》學(xué)業(yè)水平考試核心考點(diǎn)試題庫500題(重點(diǎn))
- 【課件】自然環(huán)境課件-2024-2025學(xué)年七年級地理下冊人教版
- 2025年01月公安部第三研究所公開招聘人民警察筆試筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025-2030全球鋰電池用隔膜行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 《抖音高活躍群體研究報(bào)告》
評論
0/150
提交評論