日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]這兩天研究了一下430的比較器,開始的時候,沒有看懂是怎么一回事,在網(wǎng)站看這方面的博客,好像懂了,但是一到編程,就變得無從下手,但是,皇天不負有心人,筆者還是把他弄懂了其實這里就是看懂一幅圖,兩個寄存器,

這兩天研究了一下430的比較器,開始的時候,沒有看懂是怎么一回事,在網(wǎng)站看這方面的博客,好像懂了,但是一到編程,就變得無從下手,但是,皇天不負有心人,筆者還是把他弄懂了

其實這里就是看懂一幅圖,兩個寄存器,明白工作原理就可以了

這是比較器A的邏輯圖,比價器A由4個部分組成

標號1:內(nèi)部參考電壓發(fā)生器,可以產(chǎn)生0.25V,0.50v的參考電壓

標號2,:外部電壓輸入端,CA0對應P2.3,CA1對應P2.4

標號3:內(nèi)部比較器,今天上課剛好上了比較器,也就是正輸入端大于負輸入端的時候,比較器輸出一個1,同時產(chǎn)生一個中斷標志位

標號4:也就是比較結(jié)果輸入端

因此,一般的模版就可以出來了

1:設置內(nèi)部的參考電壓

2:打開外部的輸入端

3:設置外部I/O的屬性,也就是P2.3或者P2.4的輸入屬性

4:判斷輸出的結(jié)果

步驟一對應上個步驟的1:這時候就要熟悉寄存器了,比較器A有兩個寄存器CACTL1,CACTL2

設置內(nèi)部參考電壓是用CACTL1:這里舉一個模版例子:CACTL1 = CARSEL+CAREF1+CAON;

翻譯就是,將CACTL1 = 內(nèi)部參考電壓在比較器的正向端輸入還是反向端輸入+選擇是0.25V參考電壓還是0.5V參考電壓+打開比較器A

步驟二對應上個步驟的2

打開外部的輸入端:用的是CACTL2,CACTL2=P2CAO

翻譯就是,外部選擇的是P2CAO也就是講P2.3作為輸入端,

步驟三:設置I/O屬性

P2DIR = 0x00;//把IO設為比較器的輸入端
P2SEL "=BIT3;

步驟四:比較輸入輸出結(jié)果:

這時候也要熟悉寄存器了,CACTL2中的最低位,也就是CAOUT,如果正向端大于負向端的話,cout變?yōu)?,這時候典型的判斷語句就是

if((CACTL2|0xfe) == 0xff)//最低位如果置位為1的話,CACTL1中的最低位,也就是比較器的中斷標志位也會置位

{

進一步操作;

中斷標志置位為1

}

示例代碼:將P2.3輸入的電壓與0.25進行比較,如果大于的話,點亮led燈,并將中斷標志清除


#include


void main( void )

{

// Stop watchdog timer to prevent time out reset

WDTCTL = WDTPW + WDTHOLD;

CACTL1 =CARSEL +CAREF1 +CAON;

CACTL2 = P2CA0;

P2DIR = 0x00;//把IO設為比較器的輸入端

P2SEL |=BIT3;

P3OUT |=BIT5;

P3DIR |=BIT5;

while(1)

{

if((CACTL2 |0xfe)==0xff)

{

P3OUT &=~BIT5; //比較電壓是否超過0。25V

CACTL1 &=0xfe; //清除中斷標志

}

else

{

P3OUT |=BIT5;

}

}


}


本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉