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;

    }

  • 相关阅读:
    MongoDB 释放磁盘空间 db.runCommand({repairDatabase: 1 })
    RK 调试笔记
    RK Android7.1 拨号
    RK Android7.1 移植gt9271 TP偏移
    RK Android7.1 定制化 itvbox 盒子Launcher
    RK Android7.1 双屏显示旋转方向
    RK Android7.1 设置 内存条作假
    RK Android7.1 设置 蓝牙 已断开连接
    RK Android7.1 进入Camera2 亮度会增加
    RK 3128 调触摸屏 TP GT9XX
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4338677.html
Copyright © 2011-2022 走看看