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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3780|回復: 3
打印 上一主題 下一主題
收起左側

AD7193驅動代碼 C語言

[復制鏈接]
跳轉到指定樓層
樓主
AD7193是一款ADI公司的AD芯片,差分帶PGA


具體步驟
1.Init
2.Reset
3.Calibrate(zero&full)校準
4.RangeSetup(1,gain1)單雙極性以及增益選擇
5.ChannelSelect通道選擇
6.SingleConversion獲得AD值
7.ConvertToVolts轉換成電壓
8.ContinuousReadAvg(10)10次采樣求均值
9.ConvertToVolts
10.TemperatureRead獲得溫度AD


這些代碼是MCU通用的,不需修改
需要修改的是SPI函數



單片機源程序如下:
  1. #include "YRDKRL78G13.h"    // YRDKRL78G13 definitions.
  2. #include "ST7579.h"         // ST7579 definitions.
  3. #include "TIME.h"           // TIME definitions.
  4. #include "AD7193.h"         // AD7193 definitions.

  5. /******************************************************************************/
  6. /************************ Variables Definitions *******************************/
  7. /******************************************************************************/
  8. unsigned long result   = 0;
  9. unsigned long degreesC = 0;
  10. float         voltage  = 0;

  11. /***************************************************************************//**
  12. * @brief Draws the ADI logo and displays the name of ADI component.
  13. *
  14. * @param componentName - The name of the ADI component.
  15. *
  16. * @return None.
  17. *******************************************************************************/
  18. void ADI_Component(unsigned char* string)
  19. {
  20.     const unsigned char adiComponent[7] =
  21.     {
  22.         0xFE, 0xFE, 0x82, 0xC6, 0xEE, 0xFE, 0xFE
  23.     };
  24.     ST7579_Image(0, 0, adiComponent, 7, 8);
  25.     ST7579_String(0, 9, string, 0);
  26. }

  27. /***************************************************************************//**
  28. * @brief Main function.
  29. *
  30. * @return None.
  31. *******************************************************************************/
  32. void main(void)
  33. {        
  34.     /* Initialize YRDKRL78G13. */
  35.     YRDKRL78G13_Init();
  36.    
  37.     /* Enable interrupts. */
  38.     __enable_interrupt();
  39.         
  40.     /* Initialize timer. */
  41.     TIME_Init();
  42.    
  43.     /* Initialize the ST7579 Display. */
  44.     ST7579_Init();
  45.    
  46.     /* Initialize AD7193 device. */
  47.     if(AD7193_Init())
  48.     {
  49.         ADI_Component("AD7193 OK");
  50.     }
  51.     else
  52.     {
  53.         ADI_Component("AD7193 Err");
  54.     }
  55.     /* Reset the device. */
  56.     AD7193_Reset();
  57.    
  58.     /* Allow a period of 500 us before accessing any of the on-chip registers. */
  59.     TIME_DelayUs(500);
  60.    
  61.     /* Calibrate channel 0. */
  62.     AD7193_Calibrate(AD7193_MODE_CAL_INT_ZERO, AD7193_CH_0);
  63.     AD7193_Calibrate(AD7193_MODE_CAL_INT_FULL, AD7193_CH_0);
  64.    
  65.     while(1)
  66.     {
  67.         /* Select unipolar operation and ADC's input range to +-2.5V. */
  68.         AD7193_RangeSetup(1, AD7193_CONF_GAIN_1);

  69.         /* Select channel AIN1(+) - AIN2(-). */
  70.         AD7193_ChannelSelect(AD7193_CH_0);
  71.         
  72.         /* Perform a single conversion. */
  73.         result = AD7193_SingleConversion();
  74.         ST7579_String(2, 0, "CHANNEL 0:", 0);
  75.         ST7579_String(3, 0, "RAW:          ", 0);
  76.         ST7579_String(4, 0, "1RD:       [V]", 0);
  77.         ST7579_HexNumber(3, 30, result, 0);
  78.         
  79.         /* The value of the voltage reference on PmodAD5 is 2.5V by default. */
  80.         voltage = AD7193_ConvertToVolts(result, 2.5);
  81.         ST7579_FloatNumber(4, 30, voltage, 3, 0);
  82.         
  83.         /* Continuous reads. */
  84.         result = AD7193_ContinuousReadAvg(10);
  85.         voltage = AD7193_ConvertToVolts(result, 2.5);
  86.         ST7579_String(5, 0, "RAW:        ", 0);
  87.         ST7579_String(6, 0, "AVG:       [V]", 0);
  88.         ST7579_HexNumber(5, 30, result, 0);
  89.         ST7579_FloatNumber(6, 30, voltage, 3, 0);   
  90.         
  91.         /* Read the temperature. */
  92.         degreesC = AD7193_TemperatureRead();
  93.         ST7579_String(7, 0, "TMP:       oC", 0);
  94.         ST7579_Number(7, 30, degreesC, 0);
  95.     }
  96. }
復制代碼

所有資料51hei提供下載:
7193.zip (26.75 KB, 下載次數: 65)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:495852 發表于 2019-10-28 16:30 | 只看該作者
感謝分享
回復

使用道具 舉報

板凳
ID:64765 發表于 2020-2-16 11:18 | 只看該作者
很好,學習了,謝謝樓主分享。
回復

使用道具 舉報

地板
ID:333467 發表于 2022-5-27 17:59 | 只看該作者
感謝樓主,應該和AD7190差不多吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区在线观看 | 一区二区三区欧美在线观看 | 国产精品美女久久久av超清 | 欧美在线视频网站 | 视频在线一区二区 | 亚洲精品大片 | 狠狠操狠狠操 | 91网站视频在线观看 | 欧美日韩精品一区 | 91人人视频在线观看 | 亚洲人成在线观看 | 黄色毛片免费视频 | 在线播放第一页 | 午夜免费精品视频 | 久久久精品一区 | 精品无码久久久久国产 | 二区在线观看 | 免费看a| www.99热 | 日韩一区二区三区视频 | av一级毛片| 日韩在线不卡视频 | 久久久久久高潮国产精品视 | 午夜av电影院 | 超碰超碰 | 91精品国产91久久久久久吃药 | 久久精品国产亚洲a | 精品久久久一区 | 亚洲日本三级 | 国产区在线观看 | 在线观看第一页 | 日韩午夜在线播放 | 91亚洲精品国偷拍自产在线观看 | 福利视频一区二区 | xxxxx免费视频 | 中文字幕第一页在线 | 极品国产视频 | 亚洲视频精品 | av网站免费 | 国产亚洲精品精品国产亚洲综合 | 欧美一区二区三区在线观看 |