Download artikel ini : Klik Disini
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).
•Watchdog timer
•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
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).
•Watchdog timer
•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
Fungsi dari masing-masing pin AT89S52 adalah :
1.Pin 1 sampai 8 (Port 1)
Merupakan port pararel 8 bit dua arah ( bidirectional) yang dapat digunakan untuk berbagai keperluan ( general purpose).
2.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.
3.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.
4.Pin 18
Sebagai XTAL 2, keluaran osilator yang terhubung pada kristal. (XTAL2 berfungsi sebagai keluaran dari rangkaian osilasi mikrokontroler).
5.Pin 19
Sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung pada kristal. (XTAL1 berfungsi sebagai masukan dari rangkaian osilasi mikrokontroler).
6.Pin 20
Sebagai Vss, terhubung ke 0 atau ground pada rangkaian.
7.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.
8.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.
9.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.
10.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).
11.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)
12.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.
1.Pin 1 sampai 8 (Port 1)
Merupakan port pararel 8 bit dua arah ( bidirectional) yang dapat digunakan untuk berbagai keperluan ( general purpose).
2.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.
3.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.
4.Pin 18
Sebagai XTAL 2, keluaran osilator yang terhubung pada kristal. (XTAL2 berfungsi sebagai keluaran dari rangkaian osilasi mikrokontroler).
5.Pin 19
Sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung pada kristal. (XTAL1 berfungsi sebagai masukan dari rangkaian osilasi mikrokontroler).
6.Pin 20
Sebagai Vss, terhubung ke 0 atau ground pada rangkaian.
7.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.
8.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.
9.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.
10.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).
11.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)
12.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.
3 comments:
Maaf mas admin. saya mau nanya, kalau kita pake memory buat nyimpen data di at89s52, trus coding untuk reset/hapus isi memory tsb gimana ya mas? terimakasih mas.
maksudnya memanfaatkan eeprom internal kah?
bermanfaat sekali min.
http://cody.id/produk/isolasi-double-tape/
Posting Komentar