Dokumen tersebut membahas tentang pengertian sinyal analog dan digital. Sinyal analog adalah sinyal kontinu yang mengubah karakteristik gelombang, sedangkan sinyal digital hanya memiliki nilai 0 dan 1. Dokumen juga menjelaskan prinsip kerja Analog to Digital Converter (ADC) yang berfungsi mengubah sinyal analog menjadi digital melalui proses sampling, quantization, dan encoding.
2. Pengertian sinyal
Sinyal adalah suatu besaran fisis yang berubah terhadap waktu, ruang, ataupun
dapat berubah terhadap variabel bebas lainnya, yang dimaksud dengan variabel bebas
disini adalah sinyal dapat dikatakan sebagai sinyal kontinyu (dinyatakan dengan x(n)),
sinyal diskrit (dinyatakan dengan x(t)), dan lain-lain .
Sinyal terbagi 2 macam yaitu
3. 1. Sinyal analag
2. Sinyal digital
A. SINYAL ANALOG
Sinyal analog / Isyarat Analog adalah sinyal data dalam bentuk gelombang yang
kontinyu, yang membawa informasi dengan mengubah karakteristik gelombang. Dua
parameter/ karakteristik terpenting yang dimiliki oleh isyarat analog adalah amplitude
dan frekuensi. Isyarat analog biasanya dinyatakan dengan gelombang sinus,
mengingat gelombang sinus merupakan dasar untuk semua bentuk isyarat analog.
Gelombang pada Sinyal Analog yang umumnya berbentuk gelombang sinus memiliki
tiga variable dasar, yaitu amplitudo, frekuensi dan phase.
• Amplitudo merupakan ukuran tinggi rendahnya tegangan dari sinyal analog.
• Frekuensi adalah jumlah gelombang sinyal analog dalam satuan detik.
• Phase adalah besar sudut dari sinyal analog pada saat tertentu.
B. Sinyal digital
4. Sinyal digital merupakan sinyal data dalam bentuk pulsa yang dapat mengalami
perubahan yang tiba-tiba dan mempunyai besaran 0 dan 1.Teknologi Sinyal digital
hanya memiliki dua keadaan, yaitu 0 dan 1, sehingga tidak mudah terpengaruh oleh
derau/noise, tetapi transmisi dengan sinyal digital hanya mencapai jarak jangkau
pengiriman data yang relatif dekat. Sinyal Digital juga biasanya disebut juga Sinyal
Diskret.
Sistem Sinyal Digital merupakan bentuk sampling dari sytem analog. digital pada
dasarnya di code-kan dalam bentuk biner (atau Hexa). besarnya nhlai suatu system
digital dibatasi oleh lebarnya / jumlah bit (bandwidth). jumlah bit juga sangat
mempengaruhi nilai akurasi system digital.
Teknologi Sinyal Digital ini juga memiliki kelebihan yang tidak dimiliki
olehTeknologi Sinyal Analog. Diantaranya adalah dibawah ini :
• Mampu mengirimkan informasi dengan kecepatan cahaya yang dapat membuat
informasi dapat dikirim dengan kecepatan tinggi.
• Penggunaan yang berulang – ulang terhadap informasi tidak mempengaruhi
kualitas dan kuantitas informsi itu sendiri.
• Informasi dapat dengan mudah diproses dan dimodifikasi ke dalam berbagai
bentuk.
• Dapat memproses informasi dalam jumlah yang sangat besar dan mengirimnya
secara interaktif.
5. Pada saat ini banyak teknologi-teknologi yang memakai Teknologi Sinyal Digital.
Karena kelebihan kelebihannya, antara lain:
1. untuk menyimpan hasil pengolahan, sinyal digital lebih mudah dibandingkan sinyal
analog. Untuk menyimpan sinyal digital dapat menggunakan media digital seperti CD,
DVD, Flash Disk, Hardisk. Sedangkan media penyimpanan sinyal analog adalah pita
tape magnetik.
2. lebih kebal terhadap noise karena bekerja pada level ’0′ dan ’1′.
3. lebih kebal terhadap perubahan temperatur.
4. lebih mudah pemrosesannya.
Untuk itu di perlukan perangkat mengubah sinyal analog ke digital atau
ADC(analog digital converter).
PENGERTIAN ADC(ANALOG DIGITAL CONVERTER)
ADC (Analog To Digital Converter) adalah perangkat elektronika yang berfungsi
untuk mengubah sinyal analog (sinyal kontinyu) menjadi sinyal digital. Perangkat
ADC (Analog To Digital Convertion) dapat berbentuk suatu modul atau rangkaian
elektronika maupun suatu chip IC. ADC (Analog To Digital Converter) berfungsi
untuk menjembatani pemrosesan sinyal analog oleh sistem digital.. ADC banyak
digunakan sebagai Pengatur proses industri, komunikasi digital dan rangkaian
pengukuran/ pengujian. Umumnya ADC digunakan sebagai perantara antara sensor
yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya,
tekanan/ berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim
digital (komputer).
Proses yang terjadi dalam ADC adalah:
Pen-cuplik-an
Peng-kuantisasi-an
Peng-kode-an
6. Pen-cuplik-an adalah proses mengambil suatu nilai pasti (diskrit) dalam suatu data
kontinu dalam satu titik waktu tertentu dengan periode yang tetap. Untuk lebih
jelasnya dapat dilihat pada ilustrasi gambar berikut:
Semakin besar frekuensi pen-cuplik-an, berarti semakin banyak data diskrit yang
didapatkan, maka semakin cepat ADC tersebut memproses suatu data analog menjadi
data digital.
Peng-kuantisasi-an adalah proses pengelompokan data diskrit yang didapatkan
pada proses pertama ke dalam kelompok-kelompok data. Kuantisasi, dalam
matematika dan pemrosesan sinyal digital, adalah proses pemetaan nilai input seperti
nilai pembulatan.
Semakin banyak kelompok-kelompok dalam proses kuantisasi, berarti semakin kecil
selisih data diskrit yang didapatkan dari data analog, maka semakin teliti ADC
tersebut memproses suatu data analog menjadi data digital.
Peng-kode-an adalah meng-kode-kan data hasil kuantisasi ke dalam bentuk
digital (0/1) atau dalam suatu nilai biner.
7. Dengan: X1 = 11, X2 = 11, X3 = 10, X4 = 01, X5 = 01, X6 = 10.
Secara matematis, proses ADC dapat dinyatakan dalam persamaan:
Data ADC = (Vin/Vref) x Maksimal Data Digital
Dengan Vref adalah jenjang tiap kelompok dalam proses
kuantisasi,kemudian maksimal data digital berkaitan proses ke-3
(peng-kode-an). Sedangkan proses ke-1 adalah seberapa cepat data ADC dihasilkan
dalam satu kali proses.
ADC (Analog to Digital Converter) memiliki 2 karakter prinsip, yaitu kecepatan
sampling dan resolusi.
Kecepatan Sampling ADC
Kecepatan sampling suatu ADC menyatakan “seberapa sering sinyal analog
dikonversikan ke bentuk sinyal digital pada selang waktu tertentu”. Kecepatan
sampling biasanya dinyatakan dalam sample per second (SPS).
Ilustrasi Kecepatan Sampling ADC
Resolusi ADC
Resolusi ADC menentukan “ketelitian nilai hasil konversi ADC”. Sebagai contoh:
ADC 8 bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat
dinyatakan dalam 255 (2n – 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data
digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh
8. diatas ADC 12 bit akan memberikan ketelitian nilai hasil konversi yang jauh lebih
baik daripada ADC 8 bit.
Prinsip Kerja ADC
Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang
merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh,
bila tegangan referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi
adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan
didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001
(bentuk biner).
signal = (sample/max_value) * reference_voltage
= (153/255) * 5
= 3 Volts
Komparator ADC
Bentuk komunikasi yang paling mendasar antara wujud digital dan analog adalah
piranti (biasanya berupa IC) disebut komparator. Piranti ini, yang diperlihatkan secara
skematik pada gambar dibawah, secara sederhana membandingkan dua tegangan pada
kedua terminal inputnya. Bergantung pada tegangan mana yang lebih besar, outputnya
akan berupa sinyal digital 1 (high) atau 0 (low). Komparator ini digunakan secara luas
untuk sinyal alarm ke komputer atau sistem pemroses digital. Elemen ini juga
merupakan satu bagian dengan konverter analog ke digital dan digital ke analog yang
akan didiskusikan nanti.
Konsep Kompataror Pada ADC (Analog to Digital Converter)
Gambar diatas memperlihatkan sebuah komparator merubah keadaan logika output
sesuai fungsi tegangan input analog. Sebuah komparator dapat tersusun dari sebuah
9. opamp yang memberikan output terpotong untuk menghasilkan level yang diinginkan
untuk kondisi logika (+5 dan 0 untuk TTL 1 dan 0). Komparator komersil didesain
untuk memiliki level logika yang dperlukan pada bagian outputnya.
Jenis-Jenis ADC (Analog To Digital Converter)
ADC Simultan
ADC Simultan atau biasa disebut flash converter atau parallel converter. Input
analog Vi yang akan diubah ke bentuk digital diberikan secara simultan pada sisi +
pada komparator tersebut, dan input pada sisi – tergantung pada ukuran bit converter.
Ketika Vi melebihi tegangan input – dari suatu komparator, maka output komparator
adalah high, sebaliknya akan memberikan output low.
ADC Simultan
Bila Vref diset pada nilai 5 Volt, maka dari gambar 3 dapat didapatkan :
V(-) untuk C7 = Vref * (13/14) = 4,64
V(-) untuk C6 = Vref * (11/14) = 3,93
V(-) untuk C5 = Vref * (9/14) = 3,21
V(-) untuk C4 = Vref * (7/14) = 2,5
V(-) untuk C3 = Vref * (5/14) = 1,78
V(-) untuk C2 = Vref * (3/14) = 1,07
V(-) untuk C1 = Vref * (1/14) = 0,36
Misal :
10. Vin diberi sinyal analog 3 Volt, maka output dari C7=0, C6=0, C5=0, C4=1, C3=1,
C2=1, C1=1, sehingga didapatkan output ADC yaitu 100 biner
Tabel Output ADC Simultan
Ada beberapa konsep dasar dari ADC adalah dengan cara Counter Ramp
ADC, Successive Aproximation ADC dan lain sebagainya.
Counter Ramp ADC
Blok Diagram Counter Ramp ADC
Pada gambar diatas, ditunjukkan blok diagram Counter Ramp ADC didalamnya
tedapat DAC yang diberi masukan dari counter, masukan counter dari sumber Clock
dimana sumber Clock dikontrol dengan cara meng AND kan dengan keluaran
Comparator. Comparator membandingkan antara tegangan masukan analog dengan
tegangan keluaran DAC, apabila tegangan masukan yang akan dikonversi belum sama
dengan tegangan keluaran dari DAC maka keluaran comparator = 1 sehingga Clock
dapat memberi masukan counter dan hitungan counter naik.
Misal akan dikonversi tegangan analog 2 volt, dengan mengasumsikan counter reset,
sehingga keluaran pada DAC juga 0 volt. Apabila konversi dimulai maka counter
akan naik dari 0000 ke 0001 karena mendapatkan pulsa masuk dari Clock oscillator
11. dimana saat itu keluaran Comparator = 1, karena mendapatkan kombinasi biner dari
counter 0001 maka tegangan keluaran DAC naik dan dibandingkan lagi dengan
tegangan masukan demikian seterusnya nilai counter naik dan keluaran tegangan
DAC juga naik hingga suatu saat tegangan masukan dan tegangan keluaran DAC
sama yang mengakibatkan keluaran komparator = 0 dan Clock tidak dapat masuk.
Nilai counter saat itulah yang merupakan hasil konversi dari analog yang dimasukkan.
Kelemahan dari counter tersebut adalah lama, karena harus melakukan trace mulai
dari 0000 hingga mencapai tegangan yang sama sehingga butuh waktu.
SAR (Successive Aproximation Register) ADC
Pada gambar diatas ditunjukkan diagram ADC jenis SAR, Yaitu dengan memakai
konvigurasi yang hampir sama dengan counter ramp tetapi dalam melakukan trace
dengan cara tracking dengan mengeluarkan kombinasi bit MSB = 1 ====> 1000 0000.
Apabila belum sama (kurang dari tegangan analog input maka bit MSB berikutnya =
1 ===>1100 0000) dan apabila tegangan analog input ternyata lebih kecil dari
tegangan yang dihasilkan DAC maka langkah berikutnya menurunkan kombinasi bit
====> 10100000.
Untuk mempermudah pengertian dari metode ini diberikan contoh seperti pada timing
diagram gambar 6 Misal diberi tegangan analog input sebesar 6,84 volt dan tegangan
referensi ADC 10 volt sehingga apabila keluaran tegangan sbb :
12. Jika D7 = 1 Vout=5 volt
Jika D6 = 1 Vout=2,5 volt
Jika D5 = 1 Vout=1,25 volt
Jika D4 = 1 Vout=0,625 volt
Jika D3 = 1 Vout=0,3125 volt
Jika D2 = 1 Vout=0,1625 volt
Jika D1 = 1 Vout=0,078125 volt
Jika D0 = 1 Vout=0,0390625 volt
Timing diagram urutan Trace SAR ADC
Setelah diberikan sinyal start maka konversi dimulai dengan memberikan kombinasi
1000 0000 ternyata menghasilakan tegangan 5 volt dimana masih kurang dari
tegangan input 6,84 volt, kombinasi berubah menjadi 1100 0000 sehingga Vout = 7,5
volt dan ternyata lebih besar dari 6,84 sehingga kombinasi menjadi 1010 0000
tegangan Vout = 6,25 volt kombinasi naik lagi 1011 0000 demikian seterusnya hingga
mencapai tegangan 6,8359 volt dan membutuhkan hanya 8 clock.
CONTOH SOAL ADC
Contoh kasus:
1. Suatu rangkaian ADC dengan IC 0804 diberikan input tegangan analog sebesar 3
volt. Tegangan referensi IC di-set di 5 volt. Berapakah data digital output dari IC?
Jawaban:
IC 0804 adalah IC ADC dengan output 8 bit data digital. Maka maksimal data
13. digital-nya adalah 28 – 1 = 255 (pengurangan 1 dilakukan karena data dimulai dari
0-255 yang berarti berjumlah 256). Sehingga data digital output IC adalah:
Data ADC = (Vin/Vref) x Maksimal Data Digital
Data ADC = (3/5) x 255
Data digital output IC = 153 = 10011001
2. Suatu rangkaian mikrokontroler AVR ATmega16 membaca data digital di salah
satu pin ADC-nya adalah 0111110100. Dengan diketahui bahwa pin AREF-nya
dihubungkan ke tegangan sumber 5 volt, berapakah tegangan input pada pin ADC-nya
tersebut?
Jawaban:
IC mikrokontroler AVR ATmeg16 adalah mikrokontroler yang terdapat rangkaian
ADC internal di dalam IC-nya. ADC internal dari ATmega16 memiliki ketelitian
sampai dengan 10 bit, sehingga maksimal data digital-nya adalah 210 – 1 = 1023. Pin
AREF pada mikrokontroler ini adalah salah satu opsi tegangan referensi ADC-nya.
Sehingga tegangan input dapat dihitung dengan cara:
Data digital output = 0111110100(2) = 500(10)
Data ADC = (Vin/Vref) x Maksimal Data Digital
500 = (Vin/5) x 1023
Vin = (500 x 5 / 1023) = 2,44 Volt
3. Suatu rangkaian mikrokontroler AVR ATmega16 terhubung kepada sensor suhu
LM35. Dalam proses pembacaan data pada pin ADC-nya, data yang terbaca adalah
300(10). Berapakah suhu yang terdeteksi oleh LM35 jika pin AREF pada
mikrokontroler diset di tegangan 1 volt?
Jawaban:
Langkah pertama dalam menyelesaikan kasus-3 adalah menentukan tegangan input di
pin ADC yang adalah tegangan keluaran dari LM35 dengan cara seperti pada
penyelesaian kasus-2:
Data ADC = (Vin/Vref) x Maksimal Data Digital
14. 300 = (Vin/1) x 1023
Vin = (300 x 1 / 1023) = 0,2933 Volt
Langkah berikutnya adalah menentukan suhu yang dideteksi oleh LM35. Untuk
melakukan itu perlu diperhatikan sensitivitas dari LM35. Dari datasheet-nya, LM35
memiliki sensitivitas 10 mV/oC. Sehingga suhu yang terdeteksi oleh LM35 (T):
T = (Vin/Sensitivitas) = (0,2933/0,01) = 29,33 oC
APLIKASI ADC (ANALOG DIGITAL CONVERTER)
Sebagaian besar data yang ada di dunia ini merupakan data analog, misalnya:
temperatur, tekanan, tegangan listrik dll. Sebagai contoh temperatur di
dalam boiler sebesar 800 C: saat boiler dinyalakan, temperatur tersebut tidak akan
langsung menunjukkan angka 800, tetapi akan naik secara bertahap dari temperatur
normal, 400 C, 500 C hingga mencapai 800 C. Gambar di atas merupakan contoh dari
sinyal analog.
Data analog yang ada akan diproses menggunakan sebuah sinyal prosessing, sebagai
input sinyal analog, akan tetapi pemrosesan sinyal analog, kurang efiisien dikarenakan
akurasi nya relatif kecil, error yang cukup besar dan kecepatan pemrosesan sendiri
yang relatif lambat. Sehingga data analog yang hendak diproses perlu diubah ke data
bentuk digital menggunakan Analog to Digital Converter (ADC).
15. Gambar 2 – Proses pengakuisisian sinyal (www.maxembedded.com)
Proses akuisisi sinyal terdiri dari tiga tahap, pada tahap pertama adalah tahap
pengindraan/sensing, oleh sensor terhadap besaran fisis yang akan di ukur atau
diproses secara lanjut, dimana sensor sendiri adalah sebuah komponen yang
mengubah besaran fisis menjadi besaran elektrik yang dapat berupa tegangan, arus
atau hambatan. Sehingga besaran fisis yang di-sensing akan diubah menjadi besaran
elektrik yang masih merupakan sinyal analog. Tahap kedua adalah tahap konversi
sinyal analog menjadi sinyal digital dengan menggunakan Analog to Digital
Converter(ADC), sehingga dihasilkan sinyal digital, pada tahap ketiga sinyal digital
tersebut kemudian menjadi input pada komponen pemrosesan sinyal, dimana
komponen yang sering digunakan sebagai pemrosesan sinyal adalah mikrokontroler
(MCU).
Pada mikrokontroler keluarga AVR seri ATMEGA 8/16/32/8535, fitur ADC
sudah build in di dalam chip. Fitur internal ADC inilah yang menjadi salah satu
kelebihan mikrokontroler ini jika dibandingan dengan beberapa jenis mikrokontroler
lainnya, sehingga tidak perlu menggunakan rangkaian ADC eksternal tambahan.
Atmega memiliki resolusi ADC 10 bit yang berarti nilai ADC memiliki rentang nilai
2 pangkat 10 (2^10) = 1024. Hal tersebut artinya ADC akan memiliki rentang nilai
16. antara 0 hingga 1024. Selain itu, resolusi ADC juga dapat menggunakan ADC 8 bit
dan Jika ADC 8 bit, maka nilai ADC nya adalah 2^8.
Dengan 8 channel (PA0 – PA7), rangkaian internal ADC memiliki catu daya
tersendiri yaitu pin AVCC. Dimana fitur lebih lengkapnya dapat dilihat pada gambar
berikut :
10 – bit Resolution
5 LSB Integral Non-Liniearity
±2 LSB Absolute Accuracy
13 – 260 µs Conversion Time
Up to 15 kSPS at maximum Resolution
8 Multiplexed Single Ended Input Channels
7 Differential Input Channels with Optional Gain of 10x and 200x
Optional left adjustment for ADC result Readout
0 – Vcc ADC input Voltage Range
Selectable 2.56V ADC reference Voltage
Free running or Single Conversion Mode
ADC Start Conversion by Auto triggering on Interrupt Sources
Interrupt on ADC Conversion Complete
Sleep Mode Noise Canceler
Rumus konversi nilai sinyal analog menjadi besarnya tegangan dengan nilai ADC
adalah sebagai berikut :
Rumus ADC
Pada rumus di atas, System voltage merupakan besarnya tegangan input ADC atau
AVCC. Sebagai contoh, jika sistem kita menggunakan tagangan 5V , menggunakan
resolusi ADC 10 bit dan tegangan analog sebesar 2.12V, maka berapakah nilai ADC?
17. Berikut ini adalah salah satu contoh aplikasi dari fitur ADC yang paling sederhana,
yaitu mengubah pembacaan nilai tegangan analog input menjadi nilai data digital atau
nilai ADC dimana tegangan analognya berasal dari potensiometer yang dirangkai
sebagai pembagi tegangan. Jika potensiometer diputar maka nilai tegangan akan
berubah, dalam artian semakin kecil atau semakin besar itu tergantung dari rangkaian
pembagi tegangan yang dibuat, sehingga nilai ADC yang terbaca dan ditampilkan ke
LCD juga akan berubah. Mikrokontroler yang digunakan adalah ATMEGA16 dengan
rangkaian sebagai berikut:
18. Gambar 3 – Rangkaian ADC pada Proteus
Pada aplikasi ADC ini digunakan compiler Codevision AVR, dimana untuk
mengaktifkan fitur ADC menggunakan codevison AVR ini adalah dengan memberi
tAnda centang pada ADC enabled seperti pada gambar di bawah ini:
Gambar 4 – Opsi ADC pada CVAVR
Adapun coding-an program yang digunakan adalah sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
int ADC;
char temp[16];
#include <mega16.h>
#include <stdlib.h>
#include <delay.h>
// Alphanumeric LCD functions
#include <alcd.h>
#define ADC_VREF_TYPE 0x00
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
19. 23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=I
n
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=
T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=I
n
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=
T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=I
n
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=
T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=I
n
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=
T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
20. 85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 750.000 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: ADC Stopped
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
21. 147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
// TWI disabled
TWCR=0x00;
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);
while (1)
{
ADC=read_adc(0);
lcd_clear( );
lcd_gotoxy(0,0);
lcd_putsf("Nilai ADC");
itoa(ADC,temp);
lcd_gotoxy(0,1) ;
lcd_puts(temp);
delay_ms(500);
}
}