新聞中心

        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位控制開(kāi)或關(guān)。經(jīng)過(guò)軟件的設(shè)置可以分別與內(nèi)部的幾個(gè)基準(zhǔn)電壓進(jìn)行比較(0.5VCC,0.25VCC,三極管門(mén)值電壓)或外部其中的電壓進(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)生。通過(guò)軟件設(shè)置可以選擇幾種電壓輸出到比較器的輸入中作為比較,當(dāng)然此參考電壓也可以通過(guò)單片機(jī)的引腳往外部提供參考電壓之用。

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

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

        中斷請(qǐng)求
        比較器A模塊是具有中斷功能的,如比較器功能CAIE中斷允許開(kāi)了,在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 選擇二極管電壓為參考電壓,須參見(jiàn)具體IC的資料

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

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

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

        CAIFG: 比較器中斷標(biāo)志
        0 沒(méi)有中斷請(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)過(guò)RC低通濾波器
         0 開(kāi)通RC低通濾波器
         1 直通信號(hào)

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


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

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

         while (1) // 循環(huán)
         {
          CACTL1 = 0x00;          // 沒(méi)有參考電壓
          _BIS_SR(LPM0_bits);        // 進(jìn)入LPM0
          CACTL1 = CAREF0 CAON;      // 0.25*Vcc=P2.3, 比較器開(kāi)
          _BIS_SR(LPM0_bits);        // 再次進(jìn)入LPM0
          CACTL1 = CAREF1 CAON;      // 0.5*Vcc=P2.3, 比較器開(kāi)
          _BIS_SR(LPM0_bits);        // 再次進(jìn)入 LPM0
          CACTL1 = CAREF1 CAREF0 CAON;  // 0.55V on P2.3,比較器開(kāi)
          _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)閉
        主站蜘蛛池模板: 晋江市| 怀柔区| 栾城县| 历史| 四川省| 龙游县| 文山县| 翼城县| 攀枝花市| 金坛市| 湄潭县| 任丘市| 建昌县| 磐安县| 惠东县| 红安县| 沈丘县| 鄂州市| 长垣县| 资兴市| 泗洪县| 闽清县| 娄烦县| 尚义县| 女性| 新津县| 金山区| 板桥市| 绵阳市| 阳曲县| 河池市| 涿州市| 广水市| 疏附县| 白城市| 长沙市| 岗巴县| 平谷区| 阳高县| 梅河口市| 信丰县|