亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ad轉換濾波后led顯示.txt

?? 對3個通道交替進行AD轉換,然后把轉換后的結果存在一個18個*3數據窗口中,濾波時對窗口內的18個數據進行去極值取平均值濾波,然后送LED顯示.
?? TXT
字號:
#include "config.h"
uint8   ucADC_select;                     // 四通道AD選擇
uint8   ucADC_count;                     // AD轉換計數
uint8     config=0x10,config_temp=0x10;         // 功能選擇設定


uint8     ucADC_select;                     // 四通道AD選擇
uint8   ucADV_count;             //轉換計數器
uint16   ADC0_DATA,ADC1_DATA,ADC2_DATA;         //AD轉換結果
volatile uint16   ADC0_value[18];                   // 0通道AD,18個數據
volatile uint16   ADC1_value[18];                   // 1通道AD,18個數據
volatile uint16   ADC2_value[18];                   // 2通道AD,18個數據
uint32   time2_count;                 // TIME2 中斷計數N,0.1S計數

/*雙字節無符號數去極值平均濾波法子程序
*/
uint16   arr[18];                 // 18個數據臨時寄存器
uint16 average(uint16 arr[18])
{ 
      uint8 i; 
      uint16 temp=0,max=0,min=0x3ff;       
      for(i=0;i<18;i++){ 
            if(max<arr[i]) 
              {max=arr[i];}             
            
            else if(min>arr[i]) 
              {min=arr[i];}           
            
            temp+=arr[i];       
                } 
      temp=(temp-max-min)/16; 
      return (temp);   
} 

/********由定時器T2中斷啟動 連續轉換3個ADC通道的值 **********/
#pragma interrupt_handler adc_isr:15
void adc_isr(void)
{
//uint8     num1,num2;                       // 臨時寄存器
//uint16   uitemp1,uitemp2;                   // 臨時寄存器
uint16   uiadc_value_temp;
uiadc_value_temp = ADCL;
uiadc_value_temp |= (uint16)ADCH << 8;
// SEI();
switch(ucADC_select)
  {
  case 0 :   // ADC0通道 數據處理
    {
      //ADMUX   = 0xc1;       // 切換到ADC1通道,內部Vref
      ADMUX   = 0x01;     // 外部Vref,ADC1通道
      ADC0_value[ucADC_count] = uiadc_value_temp; //
//       ADCSRA |= (1<<ADSC);   // enable adc
      ucADC_select ++ ;     // 切換到ADC1通道
      break;
    }
  case 1 :   // ADC1通道 數據處理
    {
      //ADMUX   = 0xc2;       // 切換到ADC2通道,內部Vref
      ADMUX   = 0x02;     // 外部Vref,ADC2通道
      ADC1_value[ucADC_count] = uiadc_value_temp; //
//       ADCSRA |= (1<<ADSC);   // enable adc
      ucADC_select ++ ;     // 切換到ADC2通道
      break;
    }
  case 2 :   // ADC2通道 數據處理
    {
      //ADMUX   = 0xc0;       // 切換到ADC0通道,內部Vref,但不啟動,等待定時器T2啟動
      ADMUX   = 0x00;     // 外部Vref,ADC0通道
      ADC2_value[ucADC_count] = uiadc_value_temp; //
      ucADC_select = 0 ;     // 切換到ADC0通道,但不啟動,等待定時器T2啟動
  ucADC_count++;
//   if(ucADC_count>=18)
//   {ucADC_count = 0 ;}
      break;
//   else
//   {ADCSRA |= (1<<ADSC);}   // enable adc 
//   break;
    }
  default : 
    {
    ADMUX   = 0xc0;       // 切換到ADC0通道,內部Vref,但不啟動,等待定時器T2啟動
    //ADCSRA |= (1<<ADSC);   // enable adc
    ucADC_select = 0 ;     // 切換到ADC0通道,但不啟動,等待定時器T2啟動
//   ucADC_count = 0 ;
    break;
    }
  } // switch end
} // AD中斷處理 end
/********由定時器T2中斷啟動 連續轉換3個ADC通道的值 ****** end */

// *********** ADC的設定及函數****************
//ADC initialize
// Conversion time: 128KHz(系統位8MHz,128分頻)
void adc_init(void)
{
ADCSRA= 0x00;     //disable adc
ACSR = (1<<ACD);   //disable comparator
//ADMUX = 0xc0;     //內部Vref,ADC0通道
ADMUX = 0x00;     //外部Vref,ADC0通道
//ADCSRA= (1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS0);   // enable adc,中斷允許,32分頻|(1<<ADSC)
//ADCSRA= (1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1);   //enable adc,64分頻
ADCSRA= (1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);//enable adc,128分頻
}
// *********** ADC的設定及函數**************end** 
// ICC-AVR application builder : 2007-9-25 
// Target : M16
// Crystal: 8Mhz
// 工程5led 七段數碼管顯示

#include "config.h"

extern   const   led_data[16];               //聲明外部led顯示數據,led_data在led.c中

extern     uint16   uiADC_value_sum[4];                 // 四通道AD,64個數據加和值extern     
extern     uint16   ADC0_value_sum[18];                 // 0通道AD,18個數據
extern     uint16   ADC1_value_sum[18];                 // 1通道AD,18個數據
extern     uint16   ADC2_value_sum[18];                 // 2通道AD,18個數據
extern     uint8   ucADC_select;                     // 四通道AD選擇
extern     uint8   ucADC_count;                     // AD轉換計數
extern     uint8   config,config_temp;                 // 功能選擇設定
extern     uint8   display_control;                   // LCD顯示的定時控制字節
extern     uint8   ucADC_select;                     // 四通道AD選擇
extern     uint16   uiadc_value_temp;
extern     uint32   uladc_data,uladc_data2,time2_count;     // ADC的轉換數據, 
extern     uint16   ADC0_value[18];                   // 0通道AD,18個數據
extern     uint16   ADC1_value[18];                   // 1通道AD,18個數據
extern     uint16   ADC2_value[18];                   // 2通道AD,18個數據
extern     uint16     ADC0_DATA,ADC1_DATA,ADC2_DATA;       // AD轉換結果
  uint8   time2_cmp_i=54;                     // TIME2 比較中斷i=采樣率*AD通道數
extern   uint16   countdata;
extern   uint8   count;
extern     uint8   dot;

//端口初始化
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
}


//TIMER2 initialize - prescale:1024
// WGM: CTC
// actual value: 1SEC采樣100次,0.01SEC中斷一次
void timer2_init(void)
{
  TCCR2 = 0x00;             //stop
  ASSR   = 0x00;           //關閉異步方式
  TCNT2 = 0x00;           //setup
  OCR2   = 0x25;           //
  TCCR2 = (1<<WGM21)|(1<<CS22)|(1<<CS21)|(1<<CS20); //內部時鐘1024分頻
  TIMSK |= (1<<OCIE2);               //timer2 中斷允許
}

//Watchdog initialize
// prescale: 2048K
void watchdog_init(void)
{
WDR(); //this prevents a timout on enabling
WDTCR = 0x1F; //WATCHDOG ENABLED - dont forget to issue WDRs
WDTCR = 0x0F; //WATCHDOG ENABLED - 看門狗定時器預分頻設為2048K,2.1S
WDR();
}
/******定時器T2中斷*****************************
*1、喂狗;2、啟動ADC;
*3、將ADC的加和值平均,計算電壓值
************************************************/

#pragma interrupt_handler timer2_comp_isr:8
void timer2_comp_isr(void)                 // TIME2做三通道ADC0、ADC1、ADC2的積分濾波 10Hz,18采樣率
{
  WDR();   //喂狗
    time2_cmp_i --;
    count--;
  if(count<1)
  {count=4;}
  if((time2_cmp_i % 0x03) == 0x00) 
  {ADC0_DATA=average(ADC0_value);   
    ADC1_DATA=average(ADC1_value); 
    ADC2_DATA=average(ADC2_value);
    ADCSRA |= (1<<ADSC); // 啟動ADC,18次采樣率
  }
  if(time2_cmp_i == 0)
  {time2_cmp_i = 54;}
//     SEI();
//     time2_count ++;                     // 0.1S計數
}

//******定時器T2中斷************************* end */



/*************************************************
主程序
*************************************************/
void main(void)
{
CLI();           //disable all interrupts
port_init();
led_init();           //5位7段數碼管顯示             
timer2_init();             // 使能AD轉換 
watchdog_init();
adc_init();         // 使能ADC
SEI();             //re-enable interrupts
while(1)
{
dot=4;
display(countdata,dot,count); //普通模式,顯示countdata的值,countdata將在timer1定時一秒溢出時改變
countdata=ADC0_DATA;
}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩毛片精品高清免费| 久久精品国产99国产| 蜜臀va亚洲va欧美va天堂| 丁香天五香天堂综合| 欧美群妇大交群中文字幕| 国产视频在线观看一区二区三区 | 欧美综合一区二区| 精品电影一区二区三区| 亚洲成人第一页| 成人av集中营| 国产偷国产偷精品高清尤物| 日韩电影在线免费看| 欧美做爰猛烈大尺度电影无法无天| 久久夜色精品一区| 蜜桃视频在线观看一区二区| 91久久一区二区| 亚洲日本中文字幕区| 成人美女在线观看| 国产精品青草综合久久久久99| 美腿丝袜在线亚洲一区| 欧美精品久久久久久久多人混战| 国产精品久久久久久久久果冻传媒 | 在线观看精品一区| 成人欧美一区二区三区小说| 国产成人免费视频| 国产喂奶挤奶一区二区三区| 国产麻豆一精品一av一免费| 欧美变态凌虐bdsm| 精品在线观看免费| 精品国产99国产精品| 久久国产三级精品| 久久亚洲精华国产精华液 | 欧美精品一区二区在线播放| 天使萌一区二区三区免费观看| 在线日韩av片| 亚洲一区二区三区自拍| 欧美视频在线不卡| 日韩av成人高清| 日韩丝袜美女视频| 精品影视av免费| 久久久久久夜精品精品免费| 国产精品一区二区在线观看网站| 久久一夜天堂av一区二区三区| 狠狠色综合日日| 国产亚洲污的网站| 99精品偷自拍| 国产成人精品网址| 中文字幕精品三区| 色悠悠亚洲一区二区| 亚洲国产精品久久艾草纯爱| 欧美一区二区视频网站| 久草在线在线精品观看| 欧美韩国日本综合| 在线视频一区二区三| 久热成人在线视频| 国产精品亲子伦对白| 日本高清不卡在线观看| 亚洲成人精品影院| 久久人人超碰精品| 91免费看视频| 轻轻草成人在线| 国产日韩欧美不卡在线| 日本高清不卡视频| 免费av成人在线| 中文字幕亚洲视频| 88在线观看91蜜桃国自产| 国产伦精品一区二区三区免费迷| 国产精品福利av| 日韩一区二区免费在线观看| 国产精品 欧美精品| 亚洲国产精品久久一线不卡| 精品入口麻豆88视频| 成人h动漫精品一区二区 | 亚洲色图欧洲色图婷婷| 在线成人小视频| 成人黄色电影在线| 视频在线在亚洲| 国产精品久久久久三级| 91精品在线免费| 91网页版在线| 韩国成人在线视频| 亚洲成人免费视| 国产精品麻豆欧美日韩ww| 日韩精品中文字幕在线一区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲chinese男男1069| 久久免费国产精品| 欧美久久久久久久久中文字幕| 国产69精品一区二区亚洲孕妇| 午夜国产精品一区| 亚洲视频一二区| 国产日韩欧美精品一区| 911精品国产一区二区在线| 99精品欧美一区二区三区小说 | av一二三不卡影片| 精品一区二区三区在线播放 | 91精品国产综合久久精品麻豆| 99精品欧美一区二区三区小说| 国产精品一区二区你懂的| 美国一区二区三区在线播放| 亚洲观看高清完整版在线观看| 亚洲天堂成人在线观看| 久久精品夜色噜噜亚洲aⅴ| 日韩欧美一区在线| 欧美精品一级二级三级| 欧美日韩国产天堂| 欧美三级视频在线| 欧美伊人久久大香线蕉综合69 | 欧美tk丨vk视频| 91精品国产综合久久国产大片| 欧美在线观看一二区| 色欧美日韩亚洲| 国产 欧美在线| 国产精品66部| 国产精品18久久久久久久久久久久 | 国产伦精品一区二区三区视频青涩| 毛片不卡一区二区| 欧美a级理论片| 喷水一区二区三区| 韩国av一区二区三区在线观看| 一区二区成人在线视频| 亚洲欧美另类久久久精品| 亚洲日韩欧美一区二区在线| 亚洲色图一区二区三区| 一级做a爱片久久| 亚洲二区视频在线| 日本女人一区二区三区| 麻豆久久一区二区| 国产麻豆精品在线观看| 国产美女精品在线| 色综合久久88色综合天天免费| 91国产成人在线| 91精品免费在线观看| 欧美成人a在线| 欧美国产日韩精品免费观看| 成人免费在线视频观看| 亚洲黄色免费电影| 日韩精品电影一区亚洲| 国产在线精品免费| 97se亚洲国产综合在线| 欧美日韩一级黄| 欧美变态tickle挠乳网站| 国产精品少妇自拍| 亚洲大片在线观看| 国产在线播放一区三区四| 99免费精品视频| 制服丝袜国产精品| 亚洲国产成人私人影院tom| 亚洲成人第一页| 高清国产一区二区| 欧美日韩在线亚洲一区蜜芽| 精品剧情在线观看| 亚洲乱码国产乱码精品精98午夜| 午夜精品一区二区三区三上悠亚| 国产在线不卡视频| 欧美日韩一区高清| 中文字幕欧美国产| 天天色天天操综合| av色综合久久天堂av综合| 91精品国产综合久久久久久久久久| 久久久久久久久久久久电影 | 国产精品久久久久天堂| 日韩成人免费电影| 9色porny自拍视频一区二区| 91精品国产免费久久综合| 亚洲欧洲精品一区二区三区不卡| 日韩国产欧美在线视频| 99久久精品国产一区二区三区| 日韩视频一区在线观看| 亚洲美女免费在线| 成人午夜av电影| 欧美一级在线观看| 亚洲gay无套男同| 91在线播放网址| 国产欧美日韩激情| 麻豆精品一区二区| 欧美精选午夜久久久乱码6080| 亚洲婷婷综合久久一本伊一区| 国产精品一区二区你懂的| 日韩三级精品电影久久久| 亚洲精品一二三| av成人免费在线观看| 国产亚洲精品aa| 国产曰批免费观看久久久| 欧美成人精品二区三区99精品| 亚洲妇熟xx妇色黄| 欧美色网站导航| 亚洲一区二区综合| 色综合欧美在线视频区| 1000精品久久久久久久久| 成人免费黄色大片| 国产欧美日韩另类视频免费观看| 加勒比av一区二区| 精品国产污网站| 精品一区二区三区久久| 在线播放一区二区三区| 香蕉乱码成人久久天堂爱免费| 91福利小视频| 亚洲一区二区三区小说| 欧美亚洲日本一区|