pic单片机ad转换c程序分享

发布者:Whisper123最新更新时间:2020-01-20 来源: elecfans关键字:pic单片机  ad转换  c程序 手机看文章 扫描二维码
随时随地手机看文章

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


ad转换工作原理

逐次逼近法

逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。采用逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成,如图所示。基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为 Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo《Vi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的 Vo再与Vi比较,若Vo《Vi,该位1被保留,否则被清除。重复此过程,直至逼近寄存器最低位。转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出。逐次逼近的操作过程是在一个控制电路的控制下进行的。

pic单片机ad转换c程序分享

双积分法

采用双积分法的A/D转换器由电子开关积分器、比较器和控制逻辑等部件组成。如下图所示。基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。 双积分法A/D转换的过程是:先将开关接通待转换的模拟量Vi,Vi采样输入到积分器,积分器从零开始进行固定时间T的正向积分,时间T到后,开关再接通与Vi极性相反的基准电压VREF,将VREF输入到积分器,进行反向积分,直到输出为0V时停止积分。Vi越大,积分器输出电压越大,反向积分时间也越长。计数器在反向积分时间内所计的数 值,就是输入模拟电压Vi所对应的数字量,实现了A/D转换。

pic单片机ad转换c程序分享

电压频率转换法

采用电压频率转换法的A/D转换器,由计数器、控制门及一个具有恒定时间的时钟门控制信号组成,如下图所示。

pic单片机ad转换c程序分享

它的工作原理是V/F转换电路把输入的模拟电压转换成与模拟电压成正比的脉冲信号。

电压频率转换法电压频率转换法的工作过程是:当模拟电压Vi加到V/F的输入端,便产生频率F与Vi成正比的脉冲,在一定的时间内对该脉冲信号计数,时间到,统计到计数器的计数值正比于输入电压Vi,从而完成A/D转换。


pic单片机ad转换c程序

#include《pic.h》

#define uchar unsigned char

#define uint unsigned int

__CONFIG(0x3FB1);

void init();

void Delay();

unsigned int getad();

void Display(unsigned char a,unsigned char b,unsigned char c);

unsigned char DIG_CODE[17]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码

void main()

{

unsigned int led;

unsigned char a ,b,c;

init();

while(1)

{

led = getad();

a = led/100;

b=led%100/10;

c=led%10;

Display(a,b,c);

}

}

void Display(unsigned char a,unsigned char b,unsigned char c)

{

PORTB=DIG_CODE[c];

RC4=1;RC5=0;RC6=0;

Delay();

PORTB=DIG_CODE[b];

RC4=0;RC5=1;RC6=0;

Delay();

PORTB=DIG_CODE[a];

RC4=1;RC5=1;RC6=0;

Delay();

}

unsigned int getad()

{

unsigned int ad8;

ADGO =1;

while(ADGO);

ad8 = ADRES;

return(ad8);

}

void init()

{

TRISA =1;

TRISB = 0; //portB 输出

TRISC = 0;

ADCON0 = 0x41;

ADCON1 = 0x00;

Delay();

}

void Delay()

{

unsigned char a,b,c;

for(c=1;c》0;c--)

for(b=10;b》0;b--)

for(a=5;a》0;a--);

}

关键字:pic单片机  ad转换  c程序 引用地址:pic单片机ad转换c程序分享

上一篇:pic单片机多路ad切换程序介绍
下一篇:pic单片机的ad转换(实例解析)

推荐阅读最新更新时间:2024-11-22 23:11

PIC单片机在远程控制中的应用
    摘 要: 介绍了一种用PIC系列单片机控制的简易远程教学系统,着重介绍了远程控制器的组成和工作原理,并给出了软件设计流程。     关键词: PIC16C54 单片机 远程控制       本文介绍了一种用单片机控制的采用电话遥控的简易远程教学系统。它借助于现有的丰富的电话网络资源,具有结构简单,造价低廉,易于操作等特点,可以实现对录像机的各种远距离控制操作。非常适合于贫困地区的电化教育的普及与发展。      1 系统的总体结构     该电话遥控教学系统的总体结构如图1所示。     该系统由电话机、小型程控机、远程控制器和数台录像机、电视机组成,该系统既
[工业控制]
单片机MQ-2烟雾检测+ADC0809 AD转换+lcd1602显示程序
单片机源程序如下: /*============================================================ // //程序编写:刘先生 接线:D0--D7接P0.0-P0.7 ST---P2.3 EOC--P2.2 OE---P2.1 CLK--P2.0 本程序源码只供学习参考,不得应用于商业用途,如有需要请联系作者。 =============================================================*/ #include reg52.H //器件配置文件 #include intr
[单片机]
单片机MQ-2烟雾检测+ADC0809 <font color='red'>AD转换</font>+lcd1602显示程序
什么样的PLC程序算是好程序?
下面我们就请前方专业的技术工程师来给我们介绍一下什么样的PLC程序算是好的程序呢?好的PLC程序中有哪些特点呢?大体有如下几个方面: 1、正确性(调试成本低) PLC程序首先一定要能正确地工作,满足实际控制工艺要求。这是PLC程序的根本,若这一点做不到,其它一切没有任何意义。 2、可靠性(维护成本低) 不仅要正确,还要可靠。不能三天两头时不时地出问题。 可靠反映着PLC程序的长期稳定性,这也是对PLC程序的基本要求。有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮或者连续按多次)后,程序就不能正常工作了。这种程
[嵌入式]
PIC单片机存储器拓展
生活中感应水龙头越发的常见了,公共场所使用也更加的频繁,感应水龙头,顾名思义,就是通过红外线感应出水。那么感应水龙头的功能是通过什么实现的呢? 感应水龙头,是通过红外线反射原理,当人体的手放在水龙头的红外线区域内,红外线发射管发出的红外线由于人体手的摭挡反射到红外线接收管,通过集成线路内的微电脑处理后的信号发送给脉冲电磁阀,电磁阀接受信号后按指定的指令打开阀芯来控制水龙头出水;当人体的手离开红外线感应范围,电磁阀没有接受到信号,电磁阀阀芯则通过内部的弹簧进行复位来控制水龙头的关水。 感应水龙头供电检测的功能实现主要通过英锐恩开发芯片PIC16F684。就是通过芯片程序检测感应水龙头供电情况。当芯片检测电池没有正常供电时,芯
[单片机]
基于UCC3895与PIC单片机的智能充电器的设计
采用新一代移相PWM控制芯片 UCC3895 和PICl6F917单片机,针对常用的铅酸蓄电池设计开发了一种智能充电器,介绍了其硬件设计思路和软件实现方法,并提出了智能控制策略。 关键词:UCC3895;PIC;智能充电器 0 引言 现代通讯设备、电子产品、电动车辆、UPS等普遍采用蓄电池作为电源,然而多数充电设备功能单一,通用性差,维护质量低,导致产品的使用效率大大降低。本文采用UCC3895和PIC单片机,针对常用的铅酸蓄电池,设计开发了一种智能充电器。 UCC3895是TI公司生产的专用于PWM移相全桥DC/DC变换的新型控制芯片,可工作于电压模式,也可工作于电流模式,并且可实现输出脉冲占空比从0到100%相移
[工业控制]
基于UCC3895与<font color='red'>PIC单片机</font>的智能充电器的设计
简述PIC单片机伪指令
简介:阅读一些PIC单片机的源程序开始段,会发现有一些特殊指令助记符,这些助记符与指令系统的助记不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令。 伪指令在源程序中的作用是为完成汇编程序作各种准备工作的(实际上是给PC机汇编的注释),这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 在汇编程序MPASM中,有四类伪指令:数据伪指令、列表伪指令、控制伪指令和宏汇编指令。 现在,我们将对前两类中的常用伪指令予以说明,后两类伪指令等到在具体程序中出现时,再加以说明。 (1)ORG 存放单元起始地址 格式: 标号 ORG 地址表达式 说明:ORG用于指定该伪指令后面的源程序存放的起始地址
[单片机]
基于PIC单片机的墨斗操作台系统的设计
  引言   随着科技的发展,印刷行业开始从传统的模拟生产转向数字化生产,墨斗作为胶印机的核心着色装置,其控制精度对胶印机的生产质量和自动化水平起着非常重要的作用。传统的墨斗采用手动调整的方式,使得胶印机的生产质量较差,生产准备时间长,资源浪费严重。一种由墨斗操作台控制系统、电机控制系统和上位机系统组成的墨斗控制系统在国外印刷行业得到了广泛应用,这种新的墨斗控制系统能大大提高墨斗的控制精度,并缩短生产准备时间、降低生产成本。本文所描述的墨斗操作台控制系统就是在跟踪国际先进技术的基础上,设计符合国内行情的产品,对提高国产胶印机的印刷质量和自动化水平有着重要意义。   1 墨斗操作台控制系统介绍   一台胶印机的墨斗系统通常由
[单片机]
PIC单片机是什么?
什么是PIC单片机? PIC单片机(Peripheral Interface Controller)是一种用来开发的去控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。 PIC 单片机是一个小的计算机 PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力—存储器容量却很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。 时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变(1*)。如果是
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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