MAX1241测试程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MAX1241测试程序

MAX1241简介: MAX1241是一种低功耗、低电压的12位串行ADC。它使用逐次逼近技术完成A/D转换过程。最大非线性误差小于1LSB,转换时间9μs。采用三线式串行接口,内置快速采样/保持电路。 内部结构图: MAX1241管脚介绍: 采用单电源供电,动态功耗在以每秒73K转换速率工作时,仅需0.9mA电流。在停止转换时,可通过SHDN控制端使其处于休眠状态,以降低静态功耗。休眠方式下,电源电流仅1μA。 管 脚 名 称 功 能 参 数 1 VDD 电源输入 +2.7~+5.2V 2 VIN 模拟电压输入 0~VREF 3 SHDN 节电方式控制端 “0”——节电方式(休眠状态) “1”或浮空——工作 4 REF 参考电压VREF输入端 10V~VDD 5 GND 模拟、数字地 ? 6 DOUT 串行数据输出 三态 7 CS 芯片选通 “0” ——选通 “1” ——禁止 8 SCLK 串行输出驱动时钟输入 频率范围:0~2.1MHz MAX1241工作时序图: MAX1241与单片机接口电路: MAX1241与微机接口的实现有二种选择,一是使用普通端口,利用程序实现串行输入。另一种则是直接使用串行口。前者输入速度低,后者需占用串行通讯口。我测试时选用第一种方式,电路如下: 参考电压REF的值为2.5V,根据逐次逼近型AD转换原理,满量程的测量值为2.5V,测量的数字量为1111 1111 1111(4095),所代表的的模拟电压量为2.5V,精度为2500/4095=0.6105。 程序代码如下: 采集程序: /******************************************************************** 文件名称: MAX1241.c 功能说明: MAX1241驱动文件 硬件描述: 使用12MHz的晶体(fcpu=1MHz) 创建日期: 2013.03 软件版本: v 1.0 ********************************************************************/ #include REG51.H #define uchar unsigned char #define uint unsigned int sbit ADC_CS = P3^5; sbit ADC_CLK = P3^4; sbit ADC_DOUT = P3^6; /******************************************************************** 函 数 名: Read_Max1241() 功能描述: MAX1241读函数 输入参数: 无 输出参数: ADCData *********************************************************************/ uint Read_Max1241() { uint ADC_Data; uchar i; ADC_CLK=0; ADC_CS=0; ADC_Data=0; while(!ADC_DOUT); //当CS=0后,开始转换,DOUT输出0,转换结束输出1,再要有一个时钟后才开始传输数据 //start output the data ADC_CLK=1; ADC_CLK=0; //传输数据 for(i=0;i12;i++) { ADC_CLK=1; ADC_Data=1; ADC_Data |= ADC_DOUT; ADC_CLK=0; } ADC_CS=1; ADC_CLK=0; return ADC_Data; } 四位数码管驱动程序: /************************************************* LED数码管的驱动程序 作者:Mr.Song 版本:V1.0 日期:2013.1.23 *************************************************/ #includereg51.h #define uchar unsigned char #define uint unsigned int //============================================== //宏定义 //============================================== #define LedNum 4 //数码管个数 #define DataP

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档