单片机微控制器07解释.pptVIP

  • 2
  • 0
  • 约1.87千字
  • 约 20页
  • 2016-12-03 发布于湖北
  • 举报
A/D转换 数字信号处理的 采样问题 采样定理 采样率大于信号最高频率的2倍。 通常取最高频率的2.5-4倍。 采样/保持 给定时间段采样。 保持期间进行A/D转换。 采样/保持 数值量化 R/2R模式A/D转换器 V/F转换器实现A/D转换 AVR 10位A/D的特点 10-bit Resolution ±2 LSB Accuracy 0.5 LSB Integral Non-Linearity 65 - 260 μs Conversion Time Up to 15 kSPS 8 Multiplexed Input Channels Rail-to-Rail Input Range Free Run or Single Conversion Mode Interrupt on ADC Conversion Complete Sleep Mode Noise Canceler AVR A/D转换器(1) AVR A/D转换器(2) A/D转换时钟 A/D转换器参数 8选1寄存器ADMUX Bits 2..0 - MUX2..MUX0: Analog Channel Select Bits 2-0 选择模拟通道0-7 PA0-PA7设置为高阻。 A/D控制及状态寄存器 Bit 7 - ADEN: ADC Enable Bit 6 - ADSC: ADC Start Conversion Bit 5 - ADFR: ADC Free Run Select Bit 4 -ADIF: ADC Interrupt Flag Bit 3 - ADIE: ADC Interrupt Enable Bits 2..0 - ADPS2..ADPS0: ADC Prescaler Select Bits A/D噪声消除功能 AVR A/D能在CPU空闲模式下,降低CPU内核产生的模拟噪声。 按下列步骤操作: ADEN = 1,ADSC = 0,ADFR = 0,ADIE = 1 CPU进入空闲模式,A/D转换开始。 A/D转换完成,CPU启动进入A/D中断服务程序。 模拟电源提供 实验板A/D电路 差分输入电路 启动定时采样 void StartAcquiring() { DataCnt=0; memAddrLB=0; memAddrHB=0; memPage=0; WrPgReg(); UCR=0x18; //Disable UART interrupts TCCR0=0x00; //Stop timer0 TIMSK=0x10; //Enable timer1s CompA TCNT1H=0; TCNT1L=0; OCR1AH=Tm1HB; OCR1AL=Tm1LB; TCCR1B=0x09; //Start timer1 with CTC1 SPCR=0x58; //SPI clk=fclk/4 InAcquiringF=1; } //End of StartAcquiring 定时中断采集 interrupt [TIM1_COMPA] void timer1_compa_isr(void) { Ad.Data=ADCW; //Get Last results ADCSR.4=1; //Clear ADC interrupt flag … … DataCnt++; if (DataCnt=RecItemMax) { InAcquiringF=0; AcquiringUpdatedF=1; } //finished acquiring else ADCSR.6=1; //Start conversion } //End of timer1_ovf_isr 谢谢! * * 信号 接通:采样 关断:保持 A/D转换 3FF 000 1LSB ±1/2LSB Vref Vref/2 输入电压 量化值 V/F 转换器 V 计数器 D // ADC initialization //ch0, 460.800 kHz ADMUX=0; ADCSR=0x84; ADCSR.6=1; struct ByteDef{ unsigned char Low,High; }; union WORD_BYTES { struct ByteDef Byte; unsigned int Data; }; union WORD_BYTES Ad;

文档评论(0)

1亿VIP精品文档

相关文档