在单片机上,有两个CAP引脚可以触发ADC转换,这两个引脚分别是CT16B0CAP0和CT32B0CAP0。
这里以CT16B0CAP0为例介绍。
新建一个工程,结构如下图所示:
文件用《cortex m0 lpc1114 adc start位控制转换》的即可。
在adc.c文件中,将ADC_Init()函数中对CR寄存器的配置修改如下所示:
LPC_ADC->CR = (1<
(24<<8)| /* bit15:bit8 把采样时钟频率设置为2MHz 50/(24+1)*/
(2<<24)| /* CT16B0CAP0触发转换 */
(1<<27); /* 下降沿触发 */
和《cortex m0 lpc1114 adc start位控制转换》不同的是,增加了第3行和第4行的配置。对照《cortex m0 lpc1114 adc start位控制转换》中CR寄存器的定义,bit24~bit26写0x2,即配置为CT16B0CAP0触发转换,bit27写1,定义为CAP引脚上的下降沿触发转换。
在adc.c文件中,将ADC_Read()函数修改如下:
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位控制转换》中的ADC_Read()函数相比,去掉了START位的启动语句。关于其他语句的详细解释,请看《cortex m0 lpc1114 adc介绍资料详解》。
main.c文件不变。
打开串口调试助手,当给予CT16B0CAP0(P0.2)脚一个下降沿,就会给串口调试助手发送一个数据。在Ration LPC1114开发板上,可以把按键的引脚和P0.2脚相连,只要按一下按键,就会给CAP0一个下降沿。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』