|
||||||
| | 首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | | ||||||
| 广告载入中... | ||||||
| 您现在的位置: 电子爱好者 >> 文章中心 >> 单片机应用 >> 正文 |
|
|||||
| 12位A/D转换器ADS7804与51单片机的接口及程序设计 | |||||
| 作者:未知 文章来源:本站原创 点击数: 更新时间:2005-8-11 | |||||
| 摘要:ADS7804是美国BURR-BROWN公司推出的一种新型12位A/D转换器。文中介绍了它的特性与功能,给出了一种简洁而新颖的与51单片机的接口方法,同时给出了用C语言编写的数据采集的应用程序。 关键词:模/数转换 单片机 接口 C语言 ADS7804 1 基本特点 2 引脚及功能 ADS7804共有28个引脚。这些引脚大体上可以划分为3类。 a.电源类 数字电源VDIG和模拟电源VANA通常一起接到5V电源上。数字地DGND和模拟地AGND1、AGND2通常共地。REF为参考电压端,通常对地接2.2μF钽电容,芯片内部可产生2.5V基准电压。CAP为参考电压所需电容,对地接2.2μF钽电容。 b.模数信号类 VIN为输入的模拟信号。D11~D0为数字量并行输出口,DZ(19~22脚)是为了使管脚与16位A/D转换器ADS7805兼容而设的,可悬空。 c.控制信号类 CS(输入)为片选信号,R/C(输入)为读取结果/模数转换控制信号,BUSY(输出)用于指示转换是否完成,BYTE(输入)信号用来控制从总线读出的数据是转换结果的高字节还是低字节。 3 启动A/D转换和读取转换结果 ADS7804启动转换和读取转换结果的时序比较特点,。首先将R/C脚电平变低;然后在CS脚输入一个脉冲并在其下降沿启动A/D转换,此脉冲的宽度要求在40ns~6μs之间;这时BUSY脚电平拉低表示正在进行转换;在经过大约8μs以后,转换完成,BUSY脚电平相应变高;再把R/C脚电平拉高,这样,CS脚脉冲的下降沿即把转换结果输出到数据总线上。因为转换结果为12位,所以对8位单片机而言,必须分两次读入,这个功能由BYTE脚实现。当BYTE脚为高电平时,数据总线上输出高字节,反之,输出低字节。ADS7804转换得到的数字结果是以补码形式给出的,现给出几组有特定含义的值,所列即为ADS7804的模拟电压与其补码形式的数字输出关系,-10V~9.99512V为量程,4.88mV为电压分辨率。 模拟输入初码形式的数字输出
4 与51单片机的接口 因为ADS7804的CS信号脉冲宽度要求为40ns~6μs之间,而对于单片机而言,只要对外部设备进行读操作,即会产生RD脉冲,其宽度为6个振荡周期,如采用12MHz的晶振,其脉冲宽度为500ns,所以将ADS7804的CS脚接单片机的RD信号是再合适不过了。至于R/C、BUSY和BYTE信号,只需连接到普通的锁存功能的端口即可,如单片机的PI口、并行口扩展芯片8155或8255等的端口。 5 C语言程序设计 Franklin C51交叉编译器是专为51系列单片机设计的一种高效的C语言编译器,使用它可以缩短开发周期,降低开发成本,而且开发出的系统易于维护,可靠性高,可移植性好。下面介绍用C语言编写的单点和定长数据采集子程序,假设所用的晶振频率为12MHz。单点采样子程序ADS7804()用来返回一个有符号整数形式的转换结果。定长采样子程序DAQ()根据入口参数interval(单位为μs)给定的采样间隔采样N点,并采用查询51单片机内置定时器的方式来控制采样时序,N点采样结果存储在定位于外部存储器的数组array中。需要注意的是,赋给计数寄存器TH和TL的值是定时器从开始计数到溢出所用的时间,这个时间再加上清TF和装载计数初值所需的时间(共5个机器周期,对于12MHz晶振即为5μs)才是所要的采样间隔,这一点在程序设计中必须注意。 源程序如下:
6 结束语 ADS7804为12位的A/D转换器,它不仅分辨率高、转换速度快,而且接口方便,电路简单、应用灵活,因而具有广泛的应用前景。 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| |
| | 设为首页 | 站点地图|<产品开发服务|光盘刻录服务| 广告合作 | 访问记录 |汇款方法 | 关于VIP会员 | | |
![]() |
|