Farikh_ notes


Menampilkan Data Adc dan Nilai Tegangan pada LCD

Posted in mikrokontroller oleh farikhardiansyah pada Desember 21, 2012

Pada projek ini saya akan membahas tentang cara pembacaan dari nilai adc dan nilai tegangan yang yang dihasilkan. Dalam projek ini saya menggunakan ATMega 8535., untuk gambar rangkaiannya dapat dilihat di bawah ini :

Untitled

 

untuk programnya seperti dibawah ini :

Chip type                                  : ATmega8535
Program type                           : Application
AVR Core Clock frequency   : 4,000000 MHz
Memory model                        : Small
External RAM size                 : 0
Data Stack size                        : 128
*****************************************************/

#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#include <stdlib.h>
float baca;
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

#define ADC_VREF_TYPE 0x00

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

// Declare your global variables here
char fafa[33];
int data;

// program untuk menampilkan nilai adc dari 0-1023
void baca_nilai_adc()
{
data=read_adc(0);
lcd_gotoxy(0,0);
sprintf(fafa,”data ADC = %4u”,data);
lcd_puts(fafa);
delay_ms(200);
}
//program untuk menampilkan nilai tegangan yang dihasilkan
void baca_tegangan()
{
data=read_adc(0);
baca=(float)data*5/1024;
lcd_gotoxy(0,0);
lcd_puts(“nilai tegangan =”);
lcd_gotoxy(6,1);
ftoa(baca,2,fafa);
lcd_puts(fafa);
delay_ms(200);
}
while (1)
{
// Place your code here
baca_nilai_adc();

baca_tegangan()
};
}

 

cukup dulu yang bisasaya share….

semoga bermanfaat 😀

 

3 Tanggapan to 'Menampilkan Data Adc dan Nilai Tegangan pada LCD'

Subscribe to comments with RSS atau TrackBack to 'Menampilkan Data Adc dan Nilai Tegangan pada LCD'.

  1. milan said,

    char fafa[33]
    itu maksudnya apa mas?


    • itu hanya penamaan karakter gan…..”fafa” bisa agan ganti dengan nama yang agan kehendaki.,


  2. sprintf(fafa,”data ADC = %4u”,data), mksud u di sni apa yh mas?

    lo %d kn desimal, lo %i kn integer…

    tks..


Tinggalkan Balasan ke milan Batalkan balasan