国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

51單片機的串行口擴展方法

發布時間:2010-7-22 17:22    發布者:vinda
關鍵詞: 51單片機 , 串行口
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 DATA20H
RBLOCK DATA30H
LENGTH DATA14H

TXR_REV_SEND: CLRES
JBCRI,RECEIVE
CLRTI
MOVA,@R0
CLRP2.0 ; 寫數據到"SBUF"前必須先置欲發送子串口的地址
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

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

2.2 基于Intel8251的串行口擴展方法

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

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

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

下面的A51程序段說明了如何設置8253使其產生153.6KHZ的方波,以及如何用8251收/發數據:

設置8253的程序段:

MOVA,#36H ; 計數器0輸出方波控制字
MOVDPTR,#0FFFFH; 指向控制字寄存器
MOVX @DPTR,A
MOVDPTR,#0FFFCH; 指向0計數器地址
MOVA,#0DH
MOVX @DPTR,A
MOVA,#0
MOVX DPTR,A
SETB P1.0

操作8251的程序段:

START: MOVDPTR,#7FFFH;8251控制、命令口地址
MOVA,#5EH;一個停止位,奇校驗,8位數據,異步*16
MOVX @DPTR,A;寫入方式字
MOVA,#15H
MOVX @DPTR,A;命令字,啟動發送和接收器

LOOP: SJMP LOOP ;等待8251中斷
8251_INT: ;現場保護
MOVDPTR,#7FFFH
MOVA,@DPTR
JBACC.0,TX_INT
JBACC.1,RX_INT
INT_EXIT: ;恢復現場
RETI
發送數據
TX_INT:MOVDPTR,#7FFEH ;8251數據口地址
MOVA,20H
MOVX @DPTR,A

AJMP INT_EXIT
接收數據
RX_INT:MOVDPTR,#7FFEH
MOVX A,@DPTR
MOV30H,A

AJMP INI_EXIT

圖(2)用8251擴展串行通道的硬件電路原理

3 結束語

以單片機為核心的多級分布式系統的應用越來越廣泛,上面討論的兩種串行口的擴展方法為此類多串口應用領域提供了一個良好的解決方案。筆者在實際中采用基于SP2538的擴展方法,設計了采場瓦斯積聚模擬試驗臺的多級分布式采控系統,效果良好。
本文地址:http://m.qingdxww.cn/thread-16186-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色综合久久天天综线观看| 亚洲一区中文字幕在线观看| 中文字幕伊人久久网| 浪小辉军警服务员VIDEOS| 欧美精品aaa久久久影院| 四虎影院免费在线| 亚洲欧美日韩第一页| 伊人三区| 久久女婷五月综合色啪| 亚洲成a人| 日本福利片国产午夜久久| 色视影院| 十分钟视频免费观看在线6| 中文字幕在线看片成人| 女教师公车痴汉在线播放| 深夜福利91| 欧美怡红院免费的全部视频| 在线观看视频污| 最新精品91探花免费播放| 久久99国产精品蜜臀AV| 欧美剧情v网站在线看| 人人夜| 色综合在| 99视频精品全部免费观看| 日日噜噜噜夜夜爽爽狠狠| 特片网我不卡| 午夜视频免费在线播放| 一区二区三区欧美日韩| 久青草影院| 欧美成人精品在线| 台湾美性中文娱乐网| 亚洲欧洲网站| 久久99热这里只有精品66| 亚洲国产天堂久久综合9999| 日韩a级| 羞羞视频免费观看网站| H狠狠躁死你H| 新金梅瓶玉蒲团性奴3| 日本映画ady9net| 伊人最新网址| good神马电影伦理午夜|