单片机pic24 ad问题

作者&投稿:龚庙 (若有异议请与网页底部的电邮联系)
关于PIC单片机AD采样的问题~

PIC24的单片机有多个AD输入通道(即多个输入引脚)。当你想在一次AD中断只读取一个通道的AD值时候,就不需要扫描输入。如果想一次中断采集到多个AD引脚的电压值,就要设置扫描输入。
这个扫描输入就是一次性把多路AD扫描进来的意思。

PIC24的单片机有多个AD输入通道(即多个输入引脚)。当你想在一次AD中断只读取一个通道的AD值时候,就不需要扫描输入。如果想一次中断采集到多个AD引脚的电压值,就要设置扫描输入。
这个扫描输入就是一次性把多路AD扫描进来的意思。明白否~

我没有用过PIC24系列的,而且只会汇编语言,只好说说PIC16的。
1、ADC控制寄存器是从0-1的(也就是说PIC24也许可能是ADCON0~ADCON2)。
2、ADON、无、GO/-DONE、CHS0、CHS1、CHS2、ADCS0、ADCS1是位寻址,其实就是对应于ADCON0的bit0~7;PCFG0、PCFG1、PCFG2、PCFG3、无、无、无、ADFM也是位寻址,对应于ADCON1的bit0~7。
3、RA0/AN0~RA7/AN7同样是位寻址(AN5~AN7只有40脚封装的才有),对应于PORTA的bit0~7。
4、ADRESL、ADRESH分别存放转换结果的低字节和高字节:当ADFM=0时,ADRESL放低2位(bit2~7为0),ADRESH放高8位;当ADFM=1时,ADRESL放低8位,ADRESH放高2位(bit2~7为0)。
5、CHS2~0用于选择模拟输入通道:
000=选择通道0(RA0/AN0)
001=选择通道1(RA1/AN1)
...
111=选择通道7(RA7/AN7)
6、ADON为A/D转换器开关位:
1=启用ADC
0=关闭ADC(省电)
7、GO/-DONE为状态位(ADON=1的前提下)
1=正在转换
0=转换完成

你要使用AN6首先要40条引脚以上,然后让CHS2~0=110,用ADCS0~1设置好时钟,用ADFM设置好需要的格式(一般我习惯设置为1),GO=1,ADON=1,然后查询GO,当GO=0,读取ADRESL和ADRESH的数值。

让他的声音在墙上碰得粉碎.
这是怎么一回事呀!
但是我们哈哈跟随着他,
我们让他从他乘着的东风上降下来


上林县15210665785: PIC 单片机的AD采样问题 -
锁戴奥佳: PIC24的单片机有多个AD输入通道(即多个输入引脚).当你想在一次AD中断只读取一个通道的AD值时候,就不需要扫描输入.如果想一次中断采集到多个AD引脚的电压值,就要设置扫描输入.这个扫描输入就是一次性把多路AD扫描进来的意思.明白否~

上林县15210665785: PIC单片机AD基准电压问题 -
锁戴奥佳: 把2.5V接到基准脚VREF,AD设置为外部基准(单端,非差分),如那个单片机必须接就把VREF-接地, 测10V到15V就用两个电阻串起来,没有特殊要求就直接用10K和1K分压,1K端接地,10K端接输入,中间接AD,需要稳定点读取的值就在AD脚并一个100n电容!

上林县15210665785: PIC 单片机的AD值怎么计算 -
锁戴奥佳: 看你用的是PIC那个系列的单片机了. PIC12、PIC16、PIC18、pic24等系列的单片机基本上都是10位精度的AD,而dsPIC30/33系列单片机有12位精度的AD. 在这只说10位精度的AD的计算. 首先2的10次方就是1024,也就是说AD采集到的数据用0到1023这1024个数值来表示,这还需要看你设置的参考电压的值,如果设置参考电压为5V(VREF引脚接5V),则参考电压范围是0V~5V,其对应的就是0~1023. 所以 AD值 = (采集到的数据 * 5V)/ 1023

上林县15210665785: pic单片机引脚设置为ad输入时内阻很低,加了运放也不够,接上就会把电压拉到0,有谁知道怎么回事呢? -
锁戴奥佳: 先确认你单片机的AD采样端的参考电压是多少.2.看一下你输入的2V到单片机引脚是不是还有2V,是不是被拉低了.3、看一下你AD采样脚和AD采样寄存器的配置.给你一段寄存器配置的程序看看我用的是pic18系列 ADCON0=0x05; // 选...

上林县15210665785: PIC单片机AD参考电压为什么没有内部带隙基准源选项? -
锁戴奥佳: 内部自带的基准源多数是给欠压复位或者有些高低压检测.而一般设计人员用到AD都会自己外加一个外部基准源给AD的参考电压.所以AD内置基准源没什么必要,microchip方面可以减少这方面的设计成本和生产成本.另外,自带的AD一般才8位~12位……我遇到的多数设计都不会想用它的内部AD,而是外扩一个高精度的 .以上是个人意见.你也可以咨询一下microchip技术工程师的说法.BTW:这种技术问题就别在上问了,还不如到21ic或者其他的专业论坛上和大家讨论.

上林县15210665785: PIC单片机端口问题 -
锁戴奥佳: 你这是那款PIC的单片机,有的PIC单片机的A口带有AD功能或者是比较器功能的,而默认设置就是AD输入打开.这时候如果你没关闭AD或者比较器功能的话,即便是设置TRISA为全部输出,也没法进行.数据输出操作.好好看数据手册把. 补充:PIC16F877A的A口,除了TRISA和PORTA这两个寄存器关联,还和ADCON1这个AD控制寄存器有关联.这个寄存器的后四位等于0000的时候,是设置A口为AD输出(数字IO关闭).所以你要在while语句前加上ADCON1=0X0F.

上林县15210665785: PIC单片机10位AD采样最后两位在跳动是正常的吗 -
锁戴奥佳: 正常的,可以用数字滤波来减少跳动的幅度.

上林县15210665785: PIC外部中断,AD转换程序中断问题.
锁戴奥佳: 工欲善其事必先利其器.初始化子程序adinitial()是用于做准备的,设置一下AD模块,打开这个AD,设置输入的方式和采样转换时间什么的.所以这叫“初始化”.而中断服务程序就是实际执行AD采集的任务的.有AD中断发生,单片机自动标志AD标志位,然后触发中断服务程序.

上林县15210665785: 单片机AD数据采集口悬空,采集乱码? -
锁戴奥佳: 正常,AD输入端悬空,采集结果可能出现各种编码,尤其是AD采集卡输入阻抗较高并且干扰较大的场合.

上林县15210665785: 用proteus仿真PIC单片机AD转换出现问题 -
锁戴奥佳: 不是3.2小于1.6 而是3.2us慢于1.6us.说明你可能控制ADC太快了,人家还没转换完成,可能你就急着去获取数据了. 仔细看资料,给ADC足够的转换时间应该就可以了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网