AD转换可以放进定时器中断里面执行,例如100uS定时器中断一次去读取AD采样回来的值。
AD转换采样回来的值最好用软件滤波一下,这样比较精准,可以参考《十大滤波算法》。
PIC单片机在某一时间段内只能采集开启一个AD转换通道来进行采集,你可以通过模拟通道选择位来进行通道选择的先后顺序/.可以定义一个数组用来存放采集数据
先使能AD采样,进中断.清标志位,配置通道(如AN0),把采样结果存入数组.
轮流进行
采集时间一结束,即可启动 A/D 转
换。 可将采集时间编程设定在 GO/DONE位置1和实际
转换启动之间。
可参考pic.的PDF资料
PIC 单片机的AD,多半为 10位AD。为了方便用户程序,PIC对10位AD结果的对齐方式做了选择性设计。可以选择左对齐、右对齐。如果需要10位精度,合理设计应该采用右对齐,即分成: 0bSS SSSS SSSS,其中低8位在低8位寄存器中(ADRESL),高2位在高8位寄存器中(ADRESH,高6位补0)。这样,通过读取16位结果,就能直接获得10AD值了。
如果不需要10位精度,合理设计应该采用左对齐,即分成:0bSSSS SSSS SS,其中高8位在高8位寄存器中(ADRESH),低2位在低8位寄存器中(ADRESL,低6位补0)。这样,通过读取高8位结果,就能直接获得8位AD值了(剩下2位,就不要了)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)