PIC单片机AD通道转换函数问题解析

发布者:uioo9158最新更新时间:2019-12-24 来源: elecfans关键字:PIC单片机  AD通道  转换函数 手机看文章 扫描二维码
随时随地手机看文章

  AD转换

  D转换就是模数转换。顾名思义,就是把模拟信号转换成数字信号。主要包括积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。


  A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。


  AD转换分类

  1)积分型(如TLC7135)

  积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率, 但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。

  2)逐次比较型(如TLC0831)

  逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出 数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(《12位)时价格便宜,但高精度(》12位)时价格很高。

  3)并行比较型/串并行比较型(如TLC5510)

  并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。


  串并行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为 Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(MulTIstep/Subrangling)型AD,而从转换时序角度 又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路 规模比并行型小。


  4)(Sigma/FONT》delta)调制型(如AD7705)

  Δ型AD由积分器、比较器、1位DA转换器和数字滤波器等组成。原理上近似于积分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。电路的数字部分基本上容易单片化,因此容易做到高分辨率。主要用于音频和测量。


  5)电容阵列逐次比较型

  电容阵列逐次比较型AD在内置DA转换器中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列DA转换器中多数电阻的值必须一致,在单芯片上生成高 精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片AD转换器。最近的逐次比较型AD转换器大多为电容阵列式的。


  6)压频变换型(如AD650)

  压频变换型(Voltage-Frequency Converter)是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种AD的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辩率高、功耗低、价格低,但是需要外部计数电路共同完成AD转换。

  AD转换器功能模块图

PIC单片机AD通道转换函数问题解析

  逐次逼近式ADC的转换原理

  (以8位的寄存器为例)A/D转换器片内有D/A转换和电压比较器

  首先向片内D/A转换器输入1000 0000,若电压比较器:VIN 》 VN (VN为片内D/A转换的输出,VIN为A/D转换器的输入电压),N位寄存器的首位置1 (若VIN 《 VN,则寄存器首位写0);再向D/A转换输入1100 0000(首位写0时,输入0111 1111),若VIN 》 VN则寄存器第二位置1(若VIN 《 VN,则写0);再向D/A转换输入1110 0000(或0011 1111),若VIN 》 VN则寄存器第三位置1(若小于,则写0);依次下去直到寄存器第8位赋值结束,控制逻辑监测到比较放大器进行8次后,EOC输入信号,让A/D转换器将结果通过锁存缓存器输出至D0~D9。


  AD0804工作原理

PIC单片机AD通道转换函数问题解析
PIC单片机AD通道转换函数问题解析

  转换状态:

  首先确保片选信号CS处于低电平(只有CS低电平转换器才会工作),在AD0804转换期间,INTR处于高电平,当WR赋予一个低脉冲信号(该低脉冲时间要≧100ns,对51系列单片机而言,每条命令执行时间即≧100ns)时,转换器开始转换,经过一段时间(该时间长短与转换器有关)的工作后,转换结束。(注意:不工作时,WR引脚是处于高电平的,只有给予其一个低脉冲后,才开始转换)

PIC单片机AD通道转换函数问题解析

  数据读取状态:

  同样 确保片选信号CS处于低电平,转换器转换结束后,INTR将由转换器自动清零(若不用中断处理AD转换器,IN脚可以不接),用单片机给TR引RD予低电平(注意:赋RD控制转换器内部的锁存器,若不给脚RD电平,将无法输出转换结果)后,我们可以将转换结果从AD转换器的11-18引脚脚读走。(低WR低赋予脉冲信号时,要等待一段时间才能开始读取,待读取结束后,RD1) 脚要置.


  PIC单片机AD通道转换函数

  由于PIC单片机有八路AD转换通道,如果每路都写一个转换函数,哪样非常麻烦并且不便于写程序,缘此我写了一段如下转换可实现八路通用的函数:

  uchar get_ad(uchar n) //带通道选择的AD采样函数

  {

  uchar advalu;

  ADCON0=n;

  ADCON1=0x80; //1000 0000右对齐

  delay(2); //延时等待

  ADGO=1; //启动AD转换

  while(ADGO); //等待AD转换结束

  advalu=ADRESH; //读AD转换的值

  advalu*=256; //将读回的AD值左移八位

  advalu+=ADRESL; //加上低八位

  return (advalu); //返回AD值

  }

  调用如下,分别从0到7通道

  ad0=get_ad(0xc1);

  ad1=get_ad(0xc9);

  ad2=get_ad(0xd1);

  ad3=get_ad(0xd9);

  ad4=get_ad(0xe1);

  ad5=get_ad(0xe9);

  ad6=get_ad(0xf1);

  ad7=get_ad(0xf9);

关键字:PIC单片机  AD通道  转换函数 引用地址:PIC单片机AD通道转换函数问题解析

上一篇:如何解决pic单片机的功耗问题
下一篇:PIC单片机之I2C(从模式)详解

推荐阅读最新更新时间:2024-11-13 14:46

PIC单片机开发的一些经验和技巧解析
PIC单片机在国内日益流行,本文介绍MicroChipPIC系列单片机开发过程中软、硬件设计的一些经验、技巧。 由美国Microchip公司生产的PIC系列单片机,由于其超小型、低功耗、低成本、多品种等特点,已广泛应用于工业控制、仪器、仪表、通信、家电、玩具等领域,本文总结了作者在PIC单片机开发过程中的一些经验、技巧,供同行参考。 1 怎样进一步降低功耗 功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。为进一步降低功耗,在保证满足工作要求的前提下,可采用降低工作频率的方法,工作频率的下降可大大降低功耗(如PIC16C××在3V,3
[单片机]
<font color='red'>PIC单片机</font>开发的一些经验和技巧解析
pic单片机红外夜视仪设计
随着汽车市场的快速发展和安防意识的日益强化,人们对汽车安全保障技术的要求越来越高,而现有汽车照明系统在雪夜、雪天或大雾等能见度较低情况下视距不远、效果不佳的弊病成为汽车行驶的安全隐患之一。更严重的是在夜晚行车时,驾驶员通常会被对方车辆的灯光干扰出现盲区,容易发生车祸。夜视系统却可以在黑暗中帮助驾驶员导航,使驾驶员在有灯光和黑暗两种情况下都能看清驾驶环境。因此开发一种结构简单、性能稳定、可靠性好、适用性强的汽车红外夜视系统,具有重要的市场应用前景。 该部分核心是PIC16F877A单片机。它是由美国Microchip公司生产的8位单片机,具有独特的RISC结构,数据总线和指令总线分离的哈佛总线结构。它连接各个终端设备,响应主控机
[单片机]
<font color='red'>pic单片机</font>红外夜视仪设计
通道模/数转换AD7890与DSP的接口设计
随着工业技术进步,对数字控制伺服系统中执行效率和集成化程度的要求越来越高。比如用单处理器控制多个伺服系统时,对多通道A/D转换的效率要求较高。以往较多地使用多路模拟开关与单通道A/D转换器来实现,效率较低,使用模拟开关带来的噪声也比较严重。在此,选用串行多通道A/D转换器AD7890与TMS320F2812处理器的SPI接口组成A/D转换模块,非常适合应用于多轴伺服系统。AD7890是一款8通道12位串行A/D转换器,具有高转换效率(转换时间仅为5.9μs)、高速灵活的串行接口、多通道等优点。其中,AD7890-10输入电压范围为-10~+10 V。TMS320F2812处理器上集成了多种先进的外设,为实现电机及其他运动控制领域的
[电源管理]
多<font color='red'>通道</font>模/数<font color='red'>转换</font>器<font color='red'>AD</font>7890与DSP的接口设计
PIC单片机与PC机串行通信的实现
随着单片机技术的发展,PIC单片机在工业控制系统中如温度、压力和流量等参数进行监测和控制中的应用越来越多。PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通讯是许多测控系统中常用的通信解决方法。它不仅利用了单片机实时控制的特点又充分发挥了PC机运算能力强和存储容量大的优势。在日常应用中通常需要进行大量的数据计算,而PIC单片机运算能力有限,必须借助PC机的数据处理能力,因此实现PIC单片机与PC机之间可靠数据传输变得尤为重要。 文中将使用PIC单片机的同步/异步串行模块(USART)和计算机进行串口通信。PC机的通信软件采用Visual C++6.0编写,具体
[单片机]
<font color='red'>PIC单片机</font>与PC机串行通信的实现
PIC单片机应用问答
简介:PIC单片机应用问答 1、PIC单片机振荡电路中如何选择晶体? 对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体的选择至少必须考虑:谐振频点、负载电容、激励功率、温度特性、长期稳定性。 2、如何判断电路中晶振是否被过分驱动? 电阻RS常用来防止晶振被过分驱动。过分驱
[单片机]
PIC单片机的USB接口的应用 一个简单的USB HID 测试程序
1)HID 是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。 2)CDC 虚拟串口,可与PC机直接联机通讯,如同RS232。 3)USB MSC (Mass Storage class) MSC是一种计算机和 移动设备 之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。设备包括: 移动硬盘 ,移动光驱,U盘,SD、TF等储存卡读卡器,数码相机,手机等等 .......... 注意:每一个USB设备,都需要一个独立的身份编码
[单片机]
<font color='red'>PIC单片机</font>的USB接口的应用 一个简单的USB HID 测试程序
PIC单片机汽车防盗器报警声(防盗器)
; 汽车防盗器报警声 ; 频率 分两个0.1s第一个 ;0.1S频率从1.8K-3.5K匀速增加第二个0.1S频率从3.5K-1.8K匀速减少, ;程序复位后,按S2喇叭叫两声,按S3喇叭叫15秒,中途可按S5停止. ;========================================================= LIST P=16F84A,R=DEC __CONFIG B11111111110001;_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC RT CC EQU 01H ;定义各寄存器 PC EQU 02H STATUS EQU 03H C EQU 0 RP0 EQU 5 ;-
[单片机]
如何在PIC单片机的GPIO引脚上生成PWM信号
PWM信号生成是每个嵌入式工程师工具库中的重要工具,它们非常适用于控制伺服电机位置,在转换器/逆变器中切换少量电源电子集成电路等许多应用,甚至用于简单的LED亮度控制。在pic 微控制器中, pwm 信号可以通过设置所需的寄存器使用比较、捕获和 pwm (ccp) 模块生成。 如果我们使用CCP模块,PIC16F877A 只能在引脚RC1和RC2产生PWM信号,由此我们可能会遇到需要更多引脚来实现PWM功能的情况。例如,我想控制6个RC伺服电机,CCP模块是不行的。于是在这种情况下,我们可以使用定时器模块对GPIO引脚进行编程以产生PWM信号,这样我们就可以产生尽可能多的PWM信号。还可以考虑其他硬件技术,比如使用多路复用器
[单片机]
如何在<font color='red'>PIC单片机</font>的GPIO引脚上生成PWM信号
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved