• Tidak ada hasil yang ditemukan

2.1 MIKROKONTROLER AT89C51

2.1.5 Struktur Memori

Mikrokontroler MCS-51 memiliki kendali yang berbeda untuk mengakses memori RAM atau memori data dan ROM atau memori program. Kendali untuk memori program adalah PSEN dan kendali untuk memori data adalah RD. Mikrokontroler MCS-51 memiliki lebar bus alamat 16 bit, sehingga memori dapat diakses sebesar 2×64 KB. Memori program internal dipakai jika Pin EA dihubungkan ke VCC. Sedangkan kalau EA dihubungkan ke GND maka memori

program akan diakses eksternal. Untuk memori data internal MCS-51 adalah sebesar 128 byte. Jika dipakai memori data Eksternal dapat diakses sebesar 64 KB.

2.1.5.1 Memori RAM

Pemakaian RAM harus diperhatikan agar tidak tumpang tindih dengan memori stack pointer (SP). Salah satu kesalahan mikrokontroler jika Pemakaian RAM tumpang tindih dengan SP adalah memori pada RAM internal akan hilang jika di reset. Tabel 2.2. memperlihatkan Struktur RAM 128 byte.Memori internal RAM 128 byte bisa dibagi menjadi 3 area:

Tabel 2.2. Struktur RAM 128 byte

30H-7FH 20H-2FH 00H-1FH

1. Bank-bank Register

Bank register dibagi menjadi 4 grup yaitu bank 0 sampai bank 3. masing masing bank menempati alamat sebesar 8 byte. Tabel 2.3. adalah susunan bank-bank register.

Area scratch pad 80 byte

Area yang bisa dialamati per Bit (16 byte)

Bank-bank register (32 Byte)

Tabel 2.3 Susunan bank-bank register Alamat Bank Register RS1,RS0

00-07 Bank 0 00

08-0F Bank 1 01

10-17 Bank 2 10

18-1F Bank 3 11

Masing-masing alamat dalam satu grup diberi nama R0-R7. Alamat R0-R7 ditentukan oleh Bank register yang aktif saat itu.

Semua alamat R0-R7 bisa di alamati dengan model pengalamatan langsung. R0 dan R1 juga bisa dialamati dengan model pengalamatan tak langsung. Pada model pengalamatan tak langsung R0 dan R1 menyimpan alamat RAM internal yang akan diakses.

2. Memori Yang Bisa Dialamati Per-Bit

Area ini menempati alamat 20H-2FH (16 Byte) sebagai byte dan 00H-07FH (128bit) sebagai alamat bit. Area memori ini berfungsi untuk menyimpan tipe data bolean atau 2 keadaan.

Ada 2 cara untuk mengakses memori ini.

- Cara mengakses sebagai byte bisa dilakukan dengan pengalamatan langsung, misal. Mov 20H, #20H. Akan menulis data 45 H ke alamat 20H.

- Pengaksesan secara bit dilakukan dengan mengakses alamat bit yang bersangkutan,misal.

Akan memindahkan alamat pada bit ke-13 ke bit C (carry). Alamat 13H adalah bit ke-3 dari alamat 22H. Bahasa assembler MCS-51 memiliki penulisan yang lain untuk mengakses bit ke-3 yaitu 22.3H,sehingga Mov C,22.3H

3. Area Memori Scratch Patch

Area memori ini yang disebut area scratch patch memory menempati alamat paling atas RAM internal sebesar 80 byte (alamat 30H-7FH). Area ini hanya bisa diakses sebagai byte dengan mode pengalamatan langsung dan tak langsung.

2.1.5.2 Memory ROM

ROM (read Only memory) isinya tidak berubah meskipun IC kehilangan catu daya, dipakai untuk menyimpan program, Begitu catu daya ada maka IC akan langsung reset dan akan menjalankan program-program yang ada pada ROM. Sesuai dengan penggunaanya ROM disebut sebagai memori program. Memori ROM hanya sebagai memori program dan tidak bisa di tulis ke ROM saat mikrokontroler sedang bekerja.

2.1.5.3 Antar Muka Memori Eksternal

Memori program (ROM) dan memori data (RAM) eksternal diakses dengan menggunakan P0 dan P2 sebagai bus data dan bus alamat. P0 akan menyediakan jalur data yang di-multipleks dengan jalur alamat orde rendah (A0-A7), dan P2 menyediakan jalur alamat orde tinggi (A8-A15). Konfigurasi pengaksesan memori eksternal ditunjukkkan pada gambar 2.2. (EFROM 64 KB dan RAM 32 KB). Konfigurasi ini memisahkan antara memori program(ROM) dengan Memori data (RAM).Kendali sinyal baca untuk ROM adalah PSEN sedangkan RAM mendapat sinyal baca dan sinyal tulis dari P3.7(RD) dan P3.6(WR), sementara EPROM tidak mendapat sinyal kendali tulis. Pin EA dihubungkan ke ground sehingga 8051 hanya akan melaksanakan perintah-perintah yang tersimpan di EPROM eksternal.

P0, selain dihubungkan ke jalur data EPROM dan RAM, juga dihubungkan dengan masukan latch agar alamat orde rendah (A0-A7) yang dikeluarkan oleh P0 bisa dipisahkan dari jalur data EPROM. Pada saat P0 mengeluarkan alamat yang valid, ALE akan memberikan pulsa sehingga sehingga IC latch akan menyimpan alamat ini dan memberikannya ke jalur Alamat EPROM dan RAM. Bersamaan dengan itu, P2 akan mengeluarkan alamat orde tinggi (A8-A15) yang secara langsung terhubung dengan jalur alamat EPROM dan RAM.

PSEN akan diaktifkan 2 kali setiap satu siklus mesin saat membaca program dari EPROM eksternal. Saat PSEN aktif (berlogika 0) EPROM akan mengeluarkan data yang diterjemahkan sebagai perintah yang harus dijalankan

oleh mikrokontroler. Pada saat mengakses RAM, PSEN berada pada logika tinggi.

Penulisan ke RAM dilakukan dengan mengaktifkan sinyal tulis (RD=1 dan WR=0), CPU akan mengirimkan data ke RAM setelah terlebih dahulu mengirimkan alamat RAM. Yang akan dituliskan. Sementara itu, pembacaan dilakukan dengan mengaktifkan sinyal baca (RD=0 dan WR=1), CPU akan memberikan alamat RAM yang akan dibaca, mengaktifkan sinyal baca dan membaca data RAM dari jalur data.

Osilator

Osilator berfungsi untuk menyediakan sinyal clock dan pewaktuan bagi semua perangkat internal 8051. Untuk menyediakan sinyal Clock digunakan dengan dua cara yaitu:

1. Dengan menggunakan pembangkit frekwensi eksternal seperti pada gambar 2.4.

Gambar.2.4. Pemakaian osilator eksternal

- Pin Xtal satu pada mikrokontroler 8051 dihubungkan ke keluaran pembangkit frekwensi eksternal.

- Pin Ground pada pembangkit frekwensi eksternal dihubungkan ke Ground pada mikrokontroler 8051.

2. Dengan menggunakan Kristal dan 2 kapasitor 30 pF dan 47 pF, Seperti pada gambar 2.5.

Hal yang paling mendasar dari osilator sebenarnya adalah untuk menentukan siklus mesin. Siklus mesin adalah waktu minimum yang diperlukan oleh mikrokontroler untuk menjalankan satu perintah. Siklus mesin ini akan menentukan kecepatan mikrokontroler (seberapa cepat mikrokontroler menjalankan suatu perintah). Satu siklus mesin mikrokontroler 8051 adalah 12 kali periode frekwensi osilator (dengan frekwensi 12 Mhz), maka satu siklus mesin adalah 1/12 dikali 12 Mhz.

Gambar 2.5 Pembangkit sinyal clock internal

Jadi kecepatan satu siklus mikrokontroler 8051 jika frekwensi pada XTAL1 12 Mhz adalah 1 Mhz atau 1 mikro detik. Berarti untuk melakukan satu perintah mikrokontroler 8051 hanya dalam satu mikro detik. Atau 1 juta perintah dalam satu detik.

Dokumen terkait