lpc1114 cap引腳觸發(fā)adc轉(zhuǎn)換
在單片機(jī)上,有兩個CAP引腳可以觸發(fā)ADC轉(zhuǎn)換,這兩個引腳分別是CT16B0CAP0和CT32B0CAP0。
這里以CT16B0CAP0為例介紹。
新建一個工程,結(jié)構(gòu)如下圖所示:
文件用《cortex m0 lpc1114 adc start位控制轉(zhuǎn)換》的即可。
在adc.c文件中,將ADC_Init()函數(shù)中對CR寄存器的配置修改如下所示:
LPC_ADC->CR = (1< (24<<8)| /* bit15:bit8 把采樣時鐘頻率設(shè)置為2MHz 50/(24+1)*/ (2<<24)| /* CT16B0CAP0觸發(fā)轉(zhuǎn)換 */ (1<<27); /* 下降沿觸發(fā) */ 和《cortex m0 lpc1114 adc start位控制轉(zhuǎn)換》不同的是,增加了第3行和第4行的配置。對照《cortex m0 lpc1114 adc start位控制轉(zhuǎn)換》中CR寄存器的定義,bit24~bit26寫0x2,即配置為CT16B0CAP0觸發(fā)轉(zhuǎn)換,bit27寫1,定義為CAP引腳上的下降沿觸發(fā)轉(zhuǎn)換。 在adc.c文件中,將ADC_Read()函數(shù)修改如下: uint32_t ADC_Read(uint8_t Channel) { uint32_t adc_value=0; while((LPC_ADC->DR[Channel]&0x80000000)==0); adc_value += ((LPC_ADC->DR[Channel]>>6)&0x3FF); adc_value = (adc_value*Vref)/1024; return adc_value; } 與《cortex m0 lpc1114 adc start位控制轉(zhuǎn)換》中的ADC_Read()函數(shù)相比,去掉了START位的啟動語句。關(guān)于其他語句的詳細(xì)解釋,請看《cortex m0 lpc1114 adc介紹資料詳解》。 main.c文件不變。 打開串口調(diào)試助手,當(dāng)給予CT16B0CAP0(P0.2)腳一個下降沿,就會給串口調(diào)試助手發(fā)送一個數(shù)據(jù)。在Ration LPC1114開發(fā)板上,可以把按鍵的引腳和P0.2腳相連,只要按一下按鍵,就會給CAP0一個下降沿。