APP下载

基于PIC单片机的A/D变换器的设计与实现

2012-01-13

电子世界 2012年18期
关键词:数据表模拟量原理图

一、引言

PIC单片机是美国的微芯公司生产的超小型单片机和微型控制器,是Peripheral Interface Controller的简称。基于PIC单片机的设计,使用AD转换的功能,可以把模拟数据量转换成数字量数据,并可直接读取该数据量的值。本设计适合直流5V以下的信号从模拟端口输入。

本文以PIC16F88为例,来解说A/D转换的方法。

A/D转换,PIC内部的小电容(CHOLD)充电,在这之后,因为要执行一个存储电荷测定的步骤,所以需要等待一段时间,对于10bit的A/D转换的PIC,充电时间约20μs,再加上测定时间约20μs,合计需要40μs的时间。

二、寄存器

(1)ANSEL:对应的端口模拟量还是数字量的指定

.. ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0

ANS<6:0>对应着PIC16F88的AN0-AN6(RA0-RA6),置1表示该端口为模拟量,置0表示该端口为数字量。但是TRIS(I/O口的方向控制寄存器)没有设置成功的话,该端口也是不能输入模拟量的。

(2)ADCON0/1:A/D转换控制寄存器

ADCON0:AD转换控制寄存器0

ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE ..ADON

ADCON1:AD转换控制寄存器1

ADFM ADCS2 VCFG1 VCFG0.. .. ....

ADCS<2:0>分别在两个寄存器中,操作起来有一些麻烦,因为ADCS2是后面补充的,这3个位的ADCS是用来决定A/D变换的时钟的。A/D变换时钟的选择方法:用来做AD变换的时钟,被叫做TAD,值越小,A/D转换就越快。详细内容请参照表1:AD变换时钟的选择方法。

TAD被数据表限定在1.6到6.4us之间,所以为了在这个范围内取最小的值使用ADCS的3位选择Tosc。TAD受PIC内部时钟的影响关系如下:

例如:对于给PIC提供10M的时钟的时候,周期就是0.1us,选择16Tosc的话,TAD刚好是1.6us,8M时周期是0.125us 16Tosc选择,TAD就变成了2us请看表1。

表1的灰色范围是ADCS2-0设定范围。

CHS<2:0>从这里可以选择AD变换的通道。CHS 3位组合起来对应选择的端口:最大6.4us以上的数值也是不可以使用的。

表1 A/D变换时钟的选择方法

图1 ADFM功能示意图

图2 A/D变换回路等效图

图3 A/D变换的TAD循环时序图

图4 A/D变换原理图

图5 AD变换程序

图6 输入电压和输出数值关系

CHS<2:0>从这里可以选择AD变换的通道。CHS 3位组合起来对应选择的端口:

围绕党的十九大以来新要求,始终把政治建设放在基层党建首位,将“活力党建”融入企业管理基础,增强党建工作“渗透力”。

GO/DONE:置1 AD变换开始;AD变换完成,这个端口就自动置0。因此这个端口可以用来监听AD变换是否结束。

ADON:置1取样充电开始,置0充电停止并开始放电。

ADFM:变换完了的结果(10bit)在ADRESH,ADRESL中是靠左保存还是靠右保存的控制位。

ADRESH,ADRESL:变换后的数字量10 bit的值如图1所示,在ADRESH,ADRESL 16位的宽度中是靠左还是靠右来保存。如果必要的数据8位就足够,靠左只用读取ADRESH里面的数据就可以读取全部了。

VCFG<1:0>:AD转换基准电压设定,使用电源电压为基准电压的场合,VCFG<1:0>设置为00。

三、参数设置

ADON置1时模拟端口与CHOLD连接,充电开始。10位的AD变换的运行时间

(CHOLD充电的必须时间)TACQ是19.72us。根据PIC16F88的数据表的话,应该选定数据源内阻在10k以下。(请看图2)

GO/DONE置1时基于CHOLD存储的电荷的电压值的测定开始如图3所示。

A/D变换需要的时间是:12TAD+α。TAD最短的时间1.6us选择的时候,AD变换测量需要的时间久是:12*TAD+α=19.2μs+α(约20μs)。

四、应用实例

A/D变换器设计原理图如下图4所示,以PIC16F88为例,对于10bit的AD转换的PIC,充电时间约20μs,再加上测定时间约20μs,合计需要40μs的时间。图5给出了程序设计的流程图。

五、测试结果

根据输出的结果得到输入与输出的关系如图6所示。被测模拟量是 DC5V,分辨率256,精度0.02V。

PIC单片机可以用编程来实现复杂回路的功能,不使用焊锡就可以写、改和调整功能等等很多优点。用户可以根据自己的需要添加程序,再加上一些外围设备,使其资源得到充分的利用。

[1]EDROM/ROM-Based 8-Bit CMOS Microcontr-oller Series.Microchip Technology Inc.,2000.

[2]MPLAB.IDE,SIMULATOR,EDITOR USER’S GUIDE.Microchip Technology Inc.,2000.

[3]阎石.数字电子技术基础[M].北京:高等教育出版社,1999,4.

[4]钟肇新.可编程序控制器原理及应用[M].广州:华南理工大学出版社,1991:492-494.

猜你喜欢

数据表模拟量原理图
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
基于列控工程数据表建立线路拓扑关系的研究
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
关于600MW火电机组模拟量控制系统设计和研究
模拟量输入式合并单元测试仪的研制
图表