一 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. L89

    His voice was hoarse after several hours' speech.Attributive adjectives precede the noun.I gave the ...

  2. Xcode 中的main.m

    在几乎所有的程序开发中程序一般都是从main函数开始运行的,那么IOS程序也不例外,在上图中我们可以看到Xcode为我们生成了一个main.m文件: // // main.m // iOS // // ...

  3. CF331B Cats Transport[斜率优化dp+贪心]

    luogu翻译 一些山距离起点有距离且不同,m只猫要到不同的山上去玩ti时间,有p个铲屎官人要去把所有猫接走,步行速度为1单位每秒,从1走到N座山不停下,必须在猫玩完后才可以把他带走.可以提前出发.问 ...

  4. 【Lintcode】120.Word Ladder

    题目: Given two words (start and end), and a dictionary, find the length of shortest transformation se ...

  5. Scala学习——操作符(初)

    经常看到却反应不出来的(->) val a = 2 val b = a->4 //表示生成一个tuple println(b._1+" "b._2) //2 4

  6. Advanced R之词汇表

    转载请注明出处:http://www.cnblogs.com/lizichao/p/4800513.html 词汇表 想要玩得转R,重要的一点是有一个好的工作词汇表.以下是我认为的一个好的词汇表.你不 ...

  7. JS加DOM理解

    1. ***变量 2. ***数据类型 一. ***变量:内存中存储*一个*数据的存储空间,再起一个名字 何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算 如何使用:声明   赋值    ...

  8. 提取html里面url()导入的图片正则表达式

    之前写过一次,后来无意发现还是有问题,比如 <a onclick="openZoosUrl('chatwin','param'); 这个click事件函数里面就有url()部分,造成了 ...

  9. linux控制USB的绑定/解绑

    linux控制USB的绑定/解绑 http://www.jianshu.com/p/57293f9be558 今天工作中遇到一个问题, 要用代码实现USB的enable和disable. 谷歌了一番, ...

  10. jQuery命名空间和自定义插件的的多种方法

    jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jquery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...