• Tidak ada hasil yang ditemukan

memori program mikrokontroler at89sxx

N/A
N/A
Protected

Academic year: 2017

Membagikan "memori program mikrokontroler at89sxx"

Copied!
4
0
0

Teks penuh

(1)

MEMORI PROGRAM (AT89S51)

Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY E-mail : [email protected]

Memori program digunakan untuk menyimpan kode instruksi (perintah). Program memori pada keluarga Intel 8051 merupakan Mask-ROM atau PROM, pada Intel 8751 adalah EPROM, pada ATMEL AT89C51/52 merupakan EEPROM, dan pada Philips 8051 adalah Flash. Keluarga 8051 memuat 4 KB memori program internal, 0000h – 0FFFh, dan dapat diekspansi hingga 60 KB dengan memori program eksternal. Alamat memori program ditentukan lewat muatan (isi) dari pencacah program (PC = Program Counter). Peta memori program 8051 adalah sebagai berikut :

Jika kedua ROM internal dan eksternal digunakan, pin EA harus disambung ke high. Ketika isi pencacah program kurang dari 4095, CPU mengambil (fetches) suatu kode yang disimpan pada ROM internal, sebaliknya, CPU tersebut mengambil suatu kode yang tersimpan di ROM eksternal. Jika pin EA disambung ke ground, semua penjemputan program dilangsungkan ke ROM eksternal. Piranti yang tanpa ROM seperti 8031 harus memiliki pin ini yang secara eksternal dipertahankan (strapped) ke potensial ground yang mengijinkan (enable) mereka untuk mengeksekusi secara layak (properly). Piranti Maks ROM dapat juga digunakan sebagai piranti tanpa ROM 8051 jika ROM eksternal ditambahkan.

ROM Eksternal

60 KB

ROM Internal

4 KB FFFFh

0000h 1000h 0FFFh

EA = 1

64 KB

PC

ROM Eksternal

64 KB FFFFh

0000h

EA = 0 PC

64 KB

(2)

Sambungan ROM Eksternal

Untuk ekspansi (pengembangan) ROM eksternal, pin P SEN, ALE, P0, P2 dan sebuah pencantol (latch) alamat eksternal seperti SN-74373 harus digunakan. Gambar berikut menunjukkan persambungan EPROM yang dikembangkan menjadi 64 KB dan 8 KB. Berikut ini adalah gambar ekspansi memori program pada 8051.

IC-74373 berisi 8 D-Latch tiga-keadaan. Selama waktu byte rendah dari pencacah program valid pada P0, sinyal ALE mendetak byte ini ke dalam suatu alamat tercantol pada 74373. Meanwhile, P2 mengeluarkan byte tinggi dari pencacah program. Kemudian P SEN men-strobe EPROM dan suatu byte kode dibaca oleh CPU. Pada gambar 2-3-2 EPROM 64 K eksternal tersambung sedemikian jika pin EA dihubungkan ke ground. Pin EA yang ditunjukkan pada gambar 2-3-3 distrap ke Vcc untuk ekspansi EPROM 8 K, oleh karena itu total ruang memori program sebesar 12 KB. Karena serpih 27512 merupakan EPROM 64 KB dengan 16 jalur alamat, maka kedua jalur P0 dan P2 harus digunakan. IC- 2764 merupakan EPROM 8 KB dengan 13 jalur alamat, sehingga diperlukan P0 dan P2.0 – P2.4.

P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN

EA/Vpp Vcc

Gnd RESET

X2

X1

MCS51 8k2

10 F - _ +

ALE

1D 1Q 2D 2Q 3D 3Q 4D 4Q 5D 5Q 6D 6Q 7D 7Q 8D 8Q

G OC 74373

Vcc : 20 Gnd : 10

A0 A1 A2 A3 A4 A5 A6 A7

O0 O1 O2 O3 O4 O5 O6 O7

A8 A9 A10 A11 A12 A13 A14 A15 CE

OE 12 M

20 pF -

[image:2.595.90.536.183.547.2]

20 pF -

Gambar : 2-3-2 -

(3)

Vektor Interupsi

Setiap interupsi ditandai (assigned) dengan sebuah lokasi tetap pada bagian rendah memori program. Interupsi menyebabkan CPU melompat ke lokasi itu tempat ia commences execution dari suatu layanan routine (service routine). Lokasi layanan interupsi merupakan ruang dengan interval 8 byte. Jika sebuah routine layanan interupsi cukup pendek, seluruhnya dapat berada di dalam interval 8 byte itu. Routine layanan yang lebih panjang dapat menggunakan instruksi lompat untuk men-skip over subsequent lokasi interupsi, jika interupsi-interupsi yang lain digunakan. Lokasi-lokasi layanan interupsi itu adalah :

1. Lokasi memori 0000 h.

Masukan reset sistem. Keadaan tinggi pada pin RESET untuk dua machine-cycles, 8051 tersebut di reset. Setelah reset, CPU memulai eksekusi dari lokasi 0000 h.

2. Lokasi memori 0003 h.

Lokasi layanan interupsi untuk interupsi eksternal 0. Ketika masukan INT0 menemukan/menjumpai/mendeteksi sinyal gigir-jatuh (falling-edge) atau sinyal pemicu tingkat rendah (low-level triggering), maka CPU menjemput kode operasi (opcode) dari alamat 0003 h.

P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN

EA/Vpp Vcc

Gnd RESET

X2

X1

MCS51 8k2

10 F - _ +

ALE

1D 1Q 2D 2Q 3D 3Q 4D 4Q 5D 5Q 6D 6Q 7D 7Q 8D 8Q

G OC 74373

Vcc : 20 Gnd : 10

A0 A1 A2 A3 A4 A5 A6 A7

O0 O1 O2 O3 O4 O5 O6 O7

A8 A9 A10 A11 A12 CE

OE 12 M

20 pF -

[image:3.595.87.532.379.749.2]

20 pF -

Gambar : 2-3-3 -

Gnd : 14 Vcc : 28 2764

(4)

3. Lokasi memori 000B h.

Lokasi layanan interupsi untuk timer/counter 0. Ketika terjadi limpahan (overflow) pada timer/counter 0, CPU memulai eksekusi dari lokasi 000B h.

4. Lokasi memori 0013 h.

Lokasi layanan interupsi untuk interupsi eksternal 1. Ketika masukan INT1 menemukan/menjumpai/mendeteksi sinyal gigir-jatuh (falling-edge) atau sinyal pemicu tingkat rendah (low-level triggering), maka CPU menjemput kode operasi (opcode) dari alamat 0013 h.

5. Lokasi memori 001B h.

Lokasi layanan interupsi untuk timer/counter 1. Ketika terjadi limpahan (overflow) pada timer/counter 1, CPU memulai eksekusi dari lokasi 001B h.

6. Lokasi memori 0023 h.

Lokasi layanan interupsi untuk port serial. Jika port serial 8051 lengkap mengirim (transmit) atau menerima (receive), sebuah permintaan interupsi terjadi dan CPU memulai dari lokasi 0023 h jika permintaan tersebut disetujui (acknowledged).

7. Lokasi memori 002B h.

Lokasi layanan interupsi untuk timer/counter 2 pada 8052. Ketika terjadi limpahan (overflow) pada timer/counter 2, maka CPU memulai eksekusi dari lokasi 002B h.

Suatu contoh kode assembly 8051 dengan routine layanan interupsi ditunjukkan sebagai berikut :

ORG 0000h ; masukan RESET

JMP MAIN ; lompat ke program utama

ORG 0003h ; masukan INT0

JMP INT0SUB ; lompat ke routine layanan interupsi INT0

ORG 000Bh ; masukan TIMER0

JMP TIM0SUB ; lompat ke routine layanan interupsi TIMER0

ORG 0100h ; alamat awal

MAIN : ……… ; program utama

……… ………

INT0SUB : ……… ; routine layanan interupsi INT0

……… ………

RETI

TIM0SUB : ……… ; routine layanan interupsi TIMER0

……… ………

RETI

Gambar

Gambar :   2-3-2 -
Gambar :   2-3-3 -

Referensi

Dokumen terkait