




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
微機原理與接口技術(shù)第9章
可編程串行通信
接口芯片8251A本章內(nèi)容9.1串行通信概述
9.1.1并行通信與串行通信
9.1.2串行通信的基本概念
9.1.3串行通信接口標準
9.1.4串行通信接口典型結(jié)構(gòu)9.2可編程串行通信接口芯片8251A9.2.18251A的結(jié)構(gòu)和引腳
9.2.28251A的控制字及工作方式
9.2.38251A的初始化及應(yīng)用設(shè)計舉例本章要點了解并行通信與串行通信的區(qū)別了解串行通信的基本概念了解串行通信接口標準了解串行通信接口的基本組成了解可編程串行通信接口芯片8251A的結(jié)構(gòu)和引腳掌握可編程串行通信接口芯片8251A控制字含義掌握可編程串行通信接口芯片8251A初始化及應(yīng)用編程9.1串行通信概述9.1.1并行通信與串行通信CPU與外部的信息交換稱為通信(Communication),基本的通信方式有兩種:并行通信和串行通信。(1)并行通信數(shù)據(jù)在多條并行1位寬的傳輸線上同時由源傳送到目的。(2)串行通信數(shù)據(jù)在單條1位寬的傳輸線上,一位一位地按順序分時傳送。9.1串行通信概述9.1.1并行通信與串行通信(3)并行通信與串行通信的比較①從距離上看:并行通信適用于近距離的數(shù)據(jù)傳送,通常小于30米,而串行通信適用于遠距離傳送,可以從幾米到數(shù)千公里。②從速度上看:在短距離內(nèi),并行接口的數(shù)據(jù)傳輸速度顯然比串行接口的傳輸速度高得多,另一方面串行和并行數(shù)據(jù)傳送速率與距離成反比。③從設(shè)備費用上看:對遠距離通信而言,串行通信的費用顯然會低得多,另外串行通信還可利用現(xiàn)有的電話網(wǎng)絡(luò)來實現(xiàn)遠程通信,降低了通信費用。9.1串行通信概述9.1.2串行通信的基本概念(1)單工(Simplex):僅能進行一個方向上的傳送,如圖9.1(a)所示。單工通信類似無線電廣播,電臺只能發(fā)送信號,收音機只能接收信號。1.傳送方式:按照數(shù)據(jù)流的方向,可以把串行通信分成三種基本的傳送模式:單工、半雙工和全雙工方式。9.1串行通信概述9.1.2串行通信的基本概念(2)半雙工(Half-Duplex):能交替地進行雙向數(shù)據(jù)傳送,但兩設(shè)備之間只有一根傳輸線,因此兩個方向的數(shù)據(jù)傳送不能同時進行,如圖9.1(b)所示。半雙工通信類似對講機,某時刻一方發(fā)送另一方接收,雙方不能同時發(fā)送和接收。1.傳送方式:按照數(shù)據(jù)流的方向,可以把串行通信分成三種基本的傳送模式:單工、半雙工和全雙工方式。9.1串行通信概述9.1.2串行通信的基本概念(3)全雙工(Full-Duplex):兩設(shè)備之間有兩條傳輸線,能在兩個方向上同時進行數(shù)據(jù)傳送,如圖所示。全雙工通信類似電話機,雙方可以同時發(fā)送和接收。9.1串行通信概述9.1.2串行通信的基本概念(1)控制數(shù)據(jù)傳輸率的意義和方法2.數(shù)據(jù)傳輸有關(guān)的基本概念■串行通信時,要求雙方的傳輸速率嚴格一致。并在傳輸開始之前,要預先設(shè)定,否則,會發(fā)生錯誤。因此,對傳輸速率要進行控制?!鰯?shù)據(jù)傳輸率的控制是通過波特率時鐘發(fā)生器和設(shè)置波特率因子來實現(xiàn)的,為此,要求波特率時鐘發(fā)生器產(chǎn)生一系列標準的波特率,供用戶選用。波特率時鐘發(fā)生器,有的包含在串行通信接口芯片中,如8250/16450/16550UART中設(shè)置了波特率時鐘發(fā)生器;有的需要單獨設(shè)計,如825lUSART芯片中不包含波特率時鐘發(fā)生器,而需要利用82c54作為外加波特率時鐘發(fā)生器。9.1串行通信概述9.1.2串行通信的基本概念(2)波特率:(Baudrate)是每秒傳輸串行數(shù)據(jù)的位數(shù)。2.數(shù)據(jù)傳輸有關(guān)的基本概念位周期:是波特率的倒數(shù),也來表示傳輸速率,即傳輸1位數(shù)據(jù)所需的時間。例:串行通信的數(shù)據(jù)傳輸率為1200b/s,則每一個數(shù)據(jù)位的傳輸時間Td為波特率的倒數(shù):9.1串行通信概述9.1.2串行通信的基本概念(3)發(fā)送/接收時鐘:在發(fā)送時是以發(fā)送時鐘作為數(shù)據(jù)位的劃分界限,在接收時是以接收時鐘作為數(shù)據(jù)位的檢測標準。
2.數(shù)據(jù)傳輸有關(guān)的基本概念①發(fā)送時鐘:串行數(shù)據(jù)的發(fā)送由發(fā)送時鐘TXC控制,數(shù)據(jù)發(fā)送過程是:把并行的數(shù)據(jù)序列送入移位寄存器,然后通過移位寄存器由發(fā)送時鐘觸發(fā)進行移位輸出,數(shù)據(jù)位的時間間隔可由發(fā)送時鐘周期來劃分。②接收時鐘:串行數(shù)據(jù)的接收是由接收時鐘RXC來檢測,數(shù)據(jù)接收過程是:傳輸線上送來的串行數(shù)據(jù)序列由接收時鐘作為移位寄存器的觸發(fā)脈沖,逐位進入移位寄存器,即將串行數(shù)據(jù)序列,逐位移入移位寄存器后組成并行數(shù)據(jù)序列的過程。9.1串行通信概述9.1.2串行通信的基本概念(4)波特率因子:2.數(shù)據(jù)傳輸有關(guān)的基本概念為了提高發(fā)送/接收時鐘對串行數(shù)據(jù)中數(shù)據(jù)位的定位采樣頻率,避免或減少假啟動和噪聲干擾,發(fā)送/接收時鐘的頻率,一般都設(shè)置為波特串的整數(shù)倍,如1、16、32、64倍。并且,把這個波特串的倍數(shù)叫做波特率因子(factor),或波特率系數(shù)。
波特率、波特率因子和發(fā)送/接收時鐘頻率三者之間的關(guān)系:發(fā)送/接收時鐘頻率=波特率因子×波特率9.1串行通信概述9.1.2串行通信的基本概念(4)波特率因子:2.數(shù)據(jù)傳輸有關(guān)的基本概念例:已知某一串行接口電路的波特率為1200b/s,波特率因子為16b-1,求發(fā)送時鐘的頻率。發(fā)送時鐘的頻率=16b-1×1200b/s=19200Hz一般波特率因子取1,16或64b-1實際應(yīng)用中,通過編程可選擇各種不同的波特率因子,從而可以得到各種不同的數(shù)據(jù)傳輸率,十分靈活方便。發(fā)送/接收時鐘頻率=波特率因子×波特率9.1串行通信概述9.1.2串行通信的基本概念在串行通信中有兩種基本的通信方式:異步通信ASYNC(AsynchronousDataCommunication)和同步通信SYNC(SynchronousDataCommunication)。同步通信靠同步時鐘信號來實現(xiàn)數(shù)據(jù)的發(fā)送和接收,而異步通信是一種利用一幀字符中的起始位和停止位來完成收發(fā)同步的通信方式。3.同步通信與異步通信
9.1串行通信概述9.1.2串行通信的基本概念(1)異步通信ASYNC
:指通信中兩個字符的時間間隔是不固定的,而在同一字符中的兩個相鄰代碼間的時間間隔是固定的通信。3.同步通信與異步通信
■異步通信的特點是:以“幀(Frame)”為傳送單位,每一幀字符的傳送靠起始位來同步,數(shù)據(jù)傳輸?shù)乃俾剩úㄌ芈剩┦请p方事先約定好的,發(fā)送方和接收方的時鐘頻率不要求完全一樣,但不能超過一定的允許范圍?!霎惒酵ㄐ诺臄?shù)據(jù)格式如圖所示。9.1串行通信概述9.1.2串行通信的基本概念(2)同步通信SYNC:指不僅字符內(nèi)部位與位之間的傳輸是同步的,并且字符與字符之間的傳輸也是同步的。3.同步通信與異步通信
■同步傳輸?shù)奶攸c是:以數(shù)據(jù)塊(字符塊)為單位傳輸?shù)模笞址麅?nèi)部的位傳輸是同步的,字符與字符之間的傳輸也應(yīng)該是同步的,發(fā)送/接收兩端必須使用同一時鐘來控制數(shù)據(jù)塊傳輸時字符與字符、字符內(nèi)部位與位之間的定時。■同步通信的數(shù)據(jù)格式如圖所示。9.1串行通信概述9.1.2串行通信的基本概念異步通信方式的傳輸速率低,傳輸設(shè)備簡單,易于實現(xiàn);而同步通信方式的傳輸速率高,傳輸設(shè)備復雜,技術(shù)要求高。因此,異步通信一般用在數(shù)據(jù)傳輸時間不能確定、發(fā)送數(shù)據(jù)不連續(xù)、數(shù)據(jù)量較少和數(shù)據(jù)傳輸速率較低的場合;而同步通信則用在要求快速、連續(xù)傳輸大批量數(shù)據(jù)的場合。3.同步通信與異步通信
9.1串行通信概述9.1.2串行通信的基本概念■調(diào)制器(Modulator):把數(shù)字信號轉(zhuǎn)換為模擬信號?!鼋庹{(diào)器(Demodulator):把模擬信號轉(zhuǎn)換成數(shù)字信號。如圖9.4所示。其中,F(xiàn)SK(FrequencyShiftKeying)是一種常用的調(diào)制方法:它把數(shù)字信號的“1”與“0”調(diào)制成不同頻率(易于鑒別)的模擬信號。
4.信號的調(diào)制與解調(diào)9.1串行通信概述9.1.2串行通信的基本概念■數(shù)據(jù)終端設(shè)備(DataTerminalEquipment,DTE)是對屬于用戶所有聯(lián)網(wǎng)設(shè)備和工作站的統(tǒng)稱,它們是數(shù)據(jù)的源或目的地址,或者即是源又是目的。例如,數(shù)據(jù)輸入/輸出設(shè)備,通信處理機或各種大、中、小型計算機等。DTE可以根據(jù)協(xié)議來控制通信的功能?!鰯?shù)據(jù)通信設(shè)備(DataCommunicationEquipment,DCE),是對網(wǎng)絡(luò)設(shè)備的統(tǒng)稱,該設(shè)備為用戶設(shè)備提供入網(wǎng)的連接點。自動呼叫/應(yīng)答設(shè)備、調(diào)制解調(diào)器Modem和其他一些中間設(shè)備均屬DCE。5.數(shù)據(jù)終端設(shè)備和數(shù)據(jù)通信設(shè)備9.1串行通信概述9.1.2串行通信的基本概念(1)誤碼率的控制所謂誤碼率,是指數(shù)據(jù)經(jīng)傳輸后發(fā)生錯誤的位數(shù)與總傳輸位數(shù)之比。在計算機通信中,一般要求誤碼率達到10-6數(shù)量級。為減少誤碼串,應(yīng)從兩方面做工作:一方面從硬件和軟件著手對通信系統(tǒng)進行可靠性設(shè)計,以達到盡量少出差錯的目的;另一方面是對所傳輸?shù)男畔⒉捎脵z糾錯編碼技術(shù),以便及時發(fā)現(xiàn)和糾正傳輸過程出現(xiàn)的差錯。6.串行通信中的差錯控制9.1串行通信概述9.1.2串行通信的基本概念6.串行通信中的差錯控制(2)檢糾錯編碼方法的使用在實際應(yīng)用中,具體實現(xiàn)檢錯編碼的方法很多,常用的有奇偶檢驗、循環(huán)冗余碼檢驗(CRC)、海明碼校驗、交叉奇偶校驗等。而在串行通信中應(yīng)用最多的是奇偶校驗和循環(huán)冗余碼校驗。前者易于實現(xiàn),后者適于逐位出現(xiàn)的信號的運算(3)錯誤狀態(tài)的分析與處理異步串行通信過程中常見的錯誤有奇偶檢驗錯、溢出錯、幀格式錯。
9.1串行通信概述9.1.2串行通信的基本概念6.串行通信中的差錯控制(2)檢糾錯編碼方法的使用在實際應(yīng)用中,具體實現(xiàn)檢錯編碼的方法很多,常用的有奇偶檢驗、循環(huán)冗余碼檢驗(CRC)、海明碼校驗、交叉奇偶校驗等。而在串行通信中應(yīng)用最多的是奇偶校驗和循環(huán)冗余碼校驗。前者易于實現(xiàn),后者適于逐位出現(xiàn)的信號的運(3)錯誤狀態(tài)的分析與處理異步串行通信過程中常見的錯誤有奇偶檢驗錯、溢出錯、幀格式錯。(4)錯誤校驗只在接收方進行,并且是采用軟件方法進行檢測。
9.1串行通信概述9.1.3串行通信接口標準1.RS-232C串行通信接口標準為了使通信能夠順利地進行,通信雙方必須就通信的規(guī)則事前進行約定,這種約定好的并在通信過程中雙方共同遵守的通信規(guī)則稱為通信協(xié)議。它包括收、發(fā)雙方的同步方式、數(shù)據(jù)格式、傳輸速率、差錯檢驗方式及其糾正方式、通信進程的控制等。目前使用最廣泛的串行物理接口標準RS-232C提供了一個利用公用電話網(wǎng)絡(luò)作為傳輸媒體,并通過調(diào)制解調(diào)器將遠程設(shè)備連接起來的技術(shù)規(guī)定,它對串行接口電路中所使用信號名稱和功能、信號電平等作了統(tǒng)一的規(guī)定。259.1串行通信概述RS-232C串行通信接口標準規(guī)定如下:
比較的內(nèi)容EIATTL邏輯關(guān)系負邏輯正邏輯邏輯電平高(±15V)低(±5V)電壓擺幅大(-15V~+15V)小(0~5V)(1)機械特性RS-232C的機械特性規(guī)定使用一個25芯或9芯標準連接器。兩種不同的連接器,其引腳號的功能定義與排列也各不相同,使用時要特別注意。(2)電氣特性RS-232C的電氣特性規(guī)定邏輯“1”的電平為-15~-5V,邏輯“0”的電平為+5~+15V??梢姡琑S-232C采用的是負邏輯,并且邏輯電平幅值很高,擺幅很大。EIA與TTL之間的差異如下表所示。9.1串行通信概述1.RS-232C串行通信接口標準EIA與計算機或終端所采用的TTL邏輯電平和邏輯關(guān)系并不兼容。因此,在兩者之間通常需加電平轉(zhuǎn)換電路,如圖所示。MC1488和MC1489電路是專用于TTL和RS-232C之間的電平轉(zhuǎn)換器件。
9.1串行通信概述1.RS-232C串行通信接口標準(3)信號線功能特性
RS-232C的功能特性定義了25芯標準連接器中的20根信號線,其中2根地線,4根數(shù)據(jù)線,11根控制線,3根定時信號線,剩下的5根線做備用或未定義。下表給出了部分常用信號的定義。符號方向功能9針連接器引腳號25針連接器引腳號TXDDTE→DCE發(fā)送數(shù)據(jù)32RXDDCE→DTE接收數(shù)據(jù)23DTE→DCE請求發(fā)送74DCE→DTE發(fā)送允許85DCE→DTE數(shù)據(jù)設(shè)備就緒66GND信號地57DCE→DTE載波檢測18DTE→DCE數(shù)據(jù)終端就緒420DCE→DTE響鈴指示9229.1串行通信概述2.RS-485標準由于RS-232C接口標準,采用單端發(fā)送和單端接收,易受共模干擾,所以直接傳輸距離短,傳輸速率低,且只能單點對單點通信。為了實現(xiàn)更大距離的直接傳輸和更高的傳輸速率,在RS-232C的基礎(chǔ)上進行改進,制訂出新的接口標準,如RS-422和RS-485標準。RS-485標推,目前己在許多方面得到應(yīng)用,尤其是在不使用MODEM的情況下、多點對多點通信系統(tǒng)中,如工業(yè)集散分市式系統(tǒng)、商業(yè)POS收銀機、考勤機,以及智能大樓的聯(lián)網(wǎng)中用得很多,是一個很有發(fā)展前途的串行通信接口標準。
9.1串行通信概述2.RS-485標準(1)RS-485接口標準的特點①由于采用差動發(fā)送/接收和雙絞線平衡傳輸,所以共模抑制比高、抗干擾能力強。因此,特別適合在干擾比較嚴重的環(huán)境下工作,如大型商場和車間使用。②傳輸速率高,可達10Mb/s(傳輸15m),傳輸信號擺幅?。?00mV)。③傳播距離長,不使用MODEM,采用雙絞線,傳輸距離為1.2km(100kb/s)。④能實現(xiàn)多點對多點通信。9.1串行通信概述2.RS-485標準(2)RS-232C與RS-485的轉(zhuǎn)換■發(fā)送端:在接口電路的發(fā)送數(shù)據(jù)線TXD上加接平衡發(fā)送器MAX485(半雙工)或MAX491(全雙工),將單根數(shù)據(jù)信號線TXD轉(zhuǎn)換為差動信號線AA與BB,并通過兩根雙續(xù)線發(fā)送出去?!鼋邮斩耍涸诮邮斩思咏硬顒咏邮掌鱉AX485(半雙工)或MAX491(全雙工),將從兩根雙絞線AA與BB上傳來的差動信號轉(zhuǎn)換為單根數(shù)據(jù)信號,通過接口電路的接收數(shù)據(jù)線RXD接收進來。9.1串行通信概述9.1.4串行通信接口典型結(jié)構(gòu)串行通信接口主要由控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器四部分組成,其典型結(jié)構(gòu)及與CPU、外設(shè)連接情況如圖9.6所示。9.2可編程串行通信接口芯片8251AIntel8251A是可編程串行通信接口芯片,其主要特點如下:(1)可用于同步和異步通信。(2)接收、發(fā)送數(shù)據(jù)分別有各自的緩沖器,可以進行全雙工通信。(3)提供與外部設(shè)備特別是調(diào)制解調(diào)器的聯(lián)絡(luò)信號,便于直接和通信線路連接。(4)每個字符的位數(shù)可以是5~8位,可以設(shè)定奇或偶校驗,也可不設(shè)校驗。具有奇偶、溢出、幀錯誤等檢測電路。檢驗位的插入、檢錯及剔除都由芯片自動完成。(5)異步通信時,停止位可選1位、1.5位或2位,波特率為0~19.2k波特,時鐘頻率可設(shè)為波特率的1、16或64倍。(6)同步通信時,波特率的范圍為0~56k波特??稍O(shè)為單同步、雙同步或者外同步,同步字符可由用戶自行設(shè)定。9.2可編程串行通信接口芯片8251A9.2.18251A的結(jié)構(gòu)和引腳1)內(nèi)部結(jié)構(gòu)及性能8251A主要由數(shù)據(jù)總線緩沖器、接收器、發(fā)送器、讀/寫控制邏輯調(diào)制/解調(diào)控制邏輯電路組成。其內(nèi)部結(jié)構(gòu)圖如圖所示。9.2可編程串行通信接口芯片8251A9.2.18251A的結(jié)構(gòu)和引腳(2)引腳定義及功能8251A是一個采用NMOS工業(yè)制造,單一+5V電源,28引腳雙列直插式封裝的集成電路。其外部引腳圖如圖9.8所示。36讀/寫控制邏輯:接受CPU的下列控制信號RESET:復位信號使8251A進入IDLE狀態(tài)CLK:8251A用來產(chǎn)生內(nèi)部的定時信號/WR:低有效,CPU對8251A進行寫操作/RD:低有效,CPU對8251A進行讀操作/CS:片選信號有效時才可對8251A進行操作C/D:Control/Data,數(shù)據(jù)總線傳送的是控制信號,狀態(tài)字/數(shù)據(jù)RxD:接收數(shù)據(jù),輸入RxRDY:接收數(shù)據(jù)準備好,輸出SYNDET:同步檢測/斷點檢測RxC:接收時鐘(同步:FreqofRxC=BaudRate)(異步:FreqofRxC=BaudRate*BaudFactor)TxD:發(fā)送數(shù)據(jù)TxRDY:發(fā)送準備好TxE:發(fā)送器空TxC:發(fā)送器時鐘(同步:FreqofTxC=BaudRate)(異步:FreqofTxC=BaudRate*BaudFactorHandshakingsignalsbetweenCPUandModemDTR:數(shù)據(jù)終端準備好DSR:數(shù)據(jù)裝置準備好RTS:請求發(fā)送CTS:清除發(fā)送信號3738C/DRDWRCS端口選擇和操作0010CPU從8251A接收數(shù)據(jù)寄存器讀數(shù)據(jù)0100CPU向8251A發(fā)送數(shù)據(jù)緩沖器寫數(shù)據(jù)1010CPU從8251A狀態(tài)寄存器讀狀態(tài)1100CPU向8251A寫控制字(先方式字寄存器、后命令字寄存器)XXX1數(shù)據(jù)總線懸空8251A讀寫操作端口選擇表39RS232C接口波特率發(fā)生器&G1A7,A6,A5D7-D0/G2A/G2BCBAA4M/IOA3A2A0A1RESET/RD/WR/Y0/CSC/DRESET/RD/WRTxRDYTxERxRDYBRKDETRxDTxD/RxC/TxC外設(shè)80868251A74LS138A7A6A5=111時,G1=1A4=1時,/G2A=0M/IO=0時,/G2B=0此時,當A3A2A0=000時,譯碼器/Y0輸出低電平,其它輸出高。8251A被選中。A1=1時,選中控制字,A7-A0=11110010=F2H。A1=0時,選中數(shù)據(jù)口,A7-A0=11100000=F0H。40編程流程10.2.28251A編程9.2可編程串行通信接口芯片8251A9.2.28251A的控制字及工作方式8251A是一個可編程串行通信接口芯片,所以它的工作方式和操作過程都可通過程序的方法進行設(shè)定和控制。這是通過CPU向8251A的有關(guān)內(nèi)部寄存器寫入指定格式的控制信息來實現(xiàn)的。
8251A有兩組CPU可訪問的內(nèi)部寄存器,一組是數(shù)據(jù)寄存器,包括數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器;另一組是控制及狀態(tài)寄存器,包括方式選擇寄存器、操作命令寄存器和狀態(tài)寄存器。
我們把CPU寫入方式選擇寄存器的內(nèi)容稱為“方式選擇控制字”(或方式字),寫入操作命令寄存器的內(nèi)容稱為“操作命令控制字”(或命令字)。9.2可編程串行通信接口芯片8251A9.2.28251A的控制字及工作方式
1.方式字方式字用以確定8251A的通信方式(同步/異步)、校驗方式(奇校驗/偶校驗/不校驗)、波特率等參數(shù)。它應(yīng)在復位后寫入,且只需寫入一次。同步和異步方式字設(shè)置不同。(1)同步方式下的方式字格式9.2可編程串行通信接口芯片8251A(1)同步方式下的方式字格式例:要求8251A作為外同步通信接口,數(shù)據(jù)位8位,兩個同步字符,偶校驗,寫出其方式字。解:01111100B=7CH9.2可編程串行通信接口芯片8251A9.2.28251A的控制字及工作方式(2)異步方式下的方式字格式9.2可編程串行通信接口芯片8251A(2)異步方式下的方式字格式例:要求8251A作為異步通信接口,波特率為64,數(shù)據(jù)位8位,奇校驗,兩個停止位,寫出其方式字。解:11011111B=DFH9.2可編程串行通信接口芯片8251A9.2.28251A的控制字及工作方式
2.命令字命令字直接讓8251A實現(xiàn)某種操作或進入規(guī)定的工作狀態(tài),它只有在設(shè)定了方式字后,才能由CPU寫入。方式字和命令字本身無特征標志,使用相同的端口地址,8251A是根據(jù)寫入先后次序來區(qū)分這兩者的:先寫入的為方式字,后寫入的為命令字。8251A的命令字格式如下圖所示。9.2可編程串行通信接口芯片8251A9.2.28251A的控制字及工作方式3.狀態(tài)字
CPU可在8251A工作過程中利用輸入指令(IN指令)讀取當前8251A的狀態(tài)字,從而可以檢測接口和數(shù)據(jù)傳輸?shù)墓ぷ鳡顟B(tài)。8251A的狀態(tài)字格式如下圖所示。9.2可編程串行通信接口芯片8251A■
異步方式下8251A的初始化過程如下:9.2.38251A的初始化及應(yīng)用設(shè)計舉例1.8251A的初始化像所有的可編程器件一樣,8251A在使用前也要進行初始化。對8251A的初始化編程,必須在復位操作之后。(1)寫入方式字;(2)寫入命令字?!?/p>
同步方式下8251A的初始化過程如下:(1)寫入方式字;(2)寫入同步字符(1個或2個);(3)寫入命令字。9.2可編程串行通信接口芯片8251A例9.1若已知8251A的控制口地址為51H,數(shù)據(jù)口地址為50H,按要求對8251A初始化,寫出初始化程序段。(設(shè)在此之前已對8251A進行了復位操作)(1)異步方式,波特率因子為64,每字符7個數(shù)據(jù)位,偶校驗,2位停止位。(2)允許發(fā)送和接收,使狀態(tài)寄存器中的3個錯誤標志位復位,使數(shù)據(jù)終端準備好信號輸出低電平。(3)查詢8251A狀態(tài)字,接收準備就緒時,從8251A輸入數(shù)據(jù),否則等待。9.2.38251A的初始化及應(yīng)用設(shè)計舉例
2.8251A初始化編程舉例
(1)異步方式下的初始化編程舉例分析:根據(jù)題目要求,方式字如下:9.2可編程串行通信接口芯片8251A例9.1若已知8251A的控制口地址為51H,數(shù)據(jù)口地址為50H,按要求對8251A初始化,寫出初始化程序段。(設(shè)在此之前已對8251A進行了復位操作)(1)異步方式,波特率因子為64,每字符7個數(shù)據(jù)位,偶校驗,2位停止位。(2)允許發(fā)送和接收,使狀態(tài)寄存器中的3個錯誤標志位復位,使數(shù)據(jù)終端準備好信號輸出低電平。(3)查詢8251A狀態(tài)字,接收準備就緒時,從8251A輸入數(shù)據(jù),否則等待。9.2.38251A的初始化及應(yīng)用設(shè)計舉例
2.8251A初始化編程舉例
(1)異步方式下的初始化編程舉例分析:根據(jù)題目要求,命令字如下:狀態(tài)字:查D1(RXRDY)是否等于1。9.2可編程串行通信接口芯片8251A初始化程序如下:MOVDX,51H;8251A控制端口地址
MOVAL,FBH;寫入方式字
OUTDX,ALMOVAL,17H;寫入命令字
OUTDX,ALWT:MOVDX,51H;8251A控制端口地址
INAL,DX;讀狀態(tài)字
TESTAL,02H;檢查RXRDY=1?JZWT;RXRDY≠1,等待
MOVDX,50H;8251A數(shù)據(jù)端口地址
INAL,DX;讀數(shù)據(jù)9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例
2.8251A初始化編程舉例
(2)同步方式下的初始化編程舉例分析:例9.2若已知8251A的控制口地址為51H,數(shù)據(jù)口地址為50H,按要求對8251A初始化,寫出初始化程序段。(設(shè)在此之前已對8251A進行了復位操作)(1)同步方式,兩個同步字符,內(nèi)同步,同步字符為16H,每字符7個數(shù)據(jù)位,偶校驗。(2)允許發(fā)送和接收,使狀態(tài)寄存器中的3個錯誤標志位復位,開始搜索同步字符,并通知調(diào)制解調(diào)器,數(shù)據(jù)終端設(shè)備已準備就緒。根據(jù)題目要求,方式字如下:9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例
2.8251A初始化編程舉例
(2)同步方式下的初始化編程舉例分析:例9.2若已知8251A的控制口地址為51H,數(shù)據(jù)口地址為50H,按要求對8251A初始化,寫出初始化程序段。(設(shè)在此之前已對8251A進行了復位操作)(1)同步方式,兩個同步字符,內(nèi)同步,同步字符為16H,每字符7個數(shù)據(jù)位,偶校驗。(2)允許發(fā)送和接收,使狀態(tài)寄存器中的3個錯誤標志位復位,開始搜索同步字符,并通知調(diào)制解調(diào)器,數(shù)據(jù)終端設(shè)備已準備就緒。根據(jù)題目要求,命令字如下:9.2可編程串行通信接口芯片8251A初始化程序如下:MOVDX,51H;8251A控制端口地址MOVAL,38H;寫入方式字OUTDX,ALMOVAL,16H;寫入兩個同步字符,同步字符為16HOUTDX,ALOUTDX,ALMOVAL,97H;寫入命令字OUTDX,AL9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例3.8251A應(yīng)用設(shè)計編程舉例(1)利用8251A實現(xiàn)與終端的串行通信終端通常包括鍵盤和顯示器兩部分,所以計算機與終端之間需進行雙向數(shù)據(jù)通信,即一方面要把使用者在鍵盤上敲入的命令和數(shù)據(jù)輸入給計算機,以供計算機執(zhí)行和處理;另一方面還要把計算機的執(zhí)行結(jié)果和運行狀態(tài)輸出給顯示器,以供使用者閱讀分析。以8251A為主要部件構(gòu)成的計算機串行接口與終端的連接如圖9.13所示。用8251A實現(xiàn)與終端的通信
例9.3若已知8251A的控制口地址為D1H,數(shù)據(jù)口地址為D0H,采用查詢方式編寫8251A通信控制程序(包括初始化程序),實現(xiàn)把單個字符“J”(ASCII碼為4AH)由串行接口發(fā)送到顯示器去。(設(shè)在此之前已對8251A進行了復位操作)。其中8251A通信設(shè)置如下:1)異步方式,波特率因子為16,每字符7位數(shù)據(jù)位,奇校驗,1位停止位2)允許發(fā)送和接收,使狀態(tài)寄存器中的3個錯誤標志位復位,和輸出低電平。9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例3.8251A應(yīng)用設(shè)計編程舉例(1)利用8251A實現(xiàn)與終端的串行通信①傳送單個字符到顯示器的程序程序如下:BEGIN:MOVDX,D1H;8251A控制端口地址
MOVAL,5AH;寫入方式字
OUTDX,AL;
MOVAL,37H;寫入命令字
OUTDX,ALSTATE:MOVDX,D1H;8251A控制端口地址
INAL,DX;讀狀態(tài)字
TESTAL,01H;測試狀態(tài)位TXRDY=1?JZSTATE;發(fā)送未準備好,則繼續(xù)查詢
MOVDX,D0H;8251A數(shù)據(jù)端口地址
MOVAL,4AH;輸出字符J的ASCII碼4AHOUTDX,AL;發(fā)送數(shù)據(jù)
HLT;發(fā)送完暫停例9.4若已知8251A的控制口地址為D1H,數(shù)據(jù)口地址為D0H,采用查詢方式編寫8251A通信控制程序(包括初始化程序),實現(xiàn)使串行接口接收從終端(鍵盤)輸入的一個字符,并立即將同一個字符回送到終端(顯示器)去。(設(shè)在此之前已對8251A進行了復位操作)。其中8251A通信設(shè)置如下:1)異步方式,波特率因子為16,每字符7位數(shù)據(jù)位,奇校驗,1位停止位。2)允許發(fā)送和接收,使狀態(tài)寄存器中的3個錯誤標志位復位,和輸出低電平。9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例3.8251A應(yīng)用設(shè)計編程舉例(1)利用8251A實現(xiàn)與終端的串行通信②字符回送程序程序如下:
MOVDX,D1H;8251A控制端口地址
MOVAL,5AH;寫入方式字
OUTDX,AL;
MOVAL,37H;寫入命令字
OUTDX,ALSTATE1:MOVDX,D1H;8251A控制端口地址
INAL,DX;讀狀態(tài)字
TESTAL,02H;測試狀態(tài)位RXRDY=1?JZSTATE1;接收未準備好,則繼續(xù)查詢
MOVDX,D0H;8251A數(shù)據(jù)端口地址
INDX,AL;接收數(shù)據(jù)
MOVAL,BL;接收數(shù)據(jù)暫存BL寄存器中STATE2:MOVDX,D1H;8251A控制端口地址
INAL,DX;讀狀態(tài)字
TESTAL,01H;測試狀態(tài)位TXRDY=1?JZSTATE2;發(fā)送未準備好,則繼續(xù)查詢
MOVDX,D0H;8251A數(shù)據(jù)端口地址
MOVAL,BL;將剛接收到的字符回送給終端
OUTDX,AL;
JMPSTATE1;繼續(xù)準備接收
HLT;接收完暫停利用8251A實現(xiàn)相距較近(不超過15m)的兩臺微機相互通信,其硬件連接圖如圖9.14所示。9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例3.8251A應(yīng)用設(shè)計編程舉例(2)利用8251A實現(xiàn)雙機通信■甲、乙兩機可進行半雙工或全雙工通信?!?/p>
CPU與接口之間可按查詢方式或中斷方式進行數(shù)據(jù)傳送。■為了避免把方式字寫入其他寄存器,可以在初始化開始之前,向控制端口先后寫入三個“00H”,一個“40H”。前面的三個“00H”是無效命令,用來跨過方式字和同步字符階段,最后一個“40H”作為命令字寫入控制端口,對8251A進行內(nèi)部復位。此后再對8251A進行正式的初始化編程。9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例3.8251A應(yīng)用設(shè)計編程舉例(2)利用8251A實現(xiàn)雙機通信例9.5若已知8251A的控制口地址為D1H,數(shù)據(jù)口地址為D0H,采用查詢方式編寫8251A實現(xiàn)半雙工雙機通信的初始化及控制程序。其中8251A通信設(shè)置如下:(1)異步方式,波特率因子為16,每字符7位數(shù)據(jù)位,偶校驗,1位停止位。(2)使狀態(tài)寄存器中的3個錯誤標志位復位,發(fā)送端允許發(fā)送,發(fā)送請求有效;接收端允許接收,數(shù)據(jù)終端準備好有效。9.2可編程串行通信接口芯片8251A9.2.38251A的初始化及應(yīng)用設(shè)計舉例3.8251A應(yīng)用設(shè)計編程舉例(2)利用8251A實現(xiàn)雙機通信發(fā)送端程序如下:START:MOVDX,D1H;8251A控制端口地址
MOVAL,00H;向8251A連續(xù)三次寫入00HOUTDX,AL;
OUTDX,AL;
OUTDX,AL;
MOVAL,40H;向8251A寫入一次40H,內(nèi)部復位
OUTDX,AL;
MOVAL,7AH;寫入方式字
OUTDX,AL;
MOVAL,31H;寫入命令字
OUTDX,ALMOVSI,發(fā)送數(shù)據(jù)塊首地址
MOVCX,發(fā)送數(shù)據(jù)塊字節(jié)數(shù)WAIT:MOVDX,D1H;8251A控制端口地址
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人購買機器借款合同7篇
- 人工綠化合同范本
- 解除勞動合同協(xié)議書
- 銅幣交易合同范本
- 花基綠化施工合同范本
- 裝修隊包工合同范本
- 消防工程質(zhì)保合同協(xié)議
- 游戲合作關(guān)系合同協(xié)議
- 窗簾合同采購安裝合同協(xié)議
- 游樂場協(xié)議合同
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標準(2024版)宣傳海報
- 高中語文必修下冊名師全冊教案合集【word版】
- 帶電粒子在磁場中的周期性運動
- 一年級100以內(nèi)進位加法口算題
- 《特殊教育概論》考試試題及答案(完整版)
- 農(nóng)田水利渠道灌溉節(jié)水改造工程設(shè)計施工方案
- 《宿舍樓安全評價》word版
- 石油知識-石油地球物理勘探
- 承包商(外來施工人員)入廠安全培訓教學內(nèi)容課件
- 心腦血管疾病基礎(chǔ)知識-課件(演示)教學文案
- 農(nóng)產(chǎn)品貯藏與加工實驗
評論
0/150
提交評論