Konstruksi dasar AT89Cx051
Meskipun termasuk tua, keluarga Mikrokontroler  MCS51 adalah      Mikrokontroler yang paling populer saat ini. Keluarga ini diawali  oleh Intel      yang mengenalkan IC Mikrokontroler type 8051 pada awal tahun  1980-an, 8051      termasuk sederhana dan harganya murah sehingga banyak digemari,  banyak pabrik      IC besar lain yang ikut memproduksnya, tentu saja masing-masing  pabrik menambahkan      kemampuan pada mikrokontroler buatannya meskipun semuanya masih  dibuat berdasarkan      8051. Sampai kini sudah ada lebih 100 macam mikrokontroler turunan  8051, sehingga      terbentuklah sebuah ‘keluarga besar mikrokontroler’ dan biasa  disebut sebagai      MCS51.
     Belakangan ini, pabrik IC Atmel ikut menambah  anggota keluarga      MCS51. Atmel merupakan pabrik IC yang sangat menguasai teknologi  pembuatan      Flash PEROM, jadi sudah selayaknya kalau Atmel memasukkan Flash  PEROM ke dalam      mikrokontroler buatannya. Usaha Atmel ini ternyatakan bagaikan  menambah ‘darah’      baru bagi keluarga MCS51, dengan adanya Flash PEROM yang harganya  murah maka      tercapailah angan-angan banyak orang untuk membuat alat berbasis  mikrokontroler      yang sesederhana mungkin dan semurah mungkin.
     Produksi mikrokontroler MCS51 Atmel dibagi dua  macam, yang      berkaki 40 setara dengan 8051 yang asli, bedanya mikrokontroler  Atmel berisikan      Flash PEROM dengan kapasitas berlainan. AT89C51 mempunyai Flash  PEROM dengan      kapasitas 2 Kilo Byte, AT89C52 4 Kilo Byte, AT89C53 12 Kilo Byte,  AT89C55      20 Kilo Byte  dan AT89C8252 berisikan      8 Kilo Byte Flash PEROM dan 2 Kilo Byte EEPROM.
     Yang berkaki 20 adalah MCS51 yang disederhanakan,  penyederhanaan       dilakukan dengan cara mengurangi jalur untuk input/output  paralel,      kemampuan yang lain sama sekali tidak mengalami pengurangan.  Penederhanaan      ini dimaksudkan untuk membentuk mikrokontroler yang bentuk fisiknya  sekecil      mungkin tapi mempunyai kemampuan sama. Atmel memproduksi 3 buah  mikrokontroler      ‘mini’ ini, masing-masing adalah AT89C1051 dengan kapasitas Flash  PEROM 1      Kilo Byte, AT89C2051 2 Kilo Byte dan AT89C4051 4 Kilo Byte. Ketiga  mikrokontroler      ini secara umum disebut sebagai AT89Cx051.
klik pada gambar untuk ukuran sebenarnya 
 Gambar 1
Susunan kaki AT89Cx051 dan kontruksi dalam chip
Susunan kaki AT89Cx051 dan kontruksi dalam chip
Konstruksi AT89Cx051
     Gambar 1 memperlihatkan susunan kaki AT89C2051,  susunan kaki      ini sama persis dengan AT89C1051 dan AT89C4051. Demikian pula ketiga  IC mempunyai      konstruksi di dalam chip yang sama persis, perbedaannya hanya  terletak pada      kapasitas Flash PEROM.
      IC AT89Cx051 hanya memerlukan tambahan 3  kapasitor, 1 resistor      dan 1 Xtal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan  resistor 10      Kilo Ohm dipakai untuk membentuk rangkaian reset, dengan adanya  rangkaian      reset ini AT89Cx051 otomatis di-reset begitu rangkaian menerima catu  daya.      Xtal dengan frekuensi maksimum 24 MHz dan 2 kapasitor 30 pico-Farad  dipakai      untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan  kecepatan      kerja mikrokontroler. 
      Memori merupakan bagian yang sangat penting bagi  mikrokontroler,      diperlukan 2 macam memori yang sifatnya berbeda. 
      Read Only Memory (ROM) yang isinya      tidak berubah meskipun IC kehilangan catu daya, dipakai untuk  menyimpan program,      begitu di-reset mikrokontroler akan langsung bekerja dengan program  dalam      ROM  tersebut. Sesuai dengan keperluannya,      dalam susunan MCS51 memori penyimpan program ini dinamakan sebagai MEMORI       PROGRAM.
      Random Access Memory (RAM) isinya akan  sirna begitu      IC kehilangan catu daya, dipakai untuk menyimpan data pada saat  program bekerja.      Di samping untuk data, RAM dipakai pula untuk Stack.  RAM yang dipakai untuk menyimpan data      ini disebut pula sebagai MEMORI DATA.
      Ada berbagai jenis ROM. Untuk  mikrokontroler dengan      program yang sudah baku dan diproduksi secara massal, program  diisikan ke      dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC.  Untuk keperluan      yang jumlahnya tidak banyak biasanya tidak dipakai ROM, tapi  dipakai      ROM yang bisa di-isi-ulang atau Programable-Eraseable       ROM (disingkat menjadi PEROM atau PROM). Dulu  banyak      dipakai UV-EPROM (Ultra Violet Eraseable Programable ROM)  yang kemudian      dinilai mahal harganya dan ditinggalkan setelah ada Flash      PEROM yang harganya jauh lebih murah.
      Jenis memori yang dipakai untuk Memori Program  AT89Cx051      adalah Flash PEROM, program untuk mengendalikan  mikrokontroler diisikan      ke memori itu lewat bantuan alat yang dinamakan sebagai AT89Cx051 Flash PEROM  Programmer.
Memori Data yang disediakan dalam chip  AT89Cx051 sebesar      128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan  memori kapasitas      itusudah mencukupi.
      Sarana Input/Output yang disediakan cukup  banyak      dan bervariasi. AT89Cx051 mempunyai 17 jalur Input/Output paralel.  Jalur Input/Output      paralel ini dikenal sebagai Port 1 (P1.0..P1.7)       dan Port 3 (P3.0..P3.5 dan P3.7).
      AT89Cx051 dilengkapi UART  (Universal      Asynchronous Receiver/Transmiter) yang biasa dipakai untuk  komunikasi      data secara seri. Jalur untuk komunikasi data seri (RXD       dan TXD) diletakan berhimpitan dengan P1.0 dan P1.1 di kaki  nomor      2 dan 3, sehingga kalau sarana UART ini dipakai       maka P1.0 dan P1.1 tidak       lagi bisa dipakai untuk jalur input/output paralel.
    Timer 0 dan Timer 1 masing-masing adalah untaian pencacah  biner      16 bit (16 bit binary counter) di dalam chip yang dipakai sebagai  sarana input/output      yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah  ini bisa      berasal dari oscilator kristal atau clock yang diumpan dari luar  lewat T0 dan T1.       T0 dan T1      berhimpitan dengan P3.4 dan P3.5,  sehingga P3.4 dan P3.5  tidak bisa dipakai untuk jalur input/output paralel      kalau T0 dan T1  dipakai.
       AT89Cx051 mempunyai 5 sumber pembangkit  interupsi, 2 diantaranya      adalah sinyal interupsi yang diumpankan ke kaki INT0  dan INT1, kedua kaki      ini berhimpitan dengan P3.2 dan P3.3  sehingga tidak bisa dipakai sebagai jalur input/output      paralel kalau INT0 dan INT1  dipakai untuk menerima sinyal interupsi.
        3 sumber interupsi yang lain berasal dan sarana  komunikasi      data seri dan dari sistem Timer 0 dan Timer 1.
        Port 1, Port 2, UART, Timer 0, Timer 1 dan sarana  lainnya      merupakan register yang secara fisik merupakan RAM khusus,  yang ditempatkan      di Special Function Register (SFR).
Dasar kerja program
      Program untuk mengendalikan kerja dari  mikrokontroler disimpan      di dalam memori program. Program pengendali tersebut merupakan  kumpulan dari      instruksi kerja mikrokontroler, 1 instruksi MCS51 merupakan kode  yang panjangnya      bisa satu sampai empat byte.
       Sepanjang mikrokontroler bekerja, instruksi  tersebut byte      demi byte diambil ke CPU dan selanjutnya dipakai untuk mengatur  kerja mikrokontroler.      Proses pengambilan instruksi dari memori program dikatakan sebagai ‘fetch       cycles’ dan saat-saat CPU melaksanakan instruksi disebuat  sebagai      ‘execute cycles’. 
       Semua mikrokontroler maupun mikroprosesor  dilengkapi sebuah      register yang berfungsi khsus untuk mengatur ‘fetch cycles’,       register tersebut dinamakan sebagai Program  Counter.      Nilai Program Counter secara otomatis  bertambah      satu setiap kali selesai mengambil 1 byte isi memori program, dengan  demikian      isi memori program bisa berurutan diumpankan ke CPU.
        Saat MCS51 di-reset, isi Program  Counter      di-reset menjadi 0000. Artinya sesaat setelah reset isi dari memori  program      nomor 0 dan seterusnya akan diambil ke CPU dan diperlakukan sebagai  instruksi      yang akan mengatur kerja mikrokontroler. Dengan demikian, awal dari  program      pengendali MCS51 harus ditempatkan di memori nomor 0, setelah reset  MCS51      menjalankan program mulai dari memori-program nomor 0000, dengan  melakukan      proses ‘fetch cycles’ dan ‘execute       cycles’ terus menerus tanpa henti.
        Jika sarana interupsi  diaktipkan,      dan tegangan di kaki INT0 (kaki nomor      6) merubah dari ‘1’ menjadi      ‘0’, maka proses      menjalankan program di atas akan dihentikan sebentar, mikrokontroler  melayani      dulu permintaan interupsi, selesai melayani permintaan interupsi       CPU akan melanjutkan mengerjakan program utama lagi.
         Untuk melaksanakan hal tersebut, pertama-tama CPU  menyimpan      nilai Program Counter ke Stack       (Stack merupakan satu bagian kecil  dari data      memori – RAM), kemudian mengganti isi Program  Counter dengan 0003. Artinya MCS51 akan  melaksanakan      program yang ditempatkan di memori program mulai byte ke 3 untuk  melayani      interupsi yang diterima dari kaki INT0.  Adalah tugas      programer untuk mengatur agar program yang dipakai untuk melayani  interupsi      lewat INT0 diletakkan disitu. 
        Selesai melayani interupsi, nilai Program Counter  yang tadi      disimpan ke dalam Stack akan  dikembalikan      ke Program Counter,       dengan demikian CPU bisa melanjutkan pekerjaan di program Utama.
      Selain INT0, AT89Cx051 bisa menerima interupsi dari INT1, dari UART dan dari Timer. Agar permintaan interupsi itu bisa  dilayani dengan      program yang berlainan, maka masing-masing sumber interupsi itu  mempunyai      nomor awal program untuk layanan interupsi yang berlainan.  Nomor-nomor awal      tersebut digambarkan dalam Gambar 2.
 Gambar 2
Peta Memori Program
Peta Memori Program

0 komentar:
Posting Komentar