JiZzJiZZ国产免费A_国产午夜成人AV在线播放_亚洲欧美在线观看一区二区_91久久久久精品无嫩草影院_欧美高清一区二区三区_欧美日韩国产码高清_亚洲精品国产电影_亚洲AV无码专区亚洲AV桃
廣告招募

STM32 ADC 多通道16路電壓采集

2025年07月10日 08:45:38      來源:江蘇瑞易通電子科技有限公司 >> 進入該公司展臺      閱讀量:1

分享:

下面介紹一種利用STM32單片機制作的16路多通道ADC采集電路圖和源程序。采用USB接口與電腦連接,實則USB轉(zhuǎn)串口方式,所以上位機可以用串口作為接口。電路圖中利用LM324作為電壓跟隨器,起到保護單片機引腳的作用。直接在電腦USB取點,省去外接電源麻煩,實測耗電電流不到20ma.

1.主控電路圖:

2. USB轉(zhuǎn)串口電路圖

3.LM324電壓跟隨器電路圖

4.濾波電路圖

5.16路接口電路圖

6.電源電路圖


7.16路ADC初始化程序:

void Adc_Init(void) {   //先初始化IO口  RCC->APB2ENR|=0X7<2;  使能porta/porab/portc口時鐘  =""  gpioa-="">CRL&=0X;//PA0 1 2 3 4 5 6 7 anolog輸入  GPIOB->CRL&=0XFFFFFF00;//PB0 1 anolog輸入  GPIOC->CRL&=0XFF000000;//PC0 1 2 3 4 5 anolog輸入  //通道10/11設(shè)置   RCC->APB2ENR|=1<9;  adc1時鐘使能  =""  rcc-="">APB2RSTR|=1<9;  adc1復位 =""  rcc-="">APB2RSTR&=~(1<9); 復位結(jié)束  =""  rcc-="">CFGR&=~(3<14);  分頻因子清零  =""  //sysclk/div2="12M ADC時鐘設(shè)置為12M,ADC最大時鐘不能超過14M! "  //否則將導致adc準確度下降!  =""  rcc-="">CFGR|=2<14;  adc1-="">CR1&=0XF0FFFF; //工作模式清零  ADC1->CR1|=0<16;  獨立工作模式  =""  adc1-="">CR1&=~(1<8);  非掃描模式  =""  adc1-="">CR2&=~(1<1);  單次轉(zhuǎn)換模式 =""  adc1-="">CR2&=~(7<17);    adc1-="">CR2|=7<17;  軟件控制轉(zhuǎn)換  =""  adc1-="">CR2|=1<20;  使用用外部觸發(fā)(swstart)!!! 必須使用一個事件來觸發(fā) =""  adc1-="">CR2&=~(1<11);  右對齊adc1-="">SQR1&=~(0XF<20);   adc1-="">SQR1&=0<20;  1個轉(zhuǎn)換在規(guī)則序列中 也就是只轉(zhuǎn)換規(guī)則序列1  =""  //設(shè)置通道采樣時間 =""  adc1-="">SMPR2&=0X;//通道0,1,2,3,4,5,6,7,8,9采樣時間清空  ADC1->SMPR2|=7<27;  通道9 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<24;  通道8 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<21;  通道7 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<18;  通道6 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<15;  通道5 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<12;  通道4 239.5周期,提高采樣時間可以提高精確度 =""  adc1-="">SMPR2|=7<9;  通道3 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<6;  通道2 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<3;  通道1 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR2|=7<0;  通道0 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR1&=0XFFFC0000;//通道10,11,12,13,14,15采樣時間清空  ADC1->SMPR1|=7<15;  通道15 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR1|=7<12;  通道14 239.5周期,提高采樣時間可以提高精確度 =""  adc1-="">SMPR1|=7<9;  通道13 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR1|=7<6;  通道12 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR1|=7<3;  通道11 239.5周期,提高采樣時間可以提高精確度  =""  adc1-="">SMPR1|=7<0;  通道10 239.5周期,提高采樣時間可以提高精確度 =""  adc1-="">CR2|=1<0;  開啟ad轉(zhuǎn)換器  =""  adc1-="">CR2|=1<3;  使能復位校準  =""  while(adc1-="">CR2&1<3);  等待校準結(jié)束  =""  //該位由軟件設(shè)置并由硬件清除。在校準寄存器被初始化后該位將被清除。  =""  adc1-="">CR2|=1<2;  開啟ad校準  =""  while(adc1-="">CR2&1<2);  等待校準結(jié)束 =""  //該位由軟件設(shè)置以開始校準,并在校準結(jié)束時由硬件清除  ="">


8.獲取ADC值的程序:

//獲得ADC值 //ch:通道值 1~16 u16 Get_Adc(u8 ch)  {  u8 ch_ch;  switch(ch)  {  case 1:ch_ch = 8; break;  case 2:ch_ch = 9; break;  case 3:ch_ch = 14; break;  case 4:ch_ch = 15; break;  case 5:ch_ch = 6; break;  case 6:ch_ch = 7; break;  case 7:ch_ch = 4; break;  case 8:ch_ch = 5; break;  case 9:ch_ch = 2; break;  case 10:ch_ch = 3; break;  case 11:ch_ch = 1; break;  case 12:ch_ch = 0; break;  case 13:ch_ch = 12; break;  case 14:ch_ch = 13; break;  case 15:ch_ch = 11; break;  case 16:ch_ch = 10; break;  default:ch_ch = 88; break;  }  if(ch_ch==88)return 0;  //設(shè)置轉(zhuǎn)換序列   ADC1->SQR3&=0XFFFFFFE0;//規(guī)則序列1 通道ch  ADC1->SQR3|=ch_ch;   ADC1->CR2|=1<22;  啟動規(guī)則轉(zhuǎn)換通道  =""  while(!(adc1-="">SR&1<1)); 等待轉(zhuǎn)換結(jié)束  =""  return adc1-="">DR; //返回adc值  }


9.把ADC值轉(zhuǎn)換成電壓值的函數(shù):

// ch范圍1~16 void fetch_adc(u8 ch) {  u16 adcx;   u32 temp;  if((ch==0)||(ch>16))return; // 如果不是1到16,通道無效,退出函數(shù)  adcx=Get_Adc(ch); // 獲得ADC值  temp=(u32)adcx*3300/4096; // 計算電壓值 單位mv  adcx=temp; // 獲得計算出的電壓值  adc_buf[ch*2-2] = adcx>>8; // 給adc_buf賦值 ,先賦高8位,后賦低8位  adc_buf[ch*2-1] = adcx; }


版權(quán)與免責聲明:
1.凡本網(wǎng)注明"來源:中美貿(mào)易網(wǎng)"的所有作品,版權(quán)均屬于中美貿(mào)易網(wǎng),轉(zhuǎn)載請必須注明中美貿(mào)易網(wǎng)。違反者本網(wǎng)將追究相關(guān)法律責任。
2.企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責任。
3.本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責任。 4.如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系。

JiZzJiZZ国产免费A_国产午夜成人AV在线播放_亚洲欧美在线观看一区二区_91久久久久精品无嫩草影院_欧美高清一区二区三区_欧美日韩国产码高清_亚洲精品国产电影_亚洲AV无码专区亚洲AV桃