色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430學(xué)習(xí)筆記(4)ADC12

          MSP430學(xué)習(xí)筆記(4)ADC12

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏

          b)轉(zhuǎn)換控制寄存器ADC12CTL1

          i.CSStartAdd轉(zhuǎn)換存儲地址位,可以定義單次轉(zhuǎn)換地址或序列轉(zhuǎn)換的首地址。

          ii.SHS采樣輸入觸發(fā)源選擇:0為ADC12SC,1為Timer_A.OUT1,2為Timer_B.OUT0,3為Timer_B.OUT1。

          iii.SHP采樣信號(SAMPCON)選擇控制位:0為信號源來自采樣觸發(fā)輸入信號,1為信號源來自采樣定時器,由采樣輸入信號的上升沿觸發(fā)采樣定時器。

          iv.ISSH采樣輸入信號方向控制位:0為采樣輸入信號為同向輸入,1為反向。

          v.ADC12DIV:ADC12時鐘源分頻因子選擇為。

          vi.ADC12SSEL ADC12內(nèi)核時鐘源選擇:0為ADC12內(nèi)部時鐘源ADC12OSC(默認(rèn))為1為ACLK,為2為MCLK,為3為SMCLK。

          vii.CONSEQ轉(zhuǎn)換模式選擇位:0為單通道單次轉(zhuǎn)換模式,1為序列通道單次轉(zhuǎn)換模式,2為序列通道多次轉(zhuǎn)換模式,3為序列通道多次轉(zhuǎn)換模式。

          viii.ADC12BUSY ADC12忙標(biāo)志位:0表示沒有活動,1表示忙。

          c)ADC12MEM0~ADC12MEM15轉(zhuǎn)換存儲寄存器:16位寄存器,用來存放A/D轉(zhuǎn)換結(jié)果,只用其中低12位。

          d)ADC12MCTLx轉(zhuǎn)換存儲器控制寄存器:

          i.EOS:序列結(jié)束控制位:0為序列沒有結(jié)束,1為結(jié)束。

          ii.Sref參考電壓源選擇位:

          iii.INCH選擇模擬輸入通道:該4位表示的二進(jìn)制數(shù)為所選的模擬輸入通道:

          e)ADC12IFG中斷標(biāo)志寄存器:ADC12IFGx置位表示轉(zhuǎn)換結(jié)束,并且轉(zhuǎn)換結(jié)果已經(jīng)裝入轉(zhuǎn)換存儲寄存器;ADC12IFGx復(fù)位表示ADC12MEMx被訪問。

          f)ADC12IE中斷使能寄存器:1為允許響應(yīng)的ADC12IFGx在置位時發(fā)生的中斷請求服務(wù),0為禁止ADC12IFGx在置位時發(fā)生的中斷請求服務(wù)。

          g)ADC12IV中斷向量寄存器。

          5.初始化代碼

          [cpp]view plaincopyprint?
          1. /*************************************************************************
          2. //名稱:ADC12Init
          3. //參數(shù):ucharTimes-0為單次轉(zhuǎn)換,1為多次轉(zhuǎn)換,
          4. ucharTube-0為單通告轉(zhuǎn)換,1為多通道轉(zhuǎn)換
          5. ucharn-待轉(zhuǎn)換的通道(只有在Tube為0的時候有用)
          6. ucharV-0為內(nèi)部參考電壓,1為外部參考電壓
          7. //返回值:無
          8. //功能:完成ADC12Init的初始化
          9. *************************************************************************/
          10. voidADC12Init(ucharTimes,ucharTube,ucharn,unsignedcharv)
          11. {
          12. if(Tube==0)//單通道轉(zhuǎn)換
          13. {
          14. if(v==0)
          15. {
          16. ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;//使用內(nèi)部電壓,打開ADC12內(nèi)核,8分頻,內(nèi)部參考電壓2.5V
          17. ADC12MCTL0=SREF_0;//使用內(nèi)部電壓,參考位為AVCC和AVSS
          18. }
          19. if(v==1)
          20. {
          21. ADC12CTL0=ADC12ON+SHT0_8;//使用外部電壓,打開ADC12內(nèi)核,8分頻
          22. ADC12MCTL0=SREF_2;//使用外部電壓,參考為為VeREF+和AVSS
          23. }
          24. if(Times==0)ADC12CTL1=SHP+CONSEQ_0;//單通道單次轉(zhuǎn)換,采樣信號來自采樣定時器
          25. if(Times==1)ADC12CTL1=SHP+CONSEQ_2;//單通道多次轉(zhuǎn)換,采樣信號來自采樣定時器
          26. switch(n)//選擇通道
          27. {
          28. case0:ADC12MCTL0|=INCH_0;break;
          29. case1:ADC12MCTL0|=INCH_1;break;
          30. case2:ADC12MCTL0|=INCH_2;break;
          31. case3:ADC12MCTL0|=INCH_3;break;
          32. case4:ADC12MCTL0|=INCH_4;break;
          33. case5:ADC12MCTL0|=INCH_5;break;
          34. case6:ADC12MCTL0|=INCH_6;break;
          35. case7:ADC12MCTL0|=INCH_7;break;
          36. }
          37. ADC12IE=n;//使能待轉(zhuǎn)換通道的中斷
          38. ADC12CTL0|=ENC;//開啟軟件使能
          39. }
          40. if(Tube==1)//多通道轉(zhuǎn)換
          41. {
          42. if(v==0)
          43. {
          44. ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;//使用內(nèi)部電壓,打開ADC12內(nèi)核,8分頻,內(nèi)部參考電壓2.5V
          45. ADC12MCTL0=SREF_0;//使用內(nèi)部電壓,參考位為AVCC和AVSS
          46. }
          47. if(v==1)
          48. {
          49. ADC12CTL0=ADC12ON+SHT0_8;//使用外部電壓,打開ADC12內(nèi)核,8分頻
          50. ADC12MCTL0=SREF_2;//使用外部電壓,參考為為VeREF+和AVSS
          51. }
          52. if(Times==0)ADC12CTL1=SHP+CONSEQ_1;//多通道單次轉(zhuǎn)換,采樣信號來自采樣定時器
          53. if(Times==1)ADC12CTL1=SHP+CONSEQ_3;//多通道多次轉(zhuǎn)換,采樣信號來自采樣定時器
          54. ADC12IE=0xff;//使能待轉(zhuǎn)換通道的中斷
          55. ADC12CTL0|=ENC;//開啟軟件使能
          56. }
          57. }


          上一頁 1 2 下一頁

          評論


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

          關(guān)閉