zoukankan      html  css  js  c++  java
  • lpc1768ADC使用

     Lpc1768内置有一个ad外设,该外设有八路复用输入,所以,可以同时接八路ad设备,同时还支持触发转换模式,由外部端口进行ad触发,ad转换完成之后可以产生中断

      Lpc1768支持的转换模式有两种,分别会连续转换模式和软件单次转换模式,连续转换模式可以自动的按照我们选择的转换位进行ad的依次转换,单次转换模式是软件转换,只能一次转换一个ad值

      使用AD分为以下几步

    1. 打开ADC时钟,注意,顺带gpio的时钟也要打开

     

    1. 设置gpio的功能为ad

     

    1. 设置转换模式和转换引脚

     

    设置转换时钟,设置转换器正常工作模式都是在cr中完整

    1. 设置转换完成中断

     

    1. 在转换完成之后提取转换结果

     

    代码例程如下

    void adc_init(u8 div)//最大时钟不得大于13M

    {

        //打开ADC和IO口时钟

        LPC_SC->PCONP |= (1<<15)|(1<<12);

        LPC_PINCON->PINSEL0 &= ~(3<<14);

        LPC_PINCON->PINSEL0 |= 1<<14;//选择adc功能

        LPC_ADC->ADCR = 0X00;

        LPC_ADC->ADCR |= (1<<ch)|(div<<8)|(1<<21);//正常工作 非规则转换 并选中响应通道

        LPC_ADC->ADINTEN = 0x00;//禁用全部中断

    }

     

    u16 adc_cover(u8 ch)

    {

        u16 temp;

        LPC_ADC->ADCR &= ~(0x000000ff);

        LPC_ADC->ADCR |= (1<<ch);

        LPC_ADC->ADCR |= 1<<24;//启动转换

        while(!(LPC_ADC->ADGDR &(1u<<31)));//等待转换结束

        temp = (u16)((LPC_ADC->ADGDR & 0x00000fff0)>>4);

        return temp;

    }

  • 相关阅读:
    composer的使用
    tp5短信接口的使用
    PHP序列化与反序列化
    PHP 的oop思想
    php单例模式
    统计图的使用(chart)
    jq的时间插件
    php中Excel操作
    Linux 常用命令
    think cmfx目录结构
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4338677.html
Copyright © 2011-2022 走看看