一 C5513

u32 ADC5513_GetValue(void)
{
  u32 ADValue,i;
  bool data_bit = false;
  C5513_SCK=0;
  C5513_CS=0;
  if(GPIO_BitRead(C5513_SDO)==0u)
  {
    for (i = 0; i < 24; i++)
        {
          C5513_SCK = 1;
          data_bit = GPIO_BitRead(C5513_SDO);
          C5513_SCK=0;
          ADValue <<= 1;
          if(data_bit > 0)
            {
                ADValue|=0x00000001;
            }
            else
            {
                ADValue&=~0x00000001;
            }
    } 

ADValue &=~(1<<20)  ;/*有效位数为19位*/

Vout=ADValue*2.0*10000/2^19   /*有效电压是2.0,不是2.5V因为内部放大了0.8倍*/
    return ADValue;
  }
  else
  {
    return (0xffffffff);
  }
}

  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit ADCS=P2^0;
  6. sbit ADCLK=P2^1;
  7. sbit ADDO=P2^2;
  8. unsigned long int ADConv(void)
  9. {
  10. uchar i;
  11. unsigned long int Result=0;
  12. ADCLK=0;
  13. ADCS=0;
  14. _nop_();
  15. _nop_();
  16. _nop_();
  17. ADCLK=0;
  18. while(ADDO);
  19. ADCLK=1;
  20. _nop_();
  21. for(i=0;i<3;i++){
  22. ADCLK=0;
  23. _nop_();
  24. ADCLK=1;
  25. }
  26. for (i=0;i<20;i++){
  27. ADCLK=0;
  28. Result=Result<<1;
  29. if (ADDO)
  30. Result=Result+1;
  31. ADCLK=1;
  32. }
  33. ADCS=1;
  34. Result &=~(1<<20)  ;/*有效位数为19位*/
  35. Vout=Result*2.0*10000/2^19   /*有效电压是2.0,不是2.5V因为内部放大了0.8倍*/
  36. return Result;
  37. }

ADC5513的更多相关文章

随机推荐

  1. 无言以队Alpha阶段项目复审

    小组的名字和链接 优点 缺点,bug报告 (至少140字) 最终名次 (无并列) 甜美女孩 http://www.cnblogs.com/serendipity-zeng/p/9937832.html ...

  2. C++中两个类相互包含引用问题

    在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型 class A { int i; B b; } class B { in ...

  3. Spring 配置 详细

    一.连接池概述 数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指 ...

  4. [转载]理解 I/O Completion Port (IOCP完成端口)

    原文:理解 I/O Completion Port (IOCP完成端口)欢迎阅读此篇IOCP教程.我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你 ...

  5. eclipse修改workspace

    Eclipse是一款很强的Java IDE,我们在开始的时候,往往设定了默认的workspace,当用久在之后,我们可能要去更改一下workspace的位置,但是在启动的时候已经不会显示更改了.下面有 ...

  6. (一)新建一个javaweb项目

    一.为了不影响其他项目,可以重新选择一个新的工作目录:swith workspace 二.为了尽可能统一项目,所使用的编程环境,包括:Tomcat.JRE都是项目组自己的,所以在新建项目的时候要注意选 ...

  7. codeblocks 汉字乱码

    网上有很多方法,不过目测是不同的机子和环境要用不同的设置来应对这种情况 电脑情况: win8 64-bit 装的是codeblocks v12.11 然后在我电脑上正确的配置是setting-edit ...

  8. ASP.NET学习笔记(五)ASP 对象

    1.ASP Response 对象用于从服务器向用户发送输出的结果. 2.ASP Request 对象用于从用户那里取得信息 Request.QueryString 命令用于搜集使用 method=& ...

  9. php如何运行

    这篇文章,研究一下php代码是如何解释和执行以及PHP脚本运行的生命周期. 概述 PHP服务的启动.严格来说,PHP的相关进程是不需要手动启动的,它是随着Apache的启动而运行的.当然,如果有需要重 ...

  10. springboot 之 controller

    添加一个testController的java 类,部分代码 注解标记这是一个controller,配置路径,自动加载配置. 注入的方式有@Autowired 和@Resource 二者的区别是 @A ...