版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、12第10章 串行通信接口n教學(xué)重點教學(xué)重點n 異步通信協(xié)議和異步通信協(xié)議和RS232CRS232C接口接口n 82518251的內(nèi)部結(jié)構(gòu)和編程的內(nèi)部結(jié)構(gòu)和編程 n 異步通信程序異步通信程序310.1 串行通信基礎(chǔ)n串行通信:用一根信號線將數(shù)據(jù)逐位順序串行通信:用一根信號線將數(shù)據(jù)逐位順序傳送傳送n串行通信的優(yōu)勢:通信線路少,在遠(yuǎn)距離串行通信的優(yōu)勢:通信線路少,在遠(yuǎn)距離通信時可以極大地降低成本;通信時可以極大地降低成本;適合于遠(yuǎn)距適合于遠(yuǎn)距離數(shù)據(jù)傳送,離數(shù)據(jù)傳送,也常用于速度要求不高的近也常用于速度要求不高的近距離數(shù)據(jù)傳送距離數(shù)據(jù)傳送nPC系列機(jī)上有兩個串行異步通信接口,鍵系列機(jī)上有兩個串行異步
2、通信接口,鍵盤盤/鼠標(biāo)器鼠標(biāo)器/顯示器與主機(jī)間亦采用串行數(shù)顯示器與主機(jī)間亦采用串行數(shù)據(jù)傳送。據(jù)傳送。4串行通信的種類:n串行異步通信串行異步通信不傳送時鐘信號不傳送時鐘信號n串行同步通信串行同步通信傳送時鐘信號傳送時鐘信號n自同步:發(fā)送時將傳送數(shù)據(jù)與時鐘進(jìn)行編自同步:發(fā)送時將傳送數(shù)據(jù)與時鐘進(jìn)行編碼,接收時解碼碼,接收時解碼n單同步單同步n雙同步雙同步n外同步:另用一根時鐘線專門用來傳送時外同步:另用一根時鐘線專門用來傳送時鐘信號鐘信號51. 同步通信通信雙方使用同一時鐘n以數(shù)據(jù)塊(幀)為傳輸單位以數(shù)據(jù)塊(幀)為傳輸單位n雙方使用同一時鐘雙方使用同一時鐘(主控方提供時鐘,被控方(主控方提供時鐘,
3、被控方接收時鐘)接收時鐘)n外同步:時鐘信號另外安排一根傳輸線外同步:時鐘信號另外安排一根傳輸線n自同步:發(fā)送時將時鐘信號與數(shù)據(jù)混合編碼,自同步:發(fā)送時將時鐘信號與數(shù)據(jù)混合編碼,接收時譯碼出時鐘接收時譯碼出時鐘n數(shù)據(jù)格式:每個數(shù)據(jù)塊前加數(shù)據(jù)格式:每個數(shù)據(jù)塊前加1 12 2個同步字符個同步字符(同步頭)進(jìn)行幀同步,一般采用(同步頭)進(jìn)行幀同步,一般采用CRCCRC循環(huán)冗循環(huán)冗余校驗碼余校驗碼6n同步通信的數(shù)據(jù)傳輸效率和傳輸速率較高,同步通信的數(shù)據(jù)傳輸效率和傳輸速率較高,但硬件電路比較復(fù)雜但硬件電路比較復(fù)雜n串行同步通信主要應(yīng)用在網(wǎng)絡(luò)當(dāng)中,最常使串行同步通信主要應(yīng)用在網(wǎng)絡(luò)當(dāng)中,最常使用的同步通信協(xié)
4、議有高級數(shù)據(jù)鏈路控制協(xié)議用的同步通信協(xié)議有高級數(shù)據(jù)鏈路控制協(xié)議(HDLC)同步字符同步字符數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)校驗校驗同步字符同步字符7同步通信的數(shù)據(jù)格式同步字符同步字符數(shù)據(jù)場數(shù)據(jù)場同步字符同步字符1 1 同步字符同步字符2 2CRC 1數(shù)據(jù)場數(shù)據(jù)場CRC 2CRC 1CRC 2單同步格式單同步格式雙同步格式雙同步格式標(biāo)志符標(biāo)志符01111110地址符地址符8位位數(shù)據(jù)場數(shù)據(jù)場CRC 1 CRC 2 SDLC格式格式標(biāo)志符標(biāo)志符01111110數(shù)據(jù)場數(shù)據(jù)場CRC 1 CRC 2外同步格式外同步格式標(biāo)志符標(biāo)志符01111110地址符地址符8位位控制符控制符8位位數(shù)據(jù)信息數(shù)據(jù)信息CRC 1 C
5、RC 2標(biāo)志符標(biāo)志符01111110 HDLC格式格式8n1.1.單同步和雙同步單同步和雙同步( (又稱為內(nèi)同步又稱為內(nèi)同步) )n單同步和雙同步信息格式中的同步字符是單同步和雙同步信息格式中的同步字符是由用戶確定的。選擇一個特殊的由用戶確定的。選擇一個特殊的8 8位二進(jìn)制位二進(jìn)制碼作為同步字符碼作為同步字符( (單單) )n選擇兩個特殊的選擇兩個特殊的8 8位二進(jìn)制碼作為同步字符位二進(jìn)制碼作為同步字符( (雙同步雙同步) )這一個或兩個同步字符作為一幀這一個或兩個同步字符作為一幀的開始的開始, ,全幀包括多個字符。全幀包括多個字符。n 9n2.2.外同步外同步n外同步與單同步、雙同步的差別在
6、于數(shù)據(jù)塊外同步與單同步、雙同步的差別在于數(shù)據(jù)塊前面沒有同步字符前面沒有同步字符, ,而是用數(shù)據(jù)塊外的同步信而是用數(shù)據(jù)塊外的同步信號表示數(shù)據(jù)傳送開始。號表示數(shù)據(jù)傳送開始。10n3.SDLC(3.SDLC(同步數(shù)據(jù)鏈同步數(shù)據(jù)鏈) )n是以是以0111111001111110作為標(biāo)志符作為標(biāo)志符, ,作為數(shù)據(jù)塊傳送起作為數(shù)據(jù)塊傳送起始和結(jié)束標(biāo)志始和結(jié)束標(biāo)志, ,跟在起始標(biāo)志符之后的第二字跟在起始標(biāo)志符之后的第二字節(jié)是一個節(jié)是一個8 8位地址符位地址符, ,接收器將收到的地址符接收器將收到的地址符同已存入的地址符相比較同已存入的地址符相比較, ,相同相同, ,就接收數(shù)據(jù)。就接收數(shù)據(jù)。112. 異步通信
7、通信雙方使用各自的時鐘n串行通信時的數(shù)據(jù)、控制和狀態(tài)信息都使用串行通信時的數(shù)據(jù)、控制和狀態(tài)信息都使用同一根信號線傳送同一根信號線傳送n收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)程):程):n傳送速率傳送速率n信息格式信息格式n位同步位同步n幀同步幀同步n數(shù)據(jù)校驗數(shù)據(jù)校驗n錯誤處理錯誤處理n串行異步通信串行異步通信以字符為單位以字符為單位進(jìn)行傳輸進(jìn)行傳輸n數(shù)據(jù)格式:數(shù)據(jù)格式:起止式異步通信協(xié)議起止式異步通信協(xié)議12起止式異步通信協(xié)議起始位起始位每個字符開始傳送的標(biāo)志,每個字符開始傳送的標(biāo)志,起始位采用邏輯起始位采用邏輯0電平電平起始位起始位附加位附加位停止位停止
8、位空閑位空閑位數(shù)據(jù)位數(shù)據(jù)位低位低位高位高位字符字符0/10/1 0/10/10/10/10/10/11 10 01 11 11 1數(shù)據(jù)位數(shù)據(jù)位數(shù)據(jù)位緊跟著起始位傳送。數(shù)據(jù)位緊跟著起始位傳送。由由58個二進(jìn)制位組成,低位先傳送個二進(jìn)制位組成,低位先傳送附加位附加位該位可用于校驗或數(shù)據(jù)標(biāo)識:該位可用于校驗或數(shù)據(jù)標(biāo)識:可選擇奇檢驗、偶校驗或無校驗位可選擇奇檢驗、偶校驗或無校驗位停止位停止位表示該字符傳送結(jié)束。停止表示該字符傳送結(jié)束。停止位為邏輯位為邏輯1電平,可選擇電平,可選擇1、1.5、2位。位。空閑位空閑位傳送字符之間的邏輯傳送字符之間的邏輯1電平,電平,表示沒有進(jìn)行傳送表示沒有進(jìn)行傳送13n
9、要傳送一個字符要傳送一個字符K,K,若數(shù)據(jù)格式約定為若數(shù)據(jù)格式約定為: :字符字符K K用用7 7位位ASCIIASCII碼表示碼表示,1,1位偶校驗位位偶校驗位,1,1位起始位位起始位, ,共共1010位位, ,則則異步方式傳送字符異步方式傳送字符K K時時, ,在串行傳輸線上的波形如下圖在串行傳輸線上的波形如下圖所示所示, ,將其寫成將其寫成ASCIIASCII碼碼, ,即把它的最低有效位寫在右即把它的最低有效位寫在右n邊時為邊時為1001011=4B1001011=4B。0 1 1 0 1 0 0 1 0 1起始位偶校驗停止位字符字符K的傳輸波形的傳輸波形14數(shù)據(jù)傳輸速率n數(shù)據(jù)傳輸速率也
10、稱數(shù)據(jù)傳輸速率也稱比特率比特率(Bit Rate)n每秒傳輸?shù)亩M(jìn)制位數(shù)每秒傳輸?shù)亩M(jìn)制位數(shù)bpsn字符中每個二進(jìn)制位持續(xù)的時間長度都一樣,為數(shù)據(jù)字符中每個二進(jìn)制位持續(xù)的時間長度都一樣,為數(shù)據(jù)傳輸速率的倒數(shù)傳輸速率的倒數(shù)n當(dāng)進(jìn)行二進(jìn)制數(shù)碼傳輸,且每位時間長度相等時,當(dāng)進(jìn)行二進(jìn)制數(shù)碼傳輸,且每位時間長度相等時,比特率還等于比特率還等于波特率波特率(Baud Rate)n過去,串行通信(異步)的數(shù)據(jù)傳輸速率限制在過去,串行通信(異步)的數(shù)據(jù)傳輸速率限制在50 bps到到9600 bps之間。之間。n現(xiàn)在,串行通信可以達(dá)到現(xiàn)在,串行通信可以達(dá)到115200 bps或更高或更高(1)波特率波特率15n
11、例例1.1.設(shè)一個串行字符由設(shè)一個串行字符由1 1位起始位、位起始位、7 7位數(shù)據(jù)位,位數(shù)據(jù)位,1 1位奇偶校驗位和位奇偶校驗位和1 1位停止位構(gòu)成,每秒鐘傳送位停止位構(gòu)成,每秒鐘傳送120120個個字符,則數(shù)據(jù)傳送的波特率為:字符,則數(shù)據(jù)傳送的波特率為:n 1010位位/ /字符字符120120字符字符/S=120/S=120位位/S=1200/S=1200波特波特n傳送每位信息所占用的時間為:傳送每位信息所占用的時間為:1S/1200=0.833ms1S/1200=0.833msn關(guān)于同步傳送的傳輸率也為關(guān)于同步傳送的傳輸率也為12001200波特波特, ,用用4 4個同步字個同步字符作為
12、信息幀頭部符作為信息幀頭部, ,字符中不設(shè)奇偶校驗位字符中不設(shè)奇偶校驗位, ,被傳送被傳送的字符和同步字符均為的字符和同步字符均為7 7位位, ,那么傳送那么傳送100100個字符所個字符所用用n的時間為的時間為7(4+100)/1200=0.60677(4+100)/1200=0.6067秒。這就是說每秒秒。這就是說每秒n的字符數(shù)可達(dá)的字符數(shù)可達(dá)100/0.6067=165100/0.6067=165個。可見個??梢? ,在相同的在相同的傳輸下傳輸下, ,同步字符的實際字符傳輸要比異步時高。同步字符的實際字符傳輸要比異步時高。16n (2 2)發(fā)送)發(fā)送/ /接收時鐘接收時鐘n在異步串行中,
13、發(fā)送端需要用一定頻率的時鐘來決定在異步串行中,發(fā)送端需要用一定頻率的時鐘來決定n發(fā)送每一個數(shù)據(jù)所占的時間長度(稱為位寬度),接收發(fā)送每一個數(shù)據(jù)所占的時間長度(稱為位寬度),接收端也要用一定的頻率的時鐘來測定每一位輸入數(shù)據(jù)的位端也要用一定的頻率的時鐘來測定每一位輸入數(shù)據(jù)的位寬度。在異步通信中,總是根據(jù)數(shù)據(jù)傳輸?shù)牟ㄌ芈蕘泶_寬度。在異步通信中,總是根據(jù)數(shù)據(jù)傳輸?shù)牟ㄌ芈蕘泶_定收定收/ /發(fā)時鐘的頻率。通常,收發(fā)時鐘的頻率。通常,收/ /發(fā)時鐘的頻率發(fā)時鐘的頻率n總是取位傳輸率(即波特率)的總是取位傳輸率(即波特率)的1616倍、倍、3232倍或倍或6464倍,這倍,這有利于在位信號的中間對每位數(shù)據(jù)進(jìn)行
14、采樣減少讀有利于在位信號的中間對每位數(shù)據(jù)進(jìn)行采樣減少讀n數(shù)錯誤。數(shù)錯誤。 收收/ /發(fā)時鐘頻率與波特率間的關(guān)系:發(fā)時鐘頻率與波特率間的關(guān)系:n收收/ /發(fā)時鐘頻率發(fā)時鐘頻率=n=n波特率波特率n收收/ /發(fā)波特率發(fā)波特率= =收收/ /發(fā)時鐘發(fā)時鐘/n (/n (其中其中 n=1,16,64)n=1,16,64)17n式中式中n n叫波特率系數(shù)或波特率因子叫波特率系數(shù)或波特率因子, ,它的取值可為它的取值可為1,16,321,16,32或或6464。但對可編程串行接口芯片。但對可編程串行接口芯片8251A8251A來說來說,n,n不不n能取能取32,32,只能取只能取1,161,16或或646
15、4。由上可知。由上可知, ,在實際應(yīng)用中在實際應(yīng)用中, ,可可n根據(jù)所需要的傳輸波特率和選取的波特率因子根據(jù)所需要的傳輸波特率和選取的波特率因子n n來確定來確定n收收/ /發(fā)時鐘的頻率。發(fā)時鐘的頻率。n例例: :若要求傳輸速率為若要求傳輸速率為24002400波特波特, ,則則: :n 當(dāng)取當(dāng)取n=1n=1時時, ,收收/ /發(fā)時鐘頻率為發(fā)時鐘頻率為2.4KHz2.4KHzn 當(dāng)取當(dāng)取n=16n=16時時, ,收收/ /發(fā)時鐘頻率為發(fā)時鐘頻率為38.4KHz38.4KHzn 當(dāng)取當(dāng)取n=64n=64時時, ,收收/ /發(fā)時鐘頻率為發(fā)時鐘頻率為153.6KHz153.6KHzn(3)(3)傳輸
16、距離與傳輸速率的關(guān)系傳輸距離與傳輸速率的關(guān)系n通過串口不產(chǎn)生信號畸變和失真的條件下通過串口不產(chǎn)生信號畸變和失真的條件下, ,所能傳送的所能傳送的最大距離與傳輸速率的電氣性能有關(guān)。最大距離與傳輸速率的電氣性能有關(guān)。18n對于同一種傳輸線,傳輸距離是隨傳輸率的增加而對于同一種傳輸線,傳輸距離是隨傳輸率的增加而減少。減少。圖圖8-408-40所示為使用每英尺有所示為使用每英尺有50pf50pf分布電容的分布電容的n非平衡雙屏蔽線時,傳輸距離隨波特率變化的曲線。非平衡雙屏蔽線時,傳輸距離隨波特率變化的曲線。100500200100020005000100500 1000 5000 10000193.
17、傳輸制式全雙工全雙工站站A站站B站站A站站B站站A站站B半雙工半雙工單工單工204. 遠(yuǎn)距離傳輸和調(diào)制解調(diào)器n串行數(shù)據(jù)的遠(yuǎn)傳串行數(shù)據(jù)的遠(yuǎn)傳n提高電平擺幅提高電平擺幅RS232-C標(biāo)準(zhǔn)標(biāo)準(zhǔn)n采用平衡式傳輸采用平衡式傳輸RS422/RS485n采用電流信號采用電流信號20mA電流環(huán)電流環(huán)n利用電話線和聲頻信號利用電話線和聲頻信號調(diào)制調(diào)制/解調(diào)解調(diào)n調(diào)制(調(diào)制(Modulating)和解調(diào)()和解調(diào)(Demodulating)n把數(shù)字信號轉(zhuǎn)換為電話線路上可傳送的模擬信號把數(shù)字信號轉(zhuǎn)換為電話線路上可傳送的模擬信號n將電話線路上的模擬信號轉(zhuǎn)換為數(shù)字信號將電話線路上的模擬信號轉(zhuǎn)換為數(shù)字信號n調(diào)制解調(diào)器(調(diào)
18、制解調(diào)器(MODEM)n具有調(diào)制和解調(diào)功能的聯(lián)合裝置具有調(diào)制和解調(diào)功能的聯(lián)合裝置21n計算機(jī)串行通信是一種數(shù)字計算機(jī)串行通信是一種數(shù)字“0”0”和和“1”1”的通信的通信。n它要求信號傳輸介質(zhì)具有較寬的通頻帶,而遠(yuǎn)距離串行通信經(jīng)常借用電話線作為傳輸介質(zhì),電話線頻帶較窄,約在303000Hz之間,如下圖所示。當(dāng)數(shù)字信號n直接通過電話線傳送時,在303000Hz之外的部分信n號丟失,造成嚴(yán)重的信號畸變。fK303000電話線頻帶圖電話線頻帶圖2223n調(diào)制方法有多種,下圖所示的調(diào)制方法有多種,下圖所示的FSKFSK移頻鍵控是目前使移頻鍵控是目前使用最廣泛的一種調(diào)制方法。用最廣泛的一種調(diào)制方法。-+
19、輸出輸出頻率頻率1頻率頻率2K1K2R1R2R3A2410.2 串行接口標(biāo)準(zhǔn)RS-232Cn美國電子工業(yè)協(xié)會美國電子工業(yè)協(xié)會EIA制定的制定的通用標(biāo)準(zhǔn)串行接口通用標(biāo)準(zhǔn)串行接口n1962年公布,年公布,1969年修訂年修訂n1987年年1月正式改名為月正式改名為EIA-232Dn設(shè)計目的是用于連接調(diào)制解調(diào)器設(shè)計目的是用于連接調(diào)制解調(diào)器n現(xiàn)已成為數(shù)據(jù)終端設(shè)備現(xiàn)已成為數(shù)據(jù)終端設(shè)備DTE與數(shù)據(jù)通信設(shè)備與數(shù)據(jù)通信設(shè)備DCE的標(biāo)準(zhǔn)接口的標(biāo)準(zhǔn)接口nDTE數(shù)據(jù)終端設(shè)備,例如計算機(jī)數(shù)據(jù)終端設(shè)備,例如計算機(jī)nDCE數(shù)據(jù)通信設(shè)備(數(shù)傳機(jī)),例如調(diào)制解調(diào)器數(shù)據(jù)通信設(shè)備(數(shù)傳機(jī)),例如調(diào)制解調(diào)器)n可實現(xiàn)遠(yuǎn)距離通信,也
20、可近距離連接兩臺微機(jī)可實現(xiàn)遠(yuǎn)距離通信,也可近距離連接兩臺微機(jī)n屬于網(wǎng)絡(luò)層次結(jié)構(gòu)中的最低層:物理層屬于網(wǎng)絡(luò)層次結(jié)構(gòu)中的最低層:物理層25DTEDCEDCEDTE調(diào)制解調(diào)器調(diào)制解調(diào)器調(diào)制解調(diào)器調(diào)制解調(diào)器計算機(jī)計算機(jī)計算機(jī)計算機(jī)電話線電話線RS-232C接口RS-232C接口RS-232C接口的使用場合2610.2.1 RS-232C的引腳定義n232C接口標(biāo)準(zhǔn)使用一個25針連接器n絕大多數(shù)設(shè)備只使用其中9個信號,所以就有了9針連接器232C接口信號面向使用調(diào)制解調(diào)器的串行異步通信,可支持兩個通信信道:n主信道:主信道:用于數(shù)據(jù)傳送n次信道:次信道:次信道為輔助串行通道,主要提供通道控制,但其傳輸速
21、率比主信道要低得多,其他跟主信道相同,通常較少使用27RS-232C的引腳(1)nTxD:發(fā)送數(shù)據(jù)(終端發(fā)送數(shù)據(jù)(終端數(shù)傳機(jī))數(shù)傳機(jī))n串行數(shù)據(jù)的發(fā)送端串行數(shù)據(jù)的發(fā)送端nRxD:接收數(shù)據(jù)(終端接收數(shù)據(jù)(終端數(shù)傳機(jī))數(shù)傳機(jī))n串行數(shù)據(jù)的接收端串行數(shù)據(jù)的接收端28RS-232C的引腳(2)nRTS:請求發(fā)送(終端:請求發(fā)送(終端數(shù)傳機(jī))數(shù)傳機(jī))n當(dāng)數(shù)據(jù)終端設(shè)備準(zhǔn)備好送出數(shù)據(jù)時,就發(fā)出當(dāng)數(shù)據(jù)終端設(shè)備準(zhǔn)備好送出數(shù)據(jù)時,就發(fā)出有效的有效的RTS信號,用于通知數(shù)據(jù)通信設(shè)備準(zhǔn)信號,用于通知數(shù)據(jù)通信設(shè)備準(zhǔn)備接收數(shù)據(jù)備接收數(shù)據(jù)nCTS:清除發(fā)送(允許發(fā)送):清除發(fā)送(允許發(fā)送)(終端終端數(shù)傳機(jī))數(shù)傳機(jī))當(dāng)數(shù)據(jù)通
22、信設(shè)備已準(zhǔn)備好接收數(shù)據(jù)終端設(shè)當(dāng)數(shù)據(jù)通信設(shè)備已準(zhǔn)備好接收數(shù)據(jù)終端設(shè)備的傳送數(shù)據(jù)時,發(fā)出備的傳送數(shù)據(jù)時,發(fā)出CTS有效信號來響有效信號來響應(yīng)應(yīng)RTS信號信號RTS和和CTS是數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間是數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間一對用于數(shù)據(jù)發(fā)送的聯(lián)絡(luò)信號一對用于數(shù)據(jù)發(fā)送的聯(lián)絡(luò)信號29RS-232C的引腳(3)nDTR:數(shù)據(jù)終端準(zhǔn)備好(終端數(shù)據(jù)終端準(zhǔn)備好(終端數(shù)傳機(jī))數(shù)傳機(jī))n通常當(dāng)數(shù)據(jù)終端設(shè)備一加電,該信號就有通常當(dāng)數(shù)據(jù)終端設(shè)備一加電,該信號就有效,表明數(shù)據(jù)終端設(shè)備準(zhǔn)備就緒效,表明數(shù)據(jù)終端設(shè)備準(zhǔn)備就緒nDSR:數(shù)據(jù)裝置準(zhǔn)備好(終端數(shù)據(jù)裝置準(zhǔn)備好(終端數(shù)傳機(jī))數(shù)傳機(jī))n通常表示數(shù)據(jù)通信設(shè)備(即數(shù)
23、據(jù)裝置)已通常表示數(shù)據(jù)通信設(shè)備(即數(shù)據(jù)裝置)已接通電源連到通信線路上,并處在數(shù)據(jù)傳接通電源連到通信線路上,并處在數(shù)據(jù)傳輸方式輸方式DTR和和DSR也可用做數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通也可用做數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間的聯(lián)絡(luò)信號,例如應(yīng)答數(shù)據(jù)接收信設(shè)備間的聯(lián)絡(luò)信號,例如應(yīng)答數(shù)據(jù)接收30RS-232C的引腳(4)nGND:信號地信號地n為所有的信號提供一個公共的參考電平為所有的信號提供一個公共的參考電平nCD:載波檢測(載波檢測(DCD) (終端(終端數(shù)傳機(jī))數(shù)傳機(jī))n當(dāng)本地調(diào)制解調(diào)器接收到來自對方的載波信當(dāng)本地調(diào)制解調(diào)器接收到來自對方的載波信號時,該引腳向數(shù)據(jù)終端設(shè)備提供有效信號號時,該引腳向數(shù)據(jù)終端
24、設(shè)備提供有效信號nRI:振鈴指示(終端振鈴指示(終端數(shù)傳機(jī))數(shù)傳機(jī))n當(dāng)調(diào)制解調(diào)器接收到對方的撥號信號期間,當(dāng)調(diào)制解調(diào)器接收到對方的撥號信號期間,該引腳信號作為電話鈴響的指示、保持有效該引腳信號作為電話鈴響的指示、保持有效31RS-232C的引腳(5)n保護(hù)地保護(hù)地(機(jī)殼地)(機(jī)殼地)n起屏蔽保護(hù)作用的接地端,一般應(yīng)參照設(shè)起屏蔽保護(hù)作用的接地端,一般應(yīng)參照設(shè)備的使用規(guī)定,連接到設(shè)備的外殼或大地備的使用規(guī)定,連接到設(shè)備的外殼或大地nTxC:發(fā)送器時鐘:發(fā)送器時鐘n控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時鐘信號控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時鐘信號nRxC:接收器時鐘:接收器時鐘n控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時鐘信
25、號控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時鐘信號3210.2.2 RS-232C的連接n微機(jī)利用微機(jī)利用232C接口接口連接調(diào)制解調(diào)器連接調(diào)制解調(diào)器,用于,用于實現(xiàn)通過電話線路的遠(yuǎn)距離通信實現(xiàn)通過電話線路的遠(yuǎn)距離通信n微機(jī)利用微機(jī)利用232C接口接口直接連接直接連接進(jìn)行短距離通進(jìn)行短距離通信。這種連接不使用調(diào)制解調(diào)器,所以被信。這種連接不使用調(diào)制解調(diào)器,所以被稱為稱為零調(diào)制解調(diào)器零調(diào)制解調(diào)器(Null Modem)連接)連接33連接調(diào)制解調(diào)器電話線電話線MODEM微機(jī)微機(jī)2345678202223456782022MODEM23456782022數(shù)據(jù)裝置準(zhǔn)備好數(shù)據(jù)裝置準(zhǔn)備好DSR數(shù)據(jù)終端準(zhǔn)備好數(shù)據(jù)終端準(zhǔn)備
26、好DTR發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)TxD接收數(shù)據(jù)接收數(shù)據(jù)RxD請求發(fā)送請求發(fā)送RTS允許發(fā)送允許發(fā)送CTS信號地信號地GND載波檢測載波檢測CD振鈴指示振鈴指示RI微機(jī)微機(jī)2345678202234不使用聯(lián)絡(luò)信號的3線相連方式微機(jī)微機(jī)TxDRxDGND微機(jī)微機(jī)為了交換信息,為了交換信息,TxD和和RxD交叉連接,程序交叉連接,程序中不必使中不必使RTS和和DTR有效,也不檢測有效,也不檢測CTS和和DSR是否有效是否有效 TxDRxD35“偽”使用聯(lián)絡(luò)信號的3線相連方式RTS和和CTS各自互接,各自互接,DTR和和DSR各自互接,各自互接,表明請求傳送總是允許、數(shù)據(jù)裝置總準(zhǔn)備好表明請求傳送總是允許、數(shù)據(jù)
27、裝置總準(zhǔn)備好微機(jī)微機(jī)DSRDTRTxDRxDRTSCTSGND微機(jī)微機(jī)TxDRxDDSRDTRRTSCTS36使用聯(lián)絡(luò)信號的多線相連方式通信比較可靠,所用連線較多,不如通信比較可靠,所用連線較多,不如前者經(jīng)濟(jì)前者經(jīng)濟(jì)微機(jī)微機(jī)DSRDTRTxDRxDRTSCTSGND微機(jī)微機(jī)DSRDTRTxDRxDRTSCTS3710.2.3 RS-232C的電氣特性n232C接口采用接口采用EIA電平(負(fù)邏輯電平(負(fù)邏輯)n“0” 電平為電平為3V15Vn“1”電平為電平為3V15Vn實際常用實際常用12V或或15Vn標(biāo)準(zhǔn)標(biāo)準(zhǔn)TTL電平(正邏輯)電平(正邏輯)n“1”電平:電平:2.4V5Vn“0”電平:電平
28、:0V0.8V相互轉(zhuǎn)換相互轉(zhuǎn)換3810.3 RS-44910.3 RS-449、RS-422/423RS-422/423和和RS-485RS-485n10.3.1 RS-44910.3.1 RS-449nRS-449是1977年公布的新串行總線標(biāo)準(zhǔn),與nRS-232C兼容。n(1)傳送速率高,可達(dá)可達(dá)90Kbps,90Kbps,可不使用MODEM。 (2)可使用多點或公用線通信,傳送距離在傳送距離在12001200米。米。 (3)利用信號線之間的信號電壓差進(jìn)行傳輸,并且躁 聲低。 (4)提供了兩種標(biāo)準(zhǔn)連接,一種是37腳,一種是9腳 以適應(yīng)不同的需要。3910.3.2 RS-422/42310.
29、3.2 RS-422/423n1. RS-422 1. RS-422 n (1) (1)采用平衡式雙端線傳輸信號采用平衡式雙端線傳輸信號, ,即采用了平衡發(fā)即采用了平衡發(fā)送器和差動接收器送器和差動接收器, ,見下圖所示。見下圖所示。n (2)(2)傳輸速度快傳輸速度快, ,傳輸距離長傳輸距離長, ,最大傳輸速率可達(dá)最大傳輸速率可達(dá)n10Mbps,10Mbps,在此速率下傳送可達(dá)在此速率下傳送可達(dá)120120米。米。n (3)(3)當(dāng)速率降至當(dāng)速率降至90Kbps,90Kbps,最大傳送距離為最大傳送距離為12001200米。米。+TTLTTL平衡發(fā)送器平衡發(fā)送器RS-422RS-422(平衡式
30、平衡式)402.RS-4232.RS-423n采用非平衡式傳輸采用非平衡式傳輸, ,使用單端使用單端( (非平衡非平衡) )發(fā)送器和發(fā)送器和n差動接收器差動接收器, ,見下圖所示。見下圖所示。 (1)(1)采用不平衡信號差傳輸和差動式接收采用不平衡信號差傳輸和差動式接收, ,增加其抗干擾增加其抗干擾性。性。 (2)(2)比比RS-232CRS-232C有大的傳輸距離和更高的傳輸速度。有大的傳輸距離和更高的傳輸速度。nRS-423RS-423在在9090米長電纜上傳送數(shù)據(jù)最大速率可達(dá)米長電纜上傳送數(shù)據(jù)最大速率可達(dá)100Kbps,100Kbps,若速率降到若速率降到11Kbps,11Kbps,則允
31、許電纜長度為則允許電纜長度為12001200米。米。(3 3)RS-423RS-423標(biāo)準(zhǔn)規(guī)定:邏輯標(biāo)準(zhǔn)規(guī)定:邏輯“1”1”電平為電平為+200mv+200mv+6V+6V 邏輯邏輯“0”0”電平為電平為-200mv-200mv-6V-6VRS-423RS-423允許在傳送線上連接多個接收器,此時允許在傳送線上連接多個接收器,此時 “ “1”1”為為+4+4+6V+6V;邏輯;邏輯“0”0”為為-4-4-6V-6V41無公共地?zé)o公共地TTLTTLRS-423單端發(fā)送器單端發(fā)送器差動接收器差動接收器RS-423(非平衡式)(非平衡式)4210.3.3 RS-48510.3.3 RS-485nRS
32、-485RS-485總線標(biāo)準(zhǔn)是對總線標(biāo)準(zhǔn)是對RS-423RS-423標(biāo)準(zhǔn)在性能上擴(kuò)展標(biāo)準(zhǔn)在性能上擴(kuò)展, ,它是一它是一種多發(fā)送器的串行總線標(biāo)準(zhǔn)。種多發(fā)送器的串行總線標(biāo)準(zhǔn)。RS-485RS-485允許雙導(dǎo)線上允許雙導(dǎo)線上n一個發(fā)送器可驅(qū)動多達(dá)一個發(fā)送器可驅(qū)動多達(dá)3232個負(fù)載設(shè)備個負(fù)載設(shè)備, ,這些負(fù)載設(shè)備可這些負(fù)載設(shè)備可以是接收器、被動發(fā)送器或收發(fā)器。以是接收器、被動發(fā)送器或收發(fā)器。nRS-485RS-485標(biāo)準(zhǔn)總線的顯著特點主要表現(xiàn)在標(biāo)準(zhǔn)總線的顯著特點主要表現(xiàn)在: :n(1)(1)一個發(fā)送器可驅(qū)動多個負(fù)載設(shè)備一個發(fā)送器可驅(qū)動多個負(fù)載設(shè)備, ,特別適合現(xiàn)場測特別適合現(xiàn)場測n 控網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用???/p>
33、網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用。 (2 2)平衡連接電纜應(yīng)采用屏蔽電纜,電纜的兩端點分)平衡連接電纜應(yīng)采用屏蔽電纜,電纜的兩端點分 別接終端電阻。別接終端電阻。 (3 3)掛接在平衡電纜上每個設(shè)備均要接地,電纜的屏)掛接在平衡電纜上每個設(shè)備均要接地,電纜的屏 蔽層要與電纜設(shè)備的機(jī)殼相連。蔽層要與電纜設(shè)備的機(jī)殼相連。4310.3.4 20mA10.3.4 20mA電流環(huán)電流環(huán)n20mA20mA電流環(huán)是一種未正式頒布而又使用十分廣泛的串電流環(huán)是一種未正式頒布而又使用十分廣泛的串行總線標(biāo)準(zhǔn)。行總線標(biāo)準(zhǔn)。n1.20mA1.20mA電流環(huán)的主要特點電流環(huán)的主要特點: :n(1)20mA(1)20mA電流環(huán)使用電流信號的電
34、流環(huán)使用電流信號的“有有”和和“無無”來表來表n 示邏輯示邏輯“1”1”和邏輯和邏輯“0”0”。 (2 2)20mA20mA電流環(huán)屬串行異步通信接口標(biāo)準(zhǔn),發(fā)送數(shù)據(jù)電流環(huán)屬串行異步通信接口標(biāo)準(zhǔn),發(fā)送數(shù)據(jù)時必須以無電流的起始位作為傳送字符的起始位。時必須以無電流的起始位作為傳送字符的起始位。 (3 3)由于)由于20mA20mA電流通常選用高電壓大電阻產(chǎn)生,所以電流通常選用高電壓大電阻產(chǎn)生,所以低電阻傳輸導(dǎo)線對電氣躁聲不敏感,大大增強(qiáng)了低電阻傳輸導(dǎo)線對電氣躁聲不敏感,大大增強(qiáng)了20mA20mA電流環(huán)的抗干擾能力,容易實現(xiàn)光電隔離。電流環(huán)的抗干擾能力,容易實現(xiàn)光電隔離。2.20mA2.20mA電流環(huán)
35、串行接口的實現(xiàn)電流環(huán)串行接口的實現(xiàn) 實用實用20mA20mA電流環(huán)接口方法見下圖所示。電流環(huán)接口方法見下圖所示。44TTL輸入1234568328+5V+5V56K10050VCC TIL110光偶合器SN74141/275452TTL數(shù)據(jù)輸出20mA電流環(huán)接口電路電流環(huán)接口電路發(fā)送端由SN75452將TTL電平數(shù)據(jù)轉(zhuǎn)換成20mA環(huán)路電流,遠(yuǎn)距離串行傳輸線上流過的是20mA電流信號,在接收經(jīng)光電隔離并轉(zhuǎn)換成TTL電平信號。10.4 10.4 可編程串行通信接口可編程串行通信接口8251A8251A8251A8251A的基本性能的基本性能 8251A8251A的基本工作原理的基本工作原理 825
36、1A8251A的對外信號的對外信號 8251A8251A的編程的編程 8251A8251A編程舉例編程舉例 8251A8251A的使用實例的使用實例 10.4.1 8251A10.4.1 8251A的基本性能的基本性能 可以工作在同步或異步方式。 在同步方式時,能用5、6、7或8位代表字符能自動檢測同步字符允許奇偶校驗。在異步方式下能用5、6、7或8位代表字符,用1位作為奇偶校驗。能增加1個啟動位能增加1個、1.5個或2個停止位。 10.4.2 8251A10.4.2 8251A的基本工作原理的基本工作原理 8251A的編程結(jié)構(gòu) 8251A的功能結(jié)構(gòu) 8251A的發(fā)送和接收 1.8251A1.
37、8251A的編程結(jié)構(gòu)的編程結(jié)構(gòu)具體編程結(jié)構(gòu)和外部連接如下圖具體編程結(jié)構(gòu)和外部連接如下圖 2 28251A8251A的功能結(jié)構(gòu)的功能結(jié)構(gòu) 接收控制電路的功能: 復(fù)位后尋找啟動位。消除假啟動干擾。對接收到的信息進(jìn)行奇偶校驗。檢測停止位。發(fā)送控制電路功能:在異步方式下,為數(shù)據(jù)加上起始位、校驗位和停止位。在同步方式下,插入同步字符和校驗位。 讀寫控制邏輯電路讀寫控制邏輯電路功能:接收WR,寫入數(shù)據(jù)和控制字接收RD,讀取數(shù)據(jù)或狀態(tài)字接收C/D 控制/數(shù)據(jù)信號,雙功能信號。C/D=0,選擇8251A數(shù)據(jù)端口C/D=1,選擇8251A控制端口接收CLK,完成內(nèi)部定時。接收RESET。圖圖8-49 8251A
38、的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 3. 8251A3. 8251A的發(fā)送和接收的發(fā)送和接收 (1) 異步接收方式 (2) 異步發(fā)送方式下圖為8251A工作在異步方式時的數(shù)據(jù)傳輸格式 (3) 同步接收方式 (4) 同步發(fā)送方式 下圖為8251A工作在同步方式時的數(shù)據(jù)傳輸格式 10.4.3 8251A10.4.3 8251A的對外信號的對外信號 8251A和CPU之間的連接信號 8251A與外部設(shè)備之間的連接信號 1. 8251A1. 8251A和和CPUCPU之間的連接信號之間的連接信號 (1) 片選信號 CS為低電平時,8251A被選中(2) 數(shù)據(jù)信號 D7D0與系統(tǒng)的數(shù)據(jù)總線相連 (3) 讀寫控制信號
39、RD為讀信號。WR為寫信號。C/D為控制/數(shù)據(jù)信號。 (4) 收發(fā)聯(lián)絡(luò)信號TXRDY為發(fā)送器準(zhǔn)備好信號TXE 發(fā)送器空信號RXRDY 接收器準(zhǔn)備好信號SYNDET 同步檢測信號2. 8251A2. 8251A與外部設(shè)備之間的連接信號與外部設(shè)備之間的連接信號 (1) 收發(fā)聯(lián)絡(luò)信號 DTR 數(shù)據(jù)終端準(zhǔn)備好信號 DSR 數(shù)據(jù)設(shè)備準(zhǔn)備好信號 RTS 請求發(fā)送信號 CTS 清除請求發(fā)送信號 (2) 數(shù)據(jù)信號 TXD 發(fā)送器數(shù)據(jù)信號端 RXD 接收器數(shù)據(jù)信號端 10.4.4 8251A10.4.4 8251A的編程的編程 8 8位接口和位接口和1616位數(shù)據(jù)總線的連接問題位數(shù)據(jù)總線的連接問題 8251A8
40、251A的初始化的初始化 模式寄存器的格式模式寄存器的格式 控制寄存器的格式控制寄存器的格式 狀態(tài)寄存器的格式狀態(tài)寄存器的格式 1. 1. 關(guān)于關(guān)于8 8位接口芯片和位接口芯片和1616位數(shù)據(jù)總線的連接問題位數(shù)據(jù)總線的連接問題 解決方法:硬件上,將總線的A1與芯片的A0相連軟件上,用連續(xù)的偶地址代替奇偶地址 2. 8251A2. 8251A的初始化的初始化 8251A初始化的約定 :復(fù)位后,用奇地址寫入的值送模式寄存器。 若為同步模式,接著往奇地址端口輸出的字節(jié)為同步字符。此后,除復(fù)位命令,往奇地址寫入的值將送到控制寄存器,往偶地址端口寫入的值送到數(shù)據(jù)輸出寄存器。 8251A的初始化流程圖的初
41、始化流程圖 3. 3. 模式寄存器的格式模式寄存器的格式 下圖為8251A模式寄存器的格式(a) 異步模式;(b) 同步模式 8251方式選擇控制字方式選擇控制字異步方式異步方式同步方式同步方式 當(dāng)B2B1=00時為同步方式,當(dāng)B2B1=00時工作于異步方式 若為異步方式,由B2B1確定波特率系數(shù)(即波特率因子) 此時,收發(fā)時鐘(RXC和TXC)頻率,波特率和波特率因子三者有以下關(guān)系: 收、發(fā)時鐘頻率收、發(fā)時鐘頻率= =收、發(fā)波特率收、發(fā)波特率波特率因子波特率因子 或收、發(fā)波特率或收、發(fā)波特率= =收、發(fā)時鐘頻率收、發(fā)時鐘頻率/ /波特率因子波特率因子 例如,若收發(fā)波特率為1200,波特率因子
42、為16,則收發(fā)時鐘頻率為120016=19.2KHz。 例:某異步通信中,其數(shù)據(jù)格式為:1位起始位,1位停止位, 7位數(shù)據(jù)位,奇校驗,波特率系數(shù)為16,則其異步方式選擇 控制字為控制字為:01011010B=5AH:01011010B=5AH MOV DX,3F9H;8251A的控制口地址 MOV AL,5AH;異步方式選擇控制字 OUT DX,AL;異步方式寫入控制口 在同步通信中,設(shè)幀數(shù)據(jù)格式為:字符長度8位,雙同步且內(nèi)同步,偶校驗,則同步方式選擇控則同步方式選擇控制字為制字為: : 00111100B=3CH00111100B=3CH。 將方式控制字寫入控制口的程序段為: MOV DX,
43、3F9H;8251A控制口地址 MOV AL,3CH;同步方式選擇控制字 OUT DX,AL;同步方式字寫入控制口 4. 4. 控制寄存器的格式控制寄存器的格式 8251A操作命令字格式操作命令字格式PE 奇偶錯誤標(biāo)志奇偶錯誤標(biāo)志OE溢出錯誤標(biāo)志溢出錯誤標(biāo)志FE幀格式錯誤標(biāo)志幀格式錯誤標(biāo)志1 允許發(fā)送允許發(fā)送0禁止發(fā)送禁止發(fā)送1允許接收允許接收0禁止接收禁止接收0正常工作 例例: :某異步通信中,要求8251A內(nèi)部復(fù)位,允許接收,允許發(fā)送,全部錯誤標(biāo)志復(fù)位,則操作命令字為則操作命令字為: : 00010101=15H00010101=15H。 該操作命令字寫入控制口的程序段為: MOV DX,
44、3F9H;8251A的控制口地址 MOV AL,40H;使內(nèi)部復(fù)位操作命令字 OUT DX,AL MOV AL,15H;允許接收,允許發(fā)送,錯誤標(biāo) 志復(fù)位的操作命令字 OUT DX,AL 5. 5. 狀態(tài)寄存器的格式狀態(tài)寄存器的格式 8251A的狀態(tài)字格式的狀態(tài)字格式 例:例:若要檢查8251A的發(fā)送器是否準(zhǔn)備好,則可用下列程序段實現(xiàn): MOV DX,3F1H ;狀態(tài)口地址K:IN AL,DX ;讀狀態(tài)字 AND AL,01H;查狀態(tài)位D0=1?TXRDY=1? JZ K ;發(fā)送未準(zhǔn)備好,則等待 MOV DX,03F2H ;8251A數(shù)據(jù)口 MOV AL,AAH ;發(fā)送字符送AL OUT DX
45、,AL ;發(fā)送字符寫入8251A 又例:若要檢查接收是否發(fā)生錯誤,則可用下列程序段實現(xiàn): MOV DX,03F1H ;8251A的狀態(tài)口 IN AL,DX ;讀狀態(tài)字 TEST AL,38H ;查狀態(tài)位PE,OE,F(xiàn)E是 否為1 JNZ ERROR ;若其中有一位為“1”,則 轉(zhuǎn)出錯處理 10.4.5 8251A10.4.5 8251A編程舉例編程舉例 異步模式下的初始化程序舉例 同步模式下的初始化程序舉例 利用狀態(tài)字進(jìn)行編程的舉例 1. 1. 異步模式下的初始化程序舉例異步模式下的初始化程序舉例 MOV AL,0FAHOUT 42H,AL;設(shè)置模式字,為異步模式; 波特率因子為16;用7個數(shù)
46、 據(jù)位,偶校驗,2個停止位MOVAL,37HOUT42H,AL;設(shè)置控制字,使發(fā)送啟動、 接收啟動,并設(shè)置有關(guān)信號 0010111137H11111100FAH2. 2. 同步模式下的初始化程序舉例同步模式下的初始化程序舉例 MOV AL,38HOUT 42H,AL;設(shè)置模式字為同步模式,2 個同步字符,7個數(shù)據(jù)位,偶校驗MOV AL,16HOUT 42H,ALOUT 42H,AL;兩個同步字符均為16HMOV AL,97HOUT 42H,AL;設(shè)置控制字,并啟動初始化編程舉例初始化編程舉例( (P308)P308) 例例1 1:設(shè)8251A工作與異步方式,波特率系數(shù)為16,每個字符為8位,奇
47、校驗,1個停止位,允許接收,允許發(fā)送,并且發(fā)送準(zhǔn)備就緒,全部錯誤標(biāo)志復(fù)位,請按上述要求對8251A進(jìn)行初始化,設(shè)控制口地址為設(shè)控制口地址為0F41H,0F41H, 數(shù)據(jù)口地址為數(shù)據(jù)口地址為0F40H0F40H。 方式選擇控制字為:方式選擇控制字為:01011110B=5EH 操作命令字為:操作命令字為:00110111B=37H 初始化程序如下:初始化程序如下: MOV DX,0F41H;8251A控制口地址 MOV AL,5EH;方式選擇控制字,異步, OUT DX,AL 波特率16,8位數(shù)據(jù)位,奇校 驗,1個停止位 MOV AL,37H;操作命令字,允許發(fā)送、接收 OUT DX,AL 錯誤
48、標(biāo)志復(fù)位,發(fā)送準(zhǔn)備就緒 例例2.2.設(shè)8251A工作于同步方式,且內(nèi)同步,雙同步,同步字符為16H,每個字符7個數(shù)據(jù)位,奇校驗,允許接收,允許發(fā)送,同步檢測,全部錯誤標(biāo)志復(fù)位,控制口地址為0F41H,數(shù)據(jù)口地址為0F40H,請按上述要求對8251A進(jìn)行初始化。 方式控制字為方式控制字為:00011000B=18H:00011000B=18H 操作命令字為操作命令字為:10010101B=95H:10010101B=95H 程序如下程序如下: : MOV DX,0F41H;8251A控制口地址 MOV AL,18H;方式字,雙內(nèi)同步,奇 校,7個數(shù)據(jù)位 OUT DX,AL;方式字寫入控制口 MO
49、V AL,16H;同步字符 OUT DX,AL;送入第一同步字符(16H) OUT DX,AL;送入第二同步字符 MOV AL,95H;操作命令字 OUT DX,AL;操作命令字寫入控制口 3. 3. 利用狀態(tài)字進(jìn)行編程的舉例利用狀態(tài)字進(jìn)行編程的舉例 MOV AL,0FAHOUT 42H,AL;設(shè)置模式字,異步模式,波 特率因子為16,7個數(shù)據(jù) 位,2個停止位,偶校驗MOV AL,35HOUT 42H,AL ;設(shè)置控制字,并啟動 MOV DI,0;變址寄存器初始化 MOV CX,80 ;共收取80個字符BEGIN: IN AL,42H TEST AL,02H JZ BEGIN;讀狀態(tài)字并測試I
50、N AL,40H ;讀取字符MOV DX,OFFSET BUFFERMOV DX+DI,AL ;傳輸字符INC DI ;修改緩沖區(qū)指針I(yè)N AL,42H ;讀取狀態(tài)字TEST AL,38H ;測試有無錯誤 JNZ ERRORLOOP BEGIN ;如沒有錯,則接收 下1個字符 JMP EXIT ;如滿80個字符,則結(jié)束ERROR: CALL ERR_OUT;調(diào)用出錯處理程序EXIT: 10.4.6 8251A10.4.6 8251A的使用實例的使用實例 下圖為用8251A作為CRT接口的實際例子 8251A8251A的初始化程序段的初始化程序段 : :INIT: XOR AX,AX;AX清零
51、MOV CX,0003 MOV DX,00DAH;OUT1: CALL KKK LOOP OUT1 ;往控制端口DAH送3個0MOV AL,40H CALL KKK ;往控制端口送40H復(fù)位MOV AL,4EH CALL KKK ;設(shè)置模式字, 異步模式, 波特率因子為16,8位數(shù)據(jù), 1位停止位MOVAL,27H CALLKKK;往設(shè)置命令字啟動 . KKK:OUT DX,AL;將數(shù)據(jù)輸出到指定端口 PUSH CX MOV CX,0002 ABC:LOOP ABC ;等待輸出動作完成 POP CX ;恢復(fù)CX內(nèi)容RET往往CRTCRT輸出一個字符的程序段輸出一個字符的程序段 CHAROUT:
52、 MOV DX,0DAHSTATE:IN AL,DX;輸入狀態(tài)字 TEST AL,01 JZ STATE;不斷測試狀態(tài)位 MOV DX,0D8H;數(shù)據(jù)端口地址送DX POP AX ;AX中為要輸出的字符 OUT DX,AL;往端口中輸出一個字符8251A8251A的應(yīng)用舉例的應(yīng)用舉例 例例1.1.8086CPU利用8251A作串行接口實現(xiàn)與CRT終端間的串行傳送。 8251A作為8086CPU與CRT終端間的接口如圖8-57所示,ALE信號有效時,將CPU送來的地址鎖存。地址線A0接C/D端用于選擇8251A的數(shù)據(jù)口或控制口。波特率發(fā)生器輸出頻率為76.8KHz,向8251A提供規(guī)定的收/發(fā)時
53、鐘(RXC和TXC),由于8251A輸入輸出都是TTL電平,而CRT是 RS-232電平,所以要通過1488及1489進(jìn)行電平轉(zhuǎn)換。 8251A8251A工作方式的確定:工作方式的確定:異步方式,1個停止位,8位數(shù)據(jù)位,偶校驗,波特率系數(shù)為16。CPU用查詢方式將緩沖區(qū)字符“HELLO”送CRT上顯示。 顯示字符存放在數(shù)據(jù)段, 首地址為首地址為2000H2000H; 控制口地址為控制口地址為04F2H04F2H; 數(shù)據(jù)口地址為數(shù)據(jù)口地址為04F0H04F0H。方式選擇控制字為方式選擇控制字為01111110B=7EH01111110B=7EH操作命令字為操作命令字為00110011B=33H0
54、0110011B=33H 地址鎖存器 地址譯碼器A7A1A0ENSTBCSC/DRDWRCLK8251A8086AD15AD0ALEM/IOM/IORDWRCLK電平轉(zhuǎn)換電平轉(zhuǎn)換CRT 終終 端端波特率波特率發(fā)生器發(fā)生器RXDTXDDTRDSRTXCRXCD70圖圖8-57 8086與與CRT終端接口連接終端接口連接 EDATA SEGMENT DISBUF DB 48H,45H,4CH,4FH,0DH,0AH ;HELLO字符的ASCII碼 EDATA ENDS MAIN: MOV DX,04F2H;8251A的控制口 MOV AL,40H;內(nèi)部復(fù)位(軟件復(fù)位) OUT DX,AL MOV
55、AL,7EH;方式選擇控制字 OUT DX,AL MOV AL,33H;操作命令字 OUT DX,AL MOV BX,2000H;顯示緩沖區(qū)首地址 MOV CX,07H;顯示字符個數(shù) WAT: MOV DX,04F2H;8251A的狀態(tài)口 IN AL,DX;讀狀態(tài)字 TEST AL,80H ;查數(shù)據(jù)裝置是否準(zhǔn)備就 緒?即查DSR JZ WAT ;未準(zhǔn)備就緒,等待 MOV DX,04F0H;8251A數(shù)據(jù)口 MOV AL,BX;從顯示緩沖區(qū)取數(shù)據(jù) OUT DX,AL ;將顯示字符送8251A數(shù)據(jù)口 INC BX ;修改顯示緩沖區(qū)地址 DEC CX ;字符個數(shù)減1 JNZ WAT ;未傳送完,繼續(xù)
56、送CRT顯示 HLT例例2.2.利用8251A串行接口芯片通過RS-232C標(biāo)準(zhǔn)串行總線連接甲、乙兩臺8086微機(jī)實現(xiàn)雙機(jī)串行通信,由甲機(jī)向乙機(jī)傳送256個字符數(shù)據(jù)。通信有關(guān)約定如下: 雙方采用異步、半雙工方式,通信時均認(rèn)為對方已準(zhǔn)備就緒,通信數(shù)據(jù)格式為,每個字符7個數(shù)據(jù)位,2個停止位、偶校驗,波特率系數(shù)為16。 CPU與8251A之間采用查詢方式交換數(shù)據(jù), 8251A8251A的數(shù)據(jù)口地址為的數(shù)據(jù)口地址為3F0H,3F0H, 控制口地址為控制口地址為3F2H,3F2H, 發(fā)送數(shù)據(jù)存放的數(shù)據(jù)區(qū)首地址為發(fā)送數(shù)據(jù)存放的數(shù)據(jù)區(qū)首地址為2000H2000H 接收數(shù)據(jù)的有效地址為接收數(shù)據(jù)的有效地址為40
57、00H4000H。 收/發(fā)時鐘RXC和TXC由8253的通道1提供,輸出頻率為153.6KHz,8253工作于方式3,輸入時鐘CLK,頻率為2MHz,它由CPU 8MHz的主時鐘經(jīng)分頻后得到。分頻分頻分頻分頻波特波特率發(fā)率發(fā)生器生器波特波特率發(fā)率發(fā)生器生器電平電平變換變換電平電平變換變換D7D0TXDRXDRXDTXDGNDGNDTXDRXDTXDRXDD7D0D7D0RDRDWRWRA1RDWRA1RESETRESETRETRETCLKCLKCLK 8086 CPU 8086 CPU8251A8251AD7D0EIA/TTLEIA/TTL圖圖8-58 雙機(jī)串行通信硬件連接雙機(jī)串行通信硬件連接
58、C/D發(fā)送端與接送端的方式選擇控制字為發(fā)送端與接送端的方式選擇控制字為11111010B=FAH,11111010B=FAH,發(fā)送端操作命令字為發(fā)送端操作命令字為00010001B=11H,00010001B=11H,接送端操作命令字為接送端操作命令字為14H14H 發(fā)送端的發(fā)送程序如下發(fā)送端的發(fā)送程序如下: : BEGIN-T: MOV DX,3F2H;8251A的控制口地址 MOV AL,40H ;內(nèi)部復(fù)位(軟件復(fù)位) OUT DX,AL MOV AL,FAH;方式選擇控制字,異 步,7數(shù),2 OUT DX,AL ;位停,偶校驗,波特率系 數(shù)16 MOV AL,11H;操作命令字,錯誤復(fù)位
59、,允許發(fā) OUT DX,AL; 送 MOV DI,2000H;發(fā)送數(shù)據(jù)區(qū)首地址 MOV CX,FFH;發(fā)送數(shù)據(jù)字符個數(shù) NEX-T: MOV DX,3F2H;8251A控制口地址 IN AL,DX;讀狀態(tài) TEST AL,01H;查狀態(tài)位TXRDY是否 有效? JZ NEXT-T ;發(fā)送未準(zhǔn)備好,繼續(xù) 查詢等待 MOV DX,3F0H;發(fā)送準(zhǔn)備好,送8251A數(shù) 據(jù)口地址,準(zhǔn)備發(fā)送數(shù)據(jù) MOV AL,DI;從發(fā)送區(qū)取一字符送AL OUT DX,AL;向8251A輸出一個數(shù)據(jù) INC DI ;修改發(fā)送區(qū)地址指針 LOOP NEXT-T ;未發(fā)送完,繼續(xù)發(fā)送 HLT ;送完,暫停 接收端的接收程序
60、如下接收端的接收程序如下: : BEGIN-R: MOV DX,3F2H;8251A控制口地址 MOV AL,50H;內(nèi)部復(fù)位,錯誤標(biāo)志復(fù)位 OUT DX,AL MOV AL,FAH;方式選擇控制字,同發(fā)送 方式 OUT DX,AL MOV AL,14H;操作命令字,錯誤標(biāo)志 MOV SI,4000H;接收數(shù)據(jù)緩沖區(qū)首地址 MOV CX,0FFH ;接收數(shù)據(jù)個數(shù) NEXT-R: MOV DX,3F2H;8251A控制口地址 IN AL,DX;讀狀態(tài)字 TEST AL,02H;查RXRDY是否有效 JZ NEXT-R;接收未準(zhǔn)備好,繼續(xù)查 詢等待 TEST AL,38H;查是否出錯 JNZ ER
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版羅馬柱裝飾工程總承包合同4篇
- 二零二五版在建工程抵押擔(dān)保合同模板3篇
- 2025版?zhèn)€人汽車轉(zhuǎn)讓及二手車交易平臺合作與售后服務(wù)合同4篇
- 2025年度落水管施工工程保險與理賠合同4篇
- 二零二五年度健康醫(yī)療大數(shù)據(jù)安全保障合作協(xié)議4篇
- 二零二五版股權(quán)回購項目擔(dān)保及投資決策合同3篇
- 2025年食用菌種植基地與銷售渠道聯(lián)盟合同2篇
- 二零二五年度廣告公司廣告活動策劃合同3篇
- 2025年高速公路車輛運輸通行費結(jié)算協(xié)議范本4篇
- 2024版消防系統(tǒng)維保合同范本
- 勞務(wù)協(xié)議范本模板
- 人教版(2024)數(shù)學(xué)七年級上冊期末測試卷(含答案)
- 2024年國家保密培訓(xùn)
- 2024年公務(wù)員職務(wù)任命書3篇
- CFM56-3發(fā)動機(jī)構(gòu)造課件
- 會議讀書交流分享匯報課件-《殺死一只知更鳥》
- 2025屆撫州市高一上數(shù)學(xué)期末綜合測試試題含解析
- 公司印章管理登記使用臺賬表
- 磚廠承包合同簽訂轉(zhuǎn)讓合同
- 思政課國內(nèi)外研究現(xiàn)狀分析
- 2023年公務(wù)員多省聯(lián)考《申論》題(廣西B卷)
評論
0/150
提交評論