Mikrokontroler
AT89S52
Mikrokontroler merupakan sistem komputer kecil yang
biasa digunakan untuk sistem pengendali atau pengontrol yang dapat diprogram
sesuai kebutuhan. Mikrokontroller memiliki 4KB Flash Programmable dan
Erasable Read Only Memory(PEROM) didalamnya.
Mikrokontroler AT89S52
merupakan pengembangan dari mikrokontroler MCS-51. Mikrokontroler ini
biasa disebut juga dengan mikrokomputer CMOS 8 bit dengan 8 Kbyte
yang dapat dIprogram sampai 1000 kali pemograman. Selain itu AT89S52 juga
mempunyai kapasitas RAM sebesar 256 bytes, 32 saluran I/O, Watchdog timer, dua
pointer data, tiga buah timer/counter 16-bit, Programmable UART (Serial Port).
Memori Flash digunakan untuk menyimpan perintah (instruksi) berstandar MCS-51,
sehingga memungkinkan mikrokontroler ini bekerja sendiri tanpa diperlukan
tambahan chip lainnya (single chip operation), mode operasi keping tunggal yang
tidak memerlukan external memory dan memori flashnya mampu diprogram hingga
seribu kali. Hal lain yang menguntungkan adalah sistem pemogramanan menjadi
lebih sederhana dan tidak memerlukan rangkaian yang rumit.
Sebuah mikrokontroler dapat
berfungsi/bekerja, apabila telah terisi oleh program. Program terlebih dahulu
dimasukan kedalam memori sesuai dengan kebutuhan penggunaaan pengontrolan yang
diperlukan dan yang hendak dijalankan. Program yang dimasukkan kedalam
mikrokontroler Atmel 89S52 adalah berupa file heksa (Hex File), dan program
tersebut berisikan instruksi atau perintah untuk menjalankan sistem kontrol.
Mikrokontroler merupakan single chip computer yang
memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang
berorientasi kontrol, Mikrokontroller berkembang dengan dua alasan utama, yaitu
kebutuhan pasar (market needed) dan perkembangan teknologi baru.
Dalam perkembangannya sampai saat ini, sudah banyak produk mikrokontroller yang
telah diproduksi oleh berbagai perusahaan pembuat IC (Integrated Circuit)
diantara salah satunya adalah jenis mikrokontroller yang digunakan dalam
perancangan alat ini yaitu mikrokontroller seri 8052 yang dibuat oleh ATMEL,
dengan kode produk AT89S52. Secara fisik, mikrokontroler AT89S52 mempunyai 40
pin, 32 pin diantaranya adalah pin untuk keperluan port masukan/keluaran. Satu
port paralel terdiri dari 8 pin, dengan demikian 32 pin tersebut membentuk 4
buah portparalel, yang masing-masing dikenal dengan Port 0, Port1, Port2 dan
Port3. Dengan keistimewaan di atas perancangan dengan menggunakan
mikrokontroler AT89S52 menjadi lebih sederhana dan tidak memerlukan komponen
pendukung yang lebih banyak lagi.
Konfigurasi
Pin AT89S52
Setiap pin (kaki) dari mikrkontroler AT89S51 mempunyai
fungsi masing-masing fungsi. Arsitektur hardware mikrokontroller AT89S52 dari
perspektif luar atau biasa disebut pin out digambarkan pada
gambar 2.1 di bawah ini
Gambar 1. Konfigurasi Pin Mikrokontroler AT89S52
Berikut adalah penjelasan mengenai
fungsi dari tiap-tiap pin (kaki) yang ada pada mikrokontroller AT89S52.
a. Port
0
Merupakan dual-purpose port (port
yang memiliki dua kegunaan). Pada disain yang minimum (sederhana), port 0
digunakan sebagai port Input/Output (I/O).. Port 0 terdapat
pada pin 32-39.
b. Port
1
Merupakan port yang hanya berfungsi sebagai port I/O (Input/Output).
Port 1 terdapat pada pin 1-8.
c. Port
2
Merupakan dual-purpose port. Pada
desain minimum digunakan sebagai port I/O (Input/Output). Sedangkan pada
desain lebih lanjut digunakan sebagai high byte dari address (alamat).
Port 2 terdapat pada pin 21-28.
d. Port
3
Merupakan dual-purpose port. Selain
sebagai port I/O (Input/Output), port 3 juga mempunyai fungsi khusus.
Fungsi khusus tersebut diperlihatkan
Tabel 1.1 Data Port 3 pin 10 -17
e. PSEN
(Program Store Enable)
PSEN adalah sinyal kontrol yang mengizinkan untuk
mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin OE
(Output Enable) dari EPROM. Sinyal PSEN akan “0” (LOW) pada tahap fetch (penjemputan)
instruksi. PSEN akan selalu bernilai “1” (HIGH) pada pembacaan program
memori internal. PSEN terdapat pada pin 29.
f. ALE
(Address Latch Enable)
ALE digunakan untuk men-demultiplex address (alamat)
dan data bus. ketika menggunakan program memori eksternal, port 0 akan
berfungsi sebagaiaddress (alamat) dan data bus. Pada setengah paruh
pertama memori cycle ALE akan bernilai “1” (HIGH) sehingga mengizinkan
penulisan address (alamat) pada register eksternal. Dan pada
setengah paruh berikutnya akan bernilai “1” (HIGH) sehingga port 0 dapat
digunakan sebagai data bus. ALE terdapat pada pin 30.
g. EA
(External Access)
Jika EA diberi input “1” (HIGH), maka
mikrokontroller menjalankan program memori internal saja. Jika EA diberi input
“0” (LOW), maka AT89S52 menjalankan program memori eksternal (PSEN akan
bernilai “0”). EA terdapat pada pin 31.
h. RST
(Reset)
RST terdapat pada pin 9. Jika pada pin ini diberi
input “1” (HIGH) selama minimal 2 machine cycle, maka sistem
akan di-reset dan register internal AT89S52 akan berisi nilai default tertentu. Proses
reset merupakan proses untuk mengembalikan sistem kekondisi semula. Reset tidak
mempengaruhi internal program memory. Reset terjadi jika pin RST bernilai high
selama minimal dua siklus lalu kembali bernilai low. Power on reset merupakan
proses reset yang berlangsung secara otomatis pada saat sistem pertama kali
diberi suplai. Proses ini mempengaruhi semua register dan internal data memory.
Untuk mendapatkan proses ini, maka pin RST harus diberi tambahan rangkaian
seperti pada gambar berikut.
Gambar
2. Rangkaian reset AT89S52
i. On-Chip oscillator
AT89S52 telah memiliki on-chip oscillator yang
dapat bekerja jika drive menggunakan kristal. Tambahan kapasitor
diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan pada
AT89S52 ini adalah 12 MHz. On-chip oscillator tidak hanya
dapat di-drive dengan menggunakan kristal, tetapi juga dapat dengan
menggunakan TTL Oscillator.
i.1 XTAL1
XTAL1 berfungsi sebagai masukan dari
rangkaian osilasi mikrokontroler. XTAL1 terdapat pada ipin 19
i.2 XTAL2
XTAL2 berfungsi sebagai keluaran dari
rangkaian osilasi mikrokontroler. XTAL2 terdapat pada pin 18
j. VCC
VCC merupakan masukan sumber tegangan positif
bagi mikrokontroler yang terdapat pada pin 40.
Arsitektur
dan Blok Diagram Mikrokontroler AT89C51
Mikrokontroler AT89S52 dibangun
berdasarkan arsitektur seperti ditunjukkan gambar dibawah ini. Seluruh bagian
yang digambar pada gambar tersebut saling berhubungan melalui internal bus 8
bit menelusuri bagian serpih. Bus tersebut kemudian dihubungkan ke luar melalui
input output port apabila memori atau expansi diperlukan.
Unit pengolah pusat (CPU) terdiri atas
dua bagian, yaitu unit pengendali control unit (CU), serta unit aritmatika dan
logika (ALU). Fungsi utama unit pengendali ini adalah mengambil,
mengkode, dan melaksanakan urutan intruksi sebuah program yang
tersimpan dalam memori, unit pengendali juga berfungsi untuk mengatur urutan
operasi seluruh sistem. Unit pengendali atau CPU juga menghasilkan dan mengatur
sinyal pengendali yang diperlukan untuk menyerempakkan operasi, juga aliran
intruksi program. Aliran informasi pada bus-bus data dan bus
alamat juga diatur oleh unit ini.
Gambar
3. blok digram mikrokontroler AT89S52
Memori
Program
Memori
program merupakan suatu ruang memori yang digunakan untuk
menyimpan kode program dan konstanta yang sifatnya tetap. Memori program hanya
bisa dibaca saja (Read Only Memori), dalam artian ketika sedang
melakukan eksekusi program memori hanya bersifat di baca saja namun tidak
dapat diubah isinya, sebagian memori program terdapat didalam chip
mikrokontroler (On-chip) dan sebagian lagi berada diluar (off-chip).
Mikrokontroler ATMEL AT89S52 mempunyai kapasitas memori program on-chip sebesar
8 kB.
Memori
Data
RAM
merupakan memori data internal (on-chip). Untuk
AT89S52 mempunyai memori sebesar 256 byte. Pada segment
data ini dibagi menjadi tiga bagian, dimulai dari
alamat 0×00 sampai dengan 0xFh dikenal sebagai register R0
sampai dengan R7 yang diorganisasikan menjadi 4 bank.
Pemilihan bank yang dilakukan dengan
memberikan kombinasi logika pada register Program
Status Word(PSW). Bagian berikutnya adalah mulai alamat
0×20 sampai dengan 0x2f sebanyak 128 bit merupakan
lokasi memori yang dapat dimanipulasi perbit (bit addressable)
juga dikenal dengan segment bit (BDATA). Bagian berikutnya adalah general
purpose RAM mulai alamat 0×30 sampai dengan 0x7fh.
Interuksi
Terdapat beberapa kelompok fungsi pada instruksi
keluarga MCS – 52, yaitu:
1. Instruksi Aritmatika
Kelompok intruksi ini melakukan operasi aritmatika
seperti penjumlahan, pembagian, pengurangan.
Misalnya
adalah: add, mul, subb, inc dan dec
Contohnya :
Mov a,#10h
Mov b,#05h
Mul ab
Mov a,#10h
Mov b,#05h
Mul ab
Mov a,#10h artinya salin data 10h ke a
Mov b,#05h artinya salin data 05h ke b
Mul ab artinya kalikan nilai akumulator dengan nilai register b
Mov b,#05h artinya salin data 05h ke b
Mul ab artinya kalikan nilai akumulator dengan nilai register b
2. Instruksi Logika
Intruksi ini melakukan operasi logika seperti and, or,
dan exor, clear
Misalnya
adalah :anl, orl, xrl, clr
Contohnya :
clr p3.5
Clr p3.5 artinya nolkan p3.5
clr p3.5
Clr p3.5 artinya nolkan p3.5
3. Instruksi Transfer Data
Kelompok instruksi ini digunakan untuk memindahkan
data antara :
1. Register – register
2. Memori – memori
3. Register – memori
4. Interface – register
5. Interface – memori
Contoh:
MOV A, R1
:
memindahkan isi register R1 ke accumulator
MOV A, @R2 : memindahkan isi memori yang alamatnya
MOV A, @R2 : memindahkan isi memori yang alamatnya
ditunjukkan oleh register R2 ke accumulator.
Tidak ada komentar:
Posting Komentar