- 打卡等级:偶尔看看III
- 打卡总天数:55
- 最近打卡:2025-05-02 08:32:59
管理员
- 积分
- 15630
|
8H8K64U的12位ADC通过【过采样提升N位分辨率】:
===进行2的2N次方转换,累加值右移N位,提升N位分辨率
1, 8H8K64U, 8H1K08T,
8H4K64TL, 8H4K64TLCD,
8H3K64S4, 8A8K64D4
2,32G12K128, 32G8K64
过采样提升N位分辨率,演示程序下载
深圳国芯人工智能有限公司-核心功能实验板 (stcai.com)
1,8H8K64U, 8H1K08T
/************************************************************************************************
本例程基于STC8H8K64U核心实验板(开天斧)进行编写测试。
对转接板的NTC进行采样,通过J2接口串口1(P1.6 P1.7)发送给上位机,波特率115200,N,8,1.
初始化时先把要ADC转换的引脚设置为高阻输入.
过采样提升N位分辨率:进行2的2N次方转换,累加值右移N位,提升N位分辨率
12位ADC,采样4次数值累加后除以2,结果便为13位过采样ADC数值.
同理12位ADC,采样16次数值累加以后除以4,结果便为14位过采样ADC数值.
程序提供了两种软件防抖的方式供参考选用:
1. 使用冒泡排序,去掉最高值、最低值,求中间平均值(不需要的话屏蔽 BUBBLE_SORT 定义)
2. 采样累加,求平均值(不需要的话可将 SUM_LENGTH 定义值改为 1 )
此外程序演示两种复位进入USB下载模式的方法:
1. 通过每1毫秒执行一次“KeyResetScan”函数,实现长按P3.2口按键触发MCU复位,进入USB下载模式。
(如果不希望复位进入USB下载模式的话,可在复位代码里将 IAP_CONTR 的bit6清0,选择复位进用户程序区)
2. 通过加载“stc_usb_hid_8h.lib”库函数,实现使用STC-ISP软件发送指令触发MCU复位,进入USB下载模式并自动下载。
3. 如果data空间不够,可将Memory Model设为Large模式,然后使用“stc_usb_hid_8h_xdata.lib”库函数。
下载时, 选择时钟 24MHz (用户可自行修改频率).
************************************************************************************************/
2,32G12K128, 32G8K64 资料下载
12位ADC过采样,要提升 N 位,要进行 2的 2N次方的转换,结果累加,右移 N 位
一, 提升1位
=== 12位ADC过采样,要提升 1 位,要进行 2的 2次方的采样转换/4次,结果累加,右移 1 位
二, 提升2位
=== 12位ADC过采样,要提升 2 位,要进行 2的 4次方的采样转换/16次,结果累加,右移 2 位
三, 提升3位
=== 12位ADC过采样,要提升 3 位,要进行 2的 6次方的采样转换/64次,结果累加,右移 3 位
四, 提升4位
=== 12位ADC过采样,要提升 4 位,要进行 2的 8次方的采样转换/256次,结果累加,右移 4 位
|
|