<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 利用捕獲比較功能實(shí)現MSP430與微機串行通信的研究

利用捕獲比較功能實(shí)現MSP430與微機串行通信的研究

作者: 時(shí)間:2009-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/157756.htm

發(fā)送信號時(shí),即Rin輸入有效,接收器會(huì )自動(dòng)打開(kāi),并產(chǎn)生有效的INVALID信號。該信號將觸發(fā)P1.2引腳的中斷。在中斷處理程序中將F413的功耗模式設定為模式3(功耗電流0.7μA),這時(shí)頻率為32768的ACLK時(shí)鐘工作就可以完成低速的任務(wù)。當接收、處理完的數據后需要將結果返回給。這時(shí)可以打開(kāi)MAX3221的驅動(dòng)器,關(guān)閉接收器完成此工作。當發(fā)送完畢后可以將和MAX3221再設定為準備接收信息的最低功耗狀態(tài)。

上述方法可以在滿(mǎn)足的同時(shí)達到非常低的功耗。

表1:MAX3221收發(fā)器工作控制及其工作狀態(tài)對照表

工作及能耗狀態(tài)FORCEONFORCEOFFEN接收器輸入信號Rin驅動(dòng)器狀態(tài)接收器狀態(tài)
完全待機狀態(tài)最低功耗X00X關(guān)閉激活
X01X關(guān)閉關(guān)閉
正常工作狀態(tài)人工調節能耗110X激活激活
111X激活關(guān)閉
器件自理狀態(tài)自動(dòng)調節能耗010有效自動(dòng)激活激活
011有效自動(dòng)激活關(guān)閉
010無(wú)效關(guān)閉激活
011無(wú)效關(guān)閉關(guān)閉

注:驅動(dòng)器將MOS電平轉換為RS232電平,接收器將RS232電平轉換為MOS電平

4 結束語(yǔ)
應用上述的設計方法和電路,很好地與微機之間的,并且達到了非常理想的功耗水平。實(shí)踐證明該方法對于沒(méi)有硬件UART的MSP430系列單片機進(jìn)行串行通信非常有效,并給需要擴展串口的其他類(lèi)型MSP430單片機提供了一種可行的方案。此外,文中的超低功耗電路設計方法對于功耗敏感的應用是一種很好的解決方案。

參考文獻:
[1] Brian Merritt. Ultralow Power Thermostat ([R]). Texas, U.S.A. : Texas Instruments Incorporated, 2001.
[2] MAX3221 3-V TO 5.5-V single-channel RS-232 line driver/receiver (Manual). Texas, U.S.A. : Texas Instruments Incorporated, 2001.
[3] 胡大可. MSP430系列超低功耗16位單片機原理與應用,北京航空航天出版社,2001。
[4] 胡大可. MSP430系列FLASH型超低功耗16位單片機,北京航空航天出版社,2001。

附錄:異步串行通信的程序代碼:
;------------------------------------------------------------------------------

說(shuō)明:
硬件連接如圖3,P1.0作為發(fā)送引腳,P1.1作為接收引腳,二者共用模塊0
Tbit1 是1位時(shí)間間隔數據(T1),Tbit_5是半位時(shí)間間隔數據。(由公式1得出)
RTbuff 是接收發(fā)送緩沖字單元,存放接收和發(fā)送的數據
Counter 是收發(fā)過(guò)程中使用的計數器
;------------------------------------------------------------------------------

發(fā)送子程序

MOVTAR,CCR0; 將當前定時(shí)器值存入CCR中(T0)
ADD#Tbit1,CCR0; 將1位時(shí)間間隔加入CCR中(T0+T1)
RLARTbuff; 將帶發(fā)送的字節數據左移一位,構造最低位為起始位
BIS#0200h, RTbuff; 將停止位數據放入待發(fā)送字的第10位
MOV#10,Counter; 初始化數據幀計數器為10
MOV#OUTMOD0+CCIE,CCTL0; 標記發(fā)送狀態(tài),打開(kāi)中斷,啟動(dòng)發(fā)送
RET; 返回

;------------------------------------------------------------------------------
接收準備子程序

MOV#08,Counter; 初始化接收數據計數器為8(接收一個(gè)字節數據)
MOV#SCS+CCIS0+OUTMOD0+CM1+CAP+CCIE,CCTL0;初始化捕獲比較控制字,
; 設定為下降沿捕獲模式,標記接收狀態(tài),打開(kāi)中斷,啟動(dòng)接收
RET; 返回

;------------------------------------------------------------------------------

捕獲比較模塊0的中斷服務(wù)程序
;------------------------------------------------------------------------------

ADD#Tbit1,CCR0; 將1位時(shí)間間隔加入CCR0中
BIT#CCIS0,CCTL0; 判斷接收、發(fā)送狀態(tài)
JNZUART_RX; 是接收狀態(tài),轉接收處理
UART_TXCMP#00h,Counter; 是發(fā)送狀態(tài),判斷幀發(fā)送是否結束
JNETX_Next; 沒(méi)有結束,轉入發(fā)送
BIC#CCIE,CCTL0; 幀發(fā)送結束,關(guān)閉中斷
RETI; 中斷返回
TX_NextRRARTbuff; 待發(fā)送位移入進(jìn)位位C
JCTX_One; 該位為1?跳轉
BIS#OUTMOD2,CCTL0; 該位為0,發(fā)送0
JMPTX_nxt2; 跳轉繼續處理
TX_OneBIC#OUTMOD2,CCTL0; 該位為1,發(fā)送1
TX_nxt2DECCounter; 發(fā)送幀計數器減1
RETI; 中斷返回
;
UART_RXBIT#CAP,CCTL0; 判斷是否是捕獲到起始位
JZRX_Bit; 接收的不是起始位,轉入處理
RX_StartBIC#CAP,CCTL0; 捕獲到起始位,將狀態(tài)轉為比較模式
ADD#Tbit_5,CCR0; 再增加半位時(shí)間間隔(T0+T1.5),以1.5 時(shí)間間隔
RETI; 中斷返回
RX_BitBIT#SCCI,CCTL0; 將接收到的位存入進(jìn)位位C
RRCRTbuff; 將接收到位,移入收發(fā)緩沖字
RX_TestDECCounter; 接收數據計數器減1
JNZRX_Next; 判斷是否接收了所有數據位,沒(méi)有跳轉到后續處理
BIC#CCIE,CCTL0; 接收到所有數據位,關(guān)閉捕獲比較中斷
RX_NextRETI; 中斷返回


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>