山雨欲來風滿樓。對于使用CC430的一般功能,還是需要很多模塊的配合,團結(jié)就是力量。要想雨按時地落下,必須經(jīng)過各個方面的配合。不過人腦又不是CPU,進程不能并行地展開,人的力量還是太微弱了,吃飯時也只能一口一口地往下咽。一步一步來,今天也就只能介紹某一個模塊了。
本文引用地址:http://www.ex-cimer.com/article/201611/320728.htm 這一篇也就只能介紹一下CC430的AD轉(zhuǎn)換功能了。在一個充滿模擬化的人類世界中,要想單片機這種數(shù)字化另類完成模擬數(shù)據(jù)的操作,必須得有一個能完成模擬向數(shù)字轉(zhuǎn)換的模塊。TI工程師確實想法很好,很厲害。CC430可以實現(xiàn)一段時間內(nèi)多個通道數(shù)據(jù)的同時轉(zhuǎn)換,以前在我心中只是個傳說,現(xiàn)在終于見到面了。媽呀,又有點扯遠了。
序幕緩緩拉開.....................
ADC完成的必須品:ADC通道選擇
基準電壓(電壓基準模塊[獨立于ADC] or ADC本身)
采樣轉(zhuǎn)換時序
分辨率和數(shù)據(jù)讀出格式
皮毛設(shè)置
ADC中斷功能
ADC通道選擇:P2SEL = 0xFF---設(shè)置相應(yīng)的位為高,則完成通道的選擇。CC430只有P2可以作AD轉(zhuǎn)換口。
基準電壓(電壓基準模塊[獨立于ADC] or ADC本身):
電壓基準模塊:1、基準電壓設(shè)置 REFCTL0.REFVSEL(5~4)
2、主控模塊(聯(lián)系REFMSTR) = 1 使用REF模塊,忽視ADC本身
REFCTL0.REFMSTR(7) = 0使用ADC本身
3、啟動電壓基準 REFCTL0.REFON = 1啟動電壓基準
(不用時關(guān)閉,省電) = 0 禁止電壓基準
ADC本身:當REFCTL0.REFMSTR(7) = 0,ADC12CTL0.ADC12REFON(5) = 1 打開 or = 0 關(guān)閉
ADC12CTL1.ADC12REF2_5V(6) = 0 1.5V
ADC12CTL1.ADC12REF2_5V(6) =1 2.5V
采樣轉(zhuǎn)換時序:需要保持觸發(fā)源(SAMPCON)和時鐘源(ADC12CLK)兩家伙
SAMPCON:1、保持觸發(fā)源選擇 ADC12CTL1.ADC12SHSx(11~10)
2、SAMPCON信號來源 ADC12CTL1.ADC12SHP(9)
3、SAMPCON信號方向(正 or 反) ADC12CTL1.ADC12SSH(8)
ADC12CLK:1、時鐘源選擇ADC12CTL1.ADC12SSELx(4~3)
2、時鐘預(yù)分頻ADC12CTL2.ADC12PDIV(8)和ADC12CTL2.ADC12DIV(7~5)
3、SAMPCON信號方向(正 or 反) ADC12CTL1.ADC12SSH(8)
分辨率和數(shù)據(jù)讀出格式:1、分辨率:ADC12CTL2.ADC12RES(5~4)
2、讀取格式:ADC12CTL2.ADC12DF(3) = 0 -VREF = 0000h +VREF = 0FFFh
= 1 -VREF = 8000h +VREF = 7FF0h
皮毛設(shè)置:1、打開和使能ADC:ADC12CTL0.ADC12ON = 1 打開
ADC12CTL0.ADC12ENC = 1 使能
2、濕度傳感器:ADC12CTL2.ADC12TCOFF1(7) = 1 關(guān)閉
3、轉(zhuǎn)換序列模式控制:ADC12CTL1.ADC12CONSEQx(2~1) 四種模式
單通道轉(zhuǎn)換時,需要設(shè)置ADC12CTL0.ADC12SC = 1來連續(xù)觸發(fā)
序列通道轉(zhuǎn)換時,需要設(shè)置ADC12MCTLx.ADC12EOS = 1
4、基準電壓和輸入通道設(shè)置:(每個通道都有自己的寄存器)
ADC12MCTLx.ADC12SREFx(6~4) 基準電壓選擇
ADC12MCTLx.ADC12INCHx(3~0) 輸入通道選擇
ADC中斷功能:與IO口中斷類似,多了溢出中斷和轉(zhuǎn)換時間溢出中斷使能
評論