Anda di halaman 1dari 16

LECTURE 22

Analog Comparator

1
Analog Komparator
Berguna untuk membandingkan dua buah input
analog
Misal membandingkan output level dari suatu
sensor dengan tegangan referensi tertentu
Biasanya setelah dibandingkan akan dibuat aksi
lain untuk menjalankan suatu aktuator

2
Analog Komparator

3
Analog Komparator

Punya 2 masukan yaitu AIN0 dan AIN1


Jika AIN0 > AIN1 output komparator akan menuju
saturasi positif atau ‘1’
Jika AIN0 < AIN1 output komparator akan menuju
saturasi negatif atau ‘0’

4
Analog Komparator

Dari output komparator analog tersebut menuju


ke logika Flag Interupsi (ACI Analog Comparator
Interrupt Flag) dan Flag Output Komparator
Analog (ACO Analog Comparator Output Flag)

5
Analog Komparator

AIN0 dan AIN1 terletak di Port B maka pada


pin tersebut harus dibuat sebagai input
dengan membuat logika rendah pada DDRB,2
dan DDRB,3
Logika rendah pada PortB 2 dan 3 untuk
menonaktifkan resistor pullup internal

6
Analog Komparator

ACD – (Analog Comparator Disable) jika ingin


menonaktifkan komparator analog (menghemat
daya) diberikan logika tinggi ke bit ACD. Sebelum
mematikan komparator analog , interupsi
komparator analog juga sebaiknya dimatikan
untuk menghindari timbulnya interupsi.

7
Analog Komparator

ACBG – (Analog Comparator Bandgap Select)


jika diberikan logika rendah maka pin non
inverting komparator terhubung ke pin AIN0,
jika diberikan logika tinggi maka masukan
non inverting terhubung ke fixed bandgap
reference voltage.
8
Analog Komparator

ACO – (Analog Comparator Output) output dari


komparator analog yang dapat dibaca untuk kita
ketahui flagnya

9
Analog Komparator

ACI – (Analog Comparator Interrupt Flag) bit


bernilai tinggi apabila output komparator
mentrigger salah satu mode interupsi yang
didefinisikan oleh bit ACIS. Demikian juga
saat Global Interrupt dan interupsi
komparator analog aktif

10
Analog Komparator

ACIE – (Analog Comparator Interrupt Enable)


jika bit bernilai ‘1’ dan bit global interrupt juga
aktif, maka interupsi komparator analog juga
aktif. Jika ‘0’ maka tak aktif

11
Analog Komparator

ACIC – (Analog Comparator Capture Enable)


menghubungkan output dari komparator
analog dengan input Capture Timer/Counter1.
Memungkinkan menghitung waktu yang
diperlukan antara 2 kejadian yang terjadi pada
komparator analog dengan mengeset ‘1’,
TIMSK juga harus diset.

12
Analog Komparator

ACIS – (Analog Comparator Interrupt Mode


Select) dapat diatur mode logika yang
menyebabkan trigger pada bit ACI.
Ada tiga kemungkinan yaitu saat komparator
analog berubah dari 0 ke 1, 1 ke 0 dan saat
terjadi perubahan logika. Jika mau mengubah
kondisi interupsinya dimatikan dahulu

13
Analog Komparator

 Memungkinkan untuk memilih pada pin pada AD0…7 untuk


menggantikan inverting input komparator analog
 Mux ADC digunakan sebgai input, sehingga fungsinya
sebagai ADC dimatikan
 Jika ACME diset (ACME pada SFIOR) dan ADC dimatikan
(ADEN pada ADCSRA dberikan logika ‘0’) dan MUX2..0 pada
ADMUX diseting seperti pada tabel diatas maka analog
comparator negative input akan diberikan pada jalur ADC0..7
 Jika ACME diclear atau ADEN diset, AIN1 dikembalikan lagi
ke asalnya
14
Contoh Program // Analog Comparator initialization
 #include <mega8535.h>

 void main(void)  // Analog Comparator: On


 {
 PORTA=0x00;
 // Analog Comparator Input


DDRA=0x00; Capture by Timer/Counter 1: Off
PORTB=0x00;
 DDRB=0x00;  // Analog Comparator Output: On
 PORTC=0x00;  ACSR=0x20;
 DDRC=0xFF;
 PORTD=0x00;  SFIOR=0x00;
 DDRD=0x00;
 TCCR0=0x00;  // Global enable interrupts
 TCNT0=0x00;  #asm("sei")
 OCR0=0x00;
 TCCR1A=0x00;
 TCCR1B=0x00;
 TCNT1H=0x00;  while (1)


TCNT1L=0x00;
OCR1AH=0x00;
 {


OCR1AL=0x00;  if (ACSR.5==0) {PORTC=0;}
OCR1BH=0x00;
 OCR1BL=0x00;  else
 ASSR=0x00; 
 TCCR2=0x00;


TCNT2=0x00;  {PORTC=0xff;}
OCR2=0x00;
 MCUCR=0x00;  };
 MCUCSR=0x00;  }
15
End of slide……

Anda mungkin juga menyukai