#include <mega128.h>

#include "delay.h"

#include "lcd.h"


void LCD_Decimal(unsigned char num, short AD_dat){

  unsigned char Decimal[5];

  Decimal[4] = '0' + AD_dat / 10000;      //10000자리 아스키 값으로 저장

  AD_dat = AD_dat % 10000;             //나머지값

  Decimal[3] = '0' + AD_dat / 1000;      //1000자리 아스키 값으로 저장

  AD_dat = AD_dat % 1000;             //나머지값

  Decimal[2] = '0' + AD_dat / 100;      //100자리 아스키 값으로 저장

  AD_dat = AD_dat % 100;             //나머지값

  Decimal[1] = '0' + AD_dat / 10;      //10자리 아스키 값으로 저장

  AD_dat = AD_dat % 10;             //나머지값

  Decimal[0] = '0' + AD_dat / 1;      //1자리 아스키 값으로 저장

  if(num == 0){

    LCD_pos(0,10);        LCD_Data(Decimal[3]);

    //LCD 10번째 칸       0번째 열에 1000자리 표시

    LCD_pos(0,11);        LCD_Data(Decimal[2]);

    //LCD 11번째 칸                               

    LCD_pos(0,12);        LCD_Data(Decimal[1]);

    LCD_pos(0,13);        LCD_Data(Decimal[0]);

  }                                            

  else if(num == 1){                          

    LCD_pos(1,10);        LCD_Data(Decimal[4]);

    LCD_pos(1,11);        LCD_Data('.');

    LCD_pos(1,12);        LCD_Data(Decimal[3]);          

    LCD_pos(1,13);        LCD_Data(Decimal[2]);

    LCD_pos(1,14);        LCD_Data(Decimal[1]);

    LCD_pos(1,15);        LCD_Data(Decimal[0]);

    LCD_pos(1,16);        LCD_Data('V');

  }

}


void AD_init(){

  ADMUX |= (1<<REFS1)|(1<<REFS0);      //MUX0~4 = 00000

  ADCSRA |= (1<<ADEN)|(1<<ADSC)|(1<<ADFR);          //free running 모드로 동작위해

}

void main(){

  short Voltage = 0;

  AD_init();

  PortInit();             //lcd.h에 있음

  LCD_Init();             //lcd.h에 있음

  //A/D 데이터 전압으로 변환

  LCD_pos(0,0);

  LCD_STR("Voltage : ");

  LCD_pos(1,0);

  LCD_STR("R.Value : "); 

  while(1){

    Voltage = (short)((0.0025 * ADCW) * 10000);

    LCD_Decimal(0,ADCW);  //AD 데이터

    LCD_Decimal(1,Voltage);  //전압값

    delay_ms(100);

  }

}

'학교 > M.P.' 카테고리의 다른 글

문자출력(출력 - 그래픽LCD)  (0) 2015.12.16
방향출력(입력 - 스위치, 출력 - LCD2줄)  (0) 2015.12.16
시간출력(출력 - LCD2줄)  (0) 2015.12.16
LCD출력(출력 - LCD2줄)  (0) 2015.12.16
블로그 이미지

뭐해볼까

,