浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 測試測量

51單片機(jī)的串行口擴(kuò)展方法

發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):1321

        

    

    

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

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

    1 引言

    在研究采場瓦斯積聚模擬試驗臺的過程中,筆者設(shè)計了主從式多機(jī)采控系統(tǒng)結(jié)構(gòu)。主從式多機(jī)控制系統(tǒng)是實時控制系統(tǒng)中較為普遍的結(jié)構(gòu)形式,它具有可靠性高,結(jié)構(gòu)靈活等優(yōu)點。當(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)時,器件本身的串口資源就不夠用了。筆者在實際開發(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可實現(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-p.htm" target="_blank" title="20.0mhz貨源和pdf資料">20.0mhz,此時母串口5的波特率為57600bps,串口0~4的波特率為9600bps。

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

    tblock data20h

    rblock data30h

    length data14h

    …

    txr_rev_send: clres

    jbcri,receive

    clrti

    mova,@r0

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

    clrp2.1

    clrp2.2

    movsbuf,a

    djnz r2,next

    sjmp $

    next: incr0

    reti

    receive:mova,p2

    anda,#31h;判斷是否為子串口0

    jnzelse

    mova,sbuf

    mov@r1,a

    incr1

    reti

    

    

  &n

        

    

    

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

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

    1 引言

    在研究采場瓦斯積聚模擬試驗臺的過程中,筆者設(shè)計了主從式多機(jī)采控系統(tǒng)結(jié)構(gòu)。主從式多機(jī)控制系統(tǒng)是實時控制系統(tǒng)中較為普遍的結(jié)構(gòu)形式,它具有可靠性高,結(jié)構(gòu)靈活等優(yōu)點。當(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)時,器件本身的串口資源就不夠用了。筆者在實際開發(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可實現(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-p.htm" target="_blank" title="20.0mhz貨源和pdf資料">20.0mhz,此時母串口5的波特率為57600bps,串口0~4的波特率為9600bps。

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

    tblock data20h

    rblock data30h

    length data14h

    …

    txr_rev_send: clres

    jbcri,receive

    clrti

    mova,@r0

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

    clrp2.1

    clrp2.2

    movsbuf,a

    djnz r2,next

    sjmp $

    next: incr0

    reti

    receive:mova,p2

    anda,#31h;判斷是否為子串口0

    jnzelse

    mova,sbuf

    mov@r1,a

    incr1

    reti

    

    

  &n

相關(guān)IC型號

熱門點擊

 

推薦技術(shù)資料

音頻變壓器DIY
    筆者在本刊今年第六期上著重介紹了“四夾三”音頻變壓器的... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!