Top Banner
AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00 Page 1 of 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. +5V +5V +5V Analog Input 0 Analog Input 1 Analog Input 2 Analog Input 3 Analog Input 4 Analog Input 5 Analog Input 6 Analog Input 7 MISO SCK MOSI MISO MOSI RESET GND VCC SCK S1 33pF LED 10uF/16V U1 ATmega8535 PB.2 (INT2/AIN0) 3 XTAL1 13 XTAL2 12 RESET 9 VCC 10 GND 11 PB.6 (MISO) 7 PB.7 (SCK) 8 PD.0 (RXD) 14 PD.1 (TXD) 15 PD.2 (INT2) 16 PD.3 (INT1) 17 PD.4 (OC1B) 18 PD.5 (OC1A) 19 PD.6 (ICP1) 20 (OC2) PD.7 21 (ADC0) PA.0 40 (ADC1) PA.1 39 (ADC2) PA.2 38 (ADC3) PA.3 37 (ADC4) PA.4 36 (ADC5) PA.5 35 (ADC6) PA.6 34 (ADC7) PA.7 33 (TOSC2) PC.7 29 (TOSC1) PC.6 28 PC.5 27 PC.4 26 PC.3 25 PC.2 24 (SDA) PC.1 23 (SCL) PC.0 22 AREF 32 GND 31 AVCC 30 PB.5 (MOSI) 6 PB.4 (SS) 5 PB.3 (OC0/AIN1) 4 PB.1 (T1) 2 PB.0 (XCK/T0) 1 XTAL 11.0592 MHz 220 10K 33pF SPI PORT 1 2 3 4 5 6 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 :
3

Analog-to-Digital Converter Atmega8535 · Atmega8535 ATmega8535 menyediakan fasilitas ADC dengan resolusi 10 bit. ADC ini dihubungkan dengan 8 channel Analog Multiplexer yang memungkinkan

Aug 31, 2018

Download

Documents

vanxuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Analog-to-Digital Converter Atmega8535 · Atmega8535 ATmega8535 menyediakan fasilitas ADC dengan resolusi 10 bit. ADC ini dihubungkan dengan 8 channel Analog Multiplexer yang memungkinkan

AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00 Page 1 of 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.

+5V

+5V

+5V

Analog Input 0Analog Input 1Analog Input 2Analog Input 3Analog Input 4Analog Input 5Analog Input 6Analog Input 7

MISOSCK

MOSI

MISOMOSI

RESET

GNDVCC

SCK

S1

33pF

LED

10uF/16V

U1

ATmega8535

PB.2 (INT2/AIN0)3

XTAL113 XTAL212

RESET9

VCC10

GND11

PB.6 (MISO)7

PB.7 (SCK)8

PD.0 (RXD)14

PD.1 (TXD)15

PD.2 (INT2)16

PD.3 (INT1)17

PD.4 (OC1B)18

PD.5 (OC1A)19

PD.6 (ICP1)20

(OC2) PD.721

(ADC0) PA.040

(ADC1) PA.139

(ADC2) PA.238

(ADC3) PA.337

(ADC4) PA.436

(ADC5) PA.535

(ADC6) PA.634

(ADC7) PA.733

(TOSC2) PC.729

(TOSC1) PC.628

PC.527

PC.426

PC.325

PC.224

(SDA) PC.123

(SCL) PC.022

AREF32

GND31

AVCC30

PB.5 (MOSI)6 PB.4 (SS)5 PB.3 (OC0/AIN1)4

PB.1 (T1)2 PB.0 (XCK/T0)1

XTAL

11.0592 MHz

220

10K

33pF

SPI PORT

123456

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 :

Page 2: Analog-to-Digital Converter Atmega8535 · Atmega8535 ATmega8535 menyediakan fasilitas ADC dengan resolusi 10 bit. ADC ini dihubungkan dengan 8 channel Analog Multiplexer yang memungkinkan

AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00 Page 2 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;

Page 3: Analog-to-Digital Converter Atmega8535 · Atmega8535 ATmega8535 menyediakan fasilitas ADC dengan resolusi 10 bit. ADC ini dihubungkan dengan 8 channel Analog Multiplexer yang memungkinkan

AVR Application Note By Hendawan Soebhakti Created on 19/11/2008 19:17:00 Page 3 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.