找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2113|回复: 0
收起左侧

CS1237驱动程序范例

[复制链接]
ID:618394 发表于 2021-6-18 17:24 | 显示全部楼层 |阅读模式
CS1237驱动范例,验证可用
  1. #include        "HT67F2390.h"
  2. #include        "my_type.h"
  3. #include        "stdlib.h"
  4. #include        "math.h"
  5. //===========================================
  6. volatile        bit_flag        CS1237_lib_bit_0;
  7. //===========================================
  8. volatile                        long        ADC_OUT_DATA;
  9. volatile        unsigned        char        ad_loop1;


  10. //-------------------------------------------
  11. void        CS1237_CLK1(void)
  12. {       
  13.         CS1237_SCLK1_IO=0;
  14.         CS1237_ADC_DOU1_IO=1;
  15.         GCC_NOP();GCC_NOP();GCC_NOP();GCC_NOP();GCC_NOP();
  16.         CS1237_SCLK1=1;
  17.         GCC_NOP();GCC_NOP();GCC_NOP();GCC_NOP();GCC_NOP();
  18.         CS1237_SCLK1=0;
  19.         GCC_NOP();GCC_NOP();GCC_NOP();GCC_NOP();GCC_NOP();
  20. }
  21. //---------------------------------
  22. void        CS1237_ADC1_PowerOff(void)
  23. {
  24.         CS1237_SCLK1=1;
  25. }
  26. //---------------------------------
  27. void        CS1237_AD_Read1(void)
  28. {
  29.         unsigned char i;
  30.         if(adc1_f==0)
  31.         {
  32.                 CS1237_SCLK1_IO=0;
  33.                 CS1237_ADC_DOU1_IO=1;
  34.                 CS1237_SCLK1=0;
  35.                 ADC_OUT_DATA=0;
  36.                  
  37.                 while(CS1237_ADC_DOU1);
  38.                 _emi=0;
  39.                 for(i=0;i<24;i++)
  40.                 {
  41.                         ADC_OUT_DATA<<=1;
  42.                         CS1237_CLK1();
  43.                         if(CS1237_ADC_DOU1)
  44.                         {
  45.                                 ADC_OUT_DATA++;
  46.                         }
  47.                 }
  48.                 CS1237_CLK1();
  49.                 CS1237_CLK1();
  50.                 CS1237_CLK1();
  51.                 _emi=1;
  52.                 //--------------------------------
  53.                 ad_loop1++;
  54.                 if(ad_loop1>3)
  55.                 {
  56.                         ad_loop1=3;
  57.                         adc1_f=1;
  58.                         //-------------------------------
  59.                         if((ADC_OUT_DATA&0x800000)!=0)
  60.                         {
  61.                                 ADC_OUT_DATA+=0xff000000;
  62.                                
  63.                         }
  64.                         ADC_OUT_DATA=ADC_OUT_DATA+0x800000;
  65.                         ado_temp=ADC_OUT_DATA;
  66.                        
  67.                         ado_temp>>=weight_adc_enob;
  68.                 }
  69.         }
  70. }
  71.   
  72. //-------------------------------------------
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表