이 매뉴얼은 JK전자(JK Electronics) 에 의해서 번역, 수정, 작성 되었고 소유권 또한
JK전자(JK Electronics)
의 것입니다. 소유권자의 허가를 받지 않고 무단으로 수정, 삭제하거나 배포 할 수 없습니다.



 

온도센서 DS18B20 모듈 Atmega128 제어 예제


 
* Update history

- 2012.9.20 : 초기 Release


  1. Atmega128 Rabbit 개발보드와 연결 실험

(1) Atmega128 Rabbit 개발보드와 아래와 같이 연결(GPIO PC4) 합니다.

전원은 3.3V/5V 모두 사용가능 합니다.



(2) 제어 소스(ATMEGA128 Avrstudio 4.14 Build589 프로젝트 소스 다운로드 )

GPIO PC4를 입력으로 하여 온도값을 읽어 옵니다.



#include "hw_config.h"
#include "ds18b20.h"
#include "7segment.h"

static float adc_data_float_value = 0.0f;
static u16 adc_data_value = 0;

void main(void)
{


  u16 temperature;

  CLI();  // all interrupt disable
   


  bsp_fnd_gpio_init();
  
  bsp_ds18b20_gpio_init();
  ds18b20_init();
  
  SEI();  // all interrupt enable

  while(1)
  {
    temperature = read_ds18b20_temperature (); // read temperature
    temperature *= 0.625// convert the actual temperature of 10 times;
    while (temperature == 850)
    {
           temperature = read_ds18b20_temperature(); // read temperature
           temperature *= 0.625;
      _delay_ms (1);
    }    

    // usart_format_puts("temperature=%d\r\n", temperature);
    fnd_puts_temperature(temperature, 3);
  }

}