BAB 2 LANDASAN TEORI
2.1 Dioda Germanium
Dioda adalah komponen aktif semikonduktir yang terdiri dari persambungan junction  P-N.  Sifat  dioda  yaitu  dapat  menghantarkan  arus  pada  tegangan  maju
dan  menghambat  arus  pada  tegangan  balik.  Dioda  berasal  dari  pendekatan  kata dua  elektroda  yaitu  anoda  dan  katoda.  Dioda  semikonduktor  hanya  melewatkan
arus  searah  saja  forward,  sehingga  banyak  digunakan  sebagai  komponen penyearah arus. Secara sederhana sebuah dioda bisa kita asumsikan sebuah katup,
dimana  katup  tersebut  akan  terbuka  manakala  air  yang  mengalir  dari  belakang katup  menuju  kedepan,  sedangkan  katup  akan  menutup  oleh  dorongan  aliran  air
dari depan katup.
Gambar 2.1 Spesifikasi Dioda Germanium Simbol Umum Dioda
Gambar 2.2 Simbol Umum Dioda
Universitas Sumatera Utara
Dioda disimbolkan dengan gambar anak panah yang pada ujungnya terdapat garis yang  melintang.  Simbol tersebut  sebenarnya  adalah sebagai perwakilan dari cara
kerja dioda itu sendiri. Pada pangkal anak panah disebut juga sebagai anoda kaki positif = P dan pada ujung anak panah disebut sebagai katoda kaki negatif = N.
Fungsi Dioda antara lain sebagai berikut: 1.
Sebagai penyearah, untuk dioda bridge. 2.
Sebagai penstabil tegangan voltage regulator, untuk dioda zener. 3.
Pengamansekering. 4.
Sebagai  rangkaian  clipper,  yaitu  untuk  memangkasmembuang  level  sinya yang ada di atas atau dibawah level tegangan tertentu.
5. Sebagai rangkaian clamper, yaitu untuk menambahkan komponen DC kepada
suatu sinya AC. 6.
Sebagai pengganda tegangan. 7.
Sebagai indikator, untuk LED light emiting diode. 8.
Sebagai sensor panas, contoh aplikasi pada rangkaian power amplifier. 9.
Sebagai sensor cahaya, untuk dioda photo. 10.
Sebagai rangkaian VCD voltage controlled oscilator, untuk dioda varactor
2.2 Mikrokontroler
Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar elemennya  dikemas  dalam  satu  chip  IC,  sehingga  sering  juga  disebut  dengan
single  chip  microcomputer.  Mikrokontroler  biasa  dikelompokkan  dalam  satu
Universitas Sumatera Utara
keluarga masing-masing mikrokontroler mempunyai spesifikasi tersendiri namun masih kompatibel dengan pemrogramannya.
Pada  saat  ini  penggunaan  mikrokontroler  dapat  kita  temui  pada  berbagai peralatan,  misalnya  peralatan  yang  terdapat  dirumah,  seperti  telepen  digital,
microwave  oven,  televisi,  mesin  cuci,  sistem  keamanan  rumah,  PDA,  dll. Mikrokontroler  dapat  kita  gunakan  untuk  berbagai  aplikasi  misalnya  untuk
pengendalian,  otomasi  industri,  akusisi  data,  telekomunikasi  dan  lain-lain. Keuntungan  menggunakan  mikrokontroler  yaitu  harganya  murah,  dapat
diprogram  berulang  kali,  dan  dapat  kita  program  sesuai  dengan  keinginan  kita. Saat  ini  keluarga  mikrokontroler  yang  ada  dipasaran  yaitu  Intel  8084  dan  8051
MCS
51
, Motorola 68HC
11
, Micochip PIC, Hitachi H8, dan Atmel AVR.
2.2.1 Sejarah Mikrokontroler
Mikrokontroler  dikembangkan  dari  mikroprosesor.  Berikut  ini  sejarah perkembangan teknologi mikroprosesor dan mikrokontroler.
 Tahun 1617, John Napier menemukan sistem untuk melakukan perkalian dan
pembagian berdasarkan logaritma. 
Tahun  1694,  Gottfriend  Wilhelm  Leibniz  membuat  mesin  mekanik  yang dapat melakukan operasi +, -, , , dan akar kuadrat.
 Tahun 1835, Charles Babbage mengusulkan computer digital pertama didunia
menggunakan  punched  card  untuk  data  dan  instruksi,  serta  program  control dengan unit aritmatika dan unit penyimpanan.
 Tahun  1850,  George  Boole,  mengembangkan  symbolic  logic  termasuk
operasi binari AND, OR, dll
Universitas Sumatera Utara
 Tahun  1946,  Von  Neuman  menyarankan  bahwa  instruksi  menjadi  kode
numerik  yang  disimpan  pada  memori.  Komputer  dan  semua  desain mikrokontroler didasarkan pada komputer Von Neuman.
 Tahun  1948,  Transistor  ditemukan.  Dengan  dikembangkannya  konsep
software,  pada  tahun  1948  mulai  adanya  perkembangan  hardware  penting untuk transistor.
 Tahun 1959, IC Integrated Circuit pertama dibuat.
 Tahun  1971,  Intel  4004  dibuat,  yang  merupakan  Mikroprosesor  pertama.
Terdiri  dari  2250  transistor.  Kemudian  intel  membuat  Intel  8008, mikroprosesor  8  bit.  Semakin  besar  ukuran  bit  berarti  mikroprosesor  dapat
memproses lebih banyak data. 
Tahun  1972,  TMS  1000,  buatan  Texa  Instrumen,  Mikrokontroler  pertama yang dibuat.
 Tahun  1974,  beberapa  pabrikan  IC  menawarkan  mikroprosesor  dan
pengendalian  menggunakan  mikroprosesor  yang  ditawarkan  pada  saat  itu yaitu  8080,  8085,  Motorola  6800,  signetic  6502,  Zilog  z80,  dan  Texas
Instrumens 9900 16 bit. 
Tahun 1978, mikroprosesor 16 bit menjadi lebih umum digunakan yaitu Intel 8086, Motorola 68000 dan Zilog Z8000. Sejak saat itu pabrik mikroprosesor
terus  mengembangkan  mikroprosesor  dengan  berbagai  keistimewaan  dan asristektur.  Mikroprosesor  yang  dikembangkan  termasuk  mikroprosesor  32
bit seperti Intel Pentium, Motorola Dragon Ball, dan beberapa mikrokontroler yang menggunakan ARM core.
Universitas Sumatera Utara
2.2.2 Mikrokontroler ATMEG 8
Atmega 8 adalah low power mikrokontroler 8 bit dengan arsitektur RISC. Mikrokontroler  ini  dapat  mengeksekusi  perintah  dalam  satu  periode  clock  untuk
setiap  instruksi.  Berikut  ini  adalah  contoh  gambar  Atmega  8  yang  terdapat  pada gambar 2.3 dibawah ini.
Gambar 2.3 AT MEGA 8 Mikrokontroler ini diproduksi oleh atmel dari seri AVR. Untuk seri AVR
ini  banyak  jenisnya,  yaitu  Atmega  8,  Atmega  8535,  Mega  8515,  Mega  16,  dan lain-lain.  Mikrokontroler  Atmega  8  ini  sangat  murah  dan  mempunyai  fasilitas
yang sangat memadai untuk mengembangkan berbagai aplikasi. Keuntungan  lainnya  dalam  menggunakan  ATMEGA  8  ini,  jika  ada
perubahan  cara  kerja  sistem  maka  kita  tidak  perlu  merubah  rangkaiannya,  tetapi hanya  dengan  merubah  program-program  yang  lama  dengan  memasukkan
program-program atau instruksi yang baru.
2.2.3 Fitur ATMEGA 8
Beberapa fitur dari Atmega 8 adalah sebagai berikut: 1.
Mikrokontroler  AVR  8  bit  yang  memiliki  kemampuan  tinggi,  dengan  daya rendah.
2. Arsitektur RISC dengan throughput mencapai 8 MIPS pada frekuensi 8 Mhz.
Universitas Sumatera Utara
3. Memiliki kapasitas Flash Program 8 Kbyte, EEPROM 512 Byte dan SRAM 1
Kbyte. 4.
Saluran IO sebanyak 22 buah yaitu Port B, Port C, dan Port D. 5.
CPU yang terdiri dari 22 register. 6.
Unit interupsi internal dan eksternal. 7.
Port USART untuk komunikasi serial. 8.
Fitur Peripheral 
Tiga buah TimerCounter dengan kemampuan perbandingan -
2 dua buah TimerCounter 8 bit dengan Presculer terpisah dan Mode Compare.
- 1  satu  buah  TimerCounter  16  bit  dengan  Presculer  terpisah  dan
Mode Compare, dan Mode Capture. 
Real Time Counter dengan Oscilator tersendiri. 
4 chanel PWM. 
8 chanel, 10 bit ADC. 
Byte-oriented Two-wire Serial Interface 
Programmable Serial USART. 
Antarmuka SPI. 
Whatchdog Timer dengan oscilator internal. 
On-chip Analog Comparator.
Universitas Sumatera Utara
2.2.4 Pin AVR ATMEGA 8
Kaki pin Atmega 8 dapat dilihat pada gambar 2.4 dibawah ini :
Gambar 2.4 Kaki pin ATMEGA 8 ATmega  8 memiliki 28 pin,  yang masing-masing pinnya memiliki fungsi
yang berbeda-beda baik sebagai port maupun sebagai fungsi lainnya. Berikut akan dijelaskan fungsi dari masing kaki ATmega 8.
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merupakan pin Ground.
3. Port B PB7...PB0
Didalam Port B terdapat XTAL 1, XTAL 2, TOSC1, TOSC2. Jumlah  Port B adalah  8  buah  pin,  mulai  dari  pin  B.0  sampai  dengan  B.7.  Tiap  pin  dapat
digunakan  sebagai  input  maupun  output.  Port  B  merupakan  sebuah  8-bit  bi- directional  IO  dengan  internal  pull-up  resistor.  Sebagai  input,  pin-pin  yang
terdapat  pada  port  B  yang  secara  eksternal  diturunkan,  maka  akan mengeluarkan  arus  jika  pull-up  resistor  diaktifkan.  Khusus  PB6  dapat
digunakan  sebagai  input  Kristal  inverting  oscillator  amplifier  dan  input  ke
Universitas Sumatera Utara
rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai
output  Kristal  output  oscillator  amplifier  bergantung  pada  pengaturan  Fuse bit  yang  digunakan  untuk  memilih  sumber  clock.  Jika  sumber  clock    yang
dapat  dipilih  oscillator  internal,  PB7  dan    PB6  dapat  digunakan  sebagai  IO atau jika menggunakan Asyncronous TimerCounter 2 PB6 dan PB7 TOSC2
dan TOSC1 digunakan untuk saluran input timer. Fungsi-fungsi Port B dapat dilihat lebih mudah seperti pada table di bawah ini :
Table 2.1 Fungsi Khusus Port B
Pin Fungsi Khusus
PB7 Merupakan pin masukan clock eksternal TOSC1 Timer Oscillator Pin 1
PB6 Merupakan pin masukan clock eksternal TOSC2 Timer Oscillator Pin 2
PB5 SCK SPI Bus Serial Clock
PB4 MISO SPI Bus Master Input  Slave Output
PB3 MOSI SPI Bus Master Output Slave Output
OC2 Timer Counter 2 Output Compare Match Output PB2
ŜŜ SPI Slave Select Input OCI B TimerCounter 1 Output Compare B Match Output
PB1 OCI A TimerCounter 1 Output Compare A Match Output
PB0 ICP TimerCounter 1 Input Coapture Pin
4. Port C PC6….PC0
Port C merupakan sebuah 7-bit bi-directional IO port yang di dalam masing- masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari
pin  C.0  sampai  dengan  pin  C.6.  Sebagai  keluaranoutput  port  C  memiliki karakteristik  yang  sama  dalam  hal  menyerap  arus  sink  ataupun
mengeluarkan  arus  source.  Jika  RSTDISBL  Fuse  di  program,  maka  PC6 akan  berfungsi  sebagai  pin  IO.  Pin  ini  memiliki  karakteristik  yang  berbeda
Universitas Sumatera Utara
dengan  pin-pin  yang  terdapat  port  C  lainnya.  Namun  jika  RSTDISBL  Fuse tidak  diprogram,  maka  pin  ini  akan  berfungsi  sebagai  input  reset.  Dan  jika
level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari  pulsa  minimum,  maka  akan  menghasilkan  suatu  kondisi  reset  meskipun
clock-nya tidak berkerja. 5.
Port D PD7…PD0 Port  D  merupakan  8-bit  bi-  directional  IO  dengan  Internal  pull-up  resistor.
Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak  terdapat  kegunaan-kegunaan    yang  lain.  Pada  portini  hanya  berfungsi
sebagai  masukan  dan  keluaran  saja  atau  biasa  disebut  dengan  IO.  Fungsi- fungsi Port D dapat dilihat lebih mudah seperti pada table di bawah ini :
Table 2.2 Fungsi Khusus Port B
Pin Fungsi Khusus
PD7 AIN1 Analog Comparator Negative Input
PD6 AIN0 Analog Comparator Positive Input
PD5 T1 TimerCounter 1 External  Counter Input
PD4 XCK USART External Clock InputOutput
T0 Timer Counter 0 External Counter Input PD3
INT 1 External Interrupt 1 Input PD2
INT 0 External Interrupt 0 Input PD1
TXD USART Output Pin PD0
RXD USART Input Pin
6. AVcc
Pin  ini  berfungsi  sebagai  supplytegangan  untuk  ADC.  Untuk  pin  ini  harus dihubungkan  secara  terpisah  dengan  VCC  karena  pin  ini  digunakan  untuk
analog  saja.  Bahkan  jika  ADC  pada  AVR  tidak  digunakan  tetap  saja
Universitas Sumatera Utara
disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.
7. AREF
Merupakan pin masukan tegangan referensi ADC.
2.2.5 Blok Diagram ATMEGA 8
Gambar 2.5 Blok Diagram Atmega 8
Universitas Sumatera Utara
2.2.6 Arsitektur Mikrokontroler AVR RISC
Gambar 2.6 Arsitektur Mikrokontroler AVR RISC
Gambar 2.7 Arsitektur Harvard
Universitas Sumatera Utara
Dari  gambar  diatas  AVR,  menggunakan  arsitektur  Harvard  dengan memisahkan antara memori dan bus untuk program dan data untuk menghasilkan
kemampuan  dan  kecepatan.  Instruksi  dalam  memori  program  dieksekusi  dengan pipelining  single  level.  Dimana  ketika  satu  instruksi  dieksekusi,  intruksi
berikutnya  diambil  dari  dari  memori  program.  Konsep  ini  mengakibatkan instruksi dieksekusi setiap clock cycle. CPU terdiri dari 32 x 8 bit purpose register
yang  dapat  diakses  dengan  cepat  dalam  satu  clock  cycle,  yang  mengakibatkan operasi  Arithmetic  Logic  Unit  ALU  dapat  dilakukan  dalam  satu  cycle.  Pada
operasi ALU, dua operand berasal dari regester, kemudian operasi dieksekusi dan hasilnya  disimpan  kembali  pada  regester  dalam  satu  clock  cycle.  Operasi
aritmatika dan logic pada ALU akan mengubah bit-bit yang terdapat pada Status Register  SREG.  Proses  pengambilan  instruksi  dan  pengeksekusian  instruksi
berjalan  secara parallel, dapat dilihat pada gambar dibawah ini :
Gambar 2.8 Proses pengambilan instruksi dan pengeksekusian instruksi secara pararel
Instruksi 1 : Fetching 1
Executing 1 Instruksi 2 :
Fetching 2 Executing 2
Gambar 2.9 Prinsip kerja Pipelining
Universitas Sumatera Utara
2.2.7 General Purpose Register AVR
Gambar 2.10 General Purpose Register AVR Gambar  diatas  menunjukkan  struktur  32  general  purpose  register  yang
terdapat  di  dalam  CPU,  masing-masing  register  ditentukan  juga  dalam  alamat memori  data,  dipetakan  kedalam  32  lokasi  pertama  data  user.  Walaupun  tidak
secara  fisik  diimplementasikan  sebagai  lokasi  SRAM,  namun  pengaturan  ini memberikan flexsibilitas dalam mengakses register, seperti register pointer X, Y,
dan Z dapat diset menuju index dari register file manapun.
2.2.8 Stack Pointer
Stack  digunakan  untuk  menyimpan  data  sementara,  untuk  menyimpan variable  local  dan  untuk  menyimpan  return  address  setelah  interrupt  dan
pemanggilan  subrutin.  Stack  pointer  selalu  menunjukkan  ke  puncak  stack.  Stack diimplementasi  mulai  dari  lokasi  memori  tertinggi  ke  lokasi  memori  terendah,
sehingga perintah PUSH akan menurangi Stack Pointer.
Gambar. 2.11 Stack Pointer
Universitas Sumatera Utara
2.2.9 Peta Memori AVR ATmega 8
Gambar 2.12 Peta Memori AVR ATmega 8
Memori atmega terbagi menjadi tiga yaitu : 1.
Memori Flash Memori  flash  Adalah  memori  ROM  tempat  kode-kode  program  berada.
Kata flash menunjukkan jenis ROM yang dapat ditulis dan dihapus secara elektrik.  Memori  flash  terbagi  menjadi  dua  bagian  yaitu  bagian  aplikasi
dan  bagian  boot.  Bagian  aplikasi  adalah  bagian  kode-kode  program aplikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk
booting  awal  yang  dapat  diprogram  untuk  menulis  bagian  aplikasi  tanpa melalui programmerdownloader, misalnya melalui USART.
2. Memori data
Memori  data  adalah  memori  RAM  yang  digunakan  untuk  keperluan program.  Memori  data  terbagi  menjadi  empat  yaitu:  32  GPR  General
Purphose Register adalah register khusus yang bertugas untuk membantu eksekusi  program  oleh  ALU  Arithmatich  Logic  Unit,  dalam  instruksi
Universitas Sumatera Utara
assembler  setiap  instruksi  harus  melibatkan  GPR.  Dalam  bahasa  C biasanya digunakan untuk variabel global atau nilai baik fungsi dan nilai-
nilai  yang  dapat  memperingan  kerja  ALU.  Dalam  istilah  processor komputer  sehari-
hari GPR dikenal sebagai “chace memory”, IO register dan Aditional IO register yang difungsikan khusus untuk mengendalikan
berbagai pheripheral dalam mikrokontroler seperti pin port, timercounter, usart    dan  lain-lain.  Register  ini  dalam  keluarga  mikrokontroler  MCS51
dikenal sebagai SFR Special Function Register 3.
EEPROM EEPROM  adalah  memori  data  yang  dapat  mengendap  ketika  chip  mati
off,  digunakan  untuk  keperluan  penyimpanan  data  yang  tahan  terhadap gangguan satu daya.
2.2.10 Status Register SREG
Pada AVR status register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk
altering  arus  program  sebagai  kegunaan  untuk  meningkatkan  performa pengoperasian.  Register  ini  di-update  setelah  operasi  ALU  Arithmetic  Logic
Unit  hal  tersebut  seperti  yang  tertulis  dalam  datasheet  khususnya  pada  bagian Instruction  Set  Reference.  Dalam  hal  ini  untuk  beberapa  kasus  dapat  membuang
penggunaan  kebutuhan  instrukasi  perbandingan  yang  telah  didedikasikan  serta dapat  menghasilkan  peningkatan  dalam  hal  kecepatan  dank  ode  yang  lebih
sederhana  dan  singkat.  Register  ini  tidak  secara  otomatis  tersimpan  ketika memasuki  sebuah  rutin  interupsi  dan  juga  ketika  menjalankan  sebuah  perintah
Universitas Sumatera Utara
setelah  kembali  dari  interupsi.  Namun  hal  tersebut  harus  dilakukan  melalui software. Berikut adalah gambar status register.
Gambar 2.13 Status Register Atmega 8 
Bit 7 I Merupakan  bit  Global  Interrupt  Enable.  Bitini  harus  di-set  agar  semua
perintah  interupsi  dapat dijalankan. Untuk perintah  interupsi individual akan di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah
interupsi  baik  yang  individual  maupun  yang  secara  umum  akan  di  abaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi
di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di- set dan di-reset melalui aplikasi SEI dan CLL.
 Bit 6T
Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD Bit Load and  BST  Bit  Store  menggunakan  bit  ini  sebagai  asal  atau  tujuan  untuk  bit
yang  telah  dioperasikan.  Sebuah  bit  dari  sebuah  register  dalam  RegisterFile dapat  disalin  ke  dalam  bit  ini  dengan  menggunakan  instruksi  BST,  dan
sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan perintah BLD.
 Bit 5 H
Merupakan bit Half Carry Flag.Bit ini menandakan sebuah Half Carry dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.
Universitas Sumatera Utara
 Bit 4 S
Merupakan  Signbit.  Bit  ini  selalu  merupakan  sebuah  ekslusif  di  antara Negative Flag N dan
two’s Complements Overflow Flag V 
Bit 3 V Merupakan
bitTwo’s Complement Overflow Flag. Bit ini menyediakan fungsi aritmatika dua komplemen.
 Bit 2 N
Merupakan  bitNegative  Flag.  Bit  ini  mengindikasikan  sebuah  hasil  negative di dalam sebuah fungsi logika atai aritmatika.
 Bit 1Z
Merupakan bit Zero Flag . Bit ini mengindikasikan sebuah hasil nol “0” dalam
sebuah fungsi aritmatika atau logika. 
Bit 0 C Merupakan  bit  Carry  Flag.  Bit  ini  mengindikasikan  sebuah  Carry  atau  sisa
dalam sebuah aritmatika atau logika.
2.2.11 TimerCounter 0
Timercounter  0  adalah  sebuah  Timercounter  yang  dapat  mencacah sumber  pulsaclock  dari  dalam  chip  timer  ataupun  dari  luar  chip  counter
dengan kapasitas 8-bit atau 256 cacahan. Timercounter dapat digunakan untuk: 1.
Timercounter biasa 2.
Clear timer on compare match selain atmega 8 3.
Generator frekuensi selain atmega 8 4.
Counter pulsa eksternal
Universitas Sumatera Utara
2.2.12 Komunikasi Serial pada Atmega 8
Komunikasi  serial  merupakan  komunikasi  yang  relative  lambat dibandingkan  dengan  komunikasi  parallel.  Oleh  karena  itu,  komunikasi  serial
sering  melibatkan  interupsi  untuk  mengetahui  apakah  pengiriman  mampu menerima data yang telah selesai atau yang belum selesai dikirim.
Metode  yang  paling  aman  untuk  proses  pengiriman  dan  penerimaan  saat serial adalah dengan menyediakan buffer untuk kedua proses tersebut. Data yang
akan dikirim tidak secara langsung diberikan kepada SBUF, melainkan diberikan kepada buffer. Demikian juga dengan pengambilan data yang tidak langsung dari
SBUF,  melainkan  diambil  dari  buffer,  perpindahan  keduanya  diserahkan  kepada prosedur dalam intrupsi serial.
Pada mikrokontroler AVR Atmega 8 memiliki Port USART yang terdapat pada  pin  2  dan  pin  3  untuk  melakukan  komunikasi  data  antara  mikrokontroler
dengan  mikrokontroler  ataupun  mikrokontroler  dengan  komputer.  USART  dapat difungsikan  sebagai  transmisi  data  sinkron,  dan  asinkron.  Sinkron  berarti  clock
yang  digunakan  antara  transmiter  dan  receiver  satu  sumber  clock.  Sedangkan asinkron  berarti  transmiter  dan  receiver  mempunyai  sumber  clock  sendiri-
sendiri.USART  terdiri  dalam  tiga  blok  yaitu  clock  generator,  transmiter,  dan receiver.
Universitas Sumatera Utara
Gambar 2.14 Blok USART 
Clock generator
Clock  generator  berhubungan  dengan  kecepatan  transfer  data  baud  rate register yang bertugas menentukan baud rate adalah register pasangan.
USART transmiter
Usart  transmiter  berhubungan  dengan  data  pada  Pin  TX.  Perangkat  yang sering  digunakan  seperti  register  UDR  sebagai  tempat  penampungan  data
yang  akan  ditransmisikan.  Flag  TXC  sebagai  akibat  dari  data  yang ditransmisikan telah sukses complete, dan flag UDRE sebagai indikator jika
UDR kosong dan siap untuk diisi data yang akan ditransmisikan lagi. 
USART receiver
Usart receiver berhubungan dengan penerimaan data dari Pin RX. Perangkat yang sering digunakan seperti register UDR sebagai tempat penampung data
yang telah diterima, dan flag RXC sebagai indikator bahwa data telah sukses complete diterima.
Universitas Sumatera Utara
2.3 Analog to Digital Converter ADC
ADC adalah suatu alat yang mampu untuk mengubah sinyal atau tegangan analog menjadi informasi digital. Resolusi ADC selalu dinyatakan sebagai jumlah
bit-bit  dalam  kode  keluaran  digitalnya.  Misalnya,  ADC  dengan  resolusi  n-bit memiliki  2
n
kode  digital  yang  mungkin  dan  berarti  juga  memiliki  2
n
step  level. Jika resolusi ADC semakin tinggi, maka semakin banyak kemungkinan nilai-nilai
analog  yang  bisa  disajikan.Misalnya  ADC  dengan  resolusi  8  bit  menghasilkan bilangan  0  samapi  225  256  bilangan  255  step
,  dengan  demikian  tidak  mungkin menyajikan semua kemungkinan nilai-nilai analog.
Jika sekarang resolusinya menjadi 10 bit maka akan menghasilkan bilangan 0 dengan 1023 1024 bilangan dan 1023
step.
V
ADC
=
� ��   � ��
x V
REF
Nilai Digital =
�
x 256
Fitur-fitur pada arsitektur  ADC mikrokontroler AVR adalah sebagai berikut : 
Resolusi maksimum 10 bit dapat dipilih resolusi 8 bit 
0.5 LSB Integral Non Linearity 
Akurasi mutlak ± 2 LSB 
Waktu konversi 13 – 260 µs
 Pengambilan  sampel  sampai  15  kilo  sampel  per  detik  pada  resolusi
maksimum 
8 kanal masukan single ended termultipleks
Universitas Sumatera Utara
 7 kanal masukan differensial dan 2 kanal masukan differential dengan opsi
penguatan 10 x dan 200x 
Jangkauan tegangan masukan ADC 0-VCC 
Tegangan refrensi 2,56 V internal yang dipilih 
Mode konversi tunggal Ada  banyak  cara  yang  dapat  digunakan  untuk  mengubah  sinyal  analog
menjadi  sinyal  digital  yang  nilainya  proposional.  Jenis  ADC  yang  biasa digunakan  dalam  perancangan  adalah  jenis  successive  approximation  convertion
atau pendekatan bertingkat yang memiliki waktu konveksi jauh lebih singkat dan tidak  tergantung  pada  nilai  masukan  analognya  atau  sinyal  yang  akan  diubah.
Diagram blok pengubah sinyak analog ke dalam digital ditunjukkan pada gambar 2.21 berikut ini :
Gambar 2.15 Diagram blok ADC
Prinsip  kerja  rangkaian  pada  gambar  2.21  tersebut  adalah  jika  sinyal masukan  mulai konversi dari unit kendali diberi logika  “0”, maka register SAR
successive  approximation  register  akan  direset.  Sehingga  keluaran  V
out
unit
Universitas Sumatera Utara
DAC  Digital  to  Analog menjadi  nol.  Pada  waktu  sinyal  “mulai  konversi”
kembali menjadi tinggi operasi konversi segera dimulai. Proses  konversi  diawali  dengan  pengesetan  bit  paling  berarti  MSB
register  SAR  oleh  kendali.  Selanjutnya  data  digital  dalam  register  SAR  di konversi ke analog oleh DAC. Hasil konversi V
out
oleh unit dibandingkan dengan sinyal  masukan  V
in
oleh  unit  pembanding.  Bila  V
out
lebih  besar  dari  pada  V
in
maka unti pembanding akan mengirimkan sinyal negative ke unit kendali. Dengan adanya  sinyal  negative  ini,  unit  kendali  akan  mereset  bit  paling  berarti  MSB
register  SAR.  Sebaliknya,  jika  V
out
lebih  kecil  dari  V
in,
unit  pembanding  akan mengirimkan sinyal positif ke unit kendali. Dengan sinyal positif ini, unit kendali
tetap mengeset bit paling berarti MSB. Pada  pulsa  clock  berikutnya  uit  terkendali  akan  mengeset  bit  yang  lebig
rendah yaitu bit ke 7 register SAR. Kemudian data dikonversikan oleh unit DAC dan  hasil  konversi  V
out
dibandingkan  dengan  sinyal  masukan  V
in.
Sinyal  hasil perbandingan akan menentukan unit kendali untuk mengeset dan mereset register
SAR.  Demikian  proses  ini  berlangsung  sampai  diperoleh  nilai  V
in
sama  dengan nilai V
out .
Apabila konversi telah selesai, unit kendali mengirimkan sinyal ‘selesai konversi’ yang berlogika rendah.
2.4 Pemrograman Mikrokontroler Menggunakan Code Vision Avr