13、PIC32系列-ADC采样模块

PIC32系列-ADC采样模块

1、PIC32参考资源

2、10位ADC转换器简介

3、控制寄存器

4、ADC工作原理及配置

5、使用Harmony工具生成ADC工程代码

6、实际代码分析

7、实验验证


1、PIC32参考资源

PIC32系列参考手册 中文版  链接地址:PIC32系列参考手册 第17章 10位AD转换器

2、10位ADC转换器简介

PIC32MX10位模数(Analog-to-Digital,A/D)转换器(或 ADC)具有以下特性;

• 逐次逼近寄存器 (Successive Approximation Register, SAR)转换

• 最多 16 个模拟输入引脚

• 外部参考电压输入引脚

• 一个单极性差分采样 / 保持放大器 (Sample-and-Hold Amplifier, SHA)

• 自动通道扫描模式

• 可选择的转换触发源

• 16 字的转换结果缓冲区

• 可选择的缓冲区填充模式

• 8 个转换结果格式选项

• 可在 CPU SLEEP(休眠)和 IDLE(空闲)模式下工作

10 位 ADC 最多有 16 个模拟输入引脚,指定为 AN0-AN15。此外,还有两个模拟输入引脚用于连接外部参考电压。

10 位 ADC 与 16 字结果缓冲区连接。在从结果缓冲区读取每个 10 位转换结果时,转换结果被转换为 8 种 32 位输出格式之一。

3、控制寄存器

ADC 模块包含以下特殊功能寄存器:

AD1CON1、AD1CON2和AD1CON3控制寄存器用于控制 ADC 模块的操作。

AD1CHS寄存器用于选择要连接到SHA 的输入引脚。ADC输入通道选择寄存器

AD1PCFG 寄存器用于将模拟输入引脚配置为模拟输入或数字 I/O。

AD1CSSL 寄存器用于选择要顺序扫描的输入。

中断控制的相关位

• “IFS1:中断标志状态寄存器 1”中的中断请求标志状态位 (AD1IF)

• “IEC1:中断允许控制寄存器 1”中的中断允许控制位 (AD1IE)

• “IPC6:中断优先级控制寄存器 6”中的中断优先级控制位(AD1IP<2:0>)和(AD1IS<1:0>)

AD1CON1:ADC控制寄存器1

bit 15 ON:ADC 工作模式位

1 = A/D 转换器模块正在工作

0 = A/D 转换器关闭

注: 使用 1:1 PBCLK 分频比时,在清零模块 ON 位的指令之后,用户的软件不应立即在 SYSCLK周期中读 / 写外设的 SFR。

bit 14 FRZ :调试异常模式冻结位

1 = 在 CPU 进入调试异常模式时冻结工作

0 = 在 CPU 进入调试异常模式时继续工作

注: FRZ 仅在调试异常模式下可写。它在正常模式下读为 0。

bit 13 SIDL: : IDLE (空闲)模式停止位

1 = 当器件进入 IDLE (空闲)模式时,模块停止工作

0 = 在 IDLE (空闲)模式下模块继续工作

bit 12-11 保留:写入 0 ;忽略读操作

bit 10-8 FORM<2:0> :数据输出格式位

011 = 有符号小数, 16 位 (DOUT = 0000 0000 0000 0000 sddd dddd dd00 0000)

010 = 小数, 16 位 (DOUT = 0000 0000 0000 0000 dddd dddd dd00 0000)

001 = 有符号整数, 16 位 (DOUT = 0000 0000 0000 0000 ssss sssd dddd dddd)

000 = 整数, 16 位 (DOUT = 0000 0000 0000 0000 0000 00dd dddd dddd)

111 = 有符号小数, 32 位 (DOUT = sddd dddd dd00 0000 0000 0000 0000)

110 = 小数, 32 位 (DOUT = dddd dddd dd00 0000 0000 0000 0000 0000)

101 = 有符号整数, 32 位 (DOUT = ssss ssss ssss ssss ssss sssd dddd dddd)

100 = 整数, 32 位 (DOUT = 0000 0000 0000 0000 0000 00dd dddd dddd)

bit 7-5 SSRC<2:0> :转换触发源选择位

111 = 由内部计数器结束采样并启动转换(自动转换)

110 = 保留 101 = 保留 100 = 保留 011 = 保留

010 = 由 Timer3 周期匹配结束采样并启动转换

001 = 由 INT0 引脚的有效跳变结束采样并启动转换

000 = 由清零 SAMP 位结束采样并启动转换

bit 4 CLRASAM :停止转换序列位 (在产生第一个 A/D 转换器中断时)

1 = 在产生第一个 ADC 中断时停止转换。当产生 ADC 中断时,硬件会清零 ASAM 位。

0 = 正常工作,缓冲区内容会被下一个转换序列覆盖

bit 3 保留:写入 0 ;忽略读操作

bit 2 ASAM:ADC 采样自动启动位

1 = 最后一次转换结束后立即开始采样; SAMP 位自动置 1

0 = SAMP 位置 1 时开始采样

bit 1 SAMP:ADC 采样使能位

1 = ADC SHA 正在采样

0 = ADC SHA 保持

当 ASAM = 0 时,向该位写入 1 将启动采样。

当 SSRC = 000 时,向该位写入 0 将结束采样并启动转换。

bit 0 DONE :A/D 转换状态位

1 = A/D 转换已完成

0 = A/D 转换尚未完成或尚未启动

清零该位不会影响进行中的任何操作。在自动模式下, DONE 位不是持久性的。在下一次采样开始时,硬件会将它清零。

AD1CON2 :ADC控制寄存器2

bit 15-13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Huangtop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值