pert 3b arsitektur mikrokontroler at89c51

14
ARSITEKTUR MIKROKONTROLER AT89C51/52/55 A. Pendahuluan Mikrokontroler merupakan lompatan teknologi mikroprosesor dan mikro-komputer. Mikrokontroler diciptakan tidak semata-mata hanya memenuhi kebutuh-an kalangan industri, namun juga para konsumen untuk pembuatan alat-alat bantu dan mainan yang lebih canggih. Aplikasi lain dari mikrokontroler adalah dalam bidang pengukuran jarak-jauh / telemetri. Sistem telemetri ini jelas memerlukan sistem akuisi data sekaligus sistem pengiriman data secara serial (melalui transmi-ter), yang semua itu bisa diperoleh dari mikrokontroler yang digunakan. Sedikit berbeda dengan sistem komputer (yang dapat menangani berbagai macam program aplikasi), mikrokontroler hanya bisa digunakan untuk aplikasi tertentu saja (hanya satu program saja yang dapat disimpan). Perbedaan lainnya terletak pada perbandingan memori ROM & RAM-nya. Pada sistem komputer perbandingan memori ROM & RAM-nya besar, artinya program-program yang sedang digunakan disimpan dalam RAM yang kapasitasnya relatif besar, sedang rutin-rutin interface hardware disimpan dalam ROM yang kapasitasnya kecil. Untuk mikrokontroler perbandingan memori ROM & RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, ter-masuk register-register yang dipakai pada mikrokontroler yang bersangkutan. B. Pengenalan Mikrokontroler AT89C51 Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hampir memenuhi kebutuhan pasar dan teknologi baru. Teknologi baru, di

Upload: mafika-rusnawati

Post on 03-Feb-2016

13 views

Category:

Documents


1 download

DESCRIPTION

elektronika

TRANSCRIPT

Page 1: Pert 3b Arsitektur Mikrokontroler AT89C51

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

A. Pendahuluan

Mikrokontroler merupakan lompatan teknologi mikroprosesor dan mikro-

komputer. Mikrokontroler diciptakan tidak semata-mata hanya memenuhi kebutuh-

an kalangan industri, namun juga para konsumen untuk pembuatan alat-alat bantu

dan mainan yang lebih canggih. Aplikasi lain dari mikrokontroler adalah dalam

bidang pengukuran jarak-jauh / telemetri. Sistem telemetri ini jelas memerlukan

sistem akuisi data sekaligus sistem pengiriman data secara serial (melalui transmi-

ter), yang semua itu bisa diperoleh dari mikrokontroler yang digunakan. Sedikit

berbeda dengan sistem komputer (yang dapat menangani berbagai macam program

aplikasi), mikrokontroler hanya bisa digunakan untuk aplikasi tertentu saja (hanya

satu program saja yang dapat disimpan). Perbedaan lainnya terletak pada

perbandingan memori ROM & RAM-nya. Pada sistem komputer perbandingan

memori ROM & RAM-nya besar, artinya program-program yang sedang digunakan

disimpan dalam RAM yang kapasitasnya relatif besar, sedang rutin-rutin interface

hardware disimpan dalam ROM yang kapasitasnya kecil. Untuk mikrokontroler

perbandingan memori ROM & RAM-nya yang besar, artinya program kontrol

disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya

relatif besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, ter-

masuk register-register yang dipakai pada mikrokontroler yang bersangkutan.

B. Pengenalan Mikrokontroler AT89C51

Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan

mikrokomputer, hampir memenuhi kebutuhan pasar dan teknologi baru. Teknologi

baru, di sini pengertiannya adalah teknologi semikonduktor dengan kandungan

transistor yang lebih banyak namun membutuhkan ruang yang kecil serta dapat

diproduksi secara massal sehingga harganya menjadi lebih murah. Mikrokontroler

hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan

keinginan alat-alat bantu dan mainan yang lebih baik atau canggih.

Ada perbedaan yang cukup penting antara mikroprosesor dengan

mikrokontroler. Jika mikroprosesor merupakan CPU (Central Processing Unit)

tanpa memori dan I/O pendukung dari sebuah komputer, maka mikrokontroler

umumnya terdiri atas CPU, memori, I/O tertentu, dan unit pendukung lainnya,

misalnya Analog to Digital Converter (ADC) yang sudah terintegrasi di dalam

mikrokontroler tersebut. Kelebihan mikrokontroler adalah telah tersedianya RAM

dan peralatan I/O pendukung. Terdapat berbagai jenis mikrokontroler dari berbagai

vendor yang digunakan secara luas di dunia ini. Di antaranya yang terkenal adalah

dari Intel, Maxim, Motorola, dan ATMEL.

Page 2: Pert 3b Arsitektur Mikrokontroler AT89C51

2.1.1 Komponen Dasar Mikrokontroler

Mikrokontroler umumnya terdiri dari dari CPU, memori, I/O

tertentu dan unit pendukung lainnya seperti ADC (Analog Digital

Converter) yang sudah terintegrasi didalamnya.

1. Cental Processing Unit (CPU)

CPU terdiri atas dua bagian, yaitu unit pengendali (control unit)

serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali

adalah mengambil, mengkodekan, dan melaksanakan urutan instruksi

sebuah program yang tersimpan dalam memori. Unit pengendali

menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk

menyerempakan operasi, aliran, dan instruksi program. Unit aritmatika

dan logika berfungsi untuk melakukan proses perhitungan yang

diperlukan selama program dijalankan serta mempertimbangkan suatu

kondisi dan mengambil keputusan yang diperlukan untuk instruksi-

instruksi berikutnya.

2. Bus Alamat

Bus alamat berfungsi sebagai sejumlah lintasan saluran

pengalamatan antara alat dengan sebuah komputer. Pengalamatan ini

harus ditentukan terlebih dahulu untuk menghindari terjadinya kesalahan

pengiriman sebuah instruksi dan terjadinya ketidaksesuaian antara dua

buah alat yang bekerja secara bersamaan.

3. Bus Data

Bus data merupakan sejumlah lintasan saluran keluar-masuknya

data dalam suatu mikrokontroler. Pada umumnya saluran data yang

masuk sama dengan saluran data yang keluar.

4. Bus Kontrol

Bus kontrol atau bus pengendali ini berfungsi untuk

menyerempakan operasi mikrokontroler dengan operasi rangkaian luar.

5. Memori

Di dalam sebuah mikrokontroler terdapat suatu memori yang

berfungsi untuk menyimpan data atau program. Ada beberapa jenis

memori, di antaranya adalah RAM dan ROM. Ada beberapa tingkatan

memori, di antaranya adalah register internal, memori utama, dan

memori massal. Register internal adalah memori di dalam ALU. Waktu

akses register ini sangat cepat, umumnya kurang dari 100 ns. Memori

utama adalah memori yang ada pada suatu sistem. Waktu aksesnya lebih

lambat dibanding register internal, yaitu antara 200 sampai 1000 ns.

Memori massal dipakai untuk penyimpanan berkapasitas tinggi,

biasanya berbentuk disket, pita magnetik, atau kaset.

6. Random Access Memory (RAM)

Page 3: Pert 3b Arsitektur Mikrokontroler AT89C51

RAM merupakan memori yang dapat dibaca dan ditulis. RAM

biasanya digunakan untuk menyimpan data sementara atau sering

disebut dengan memori data saat program bekerja. Data yang ada pada

RAM akan hilang bila catu daya dari RAM dimatikan sehingga RAM

hanya dapat digunakan untuk menyimpan data sementara. Teknologi

RAM dapat dibagi menjadi dua, yaitu statik dan dinamik. RAM dinamik

tersusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada

kapasitor. Ada-tidaknya muatan yang ada pada kapasitor dijadikan oleh

RAM dinamik sebagai bilangan biner 1 atau 0. Oleh karena kapasitor

memiliki kecendrungan alami untuk mengosongkan muatan, RAM

dinamik memerlukan pengisian muatan secara periodik untuk

memelihara penyimpanan data. Pada RAM statik, nilai biner disimpan

menggunakan konfigurasi gate logika flip-flop. RAM statik akan

menyimpan data selama aliran daya diberikan padanya.

7. Read Only Memory (ROM)

ROM merupakan memori yang hanya dapat dibaca. Data yang

disimpan di ROM tidak akan hilang meskipun tegangan catu daya

dimatikan. Berdasar sifat itu maka ROM sering dipakai untuk

menyimpan program. Ada beberapa jenis ROM, diantaranya ROM,

PROM, EPROM, dan EEPROM. ROM merupakan memori yang sudah

diprogram oleh pabrik. PROM dapat diprogram oleh pemakai tapi hanya

dapat ditulis sekali saja. UV-EPROM merupakan PROM yang dapat

diprogram atau ditulis beberapa kali dan dapat dihapus dengan sinar

ultraviolet. Flash PEROM adalah PROM yang dapat ditulis ulang

beberapa kali dan dapat dihapus secara elektrik atau dengan tegangan

listrik. UV-EPROM harganya lebih mahal dari Flash PEROM, karena

itu Flash PEROM lebih populer dan diminati programmer

mikrokontroler.

2.1.2 Mikrokontroler AT89C51

Mikrokontroler AT89C51 adalah mikrokomputer CMOS 8 bit

dengan 4KB Flash Programmable dan Erase Read Only Memory (PEROM)

yang termasuk dalam keluarga Atmel. Mikrokontroler jenis ini merupakan

Chip yang menggunakan teknologi memori non-volatile, mikrokontroler

AT89C51 ini kompatibel dengan mikrokontroler standar industri MCS-51

(seperti mikrokontroler 8031 yang terkenal dan banyak digunakan beberapa

waktu lalu).

AT89C51 mempunyai memori yang terdiri atas : RAM internal

sebesar 128 byte dengan alamat 00H-7Fh, dan dapat diakses menggunakan

RAM address register. RAM internal ini terdiri atas Register Banks dengan

8 buah register (R0-R7). Memori lain, yaitu 21 buah Special Function

Page 4: Pert 3b Arsitektur Mikrokontroler AT89C51

Register dimulai dari alamat 80H-FFH. RAM ini beda lokasi dengan Flash

PEROM dengan alamat 000H-7FFH.

Tabel 1. Alamat RAM Internal

Special Function Register

RAM Internal

Untuk sekedar perbandingan kapasitas memori, Tabel 2 berikut

memperlihatkan kapasitas memori dari mikrokontroler seri AT89XXX.

Tabel 2. Kapasitas Memori Mikrokontroler seri AT89XXX.

Type RAM Flash Memory EEPROM

AT89C51/S51 8 x 128 byte 4 Kbyte Tidak

AT89C52/S52 8 x 256 byte 4 Kbyte Tidak

AT89C55 8 x 256 byte 4 Kbyte Tidak

AT89S53 8 x 256 byte 4 Kbyte Tidak

AT89S8252 8 x 256 byte 4 Kbyte 4 Kbyte

2.1.3 Arsitektur Mikrokontroler AT89C51

Sebuah mikrokontroler dapat bekerja bila di dalam mikrokontroler

tersebut terdapat sebuah program yang berisi instruksi-instruksi yang akan

digunakan untuk menjalankan sistem mikrokontroler tersebut. Pada

prinsipnya program pada mikrokontroler dijalankan secara bertahap, jadi

pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu

dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89C51

adalah sebagai berikut:

a. Sebuah CPU 8 bit.

b. Osilator internal dan rangkaian pewaktu.

c. RAM internal 128 byte.

d. Flash memori 4 Kbyte.

e. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah

interupsi internal).

f. Empat buah programable port I/O yang masing-masing terdiri dari

delapan buah jalur I/O.

g. Sebuah port serial dengan kontrol serial full duplex UART.

h. Kemampuan untuk melaksanakan operasi aritmatika dan logika.

i. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada

frekuensi 12 MHz.

Page 5: Pert 3b Arsitektur Mikrokontroler AT89C51

Berdasarkan susunan kaki yang terdapat pada Gambar 2

mikrokontroler AT89C51 di atas dapat dijelaskan sebagai berikut:

a. VCC

Vcc digunakan sebagai catu daya (+) yang dibutuhkan mikrokontroler

AT89C51.

b. GND

GND digunakan sebagai ground .

Gambar 1. Mikrokontroler seri AT89C51

c. RST (Reset)

Berfungsi sebagai masukan reset. Kondisi high selama 2 siklus mesin

selama osilator bekerja akan me-reset mikrokontroler yang bersangkutan.

d. ALE/PROG

Keluaran ALE atau Address Latch Enable akan menghasilkan pulsa-pulsa

untuk mengunci byte rendah (low byte) alamat selama mengakses memori

eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the

program pulse input) atau PROG selama pemrograman flash. Pada

operasi normal, ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal

dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan

(clocking) rangkaian eksternal. Jika dikehendaki, operasi ALE bisa

dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika isinya

‘1’(hight), ALE hanya akan aktif selama dijumpai instruksi MOVX

atau MOVC. Selain itu, kaki ini akan secara lemah di-pulled high.

Mematikan bit ALE tidak akan ada efeknya jika mikrokontroler

mengeksekusi program secara eksternal.

Page 6: Pert 3b Arsitektur Mikrokontroler AT89C51

e. Port 0

Port 0 merupakan port paralel 8 bit dua arah. Posisi Least Significant Bit

(LSB) terletak pada kaki 39 dan Most Significant Bit (MSB) terletak

pada kaki 32.

Gambar 2. Bit Port 0

Port 0 juga merupakan port keluaran/masukkan (I/O) bertipe open

drain bidirectional, dan sebagai port keluaran, masing-masing kaki dapat

menyerap arus (sink) delapan masukkan TTL (sekitar 3,8 mA). Pada saat

‘1’ dituliskan ke kaki-kaki Port 0 ini, maka kaki-kaki Port 0 dapat digu-

nakan sebagai masukan berimpedansi tinggi. Port 0 juga dapat dikonfi-

gurasi sebagai bus alamat/data bagian rendah (low byte) selama proses

pengaksesan memori data dan program eksternal. Jika digunakan dalam

mode ini Port 0 memiliki pull-up internal. Port 0 juga menerima kode-

kode yang dikirimkan kepadanya selama proses pemrograman dan

mengeluarkan kode-kode selama proses verifikasi program yang telah ter-

simpan dalam flash. Dalam hal ini dibutuhkan pull-up eksternal selama

proses verifikasi program.

f. Port 1

Port 1 merupakan port paralel 8 bit dua arah. Posisi LSB terletak pada

kaki 1 dan MSB terletak pada kaki 8.

Gambar 3. Bit Port 1

Page 7: Pert 3b Arsitektur Mikrokontroler AT89C51

Port 1 merupakan port I/O dua arah yang dilengkapi dengan pull-up

internal. Penyangga keluaran Port 1 mampu memberikan / menyerap

arus empat masukan TTL (sekitar 1,6mA). Jika ‘1’ dituliskan ke kaki-

kaki Port 1, maka masing-masing kaki akan di-pulled high dengan pull-

up internal sehingga dapat digunakan sebagai masukan. Apabila kaki-

kaki Port 1 dihubungkan ke ground (di-pulled low), maka masing-

masing kaki akan memberikan arus (source) karena di-pulled high

secara internal. Port 1 juga menerima alamat bagian rendah (low byte)

selama pemrograman dan verifikasi flash.

g. Port 2

Port 2 merupakan port paralel 8 bit dua arah. Port ini mengirim byte ala-

mat-alamat bila dilakukan pengaksesan memori eksternal. LSB terletak

pada kaki 21 dan MSB terletak pada kaki 28.

Gambar 4. Bit Port 2

Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat

masukan TTL (sekitar 1,6 mA). Jika ‘1’ dituliskan ke kaki-kaki Port 2,

maka masing-masing kaki akan di-pulled high dengan pullup internal

sehingga dapat digunakan sebagai masukan. Apabila kaki-kaki Port 2

dihubungkan ke ground (di-pulled low), maka masing-masing kaki akan

memberikan arus (source) karena di-pulled high secara internal. Port 2

akan memberikan byte alamat bagian tinggi (high byte) selama

pengambilan instruksi dari memori program eksternal dan selama

pengaksesan memori data eksternal yang menggunakan perintah

dengan alamat 16 bit (misalnya: MOVX @ DPTR). Dalam aplikasi ini,

jika ingin mengirimkan ‘1’, maka digunakan pull-up internal yang sudah

disediakan. Selama pengaksesan memori data eksternal yang

menggunakan perintah dengan alamat 8 bit (misalnya: MOVX @Ri),

Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat

bagian tinggi selama pemrograman dan verifikasi flash.

Page 8: Pert 3b Arsitektur Mikrokontroler AT89C51

h. Port 3

Port 3 merupakan port paralel 8 bit dua arah. LSB terletak pada kaki 10

dan MSB terletak pada kaki 17. Port ini mempunyai beberapa fungsi

khusus yaitu:

Tabel 3. Fungsi khusus kaki-kaki pada port 3

KAKI PORT 3 FUNGSI KHUSUS

P3.0 RXD (port input serial)

P3.1 TXD (port output serial)

P3.2 INT0 (interrupt eksternal 0)

P3.3 INT1 (interrupt eksternal 1)

P3.4 T0 (input eksternal timer 0)

P3.5 T1 (input eksternal timer 1)

P3.6 WR (perintah write pada memori eksternal)

P3.7 RD (perintah read pada memori eksternal)

Port 3 merupakan port I/O dua arah dengan dilengkapi pull-up

internal. Penyangga keluaran Port 3 mampu memberikan / menyerap arus

empat masukan TTL (sekitar 1,6 mA).

Gambar 5. Bit Port 3

Jika ‘1’ dituliskan ke kaki-kaki Port 3, maka masing-masing kaki akan

di-pulled high dengan pull-up internal sehingga dapat digunakan

sebagai masukan. Apabila kaki-kaki Port 3 dihubungkan ke ground (di-

pullup low), maka masing-masing kaki akan memberikan arus (source)

karena di-pulled high secara internal.

i. PSEN (Program Store Enable)

Merupakan sinyal baca untuk memori program eksternal. Saat

mikrokontroler keluarga 51 menjalankan program dari memori

eksternal, PSEN akan diaktifkan dua kali per siklus mesin, kecuali

Page 9: Pert 3b Arsitektur Mikrokontroler AT89C51

dua aktivasi PSEN dilompati (diabaikan) saat mengakses memori data

eksternal.

Gambar 6. Diagram blok AT89C51

j. EA/Vpp (External Access Enable)

Page 10: Pert 3b Arsitektur Mikrokontroler AT89C51

EA harus selalu dihubungkan ke ground, jika mikrokontroler akan

mengeksekusi program dari memori eksternal lokasi 0000h hingga

FFFFh. Selain dari itu, EA harus dihubungkan ke Vcc agar

mikrokontroler mengakses program secara internal.

k. XTAL 1

XTAL1 berfungsi sebagai masukan dari rangkaian osilator.

l. XTAL 2

XTAL 2 berfungsi sebagai keluaran dari rangkaian osilator.