位置:51电子网 » 技术资料 » 单 片 机

PIC单片机模/数转换器ADC模块的设计思路及电路设计

发布时间:2008/11/25 0:00:00 访问次数:1252

  pic16f877单片机的adc内部结构如图1所示。40引脚封装芯片与28引脚封装芯片的区别主要在于模拟口的数量不同,28引脚封装芯片没有an5~an7模拟量输入通道,其他各部分的功能和组成关系相同。pic16f877单片机的adc内部结构图如图2所示。

  图1 主程序及中断程序流程

  图2 pic16f877单片机的adc内部结构图

  pic16f877单片机内部嵌入的adc模块具有10位数字量精度,共有8个模拟通道,与ado模块有关的寄存器共有11个,其专用的4个寄存器分别为:adccon0、adccon1、adresh及adresl。

  源阻抗(rs)和内部采样开关(rss)阻抗直接影响所要求的充电电容chold的时间,采样开关(rss)阻抗在单片机电压上的变化,源阻抗在模拟输入时影响偏移电压(由于引脚漏电流)。所推荐的最大模拟源阻抗是101kω,在模块输入通道被选择后转换可以开始之前采集必须通过。

  a/d转换器时间每位定义为tad,a/d转换器每10位转换要求12tad,a/d转换器时钟源是可以通过软件设定的,tad的4种可能选择是:

  · 2tosc;

  · 8tosc;

  · 32tosc;

  · 内部rc振荡器。

  对于正确的a/d转换,a/d转换时钟(tad)必须被选择以保证1.6μs的最小tad时间。

  adcon1、trisa和trise寄存器控制a/d端口引脚的操作。这个作为模拟输入的端口引脚必须有它们的相应位tris置1(输入)。如果tris位清0(输出),数字输出电平(voh或vol)将被转换。a/d操作是独立于(chs(2∶0))位和tris位的状态之外的。

  在睡眠期间a/d模块可以工作,这种a/d时钟要求对rc置1,(arcs(1:0)=11), 当选择rc时钟源时,a/d模块在开始转换之前等待一个指令周期。这种允许执行的睡眠指令,可以消除在转换中产生的所有数字开关噪声。

  当转换完成时,go/done位将被清0,和转换结果一块装入adres寄存器,如果a/d中断使能,单片机将从睡眠中唤醒,如果a/d中断不使能,尽管adon位仍保持置1,a/d模块仍将被关闭。

  如果a/d时钟源是另一种时针选择(不是rc),尽管adin位仍保持1,睡眠指令将导致目前的转换中断和a/d模块被关闭。关闭a/d,把a/d模块放到它的最低电流消耗状态。

  单片机复位强制所有寄存器复位到它们的复位状态,强制关闭a/d转换模块和进行的转换。在adresh、adresl寄存器的值在上电复位时不变,adresh、adresl寄存器在上电复位之后将包含未知数据。

  1. 设计思路

  将ra2引脚作为模拟电压输入,模拟量为连接在ra2引脚上的微调电阻提供,借此可以提供一个连续变化的模拟电压。端口d连接8个led作为数据输出显示,并设置一个报警值。

  本程序中将报警值设为2.5v,经a/d转换后对应十六进制数值为0x200h,当a/d转换的值未达到警戒值(0x200h)时,点亮8个发光二极管的低4个,表明系统运行正常;当a/d转换的值达到或超过警戒值(0x200h)时,发出报警信号,点亮与d口相连的led显示报警信息。

  2. 电路设计

  单片机与led的接口原理如图3所示。

  图3 pic16f877与led的接线

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



  pic16f877单片机的adc内部结构如图1所示。40引脚封装芯片与28引脚封装芯片的区别主要在于模拟口的数量不同,28引脚封装芯片没有an5~an7模拟量输入通道,其他各部分的功能和组成关系相同。pic16f877单片机的adc内部结构图如图2所示。

  图1 主程序及中断程序流程

  图2 pic16f877单片机的adc内部结构图

  pic16f877单片机内部嵌入的adc模块具有10位数字量精度,共有8个模拟通道,与ado模块有关的寄存器共有11个,其专用的4个寄存器分别为:adccon0、adccon1、adresh及adresl。

  源阻抗(rs)和内部采样开关(rss)阻抗直接影响所要求的充电电容chold的时间,采样开关(rss)阻抗在单片机电压上的变化,源阻抗在模拟输入时影响偏移电压(由于引脚漏电流)。所推荐的最大模拟源阻抗是101kω,在模块输入通道被选择后转换可以开始之前采集必须通过。

  a/d转换器时间每位定义为tad,a/d转换器每10位转换要求12tad,a/d转换器时钟源是可以通过软件设定的,tad的4种可能选择是:

  · 2tosc;

  · 8tosc;

  · 32tosc;

  · 内部rc振荡器。

  对于正确的a/d转换,a/d转换时钟(tad)必须被选择以保证1.6μs的最小tad时间。

  adcon1、trisa和trise寄存器控制a/d端口引脚的操作。这个作为模拟输入的端口引脚必须有它们的相应位tris置1(输入)。如果tris位清0(输出),数字输出电平(voh或vol)将被转换。a/d操作是独立于(chs(2∶0))位和tris位的状态之外的。

  在睡眠期间a/d模块可以工作,这种a/d时钟要求对rc置1,(arcs(1:0)=11), 当选择rc时钟源时,a/d模块在开始转换之前等待一个指令周期。这种允许执行的睡眠指令,可以消除在转换中产生的所有数字开关噪声。

  当转换完成时,go/done位将被清0,和转换结果一块装入adres寄存器,如果a/d中断使能,单片机将从睡眠中唤醒,如果a/d中断不使能,尽管adon位仍保持置1,a/d模块仍将被关闭。

  如果a/d时钟源是另一种时针选择(不是rc),尽管adin位仍保持1,睡眠指令将导致目前的转换中断和a/d模块被关闭。关闭a/d,把a/d模块放到它的最低电流消耗状态。

  单片机复位强制所有寄存器复位到它们的复位状态,强制关闭a/d转换模块和进行的转换。在adresh、adresl寄存器的值在上电复位时不变,adresh、adresl寄存器在上电复位之后将包含未知数据。

  1. 设计思路

  将ra2引脚作为模拟电压输入,模拟量为连接在ra2引脚上的微调电阻提供,借此可以提供一个连续变化的模拟电压。端口d连接8个led作为数据输出显示,并设置一个报警值。

  本程序中将报警值设为2.5v,经a/d转换后对应十六进制数值为0x200h,当a/d转换的值未达到警戒值(0x200h)时,点亮8个发光二极管的低4个,表明系统运行正常;当a/d转换的值达到或超过警戒值(0x200h)时,发出报警信号,点亮与d口相连的led显示报警信息。

  2. 电路设计

  单片机与led的接口原理如图3所示。

  图3 pic16f877与led的接线

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!