在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32驅(qū)動(dòng)16位精度A/D轉(zhuǎn)換芯片ADS1120

      STM32驅(qū)動(dòng)16位精度A/D轉(zhuǎn)換芯片ADS1120

      作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏

      四.STM32程序
      void ADC_1120_AIN1_CONVER()
      {
      //**********************************************
      //ADC初始化
      //**********************************************
      Delay_N_ms(1);//延時(shí)
      ADC_CS_LOW;//選中ADC芯片
      Delay_N_ms(1);//延時(shí)
      SPI1_SendByte(0x06);//復(fù)位ADC命令
      Delay_N_ms(1);//延時(shí)
      SPI1_SendByte(0x43);//0x43--01000011,寫(xiě)四個(gè)寄存器,從00-11開(kāi)始寫(xiě)
      SPI1_SendByte(0x91);//寫(xiě)00寄存器----AIN1為模擬輸入管腳,無(wú)增益,PGA失能
      SPI1_SendByte(0xc4);//寫(xiě)01寄存器----數(shù)據(jù)傳輸率1000SPS,單次轉(zhuǎn)換模式
      SPI1_SendByte(0x00);//寫(xiě)10寄存器----內(nèi)部2.048V參考源
      SPI1_SendByte(0x00);//寫(xiě)11寄存器----DRAY提示轉(zhuǎn)換結(jié)束
      //SPI1_SendByte(0x23);//讀寄存器,查看是否正確
      //Delay_N_ms(1);//延時(shí)
      //UART2_PutChar(SPI1_ReadByte(0x00));
      //UART2_PutChar(SPI1_ReadByte(0x00));
      //UART2_PutChar(SPI1_ReadByte(0x00));
      //UART2_PutChar(SPI1_ReadByte(0x00));
      SPI1_SendByte(0x08);//打開(kāi)ADC轉(zhuǎn)換使能,開(kāi)始ADC轉(zhuǎn)換
      Delay_N_ms(1);//延時(shí)
      ADC_CS_HIGN;
      //**********************************************
      //ADC結(jié)果讀取并進(jìn)行數(shù)據(jù)處理后通過(guò)RS485發(fā)送至計(jì)算機(jī)
      //**********************************************
      u16 ADC_HIGN_DATA=0,ADC_LOW_DATA=0;
      unsigned char counter,a,b,c,d,e;
      u16 ADC_DATA=0;
      u32 ADC_8TIMES_DATA=0;
      for(counter=0;counter<8;counter++)
      {
      while(!(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_10) == RESET));//判斷DRAY管腳點(diǎn)平是否變低,數(shù)據(jù)是轉(zhuǎn)換完成準(zhǔn)備
      ADC_CS_LOW;
      Delay_N_ms(1);
      ADC_HIGN_DATA=SPI1_ReadByte(0x00);//讀取ADC結(jié)果高8位
      ADC_LOW_DATA=SPI1_ReadByte(0x00);//讀取ADC結(jié)果低8位
      Delay_N_ms(1);
      ADC_CS_HIGN;
      //UART2_PutChar(ADC_HIGN_DATA);
      //UART2_PutChar(ADC_LOW_DATA);
      ADC_DATA = ADC_HIGN_DATA*256 + ADC_LOW_DATA;//得到16位AD數(shù)據(jù)
      ADC_8TIMES_DATA += ADC_DATA;//累加八次做濾波處理
      ADC_DATA=0;
      }
      ADC_DATA = ADC_8TIMES_DATA >> 3;//取八次平均值
      ADC_8TIMES_DATA=0;//清零累加器
      ADC_DATA = (unsigned int)(((unsigned long)ADC_DATA)*2*20480/65536);//電壓值*10000,用以下來(lái)分離各個(gè)數(shù)字,取小數(shù)點(diǎn)后4位
      //ADC_DATA = Real_ADC * 10000;
      a = ADC_DATA /10000;
      b = ADC_DATA % 10000 / 1000;
      c = ADC_DATA % 1000 / 100;
      d = ADC_DATA % 100 / 10;
      e = ADC_DATA % 10;
      UART2_PutChar(0x56);//V
      UART2_PutChar(0x4C);//L
      UART2_PutChar(0x3D);//=
      UART2_PutChar(a+48);
      UART2_PutChar(0x2E);//.
      UART2_PutChar(b+48);
      UART2_PutChar(c+48);
      UART2_PutChar(d+48);
      UART2_PutChar(e+48);
      //UART2_PutChar(0x0D);//回車(chē)
      //UART2_PutChar(0x0A);//換行
      Delay_N_ms(5);
      ADC_CS_HIGN;
      //**********************************************
      //結(jié)束后使ADC進(jìn)行掉電模式
      //**********************************************
      ADC_CS_LOW;//選中ADC芯片
      Delay_N_ms(1);//延時(shí)
      SPI1_SendByte(0x02);//POWERDOWN掉電命令
      Delay_N_ms(1);//延時(shí)
      }


      上一頁(yè) 1 2 下一頁(yè)

      關(guān)鍵詞: STM32轉(zhuǎn)換芯片ADS112

      評(píng)論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉