新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430單片機(jī)比較器A模塊

MSP430單片機(jī)比較器A模塊

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
首先,整個(gè)比較器A的工作必需由CAON位置為1時(shí)才能工作的,此位屬CACTL1控制寄存器。單片機(jī)上電時(shí)此位是為0的,也就是說(shuō)比較器是不工作的。
以下大概講述幾個(gè)部分電路的功能和一些相關(guān)信息。

模擬輸入電路:
外部模擬引腳信號(hào)CA0,CA1(正負(fù)端)可以分別由P2CA0,P2CA1位控制開或關(guān)。經(jīng)過軟件的設(shè)置可以分別與內(nèi)部的幾個(gè)基準(zhǔn)電壓進(jìn)行比較(0.5VCC,0.25VCC,三極管門值電壓)或外部其中的電壓進(jìn)行比較。

應(yīng)用的硬件比較可以分為以下三種組合:
兩個(gè)外部引腳輸入信號(hào)進(jìn)行比較
其中一個(gè)外部引腳信號(hào)與內(nèi)部的0.5VCC或0.25VCC比較
其中一個(gè)外部引腳信號(hào)與內(nèi)部基準(zhǔn)電壓比較

參考電壓發(fā)生器
參考電壓電路是可以由CARSEL,CARERF0,CARERF1位來(lái)控制電壓的產(chǎn)生。通過軟件設(shè)置可以選擇幾種電壓輸出到比較器的輸入中作為比較,當(dāng)然此參考電壓也可以通過單片機(jī)的引腳往外部提供參考電壓之用。

比較器A核心
比較器CAON位控制開關(guān),CAEX位控制位控制方向。

低通慮波器
低通慮波器只需一個(gè)CAF位來(lái)控制此慮波器的功能開與關(guān)。此慮波器功能是用于消除比較器輸出信號(hào)的毛剌,以保證信號(hào)的質(zhì)量和中斷請(qǐng)求的可靠性。

中斷請(qǐng)求
比較器A模塊是具有中斷功能的,如比較器功能CAIE中斷允許開了,在CAIF信號(hào)產(chǎn)生時(shí)將生產(chǎn)中斷(當(dāng)然GIE要為1時(shí))。比較器A模塊是具有中斷獨(dú)立向量的,是一個(gè)單獨(dú)的中斷,CUP接受請(qǐng)求后會(huì)硬件自動(dòng)清除中斷標(biāo)志位CAIFG。


比較器模塊相關(guān)寄存器說(shuō)明
CACTL1 比較器控制寄存器1


CAEX: 控制內(nèi)部比較器A的輸入信號(hào)和輸出信號(hào)的方向

CARSEL:控制內(nèi)部參考電壓加到比較器A的正輸入端還是負(fù)輸入端
由結(jié)構(gòu)圖可以看出,CAEX,CARSEL在不同設(shè)置時(shí),比較器A輸入端的所加的參考電壓是有不同的.
請(qǐng)參考以下列表:
-----------------------------------
CARSEL CAEX 參考電壓接入端
0 0 內(nèi)部參考源加到比較器的正端
0 1 內(nèi)部參考源加到比較器的負(fù)端
1 0 內(nèi)部參考源加到比較器的負(fù)端
1 1 內(nèi)部參考源加到比較器的正端
CAREF1, CAREF0 選擇參考源:
0 使用外部參考
1 選擇0.25VCC為參考電壓
2 選擇0.5VCC為參考電壓
3 選擇二極管電壓為參考電壓,須參見具體IC的資料

CAON: 控制比較器A的打開與關(guān)閉
0 關(guān)閉比較器工作
1 打開比較器工作

CAIES: 中斷邊沿觸發(fā)模式選擇
0 上升沿使中斷標(biāo)志CAIFG置位
1 下降沿使中斷標(biāo)志CAIFG置位

CAIE:比較器中斷允許
0 禁止中斷
1 允許中斷

CAIFG: 比較器中斷標(biāo)志
0 沒有中斷請(qǐng)求
1 有中斷請(qǐng)求標(biāo)志信號(hào)



CACTL2 比較器控制寄存器2


P2CA1:控制輸入端CA1
 0 外部引腳信號(hào)不與比較器A連接
 1 外部引腳信號(hào)與比較器A連接

P2CA0:控制輸入端CA0
 0 外部引腳信號(hào)不與比較器A連接
 1 外部引腳信號(hào)與比較器A連接

CAF: 選擇比較器輸出端是否經(jīng)過RC低通濾波器
 0 開通RC低通濾波器
 1 直通信號(hào)

CAOUT: 比較器A輸出的信號(hào)
 0 CA0小于CA1
 1 CA0大于CA1


CAPD 端口禁止寄存器
  比較器A模塊的輸入輸出與IO口共用引腳,可以控制IO端口輸入緩沖器的通斷開關(guān).CAPD控制位初始化為0,則端口輸入緩沖器有效.當(dāng)相應(yīng)位為1時(shí),端口輸入緩沖器無(wú)效。

程序范例:
#include <msp430x11x1.h>
void main (void)
 {
  WDTCTL = WDTPW WDTHOLD;     // 停止WDT
  CAPD |= 0x08;           // 斷開與IO端口輸入
  CACTL2 = P2CA0;          // 設(shè)置P2.3為 comp
  CCTL0 = CCIE;           // CCR0 允許中斷
  TACTL = TASSEL_2 ID_3 MC_2;  // SMCLK/8,計(jì)數(shù)模
  _EINT();             // 開總中斷

 while (1) // 循環(huán)
 {
  CACTL1 = 0x00;          // 沒有參考電壓
  _BIS_SR(LPM0_bits);        // 進(jìn)入LPM0
  CACTL1 = CAREF0 CAON;      // 0.25*Vcc=P2.3, 比較器開
  _BIS_SR(LPM0_bits);        // 再次進(jìn)入LPM0
  CACTL1 = CAREF1 CAON;      // 0.5*Vcc=P2.3, 比較器開
  _BIS_SR(LPM0_bits);        // 再次進(jìn)入 LPM0
  CACTL1 = CAREF1 CAREF0 CAON;  // 0.55V on P2.3,比較器開
  _BIS_SR(LPM0_bits);        // 再次進(jìn)入LPM0
 }
}

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
 _BIC_SR_IRQ(LPM0_bits);       //退出LMP0模式
}


關(guān)鍵詞: MSP430單片機(jī)比較

評(píng)論


技術(shù)專區(qū)

關(guān)閉