本帖最后由 ltbytyn 于 2015-9-18 14:54 编辑
R7F0C809中,以AN10口为例,介绍一下R7F0C809 AD采样如何设置寄存器。1、涉及AD功能的IO口设置总共涉及到
PM0、PMC0 2个寄存器。AN10与P07共用1个io口。
- PM0 |= 0x80; //设置P07为输入口。
- PMC0 |= 0x80U; //设置P07为模拟输入
复制代码2、涉及AD的寄存器只有
PER0、ADM0、ADM2、ADCRH、ADRCL、ADS总共7个。
- ADCEN = 1U; //给AD模块提供时钟
- ADM0 = 0x00U; //停止转换运行,停止A/D电压比较器的运行
- ADM0 = 0x02U; //fCLK/8
- ADM2 = 0x00U; //ADC分辨率为10 bits
- ADS = 0x00U; //选定ANI0为采样通道
- ADCE = 1U; //允许A/D电压比较器的运行
- for (count=0U; count<3U; count++)
- {
- NOP(); //在将ADCE位置“1”并且至少经过0.1s后,再将ADCS位置“1”,就从第1个转换数据开始有效
- }
- ADCS = 1U; //允许转换运行
复制代码
3、涉及AD中断的寄存器只有
ADMK、ADIF总共2个(不考虑优先级)。
- ADMK = 0U; //允许AD中断处理
- ADIF = 0U; //清除中断请求标志
复制代码编写中断程序
- #pragma interrupt INTAD R_ADC_Interrupt
复制代码仿真图,调整板子上的VR1电位器,即可改变采样值。
R7F0C809 ADC测试工程
r7f0c809_adc.zip
(56.05 KB, 下载次数: 35, 售价: 1 分芯积分)