Anda di halaman 1dari 3

Analog-to-Digital Converter Atmega8535

ATmega8535 menyediakan fasilitas ADC dengan resolusi 10 bit. ADC ini dihubungkan dengan 8 channel Analog Multiplexer yang memungkinkan terbentuk 8 input tegangan single- ended yang masuk melalui pin pada PortA. ADC memiliki pin supply tegangan analog yang terpisah yaitu AVCC. Besarnya tegangan AVCC adalah 0.3V dari VCC. Tegangan referensi ADC dapat dipilih menggunakan tegangan referensi internal maupun eksternal. Jika menggunakan tegangan referensi internal, bisa dipilih on-chip internal reference voltage yaitu sebesar 2.56V atau sebesar AVCC. Jika menggunakan tegangan referensi eksternal, dapat dihubungkan melalui pin AREF. ADC mengkonversi tegangan input analog menjadi data digital 8 bit atau 10 bit. Data digital tersebut akan disimpan didalam ADC Data Register yaitu ADCH dan ADCL. Sekali ADCL dibaca, maka akses ke data register tidak bisa dilakukan. Dan ketika ADCH dibaca, maka akses ke data register kembali enable.

Aplikasi 1. ADC 8 Bit, Tegangan Referensi adalah AVCC.


Pada aplikasi ini mikrokontroler akan membaca tegangan analog pada input ADC0 dan menampilkan data hasil konversinya ke PORTC. Tegangan referensi ADC sama dengan AVCC.
SPI PORT +5V 1 2 3 4 5 6 MOSI MISO SCK RESET VCC GND

U1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PB.0 (XCK/T0) (ADC0) PA.0 PB.1 (T1) (ADC1) PA.1 PB.2 (INT2/AIN0) (ADC2) PA.2 PB.3 (OC0/AIN1) (ADC3) PA.3 PB.4 (SS) (ADC4) PA.4 PB.5 (MOSI) (ADC5) PA.5 PB.6 (MISO) (ADC6) PA.6 PB.7 (SCK) (ADC7) PA.7 RESET AREF VCC GND GND AVCC XTAL2 (TOSC2) PC.7 XTAL1 (TOSC1) PC.6 PD.0 (RXD) PC.5 PD.1 (TXD) PC.4 PD.2 (INT2) PC.3 PD.3 (INT1) PC.2 PD.4 (OC1B) (SDA) PC.1 PD.5 (OC1A) (SCL) PC.0 PD.6 (ICP1) (OC2) PD.7 ATmega8535 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Analog Analog Analog Analog Analog Analog Analog Analog +5V Input Input Input Input Input Input Input Input 0 1 2 3 4 5 6 7

10K

MOSI

S1

+5V MISO 10uF/16V


SCK

33pF

XTAL

11.0592 MHz 33pF

220

LED

Gambar 1 Rangkaian Aplikasi ADC Dengan Tegangan Referensi AVCC Jika resolusi dipilih sebesar 8 bit, maka data digital akan disimpan pada ADCH. Berikut adalah langkah percobaannya : 1. Pastikan pin AVCC terhubung ke VCC yaitu +5V. 2. Lakukan setting codewizard sebagai berikut :

AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00

Page 1 of 3

3. Buat program sebagai berikut :


#include <mega8535.h> #include <delay.h> #define ADC_VREF_TYPE 0x60 // Read the 8 most significant bits // of the AD conversion result unsigned char 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 ADCH; } // Declare your global variables here void main(void) { . . . // ADC initialization // ADC Clock frequency: 691,200 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: Off // ADC Auto Trigger Source: None // Only the 8 most significant bits of // the AD conversion result are used ADMUX=ADC_VREF_TYPE & 0xff;

AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00

Page 2 of 3

ADCSRA=0x84; SFIOR&=0xEF; while (1) { // Place your code here read_adc(0); PORTC=ADCH; }; }

4. Compile, download dan masukkan tegangan analog 0 s/d 5 V ke input ADC0. 5. Perhatikan apa yang terjadi pada LED.

AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00

Page 3 of 3

Anda mungkin juga menyukai