NEWTC



  • HOME
  • 온라인강의
  • AVR 강의

 
[공개] AD 컨버터용 함수 라이브러리입니다.
 글쓴이 : N.T.C
작성일 : 06-04-19 04:19
조회 : 18,703  
   AVR_강좌___AD_컨버터.pdf (104.5K) [4355] DATE : 2006-04-19 04:19:40
안녕하세요? AVR로 ADC를 통해 온도계 같은 것을 만들고자 하는 분이 계시나요? 아래 루틴 및 라이브러리를 참조하세요. 첨부한 강좌도 참고하세요. int temp; void main(void){ init_devices(); Adc_Start(); while(1){ temp = Adc_Data(2); // 2번 채널을 사용할 경우임 printf("rnTemp : %d", temp); ........... Adc_Stop(); } } void adc_init(void) { ADCSRA = 0x00; //disable adc ADMUX = 0x00; //select adc input 0 } void Adc_Start( void ) { ADMUX = 0x00; ADCSRA = 0xc7; //AD enable, ADSC:1, free runnung:0,ADIF,ADIE:0 } void Adc_Stop( void ) { ADMUX = 0x00; ADCSRA = 0x07; // Adc disable } unsigned int Adc_Data( unsigned char mux ) { unsigned int value = 0x0000; ADCSRA &=0x3f; // Adc_disable, ADSC:0 ADMUX |= mux; ADCSRA |= 0xC7; // Adc_Enable delay(1); value = (ADCL)&0x00ff; value |= (ADCH << 8); value &= 0x03ff; delay(4); return value; }