当前位置:首页 > 单片机 > 单片机
[导读]硬件扫描模式与软件控制模式的主要区别是:软件控制模式需要有触发条件,AD通道才转换引脚上的电压值,触发一次转换一次;硬件扫描模式无需触发条件,只要开启硬件扫描模式,转换就会一直循环进行。软件控制模式只能

硬件扫描模式与软件控制模式的主要区别是:软件控制模式需要有触发条件,AD通道才转换引脚上的电压值,触发一次转换一次;硬件扫描模式无需触发条件,只要开启硬件扫描模式,转换就会一直循环进行。
软件控制模式只能开启一个通道,硬件扫描模式可以开启多个通道。

1. 单通道

新建一个工程,结构如下图所示:

所有的文件都用《cortex m0 lpc1114 adc start位控制转换》中的。

在adc.c文件中,修改ADC_Init()函数中的CR寄存器配置语句,如下所示:

LPC_ADC->CR=(1<

第3行,即把CR寄存器中的BURST位置1.

ADC_Read()函数修改为如下所示:

uint32_tADC_Read(uint8_tChannel){uint32_tadc_value=0;adc_value=((LPC_ADC->DR[Channel]>>6)&0x3FF);adc_value=(adc_value*Vref)/1024;returnadc_value;}

与《cortex m0 lpc1114 adc start位控制转换》的ADC_Read()函数相比,去掉了检测DR寄存器DONE位的语句。

main.c文件中的内容不变。

打开串口调试助手,会看到和《cortex m0 lpc1114 adc start位控制转换》一样的效果。

2. 八个通道全开

在ADC_Init()函数中,将CR寄存器的配置语句改成如下所示:

LPC_ADC->CR=(0xFF)|/*bit7:bit0开启全部通道*/(24<<8)|/*bit15:bit8把采样时钟频率设置为2MHz50/(24+1)*/(1<<16);/*硬件扫描模式*/

把CR寄存器的bit0~bit7,即SEL位全置1,开启所有通道。

在main.c文件中,加入以下代码:

#include"lpc11xx.h"#include"uart.h"#include"adc.h"voiddelay(void){uint16_ti,j;for(j=0;j<5000;j++)for(i=0;i<500;i++);}intmain(){uint8_tadc_value[16];uint16_tadc_temp;UART_init(9600);ADC_Init();while(1){delay();adc_temp=ADC_Read(0);adc_value[0]=adc_temp>>8;adc_value[1]=adc_temp;adc_temp=ADC_Read(1);adc_value[2]=adc_temp>>8;adc_value[3]=adc_temp;adc_temp=ADC_Read(2);adc_value[4]=adc_temp>>8;adc_value[5]=adc_temp;adc_temp=ADC_Read(3);adc_value[6]=adc_temp>>8;adc_value[7]=adc_temp;adc_temp=ADC_Read(4);adc_value[8]=adc_temp>>8;adc_value[9]=adc_temp;adc_temp=ADC_Read(5);adc_value[10]=adc_temp>>8;adc_value[11]=adc_temp;adc_temp=ADC_Read(6);adc_value[12]=adc_temp>>8;adc_value[13]=adc_temp;adc_temp=ADC_Read(7);adc_value[14]=adc_temp>>8;adc_value[15]=adc_temp;UART_send(adc_value,16);}}

main函数,把8个通道的数据都发送到串口。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

系统设计师通常侧重于为应用选择最合适的数据转换器,在向数据转换器提供输入的时钟发生器件的选择上往往少有考虑。然而,如果不慎重考虑时钟发生器、相位噪声和抖动性能,数据转换器、动态范围和线性度性能可能受到严重的影响。

关键字: 时钟发生器 adc

专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 (Mouser Electronics) 即日起开始备货TI TLV915x运算放大器和ADS7128 12位模数转换器 (ADC)。

关键字: 贸泽 adc 模数转换器

自然界产生的信号,都是模拟信号,比如我们说话的声音,看到的景色,感受到的温度、湿度、压力、流速、光、电、风及个人的呼吸、血压、体温、心跳、体重、血糖,体脂等等。这些模拟信号都得最终放在电脑,手机等数字领域进行处理,存储或...

关键字: adc 模拟信号

为增进大家对ADC的认识和了解,本文将基于两方面对ADC予以介绍:1.什么是并行ADC,并行ADC的基本原理是什么?2.流水线ADC与其它ADC有何区别。

关键字: adc 指数 流水线adc

ADC是电子电路中常用器件,大家对于ADC也较为熟悉。为增进大家对ADC的了解,本文将对高速ADC以及流水线ADC结构予以介绍。

关键字: adc 指数 流水线adc

ADC也即数模转换器,在现实中,ADC具备重要作用。对于ADC,电子相关专业的朋友想必相当熟悉。为增进大家对ADC的认识,本文将对管道ADC以及其原理予以介绍。

关键字: adc 指数 管道adc

设计人员有各种模数转换器(ADC)可以选择,数字数据输出类型是选择过程中需要考虑的一项重要参数。

关键字: 高速转换器 数字数据 adc

ADC包括三个基本功能:抽样、量化和编码。如何实现这三个功能,就决定了ADC的形式和性能。

关键字: 模数转换 adc

自然界产生的信号,都是模拟信号,比如我们说话的声音,看到的景色,感受到的温度、湿度、压力、流速、光、电、风及个人的呼吸、血压、体温、心跳、体重、血糖,体脂等。这些模拟信号都得最终放在电脑,手机等数字领域进行处理,存储或者...

关键字: adc 电源设计

在设计ADC电路时,一个常见的问题是“如何在过压条件下保护ADC输入”。那么,在过压情形中,可能出现哪些问题?发生的频率又是怎样的?有木有潜在的补救措施?

关键字: adc 电源设计
关闭
关闭