51單片機(jī)的串行口擴(kuò)展方法-設(shè)計(jì)應(yīng)用_第1頁
51單片機(jī)的串行口擴(kuò)展方法-設(shè)計(jì)應(yīng)用_第2頁
51單片機(jī)的串行口擴(kuò)展方法-設(shè)計(jì)應(yīng)用_第3頁
51單片機(jī)的串行口擴(kuò)展方法-設(shè)計(jì)應(yīng)用_第4頁
51單片機(jī)的串行口擴(kuò)展方法-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯單片機(jī)的串行口擴(kuò)展方法-設(shè)計(jì)應(yīng)用

摘要:在以單片機(jī)為的多級分布式系統(tǒng)中,常常需要擴(kuò)展單片機(jī)的串行通信口,本文分別介紹了基于SP2538專用串行口擴(kuò)展芯片及Intel8251的兩種串行口擴(kuò)展方法,并給出了實(shí)際的硬件電路原理及相應(yīng)的通信程序段。

關(guān)鍵詞:串口擴(kuò)展;單片機(jī);SP2538;Intel8251

1引言

在研究采場瓦斯積聚模擬試驗(yàn)臺的過程中,筆者設(shè)計(jì)了主從式多機(jī)采控系統(tǒng)結(jié)構(gòu)。主從式多機(jī)控制系統(tǒng)是實(shí)時控制系統(tǒng)中較為普遍的結(jié)構(gòu)形式,它具有可靠性高,結(jié)構(gòu)靈活等優(yōu)點(diǎn)。當(dāng)選用單串口51單片機(jī)構(gòu)成這種主從式多機(jī)系統(tǒng)時,51單片機(jī)一方面可能要和主機(jī)Computer通信,一方面又要和下位機(jī)通信,這時就需要擴(kuò)展串行通道。本文具體介紹了兩種串行通道的擴(kuò)展方法。

2串行口的擴(kuò)展方法

常用的標(biāo)準(zhǔn)51單片機(jī)內(nèi)部僅含有一個可編程的全雙工串行通信接口,具有UART的全部功能。該接口電路不僅能同時進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。當(dāng)以此類型單片機(jī)構(gòu)成分布式多級應(yīng)用系統(tǒng)時,器件本身的串口資源就不夠用了。筆者在實(shí)際開發(fā)中,查閱了有關(guān)資料,總結(jié)出如下兩種常用而有效的串行通道擴(kuò)展方法。

2.1基于SP2538的擴(kuò)展方法

SP2538是專用低功耗串行口擴(kuò)展芯片,該芯片主要是為解決當(dāng)前基于UART串口通信的外圍智能模塊及器件較多,而單片機(jī)或DSP原有的UART串口又過少的問題而推出的。利用該器件可將現(xiàn)有單片機(jī)或DSP的單串口擴(kuò)展至5個全雙工串口。使用方法簡單、高效。

在應(yīng)用SP2538擴(kuò)展串行通道時,母串口波特率K1=2880*Fosc_in,單位是MHz,且Fosc_in小于20.0MHz,在SP2538輸入時鐘Fosc_in=20.0MHz時母串口可自適應(yīng)上位機(jī)的56000bps和57600bps兩種標(biāo)準(zhǔn)波特率輸入。子串口波特率K2=480*Fosc_in。

母串口和所有子串口都是TTL電平接口,可直接匹配其他單片機(jī)或TTL數(shù)字電路,如需連接PC機(jī)則必須增加電平轉(zhuǎn)換芯片如MAX202、MAX232等。SP2538具有內(nèi)置的上電復(fù)位電路和可關(guān)閉的看門狗監(jiān)控電路。上位機(jī)寫命令字0x10可實(shí)現(xiàn)喂狗,寫命令字0x15關(guān)閉看門狗,初次上電后看門狗處于激活狀態(tài)或?qū)懨钭?x20激活看門狗監(jiān)控功能。上位機(jī)可通過芯片復(fù)位指令0x35在任何時候讓芯片進(jìn)行指令復(fù)位,也可通過芯片睡眠指令0x55在任何時候讓芯片進(jìn)入微功耗睡眠模式以降低系統(tǒng)功耗。初次上電后芯片不會自行進(jìn)入睡眠模式,但只能由上位機(jī)通過母串口任意發(fā)送一個字節(jié)數(shù)據(jù)將其喚醒,其他子串口不具備這一功能。

圖(1)是AT89C52單片機(jī)與SP2538的電路連接,圖中,AT89C52的全雙工串口與SP2538的母串口5相連,該串口同時也作為命令/數(shù)據(jù)口。SP2538的ADRI0、ADRI1、ADRI2分別與AT89C52的P2.3、P2.4、P2.5口相連,可用于選擇發(fā)送數(shù)據(jù)是選擇相應(yīng)的串口0~4;ADRO0、ADRO1、ADRO2與P2.0、P2.1、P2.2相連,用于判斷接收的數(shù)據(jù)來自哪一個串口。SP2538的時鐘頻率選為20.0MHZ,此時母串口5的波特率為57600bps,串口0~4的波特率為9600bps。

下面是與上述硬件電路相關(guān)的接口程序,該程序用A51匯編語言編制,程序僅說明了中斷方式下對子串口0(TX0、RX0)的操作,其它子串口類似。

TBLOCKDATA20H

RBLOCKDATA30H

LENGTHDATA14H

TXR_REV_SEND:CLRES

JBCRI,RECEIVE

CLRTI

MOVA,@R0

CLRP2.0;寫數(shù)據(jù)到"SBUF"前必須先置欲發(fā)送子串口的地址

CLRP2.1

CLRP2.2

MOVSBUF,A

DJNZR2,NEXT

SJMP$

NEXT:INCR0

RETI

RECEIVE:MOVA,P2

ANDA,#31H;判斷是否為子串口0

JNZELSE

MOVA,SBUF

MOV@R1,A

INCR1

RETI

圖(1)AT89C52與SP2538的電路連接

2.2基于Intel8251的串行口擴(kuò)展方法

上面基于SP2538的串口擴(kuò)展方法可以說是一種串行的擴(kuò)展方法,這里基于Intel8251的擴(kuò)展方法則是一種并行的方法。Intel8251是一種通用的同步/異步發(fā)送器(USART),它的工作方式可以通過編程設(shè)置。能夠以同步或異步串行通信方式工作,能自動完成幀格式。

Intel8251具有獨(dú)立的接收/發(fā)送器。在異步方式下,用于產(chǎn)生8251內(nèi)部時序的時鐘CLK輸入至少應(yīng)為發(fā)送或接收時鐘的4.5倍。接收/發(fā)送(RXC/TXC)時鐘應(yīng)為波特率的1倍、16倍或64倍(由8251的工作方式字設(shè)定)。

圖(2)是用Intel8251擴(kuò)展一個串行通道的電路原理,圖中,11.0592MHZ晶振經(jīng)ALE6分頻后于、組合,產(chǎn)生1.8432MHZ的時鐘頻率,分別作為8251與8253的時鐘輸入,若設(shè)定8251通信波特率為9600bps,波特率因子為16,則需要153.6KHZ的接收/發(fā)送時鐘頻率,該頻率可由8253的OUT0產(chǎn)生。

下面的A51程序段說明了如何設(shè)置8253使其產(chǎn)生153.6KHZ的方波,以及如何用8251收/發(fā)數(shù)據(jù):

設(shè)置8253的程序段:

MOVA,#36H;計(jì)數(shù)器0輸出方波控制字

MOVDPTR,#0FFFFH;指向控制字寄存器

MOVX@DPTR,A

MOVDPTR,#0FFFCH;指向0計(jì)數(shù)器地址

MOVA,#0DH

MOVX@DPTR,A

MOVA,#0

MOVXDPTR,A

SETBP1.0

操作8251的程序段:

START:MOVDPTR,#7FFFH;8251控制、命令口地址

MOVA,#5EH;一個停止位,奇校驗(yàn),8位數(shù)據(jù),異步*16

MOVX@DPTR,A;寫入方式字

MOVA,#15H

MOVX@DPTR,A;命令字,啟動發(fā)送和接收器

LOOP:SJMPLOOP;等待8251中斷

8251_INT:;現(xiàn)場保護(hù)

MOVDPTR,#7FFFH

MOVA,@DPTR

JBACC.0,TX_INT

JBACC.1,RX_INT

INT_EXIT:;恢復(fù)現(xiàn)場

RETI

發(fā)送數(shù)據(jù)

TX_INT:MOVDPTR,#7FFEH;8251數(shù)據(jù)口地址

MOVA,20H

MOVX@DPTR,A

AJMPINT_EXIT

接收數(shù)據(jù)

RX_INT:MOVDPTR,#7FFEH

MOVXA,@DPTR

MOV30H,A

AJMPINI_EXIT

圖(2)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論