您好!歡迎光臨烜芯微科技品牌官網!

    深圳市烜芯微科技有限公司

    ShenZhen XuanXinWei Technoligy Co.,Ltd
    二極管、三極管、MOS管、橋堆

    全國服務熱線:18923864027

  1. 熱門關鍵詞:
  2. 橋堆
  3. 場效應管
  4. 三極管
  5. 二極管
  6. 51單片機的多串口擴展設計詳解
    • 發布時間:2022-02-19 18:27:04
    • 來源:
    • 閱讀次數:
    51單片機的多串口擴展設計詳解
    串行通信在智能儀器系統數據通信中一直扮演極重要的角色,具有線路簡單、應用靈活、可靠性高等優點,目前已成為許多高端CPU和低端單片機的標準配置。由于51單片機多數只提供了一個串口資源,最多二個串口,幾乎沒有超過這個數目的,所以軟件模擬串口的收發工作往往是此類系統的擴展多串口的首選方案,但該方案不僅占用資源,且應用效果并不理想。因此本文采用了16C554擴展串口資源,并提供了實際電路原理圖和軟件的模塊化設計方案及部份軟件代碼等。
    1.16C554原理
    16C554是一種通用異步串行收發器,采用并行一串行轉換機制提供了4組RS --232接口,每通道可配置最大16字節FIFO (First In First Out)緩存,其總線接口方式,便于和MCS-51單片機連接,實現串口擴展;其可以提供兩種接口:16模式和68模式,16模式專門針對51系列單片機;68模式針對Motorola系列和其它系列單片機,提供FIFO和 DMA兩種工作模式。
    1.1內部結構
    圖1是其內部一組通道(其它三組一樣)的原理框圖。它提供了數據總線(D0-D7)、讀寫控制信號(IOW/R)及片選信號(A0-A2,CS),還提供符合RS -232協議的接口信號,如TxD,RxD及Modem控制信號等,并具有內部通道自檢功能;其工作流程是:在控制信號(Iow,IOR,CS,A0-A2)的作用下,對指定的某一路通道進行操作;數據或從8位數據線寫入到發送寄存器(Transmit FIFO Registers),啟動發送工作,或者從接收寄存器(Receive FIFO Registers)進行讀取操作;當發送寄存器或接收寄存器發送完成或接收到一個字節的內容時,對應通道的INT A-D會從高電平變化為低電平,這個信號變化可以作為單片機的中斷源。
    51單片機
    圖1 16C554內部原理圖
    1.2內部寄存器
    在應用時,必須首先對16C554 內部的幾個重要功能寄存器如中斷使能寄存器等進行設置,當設置正確后,16C554 才可以正常工作。部分寄存器是獨立地址,有一些寄存器是共用地址,根據讀寫操作的不同,代表的功能是不同的,具有不同的物理意義(見表1、表2)。
    51單片機
    51單片機
    1.3應用特點
    器件的主要特點如下:支持3.3V和5V,內部包含4片16C550,最高可達1M的波特率,可軟件設定波特率;16字節帶錯誤指示功能的接收FIFO緩沖器;可編程設定的數據格式:數據長度為5、6、7、8等位,停止位長度為1、1.5、2等位,提供偶校驗、奇校驗或無校驗模式;標準的調制解調器接口;68引腳PLCC和80引腳TQFP兩種封裝形式。
    2.應用設計
    2.1硬件設計
    在采用89C58實現的一個移動目標無線遙測遙控系統中,需要完成的工作主要有:GSM通訊、GPS處理、PC通訊以及手柄通訊等,這些外設都是通過RS—232接口和51單片機通訊的。采用16C554擴展51單片機串口的連接如圖2所示。
    51單片機
    圖2 采用16C554擴展的51單片機串口連接
    圖2中,D[0-7]連接51單片機的P0口,A0/A1/A2連接到P0的三位地址線;GSMCS、GPSCS、HSETCS及PCCS分別代表著A通道(連接到GSM)、B通道(GPS通訊)、C通道(手柄顯示)及D通道(計算機通訊通道)的片選信號,連接到P2口的三位地址線;INTA/INTB/INTC/INTD是四通道的接收/發送后的指示信號,作為51單片機外部中斷源INT0,當四通道中的任一通道接收到內容,都會觸發51單片機中斷申請,使51單片機進入中斷程序,讀取內容與PC、手柄的串行通訊經過了RS- 232電平變換,以滿足較長距離通訊的需要。
    圖2中,4個二極管和一個與非門組成5U1中斷信號電路,芯片復位端和51單片機復位信號相連。
    特別需要說明的是16C554的供電電路。實踐中,發現它極易受到電源波動的影響,導致通訊失敗。因此,電路中采用電阻5R4和5C1、5C2組成了一個RC濾波電路,且在布板時,根據就近連接的原則,把5C3和PIN13、5C4和PIN47、5C5和 PIN64就近連接,提高了它的抗干擾能力,如果5R4用電感代替,效果更好。
    2.2初始化流程
    51單片機
    圖3 初始化流程
    通常情況下,對于16C554的各個通道而言,差別僅在通訊的波特率、校驗位等不同,因此在設計軟件時,盡量模塊化,即設置模塊、讀操作模塊及發送模塊等盡量共用。圖3是初始化操作的流程圖,相應的代碼如下所示:
    51單片機
    通常51單片機軟件的主循環是一個死循環結構,但如果其他功能模塊也存在一個死循環的結構,那么在條件判斷的條件無法滿足時,51單片機系統往往就進入到類似“死機”的特征,導致系統崩潰無法完成預定任務,且這種條件錯誤并不是系統的主要任務。因此,在初始化流程中,引入了任務限時服務機制,在初始化條件失敗后,仍然可以正常退出初始化模塊,以便后續任務繼續得到進行,如LCD或LED提示初始化16C554失敗等。
    Setup模塊的入口參數為:DPH,R5,R6,R7。DPH代表的是四通道對應的地址,R7、R6代表著對應通道的波特率設置值,R5代表了設置對應通道的中斷源。在實際應用中,只需對上述4個字節賦予不同的值,連續調用4次,就完成了對16C554 四通道的初始化工作。
    2.3中斷接收流程
    與通過16C554發送流程相比,接收流程要復雜一些;為了提高51單片機程序的運行效率,采用中斷方式讀取,從而完成接收任務,流程圖如圖4所示。
    51單片機
    圖4 外部中斷0處理流程圖
    進人外部中斷服務后,首先進行現場保護,把終端中使用到的公共變量保存,如保存DPTR和A等,然后依次完成各通道的讀取保存任務。圖4中最重要的是:完成四通道任務后,在退出中斷服務前,還需要再次檢查這四個通道是否仍然存在有接收中斷。如果有則繼續在中斷服務程序中讀取,否則退出中斷服務程序。實踐應用表明:如果沒有這種處理機制,在串口通訊發生時,51單片機會一直處于被申請外部中斷狀態,導致其他任務無法得到正常運行,即死機。
    小結
    以上就是51單片機的多串口擴展設計了,經實踐表明,采用FIFO設計的16C554,減少了中斷服務時間,不僅提高了51單片機程序的效率和處理速度,而且可應用在高速調制解調器和需要快速數據處理時的網絡環境;在儀表系統中,51單片機因其應用特點,將來仍然會占有很大的市場份額,因此,擴展它的串口資源具有一定的使用和參考價值。
    〈烜芯微/XXW〉專業制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產企業選用,專業的工程師幫您穩定好每一批產品,如果您有遇到什么需要幫助解決的,可以直接聯系下方的聯系號碼或加QQ/微信,由我們的銷售經理給您精準的報價以及產品介紹
     
    電話:18923864027(同微信)
    QQ:709211280

    相關閱讀
    亚洲AV无码成人网站在线观看| 日韩亚洲翔田千里在线| 亚洲国产午夜福利在线播放| 91丁香亚洲综合社区| 亚洲精品国产福利在线观看| 亚洲av综合av一区| 亚洲啪啪AV无码片| 亚洲人成网站在线观看播放| 亚洲视频在线一区二区| 亚洲国产精品无码久久久久久曰 | 国产av天堂亚洲国产av天堂 | 亚洲小说区图片区| 久久精品国产亚洲av水果派| 久久亚洲精品成人综合| 亚洲av一综合av一区| 亚洲AV福利天堂一区二区三| 亚洲AV无码一区二区乱孑伦AS| 亚洲精品国产精品乱码不卡√ | 亚洲AV成人噜噜无码网站| 亚洲人成网站日本片| 亚洲中文字幕久在线| 亚洲1区1区3区4区产品乱码芒果| 亚洲乱人伦精品图片| 国产亚洲精品bv在线观看| 亚洲欧洲无码AV不卡在线| 亚洲成AV人片在WWW| 亚洲成在人线在线播放无码| 亚洲AV成人一区二区三区观看 | 亚洲国产av玩弄放荡人妇| 亚洲精华国产精华精华液网站| 亚洲欧美不卡高清在线| 精品亚洲福利一区二区| 亚洲精品99久久久久中文字幕 | 亚洲精品一级无码鲁丝片| 亚洲国产精品毛片av不卡在线| 中文字幕亚洲综合久久菠萝蜜| 亚洲宅男天堂在线观看无病毒| 亚洲精品国产精品乱码不卡√| 亚洲丝袜美腿视频| 久久精品国产亚洲AV忘忧草18 | 亚洲精品无码MV在线观看 |