久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5547|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

ADS1115模塊原理圖PCB以及單片機程序源碼分享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:842343 發(fā)表于 2021-9-25 13:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是前段時間我個人制作的一塊ADS1115模塊
測試性能良好,誤差較小
附件有原理圖PCB和測試數(shù)據(jù)
屬個人制作,請多多指教

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)

單片機源程序如下:
  1. #include "STC8.h"
  2. #include "uart.h"
  3. #include "ADS1115.h"
  4. #include "stdio.h"

  5. pdata uint ADC_Result[20];
  6. extern char dac_str[16];

  7. /***********************************************************************************/
  8. uint    result=0;
  9. uchar   Initdata[4]={0};

  10. void delay1(uchar T)
  11. {
  12.   while(--T);
  13. }

  14. /*************************************函數(shù)功能:開始ADC通信 **************************************/
  15. void StartADcom()
  16. {
  17.   SDA =0;
  18.   SCL=1;
  19.   delay1(100);
  20.   SDA =1;
  21.   delay1(20);
  22.   SDA =0;
  23.   SCL=0;  
  24.   delay1(10);
  25. }

  26. /***********************************函數(shù)功能:停止ADC通信 **************************************/
  27. void StopADcom()
  28. {
  29.   SDA=0;
  30.   delay1(10);
  31.   SCL=1;
  32.   delay1(20);
  33.   SDA=1;
  34.   delay1(10);
  35. }
  36. /******************************** 函數(shù)功能:單字節(jié)SPI傳輸 **************************************/
  37. void Send_Byte(uchar byte)
  38. {
  39.   uchar i;
  40.   for(i=0;i<8;i++)
  41.     {
  42.           if((byte<<i)&0x80)
  43.                   SDA=1;
  44.       else
  45.                   SDA=0;
  46.           delay1(5);
  47.           SCL=1;
  48.           delay1(10);
  49.       SCL=0;        
  50.       delay1(10);              
  51.         }
  52.   delay1(5);
  53.   SDA=1;
  54.   delay1(5);
  55.   SCL=1;
  56.   delay1(10);
  57.   SCL=0;
  58.   delay1(10);  
  59. }
  60. /***************************函數(shù)功能:讀取一個字節(jié) *******************************/
  61. uchar Read_Byte()
  62. {
  63.   uchar temp=0;
  64.   uchar i;
  65.   for(i=0;i<8;i++)
  66.     {
  67.           temp=temp<<1;           //shift left to receive next bit
  68.           SCL=0;                        //set clock high
  69.           delay1(10);
  70.           SCL=1;
  71.           delay1(5);
  72.           if(SDA==1)                //check if Data=high  如果有數(shù)據(jù)到來               
  73.           temp|=0x01;            //yes - set bit high
  74.       delay1(10);               
  75.     }
  76.   SCL=0;
  77.   delay1(5);
  78.   SDA=0;
  79.   delay1(5);
  80.   SCL=1;
  81.   delay1(20);
  82.   SCL=0;
  83.   delay1(5);
  84.   SDA=1;
  85.   return temp;
  86. }
  87. /**************************函數(shù)功能:配置AD轉(zhuǎn)換芯片 *************************************/
  88. void Confige1115(uint config)
  89. {
  90.   uchar i=0;

  91.   Initdata[0] =0x90;       // 地址 + 寫命令
  92.   Initdata[1] =0x01;       // 指向配置寄存器
  93.   Initdata[2] = (uchar)(config>>8);   // 配置字高字節(jié)
  94.   Initdata[3] = (uchar)config;       // 配置字低字節(jié),860sps,disable comparator
  95.   SCL=1;
  96.   StartADcom();
  97.   for(i=0;i<4;i++)
  98.     {
  99.           Send_Byte(Initdata[i]);
  100.       delay1(20);
  101.         }
  102.   StopADcom();
  103. }
  104. /*********函數(shù)功能:指向轉(zhuǎn)換結(jié)果寄存器 ***************************/
  105. void Pointregister(void)
  106. {
  107.   uchar i=0;
  108.   Initdata[0] =0x90;           // 地址 + 寫命令
  109.   Initdata[1] =0x00;            // 指向轉(zhuǎn)換結(jié)果寄存器
  110.   SCL=1;
  111.   StartADcom();
  112.   for(i=0;i<2;i++)
  113.     {
  114.           Send_Byte(Initdata[i]);
  115.       delay1(20);
  116.         }
  117.   StopADcom();
  118.   delay1(10);
  119. }
  120. /***********************************************************************************************
  121. 函數(shù)功能:讀AD轉(zhuǎn)換結(jié)果
  122. ************************************************************************************************/
  123. uint Read1115(void)
  124. {
  125.   uchar   ResultL,ResultH;
  126.   uint    Result;
  127.   Initdata[0] =0x91;         // 地址 + 讀命令
  128.   SCL=1;
  129.   StartADcom();
  130.   delay1(10);
  131.   Send_Byte(Initdata[0]);
  132.   delay1(20);
  133.   ResultH=Read_Byte();
  134.   delay1(10);
  135.   ResultL=Read_Byte();         
  136.   StopADcom();
  137.   Result=ResultH*256+ResultL;   
  138.   return   Result;
  139. }

  140. /*****模擬量采集轉(zhuǎn)化為數(shù)字量*****************/
  141. uint Ad_1115()                        
  142. {
  143.     uint result_gd;
  144.     Pointregister();               
  145.     delay1(10);
  146.         result_gd=Read1115();             //結(jié)果存儲AD轉(zhuǎn)化值
  147.     return result_gd;
  148. }

  149. uint ADC_GET_AV(uchar num)
  150. {
  151.         uchar i, j;
  152.         uint adc, temp;
  153.         ulong Result_sum;
  154.         
  155.         Result_sum = 0;
  156.         
  157.         for(i = 0; i < num; i++)
  158.                 ADC_Result[i] = Ad_1115();
  159.         
  160.         for (i = 0; i < num - 1; i++)
  161.                 for (j = 0; j < num - 1 - i; j++)
  162.                         if (ADC_Result[j] > ADC_Result[j + 1])
  163.                         {
  164.                                 temp = ADC_Result[j];
  165.                                 ADC_Result[j] = ADC_Result[j + 1];
  166.                                 ADC_Result[j + 1] = temp;
  167.                         }
  168.                                 
  169.         for(i = 8; i < 12; i++)
  170.                 Result_sum += ADC_Result[i];
  171.         adc = Result_sum / 4;
  172.         
  173.         return adc;
  174. }
復(fù)制代碼



上圖資料51hei附件下載:
ADS1115資料.7z (3.22 MB, 下載次數(shù): 162)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:961328 發(fā)表于 2021-10-7 09:48 | 只看該作者
你的ADS1115的板子弄好了嗎,差分電壓精度如何?是否供電5V,才能測量5V?
回復(fù)

使用道具 舉報

板凳
ID:957480 發(fā)表于 2021-11-1 12:43 | 只看該作者
你好,你的uart.c .h能分享一下么
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91嫩草精品 | 亚洲国产成人av好男人在线观看 | 99热热| 久久国内| 免费三级网站 | 午夜免费福利影院 | 黄色av免费 | 欧美精| 99成人免费视频 | 一区二区三区四区日韩 | 2018天天干天天操 | 欧美日韩福利视频 | 天天躁日日躁狠狠躁白人 | 亚洲视频三区 | 一区二区三区日本 | www.久久精品视频 | av大片在线| 91网站在线看 | 久久成人精品 | 精品九九久久 | 欧美一级特黄aaa大片在线观看 | 国产精品一区在线 | 日本三级网站在线 | 高清国产一区二区 | 日韩激情在线 | 欧美久久久久久久久 | 日韩午夜在线观看 | 精品国产乱码久久久久久88av | 欧美一区二区在线观看视频 | 日韩一区二区三区av | 99精品国产一区二区青青牛奶 | 国产精久久久 | 中文字幕精品视频 | 国产精品1区| 国产精品18hdxxxⅹ在线 | 成人激情视频网 | 日本在线看片 | 日韩手机在线视频 | 欧美专区日韩 | 久久高清 | 四虎精品在线 |