標(biāo)題: AD7715的單片機(jī)驅(qū)動程序 [打印本頁]

作者: YJZL    時間: 2019-7-29 14:53
標(biāo)題: AD7715的單片機(jī)驅(qū)動程序


單片機(jī)源程序如下:
  1. #include"AD7715.h"

  2. //發(fā)送數(shù)據(jù)
  3. void WriteADData(unsigned char write_data)
  4. {
  5.   uchar i;
  6.   for(i=0;i<8;i++)
  7.          {
  8.       if((write_data&0x80)!=0)
  9.            AD_DIN=1;
  10.       else
  11.            AD_DIN=0;
  12.       write_data=write_data<<1;
  13.       AD_SCLK=1;
  14.       AD_SCLK=0;
  15.       AD_SCLK=1;
  16.          }
  17.       AD_DIN=1;
  18. }

  19. //接收數(shù)據(jù)     
  20. uint ReadADData(uchar z)
  21. {
  22.    uchar i;
  23.    int ad_data =0;
  24.    for(i=0;i<z*8;i++)
  25.    {
  26.       AD_SCLK = 1;
  27.       AD_SCLK= 0;
  28.       AD_SCLK = 0;
  29.       ad_data= ad_data << 1;
  30.          if(AD_DOUT == 1)
  31.        ad_data += 1;
  32.        AD_SCLK= 1;      
  33.     }       
  34.     return ad_data;
  35. }
  36.   
  37. //初始化
  38. void InitAD7715(void)
  39. {
  40.     WriteADData(0x10); //設(shè)置增益為1;
  41.    
  42.         WriteADData(0x46); //設(shè) 置校準(zhǔn)為自標(biāo)定,主頻率為大于2M,更新頻率為20Hz,單極;
  43. }     

  44. //啟動轉(zhuǎn)換
  45. uint GetADNum(void)
  46. {
  47.    while(AD_DRDY==1); //等待轉(zhuǎn)換完成;
  48.    WriteADData(0x38); //
  49.    return ReadADData(2);
  50. }

  51. /*
  52. main()
  53. {
  54.   uint ad_num;
  55.   InitAD7715();
  56.     while (1)
  57.       {
  58.           ad_num = GetADNum();
  59.           }
  60. }
  61.   */
復(fù)制代碼

所有資料51hei提供下載:
AD7715.7z (787 Bytes, 下載次數(shù): 20)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1