ch11 C30daPIC30f4011ADC10函式库说明.docx
- 文档编号:30520969
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:13
- 大小:398.41KB
ch11 C30daPIC30f4011ADC10函式库说明.docx
《ch11 C30daPIC30f4011ADC10函式库说明.docx》由会员分享,可在线阅读,更多相关《ch11 C30daPIC30f4011ADC10函式库说明.docx(13页珍藏版)》请在冰豆网上搜索。
ch11C30daPIC30f4011ADC10函式库说明
C30內建式式庫相關意義ADC部分:
※因C30的ADC有分為10bit或12bit故函式有OpenADC10(…)或OpenADC112(…)
以OpenADC10(…)為例
ADCON1(相當於其設定):
ModuleOn/Off:
ADC_MODULE_ON:
開啟ADC設定致能
ADC_MODULE_OFF:
關閉ADC設定致能
Explain:
Idlemodeoperation(閒置模式設定)
ADC_IDLE_CONTINUE:
使用閒置功能
ADC_IDLE_STOP:
關閉閒置功能
Explain:
Resultoutputformat:
(類似C18的靠左靠右)
ADC_FORMAT_SIGN_FRACT:
在16bit中靠左邊
ADC_FORMAT_FRACT:
在16bit中靠左邊
ADC_FORMAT_SIGN_INT:
?
?
ADC_FORMAT_INTG:
在16bit中靠右邊
Explain:
ConversiontriSggersource:
(轉換觸發來源)
ADC_CLK_AUTO:
設定自動轉換
ADC_CLK_MPWM:
ADC_CLK_TMR:
使用Timer作為觸發來源
ADC_CLK_INT0:
ADC_CLK_MANUAL:
手動觸發轉換器
Explain:
SimultaneousSampling:
(ADC輸入類比訊號取樣)
ADC_SAMPLE_SIMULTANEOUS:
同時取樣
ADC_SAMPLE_INDIVIDUAL:
逐一對各個通道取樣
Explain:
Autosamplingselect:
(自動取樣設定)
ADC_AUTO_SAMPLING_ON:
開啟自動取樣
ADC_AUTO_SAMPLING_OFF:
關閉自動取樣
Explain:
Sampleenable:
ADC_SAMP_ON
ADC_SAMP_OFF
Explain:
ADCON2(相當於其設定):
VoltageReference:
(參考電壓選擇)
ADC_VREF_AVDD_AVSS:
000
ADC_VREF_EXT_AVSS:
ADC_VREF_AVDD_EXT:
ADC_VREF_EXT_EXT:
011
Explain:
Scanselection:
(掃描功能設定)
ADC_SCAN_ON:
開啟掃描功能
ADC_SCAN_OFF:
關閉掃描功能
Explain:
A/Dchannelsutilized:
(通道選擇“CH0~CH3”)
ADC_CONVERT_CH_0ABC:
ADC_CONVERT_CH_0A:
ADC_CONVERT_CH0:
選擇通道0(CH0)
Explain:
Numberofsamplesbetweeninterrupts:
(當發生中斷前要取樣幾次)
ADC_SAMPLES_PER_INT_1:
設定每次中斷取樣1次
ADC_SAMPLES_PER_INT_2:
設定每次中斷取樣2次
.....
ADC_SAMPLES_PER_INT_15:
設定每次中斷取樣15次
ADC_SAMPLES_PER_INT_16:
設定每次中斷取樣16次
Explain:
Buffermodeselect”:
ADC_ALT_BUF_ON:
ADC_ALT_BUF_OFF:
Explain:
AlternateInputSamplemodeselect
ADC_ALT_INPUT_ON
ADC_ALT_INPUT_OFF
Explain:
ADCON3(相當於其設定):
AutoSampleTimebits:
(取樣時間長度設定)
ADC_SAMPLE_TIME_0:
00000
ADC_SAMPLE_TIME_1:
00001
.....
ADC_SAMPLE_TIME_30:
11110
ADC_SAMPLE_TIME_31:
11111
Explain:
ConversionClockSourceselect:
ADC_CONV_CLK_INTERNAL_RC:
ADC_CONV_CLK_SYSTEM:
Explain:
Conversionclockselect:
(設定轉換時間長度)
ADC_CONV_CLK_Tcy2:
00000
ADC_CONV_CLK_Tcy:
00001
ADC_CONV_CLK_3Tcy2:
00010
.....
ADC_CONV_CLK_32Tcy:
11111
Explain:
ADCSSL:
(相其內部設定)
ThiscontainsthescanselectparametertobeconfiguredintotheADCSSLregisterasdefinedbelow:
(設定掃描腳位)
SCAN_NONE:
無掃描腳位
SCAN_ALL:
掃描所有腳位
SKIP_SCAN_AN0:
AN0腳位不掃描
SKIP_SCAN_AN1:
AN1腳位不掃描
.....
SKIP_SCAN_AN15:
AN15腳位不掃描
Explain:
PS:
在上述說明中若啟動自動掃描功能,則在函式庫撰寫設定上要把不要用到的掃描功能的腳位給寫出來
Ex.若用我要用到AN0、AN6、AN8這幾隻輸入腳位作掃描功能時則在設定上要寫成
Ps:
Adcon1_reg~Adcon3_regScanselect:
是unsignedint宣告變數,方便程式抒寫用(程式抒寫技巧)
ex
unsignedintAdcon1_reg,Adcon2_reg,Adcon3_reg;
…
…
…
(把用不到掃描功能寫出來)
OpenADC10(Adcon1_reg,Adcon2_reg,Adcon3_reg,PinConfig,Scanselect);
ThiscontainsthepinselecttobeconfiguredintotheADPCFGregisterasdefinedbelow:
(類比輸入腳位設定)
ENABLE_ALL_ANA:
ENABLE_ALL_DIG:
ENABLE_AN0_ANA:
設定AN0類比輸入腳位
ENABLE_AN1_ANA:
設定AN1類比輸入腳位
ENABLE_AN2_ANA:
設定AN2類比輸入腳位
.....
ENABLE_AN15_ANA:
設定AN15輸入腳位
Explain:
撰寫範例:
SetChanADC10(…)
Description:
Thisfunctionsetsthepositiveandnegativeinputsforthesample
multiplexersAandB.
ADCHS:
A/DInputChannelSelectRegister(相當於ADCHS)
A/DChannel1,2,3NegativeinputforSampleA:
(選擇MUXA,在CH1~3選擇負端輸入設定)
ADC_CHX_NEG_SAMPLEA_AN9AN10AN11
ADC_CHX_NEG_SAMPLEA_AN6AN7AN8
ADC_CHX_NEG_SAMPLEA_NVREF
A/DChannel1,2,3NegativeinputforSampleB:
(選擇MUXB,在CH1~3選擇負端輸入設定)
ADC_CHX_NEG_SAMPLEB_AN9AN10AN11
ADC_CHX_NEG_SAMPLEB_AN6AN7AN8
ADC_CHX_NEG_SAMPLEB_NVREF
A/DChannel1,2,3PositiveinputforSampleA:
(選擇MUXA,在CH1~3選擇正端輸入設定)
ADC_CHX_POS_SAMPLEA_AN3AN4AN5
ADC_CHX_POS_SAMPLEA_AN0AN1AN2
A/DChannel1,2,3PositiveinputforSampleB:
(選擇MUXB,在CH1~3選擇正端輸入設定)
ADC_CHX_POS_SAMPLEA_AN3AN4AN5
ADC_CHX_POS_SAMPLEB_AN0AN1AN2
A/DChannel0positivei/pselectforSampleA:
(選擇MUXA,在CH0選擇正端輸入設定)
ADC_CH0_POS_SAMPLEA_AN0
ADC_CH0_POS_SAMPLEA_AN1
.....
ADC_CH0_POS_SAMPLEA_AN15
A/DChannel0negativei/pselectforSampleA:
(選擇MUXA,在CH0選擇AN1或NVREF為負端輸入)
ADC_CH0_NEG_SAMPLEA_AN1
ADC_CH0_NEG_SAMPLEA_NVREF
Explain:
圖解說明:
撰寫範例:
ConfigIntADC10(…)
設定ADC10bit相關的中斷及中斷優先權相關設定
※中斷優先權先後順序:
7>6>…>1>0
ADCInterruptenable/disable:
(ADC中斷的致能設定)
ADC_INT_ENABLE
ADC_INT_DISABLE
ADCInterruptpriority:
(ADC中斷優先權設定)
ADC_INT_PRI_0
ADC_INT_PRI_1
ADC_INT_PRI_2
ADC_INT_PRI_3
ADC_INT_PRI_4
ADC_INT_PRI_5
ADC_INT_PRI_6
ADC_INT_PRI_7
撰寫範例:
ReadADC10(…)
讀去ADC緩衝器(ADCBUF0~ADCBUF7)資料
Explain:
撰寫範例:
其裡上述範例中,其在ReadADC(3)在掛號裡面”3”是指的是要讀取第幾個ADC緩衝器的意思,如裡面若是“3”就式讀取ADCBUF3裡面的資料,其它以此類推。
Ps:
請注意上圖說明是指”0”~”F”,但在不同PIC晶片中所給的ADCBUFx數量不一定相同,故請要去參考其資料手冊(DataSheet)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch11 C30daPIC30f4011ADC10函式库说明 C30daPIC30f4011ADC10 函式库 说明