找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10356|回復: 18
打印 上一主題 下一主題
收起左側(cè)

stm32單片機+AD7705輸入捕獲測電壓實驗,可精確到千分位,電子科技競賽用的程序

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:258575 發(fā)表于 2017-12-7 14:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本程序需要用到AD7705.淘寶10元就可以連接在里面都有注釋。mini32F103可用。其他版本只要用移植AD7705。c和。h就可以,高速測量。
單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "adc.h"
  7. #include "ad7705.h"
  8. //ALIENTEK Mini STM32開發(fā)板范例代碼15
  9. //ADC實驗  

  10.            
  11. int main(void)
  12. {
  13.         u32 adcx;
  14.         float temp;
  15.         delay_init();                     //延時函數(shù)初始化         
  16.         uart_init(9600);                 //串口初始化為9600
  17.         //LED_Init();                                  //初始化與LED連接的硬件接口
  18.          LCD_Init();
  19.          Adc_Init();                                  //ADC初始化           
  20.     SPIx_Init();         
  21.         POINT_COLOR=RED;//設(shè)置字體為紅色
  22.         LCD_ShowString(60,50,200,16,16,"Mini STM32");        
  23.         LCD_ShowString(60,70,200,16,16,"ADC TEST");        
  24.         LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
  25.         LCD_ShowString(60,110,200,16,16,"2014/3/9");        
  26.         //顯示提示信息
  27.         POINT_COLOR=BLUE;//設(shè)置字體為藍色
  28.         LCD_ShowString(60,130,200,16,16,"ADC_CH1_VAL:");              
  29.         LCD_ShowString(60,150,200,16,16,"ADC_CH1_VOL:0.000000V");         
  30.     Init_AD7705(2);         
  31.         while(1)
  32.         {
  33.                 //adcx=Get_Adc_Average(ADC_Channel_1,10);
  34.                
  35.                
  36.                
  37.         adcx=GetData7705_CH2();
  38.                 LCD_ShowxNum(156,130,adcx,5,16,0);//顯示ADC的值
  39.                 temp=(float)adcx*(5.0/65535);
  40.                 //temp=(float)adcx*(3.3589/65535)*3/2;
  41.                 adcx=temp;
  42.                 LCD_ShowxNum(156,150,adcx,1,16,0);//顯示電壓值
  43.                 temp-=adcx;
  44.                 temp*=1000000;
  45.                 LCD_ShowxNum(172,150,temp,6,16,0X80);
  46.                 LED0=!LED0;
  47.                 delay_ms(250);        
  48.         }                                                                                            
  49. }        
復制代碼

所有資料51hei提供下載:
7705ADC實驗.rar (7.6 MB, 下載次數(shù): 393)


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

使用道具 舉報

沙發(fā)
ID:91378 發(fā)表于 2018-4-2 17:32 | 只看該作者
多謝分享
回復

使用道具 舉報

板凳
ID:343904 發(fā)表于 2018-7-19 19:35 | 只看該作者
假的.........
回復

使用道具 舉報

地板
ID:418578 發(fā)表于 2019-2-16 02:12 | 只看該作者
大謝!                             
回復

使用道具 舉報

5#
ID:475541 發(fā)表于 2019-2-16 21:18 | 只看該作者
感謝樓主的分享!
回復

使用道具 舉報

6#
ID:286703 發(fā)表于 2019-5-25 10:48 | 只看該作者
已測試成功,注意7705的復位腳接高電平。謝謝樓主分享
回復

使用道具 舉報

7#
ID:286703 發(fā)表于 2019-5-25 10:55 | 只看該作者
已經(jīng)測試過,可以正常使用,注意7705的復位腳接高電平,謝謝樓主分享
回復

使用道具 舉報

8#
ID:544391 發(fā)表于 2019-5-30 17:17 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

9#
ID:511461 發(fā)表于 2019-6-13 20:18 | 只看該作者
這和直接用mini的ADC采電壓有何區(qū)別
回復

使用道具 舉報

10#
ID:484359 發(fā)表于 2019-7-17 09:29 | 只看該作者
aaaaaa。 發(fā)表于 2019-6-13 20:18
這和直接用mini的ADC采電壓有何區(qū)別

精度不一樣,這是16位的ADC
回復

使用道具 舉報

11#
ID:821525 發(fā)表于 2020-9-21 15:51 | 只看該作者
已經(jīng)測試過,可以正常使用,注意7705的復位腳接高電平,謝謝樓主分享
回復

使用道具 舉報

12#
ID:821525 發(fā)表于 2021-8-24 10:47 | 只看該作者

已經(jīng)測試過,可以正常使用,注意7705的復位腳接高電平,謝謝樓主分享
回復

使用道具 舉報

13#
ID:1021208 發(fā)表于 2022-4-24 15:58 | 只看該作者
aaaaaa。 發(fā)表于 2019-6-13 20:18
這和直接用mini的ADC采電壓有何區(qū)別

大哥,stm32f103c8t6與AD7705一起采集0-5V的電壓如何做啊
回復

使用道具 舉報

14#
ID:228452 發(fā)表于 2022-4-25 02:36 | 只看該作者
Simulation working with Proteus 8.12 sp0 Win 10X64
Nice work Thanks..
回復

使用道具 舉報

15#
ID:827939 發(fā)表于 2023-4-25 22:00 | 只看該作者
能測交流信號嗎
回復

使用道具 舉報

16#
ID:205887 發(fā)表于 2023-5-25 15:02 | 只看該作者
謝謝!剛好最近在搞ADC,下來試試
回復

使用道具 舉報

17#
ID:1088962 發(fā)表于 2023-7-19 11:36 | 只看該作者
LRT好帥好帥 發(fā)表于 2022-4-24 15:58
大哥,stm32f103c8t6與AD7705一起采集0-5V的電壓如何做啊

哥子,你這個做出來了嗎,我想和你做一個一樣的
回復

使用道具 舉報

18#
ID:195496 發(fā)表于 2023-8-11 14:34 | 只看該作者
這么神,沒有電源紋波干擾嗎?
回復

使用道具 舉報

19#
ID:1088834 發(fā)表于 2023-11-27 19:04 | 只看該作者
temp=(float)adcx*(5.0/65535);這樣算算出來的是V;temp=(float)adcx*(5000/65535);算出來的是mv,那如果外加校準電壓2.5V,不用自校準用哪個命令合適。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表