adc.c.130216180720

来自「ATmega16-ad1602」· 130216180720 代码 · 共 51 行

130216180720
51
字号
#define ADC_C
#include "includes.h"
/******************************************************************************/
/******************************************************************************/
unsigned int ad_result()
{
     uint addata;
	 addata=ADCL;
	 addata=addata+ADCH*256;
	 return addata;
	 /*
	    j = (float)(((float)((Vref/1023)))*( ADC&0X3FF))/1000.00;
		count = j*100;					
        value[0] = count /1000+0x30;
        count = count %1000;
        value[2] = count /100+0x30;
        count = count %100;
        value[3] = count  /10 + 0x30;			 
        value[4] = count  %10 + 0x30;			 
      
        LCD_Cursor(0,1);
        LCD_DisplayString(2,1,value);  
               
        delay_nms(1000);       
	 
	 */
}   

void init_adc(void)
{	
	DDRA&=~BIT(PA0);
	PORTA&=~BIT(PA0);
    ADCSRA = 0x00; 
    ADMUX =0x40;  			             //AVCC,AREF引脚加滤波电容,单端输入ADC0
    ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1) ;//64分频
}

/******************************************************************************/

/******************************************************************************/
 //ADC完成中断
//#pragma vector = interrupt_handler adc_isr:iv_ADC  
// define the interrupt handler

#pragma vector=ADC_vect
    __interrupt void adc_isr( void )
{
    ad_result();
	ADMUX =(adc_mux&0x1f)|(1<<REFS0));
    ADCSRA|=(1<<ADSC);//启动AD转换
}  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?