欧美视频综合-欧美视频中文字幕-欧美视频在线观在线看-欧美视频在线观看网站-直接观看黄网站免费视频-正在播放久久

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
51單片機的串行口擴展方法
51單片機的串行口擴展方法
 更新時間:2008-8-19 14:32:21  點擊數:200
【字體: 字體顏色
 

摘要:在以單片機為核心的多級分布式系統中,常常需要擴展單片機的串行通信口,本文分別介紹了基于SP2538專用串行口擴展芯片及Intel8251的兩種串行口擴展方法,并給出了實際的硬件電路原理及相應的通信程序段。
關鍵詞:串口擴展;單片機;SP2538;Intel8251


1 引言
   
    在研究采場瓦斯積聚模擬試驗臺的過程中,筆者設計了主從式多機采控系統結構。主從式多機控制系統是實時控制系統中較為普遍的結構形式,它具有可靠性高,結構靈活等優點。當選用單串口51單片機構成這種主從式多機系統時,51單片機一方面可能要和主機Computer通信,一方面又要和下位機通信,這時就需要擴展串行通道。本文具體介紹了兩種串行通道的擴展方法。

2 串行口的擴展方法
   
    常用的標準51單片機內部僅含有一個可編程的全雙工串行通信接口,具有UART的全部功能。該接口電路不僅能同時進行數據的發送和接收,也可作為一個同步移位寄存器使用。當以此類型單片機構成分布式多級應用系統時,器件本身的串口資源就不夠用了。筆者在實際開發中,查閱了有關資料,總結出如下兩種常用而有效的串行通道擴展方法。
2.1 基于SP2538的擴展方法
    SP2538是專用低功耗串行口擴展芯片,該芯片主要是為解決當前基于UART串口通信的外圍智能模塊及器件較多,而單片機或DSP原有的UART串口又過少的問題而推出的。利用該器件可將現有單片機或DSP的單串口擴展至5個全雙工串口。使用方法簡單、高效。
應用SP2538擴展串行通道時,母串口波特率K1=2880*Fosc_in,單位是MHz,且Fosc_in小于20.0MHz, 在SP2538輸入時鐘Fosc_in =20.0MHz時母串口可自適應上位機的56000bps和57600bps兩種標準波特率輸入。子串口波特率K2=480*Fosc_in。
    母串口和所有子串口都是TTL電平接口,可直接匹配其他單片機或TTL數字電路,如需連接PC機則必須增加電平轉換芯片如MAX202 、MAX232 等。SP2538具有內置的上電復位電路和可關閉的看門狗監控電路。上位機寫命令字0x10可實現喂狗,寫命令字0x15關閉看門狗,初次上電后看門狗處于激活狀態或寫命令字0x20激活看門狗監控功能。上位機可通過芯片復位指令0x35在任何時候讓芯片進行指令復位,也可通過芯片睡眠指令0x55在任何時候讓芯片進入微功耗睡眠模式以降低系統功耗。初次上電后芯片不會自行進入睡眠模式,但只能由上位機通過母串口任意發送一個字節數據將其喚醒,其他子串口不具備這一功能。
圖(1)是AT89C52單片機與SP2538的電路連接,圖中,AT89C52的全雙工串口與SP2538的母串口5相連,該串口同時也作為命令/數據口。SP2538的ADRI0、ADRI1、ADRI2分別與AT89C52的P2.3、P2.4、P2.5口相連,可用于選擇發送數據是選擇相應的串口0~4;ADRO0、ADRO1、ADRO2與P2.0、P2.1、P2.2相連,用于判斷接收的數據來自哪一個串口。 SP2538的時鐘頻率選為20.0MHZ,此時母串口5的波特率為57600bps,串口0~4的波特率為9600bps。
    下面是與上述硬件電路相關的接口程序,該程序用A51匯編語言編制,程序僅說明了中斷方式下對子串口0(TX0、RX0)的操作,其它子串口類似。
TBLOCK  DATA   20H
RBLOCK  DATA   30H
LENGTH  DATA   14H
               …
TXR_REV_SEND:  CLR   ES
               JBC   RI,RECEIVE
               CLR   TI
               MOV   A,@R0
               CLR   P2.0  ; 寫數據到"SBUF"前必須先置欲發送子串口的地址
               CLR   P2.1
               CLR   P2.2
               MOV   SBUF,A
               DJNZ  R2,NEXT
               SJMP  $
NEXT:          INC   R0
               RETI
RECEIVE:       MOV   A,P2
               AND   A,#31H   ;判斷是否為子串口0
               JNZ   ELSE
               MOV   A,SBUF
               MOV   @R1,A
               INC   R1
               RETI
 

  • 上一篇: 磁珠與電感的區別
  • 下一篇: AT89S52與CF卡的接口設計
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1