Mikrokontroler
adalah mikroprosessor yang dirancang khusus untuk aplikasi kontrol,
dan dilengkapi dengan ROM, RAM dan fasilitas I/O pada satu chip.
AT89S52 adalah salah satu anggota dari keluarga MCS-51/52. AT89S52
dirancang oleh Atmel sesuai dengan instruksi standar dan susunan pin
80C5. Mikrokontroler 89S52 merupakan versi terbaru dibandingkan
mikrokontroler AT89C51 yang telah banyak digunakan saat ini.
Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8Kbyte
Flash Programmable dan Erasable Read Only Memory (PEROM), yang
memungkinkan memori program untuk dapat diprogram kembali.
Mikrokontroler berteknologi memori non volatile kerapatan tingi dari
Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51
baik pin kaki IC maupun set instruksinya serta harganya yang cukup
murah (sekitar 15rb – 20rb, penulis lagi beli sih 19.500). Oleh
karena itu, sangatlah tepat jika kita mempelajari mikrokontroler
jenis ini bagi pemula. AT89S52 mempunyai kelebihan yaitu mempunyai
flash memori sebesar 8Kbyte, RAM 256 byte serta 2 buah data pointer
16 bit.
Spesifikasi
dari AT89S52 :
- Sebuah CPU ( Central Processing Unit ) 8 Bit.
- Empat buah port I/O, yang masing masing terdiri dari 8 bit
- 8KBytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis tegangan kerja 4V-5.0V
- 256x8 bit RAM ( Random Acces Memory ) internal
- 32 Jalur I/O dapat diprogram
- 3 Buah 16 bit Timer/Counter (T0, T1, dan T2)
- 8 Sumber interrupt
- Sebuah port serial dengan full duplex UART (Universal Asynchronous Receiver Transmitter).
- Dual data pointer
- Mode pemrograman ISP yang fleksibel (Byte dan Page Mode)
- Bekerja dengan rentang 0 – 33MHz
- Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 μs pada frekuensi clock 24 MHz. Apabila frekuensi clock mikrokontroler yang digunakan adalah 12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 μs
Watchdog
timer
Fungsi
dari masing-masing pin AT89S52 adalah :
- Pin 1 sampai 8 (Port 1)
Merupakan port
pararel 8 bit dua arah ( bidirectional)
yang dapat digunakan untuk berbagai keperluan ( general
purpose).
- Pin 9
Merupakan pin reset,
reset aktif jika mendapat catuan tinggi. 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.
- Pin 10 sampai 17 (Port 3)
Adalah port pararel
8 bit dua arah yang memiliki fungsi sebagai berikut :
- P3.0 (10) : RXD (port serial penerima data)
- P3.1 (11) : TXD (port serial pengirim data)
- P3.2 (12) : INT0 (input interupsi eksternal 0, aktif low)
- P3.3 (13) : INT1 (input interupsi ekstrernal 1, a ktif low)
- P3.4 (14) : T0 (eksternal input timer / counter 0)
- P3.5 (15) : T1 (eksternal input timer / counter 1)
- P3.6 (16) : WR (Write, aktif low) Sinyal kontrol penulisan data dari port 0 ke memori data dan input-output eksternal.
- P3.7 (17) : RD (Read, aktif low) Sinyal kontrol pembacaan memori data input-output eksternal ke port 0.
- Pin 18
Sebagai XTAL 2,
keluaran osilator yang terhubung pada kristal. (XTAL2 berfungsi
sebagai keluaran dari rangkaian osilasi mikrokontroler).
- Pin 19
Sebagai XTAL 1,
masukan ke osilator berpenguatan tinggi, terhubung pada kristal.
(XTAL1 berfungsi sebagai masukan dari rangkaian osilasi
mikrokontroler).
- Pin 20
Sebagai Vss,
terhubung ke 0 atau ground pada rangkaian.
- Pin 21 sampai 28 (Port 2)
Merupakan
dual-purpose port (port pararel 8 bit dua arah). Pada desain minimum
digunakan sebagai port I/O (Input/Output). Sedangkan pada desain
lebih lanjut digunakan sebagai high byte dari address (alamat), dan
port ini mengirim byte alamat bila pengaksesan dilakukan pada memori
eksternal.
- Pin 29
Sebagai PSEN
(Program
Store Enable)
adalah sinyal yang digunakan untuk membaca, memindahkan program
memori eksternal (ROM / EPROM) ke mikrokontroler (aktif low).
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.
- Pin 30
Sebagai ALE (Address
Latch Enable)
untuk menahan alamat bawah selama mengakses memori eksternal. Pin ini
juga berfungsi sebagai PROG (aktif low)
yang diaktifkan saat memprogram internal flash
memori
pada mikrokontroler (on
chip).
ALE digunakan untuk men-demultiplex address (alamat) dan data bus.
ketika menggunakan program memori eksternal, port 0 akan berfungsi
sebagai address (alamat) dan data bus. Pada setengah paruh pertama
memori cycle ALE akan bernilai HIGH sehingga mengizinkan penulisan
address (alamat) pada register eksternal. Dan pada setengah paruh
berikutnya akan bernilai HIGH)sehingga port 0 dapat digunakan sebagai
data bus.
- Pin 31
Sebagai EA (External
Accesss)
untuk memilih memori yang akan digunakan, memori program internal (EA
= Vcc) atau memori program eksternal (EA = Vss), juga berfungsi
sebagai Vpp (programming
supply voltage)
pada saat memprogram internal flash
memori
pada mikrokontroler. Jika EA diberi input HIGH, maka mikrokontroller
menjalankan program memori internal saja. Jika EA diberi input LOW,
maka AT89S52 menjalankan program memori eksternal (PSEN akan bernilai
LOW).
- Pin 32 sampai 39 (Port 0)
Merupakan port
pararel 8 bit dua arah. Berfungsi sebagai alamat bawah yang
dimultipleks den gan data untuk mengakses program dan data memori
eksternal. port 0 ini dapat digunakan sebagai port Input/Output (I/O)
- Pin 40
Sebagai Vcc,
terhubung ke +5 V sebagai catuan untuk mikrokontroler.
Memori:
a.Memori
Program
Pada EPROM 8 Kbyte,
jika EA (External
Access)
bernilai tinggi, maka program akan menempati alamat 0000 H sampai
0FFF H secara internal. Jika EA bernilai rendah maka program akan
menempati alamat 1000 H sampai FFFF H ke pr ogram eksternal.
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.
b.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.
Tidak ada komentar:
Posting Komentar