Sie sind auf Seite 1von 17

1.

MIKROKONTROLER MCS-51

Sebuah mikroprosesor yang digabungkan dengan input-output (I/O) dan memori (Random Access
Memory/Read Only Memory) akan membentuk sebuah sistem mikrokomputer. Dari pemikiran CPU yang
dapat dikonstruksi dalam sebuah IC tunggal, maka sebuah mikroprosesor, I/O dan memori dapat pula
dibangun dalam tingkatan IC. Konstruksi ini menghasilkan Single Chip Microcomputer (SCM). SCM inilah
yang disebut sebagai mikrokontroler.

Tahun 1976 Intel meluncurkan mikrokontroler pertama yang disebut seri MCS-48 yang berisi lebih dari
17.000 transistor, hingga saat ini seri ini masih banyak digunakan untuk aplikasi khusus. Seiring
perkembangan mikroprosesor, mikrokontroler juga mengalami perkembangan pesat seperti turunan
MCS-51, 68HC11, mikrokontroler PIC, Fujitsu dan sebagainya.

Pada awal perkembangannya, mikroprosesor dibuat menurut kebutuhan aplikasi yang lebih spesifik,
dalam hal ini mikroprosesor dibagi menjadi beberapa jenis, yaitu :

Mikroprosesor RISC (Reduced Instruction Set of Computing) dan CISC (Complex Instruction Set of
Computing). Jenis ini yang digunakan untuk pengolahan informasi dengan perangkat lunak yang rumit
dan digunakan untuk kebanyakan PC (Personal Computer) saat ini.

Pengolah Sinyal Digital, DSP (Digital Signal Processor). Memiliki perangkat lunak dan perangkat keras
yang ditujukan untuk mempermudah proses pengolahan sinyal-sinyal digital. DSP digunakan pada
perangkat audio dan video modern seperti VCD, DVD, home theatre dan juga pada kartu-kartu
multimedia di komputer.

Mikrokontroler, adalah mikroprosesor yang dikhususkan untuk instrumentasi dan kendali. Contoh
penggunaannya adalah sebagai pengendali motor, berperan seperti PLC (Programmable Logic
Controller), pengaturan pengapian dan injeksi bahan bakar pada kendaraan bermotor atau alat
pengukur otomatis suatu besaran seperti suhu, tekanan, kelembaban dan lain-lain.

Dalam perkembangan yang begitu cepat, batasan-batasan tersebut menjadi kabur, seperti definisi mini,
mikro dan mainframe komputer. Beberapa mikrokontroler disebut embedded processor, atau embedded
processor adalah mikrokontroler, artinya prosesor yang diberikan program khusus yang selanjutnya
diaplikasikan untuk akuisisi data dan kendali khusus, juga bisa diprogram ulang. Beberapa
mikrokontroler modern juga sudah dilengkapi dengan DSP atau terdapat pula mikrokontroler yang
tergolong RISC seperti mikrokontroler AVR (Alf and Vegards Risc processor).

Mikrokontroler adalah suatu chip yang dibuat dengan ciri khasnya, umumnya adalah :

Memiliki memori yang relatif sedikit. Penggunaan mikrokontroler untuk keperluan instrumentasi
khusus membuatnya tidak efisien jika menggunakan memori yang besar namun tidak terpakai.

Memiliki unit I/O langsung. Berbeda dengan mikrokomputer yang unit I/O-nya dapat dikonfigurasi
lebih lanjut, mikrokontroler mempunyai unit I/O yang terintegrasi dan berhubungan langsung dengan
mikroprosesornya.
Program atau perangkat lunaknya relatif sederhana. Sesuai fungsi yang dibuat untuk tujuan khusus,
mikrokontroler hanya membutuhkan program yang sederhana untuk menjalankan fungsinya.

Pemroses bit, ketimbang byte. Dengan memori yang sedikit dan implementasi perangkat lunak yang
sederhana, mikrokontroler lebih cenderung digunakan untuk memproses bit (binary digit) dibandingkan
byte (8 bit), untuk kemudian setiap bit disalurkan ke setiap jalur keluaran I/O pada pin-pin yang
dimilikinya.

Beberapa varian memiliki memori yang tidak hilang bila catu padam didalamnya untuk menyimpan
program.

Sedangkan dalam hal aplikasi, sistem mikrokontroler memiliki karakteristik sebagai berikut :

Memiliki program khusus yang disimpan dalam memori untuk aplikasi tertentu, tidak seperti PC yang
multifungsi karena mudahnya memasukkan program. Program mikrokontroler relatif lebih kecil
daripada program-program pada PC.

Konsumsi daya kecil.

Rangkaian sederhana dan kompak.

Murah, karena komponen yang digunakan sedikit.

Unit I/O yang sederhana, misalnya keypad, LCD, LED, latch.

Lebih tahan terhadap kondisi lingkungan ekstrim misalnya temperatur, tekanan, kelembaban dan
sebagainya.

Intel 8048 adalah SCM yang pertama, dipasarkan pada tahun 1976, ini merupakan cikal bakal dari
mikrokontroler. Keluarga dari 8048 adalah 8021, 8022, 8048, dan 8049 yang hingga saat ini masih
digunakan pada alat-alat kedokteran modern dan digunakan pada keyboard IBM PC
untuk scanning tombol-tombolnya. Versi 8748 memiliki EPROM 1 kByte untuk menyimpan programnya.
Keluarga mikrokontroler pertama ini dikenal dengan nama MCS-48. Generasi kedua mikrokontroler 8 bit
adalah keluarga mikrokontroler 8051 di tahun 1980, dengan nama MCS-51 dan diklaim sebagai standar
mikrokontroler untuk industri yang menguasai lebih dari 60% pasar mikrokontroler dan menjadi inti bagi
terciptanya mikrokontroler produk lainnya. Generasi ketiga adalah mikrokontroler 16 bit, seri MCS-96
yang dapat melakukan operasi 16 bit serta penambahan kemampuan dan kecepatan proses yang
ditingkatkan. Kini jutaan chip telah digunakan di seluruh dunia untuk pengendalian proses-proses dan
instrumentasi.

Seri MCS-51 sederhana, murah dan mudah didapat di pasaran, cukup untuk aplikasi sederhana bagi
pencinta elektronik maupun aplikasi di industri. Chip ini kemudian dikembangkan menjadi beberapa seri
dengan berbagai kemampuan seperti pada 8031, 80C31, 8051AH dan 8751.
Beberapa perusahaan produsen semikonduktor membuat variannya atas lisensi Intel, yaitu suatu chip
yang dapat menjalankan bahasa dan fitur 8051 ditambah dengan kemampuan dan kemudahan khusus.
Perusahaan tersebut antara lain AMD, Atmel, Dallas, Matra, OKI, Philips, Siemens, ISS. Produk Philips
memberikan tambahan adanya ADC (Analog to Digital Converter) dan generator PWM (Pulse Width
Modulation), sedangkan Dallas mempercepat detak (clock) dan siklus mesin, Atmel membuat
mikrokontroler yang menggunakan memori Flash dan harganya relatif murah.

2. PERINTAH DASAR MCS-51

Perintah dasar yang biasa digunakan pada uController MCS-51 adalah sebagai berikut:

clr (clear)

format : clr a

(mereset atau memberi nilai 00h pada akumulator)

clr rx

(mereset atau memberi nilai 00h pada register x)

Contoh: clr r0

clr py

(mereset atau memberi nilai 00h pada port y)

Contoh: clr p1

clr

(mereset atau memberi nilai 00h pada alamat tertentu)

Contoh: clr 4ah

mov

format : mov a, px

(menyalin isi data pada port x ke dalam akumulator)

Contoh: mov a, p3

mov px, #

(menyalin suatu nilai 8-bit ke port x)

Contoh: mov p0, #0feh

mov px, ry
(menyalin isi data yang nilainya terdapat pada register y ke dalam port x)

Contoh: mov p3, r5

setb (set bit)

format : setb px.y

(menset atau memberikan logika 1 pada port x.y)

Contoh: setb p1.0

call

Call terbagi menjadi dua format yaitu acall (absolute call) dan lcall (long call), perbedaannya hanya pada
kemampuan jauh dekatnya pemanggilan subrutin. Seandainya penggunaan acall hanya mampu
memanggil sampai alamat 100h maka untuk lcall dapat lebih dari itu, namun juga untuk penggunaan
lcall membutuhkan memori dan siklus mesin yang lebih banyak.

Saat perintah call dijalankan, isi register PC (Program Counter) akan disimpan ke dalam stack dan
digantikan dengan alamat subrutin yang dipanggil. Saat subrutin berakhir dengan ditandai perintah ret
(return) register PC akan diisi kembali oleh isi dari stack, dan mikrokontroler akan menjalankan perintah
di bawah baris perintah call tadi.

Format : acall

(perintah untuk memanggil program pada subrutin)

Contoh: acall cinta

lcall

(perintah untuk memanggil program pada subrutin)

Contoh: lcall komputer

Cat.: Penggunaan subrutin sebaiknya menggunakan kata, untuk kata-katanya sesuka pemrogram boleh
menggunakan nama sendiri, nama kota ataupun nama-nama lainnya.

jmp (jump)

Jmp juga terbagi menjadi dua format yaitu sjmp (short jump) dan ljmp (long jump), untuk pengunaannya
sama seperti format call pada penjelasan di atas, hanya saja jump merupakan lompatan sederhana yang
tidak dapat mengembalikan nilai register PC seperti perintah call.

Format : sjmp

(lompat atau jalankan langsung program yang berada pada label suatu subprogram)
Contoh: sjmp kamu

sjmp

(lompat atau jalankan langsung program yang berada pada suatu alamat memori)

Contoh: ljmp 100h

djnz (decrement and jump if not zero)

format : djnz rx,

(kurangi nilai isi data pada register x dan bila nilainya belum mencapai 0 maka akan dilakukan lompatan
ke label subprogram)

Contoh: djnz r7, gaul

(kurangi nilai isi data pada register R7 dan bila nilainya belum mencapai 0 maka dilakukan lompatan ke
subprogram dengan label gaul)

jnb (jump if not bit set)

format : jnb px.y,

(lompat ke label subprogram bila nilai port x.y berlogika LOW atau mempunyai nilai 0)

Contoh: jnb p1.0, go

Cat.: jnb hanya bisa dijalankan dengan operand yang berkapasitas 1 bit.

cjne (compare and jump if not equal)

format : cjne a, xyz,

(bandingkan apakah nilai akumulator sama dengan nilai xyz, bila nilainya tidak sama maka lompat ke
label subprogram)

Contoh: cjne a, #0fh, keren

cjne rv, xyz,

(bandingkan apakah nilai register v sama dengan nilai xyz, bila nilainya tidak sama maka lompat ke label
subprogram)

Contoh: cjne r1, #0ach, ganteng

rr (rotate right)

rl (rotate left)
format : rr a

(geser ke kanan 1 bit pada isi akumulator)

rl a

(geser ke kiri 1 bit pada isi akumulator)

rr rx

(geser ke kanan 1 bit pada isi register x)

rl rx

(geser ke kiri 1 bit pada isi register x)

inc (increment)

dec (decrement)

format : inc a

(menambahkan nilai 1 bit pada akumulator)

dec a

(mengurangi nilai 1 bit pada akumulator)

inc rx

(menambahkan nilai 1 bit pada register x)

dec rx

(mengurangkan nilai 1 bit pada register x)

Cat : untuk perintah yang menggunakan decrement, increment, rotate, compare hanya dapat dilakukan
oleh akumulator maupun register saja. Bila nilai pada suatu port ingin dilakukan perintah diatas maka
port tersebut wajib disalin terlebih dahulu kedalam akumulator atau register dengan menggunakan
perintah mov.

Format penulisan standar bahasa assembly MCS-51 (pada Rigel ReadS51) :

#include

org 100h

mov p0,#0ffh

mov p1,#0ffh
mov p2,#0ffh

mov p3,#0ffh

~ Main Program ~

end

Keterangan:

#include

mengambil file sfr51.inc pada library program Reads51 yang berguna sebagai referensi alamat memory
untuk port, register, akumulator dan lainnya. Dengan ini dalam penulisan program, tidak perlu perintah
inisialisasi, perintah yang seharusnya mov 0x80,#ffh dapat ditulis mov p0,#0ffh. Sebenarnya masih
banyak lagi file include yang dapat digunakan hanya saja pada penggunaan standar hanya digunakan
sfr51.inc atau sfr52.inc. Cat : sfr51.inc (AT89x51), sfr52.inc (AT89x52).

org 100h

mempunyai fungsi yang sama dengan perintah a100 pada pemrograman BGC yaitu memulai program
dari alamat memori 100h.

mov px, #0ffh

men-set suatu port atau berguna untuk mengaktifkan port yang akan digunakan sebagai input maupun
sebagai output. Bila hanya ingin menguji sebuah program pada suatu simulasi, perintah ini tidak akan
banyak berpengaruh pada hasil output program namun bila ingin diterapkan pada alat nyata, perintah
ini wajib disertakan.

Main Program

Berisi program utama

End

Mengakhiri baris program

Arsitektur Mikrokontroler MCS-51

Arsitektur mikrokontroler MCS-51 diotaki oleh CPU 8 bit yang terhubung melalui satu
jalur bus dengan memori penyimpanan berupa RAM dan ROM serta jalur I/O berupa port bit I/O dan
port serial. Selain itu terdapat fasilitas timer/counter internal dan jalur interface address dan data ke
memori eksternal.

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

Salah satu tipe mikrokontroler arsitektur MCS-51 yang banyak digunakan saat ini adalah tipe Atmel
89S51. Tipe ini banyak digunakan karena memiliki fasilitas on-chip flash memory dan In System
Programming. Berikut adalah feature-feature untuk mikrokontroler tipe 89S51 buatan Atmel.

4K bytes Flash ROM


128 bytes RAM
4 port @ 8-bit I/O (Input/Output) port
2 buah 16 bit timer
Interface komunikasi serial
64K pengalamatan code (program) memori
64K pengalamatan data memori
Prosesor Boolean (satu bit satu bit)
210 lokasi bit-addressable
Fasilitas In System Programming (ISP)

MEMORY MAP MIKROKONTROLER MCS-51


PENJELASAN FUNGSI PIN MIKROKONTROLER MCS-51

IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi
kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler MCS-51
dapat dilihat berikut.
Berikut adalah penjelasan fungsi tiap kaki yang biasa ada pada seri mikrokontroler MCS-51.

A. Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada desain yang minimum
(sederhana) digunakan sebagai port I/O (Input/Output). Pada desain lebih lanjut pada perancangan
dengan memori eksternal digunakan sebagai data dan address yang di-multiplex. Port 0 terdapat
pada pin 32-39.

B. Port 1
Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 89S52 yang menggunakan
P1.0 dan P1.1 sebagai input eksternal untuk timer ketiga (T3). Port 1 terdapat pada pin 1-8.

C. Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O. Pada desain lebih
lanjut digunakan sebagai high byte dari address. Port 2 terdapat pada pin 21-28.

D. Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai fungsi khusus yang
ditunjukkan pada tabel berikut.

PIN FUNGSI KHUSUS


P3.0 RXD ( serial input port )
P3.1 TXD ( serial output port )
P3.2 _INT0 ( external interrupt 0 )
P3.3 _INT1 ( external interrupt 1 )
P3.4 T0 ( timer 0 external input )
P3.5 T1 ( timer 1 external input )
P3.6 _WR ( external data memory write strobe )
P3.7 _RD ( external data memory read strobe )

E. PSEN (Program Store Enable)


PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses program (code) memori eksternal. Pin
ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan 0 pada tahap fetch
(penjemputan) instruksi. PSEN akan selalu bernilai 0 pada pembacaan program memori internal.
PSEN terdapat pada pin 29.

F. ALE (Address Latch Enable)


ALE digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan program memori
eksternal port 0 akan berfungsi sebagai address dan data bus. Pada setengah paruh pertama memory
cycle ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal dan pada
setengah paruh berikutnya akan bernilai satu sehingga port 0 dapat digunakan sebagai data bus. ALE
terdapat pada pin 30.

G. EA (External Access)
Jika EA diberi masukan 1 maka mikrokontroler menjalankan program memori internal saja. Jika EA
diberi masukan 0 (ground) maka mikrokontroler hanya akan menjalankan program memori eksternal
(PSEN akan bernilai 0). EA terdapat pada pin 31.

H. RST (Reset)
RST pada pin 9 merupakan pin reset. Jika pada pin ini diberi masukan 1 selama minimal 2 machine
cycle maka system akan di-reset dan register-register internal akan berisi nilai default tertentu dan
program kembali mengeksekusi dari alamat paling awal.

I. On-Chip Oscillator
Mikrokontroler MCS-51 telah memiliki on-chip oscillator yang dapat bekerja jika di-drive
menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang
biasa digunakan pada 89S51/89S52 adalah sekitar 12 MHz, dan maksimum sampai 24 MHz. On-chip
oscillator tidak hanya dapat di-drive dengan menggunakan kristal, tapi juga dapat digunakan TTL
oscillator.

J. Koneksi Power
Mikrokontroler biasanya beroperasi pada tegangan 3.3 volt atau 5 volt (tergantung serinya). Pin Vcc
terdapat pada pin 40 sedangkan Vss (ground) terdapat pada pin 20.

Overview Mikrokontroler MCS-51

Mikrokontroler dengan arsitektur MCS-51 merupakan salah satu jenis arsitektur mikrokontroler yang
paling lama, paling populer dan paling banyak digunakan di dunia. Arsitektur ini dikeluarkan pertama kali
oleh Intel dan kemudian menjadi banyak dipakai dan dipelajari di seluruh dunia.

Berbagai seri mikrokontroler berarsitektur MCS-51 telah diproduksi oleh berbagai vendor dan
digunakan di dunia sebagai mikrokontroler yang bersifat low cost dan high performance. Di Indonesia,
mikrokontroler MCS-51 banyak dipakai karena telah lama populer, mudah untuk didapatkan, dan
harganya yang murah.

Antar seri mikrokontroler berarsitektur MCS-51 memiliki beragam tipe dan fasilitas, namun
kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Berikut
tabel perbandingan beberapa seri mikrokontroler MCS-51 buatan Atmel.
Flash RAM EEPROM Pin
Seri Timer UART SPI ISP
(KBytes) (Bytes) (KBytes) I/O
AT89C51 4 128 - 32 2 1 - -
AT89S51 4 128 - 32 2 1 - Ya
AT89C52 8 256 - 32 3 1 - -
AT89S52 8 256 - 32 3 1 - Ya
AT89C2051 2 256 - 15 2 1 - -
AT89S2051 2 256 - 15 2 1 - Ya
AT89C4051 4 256 - 15 2 1 - -
AT89S4051 4 256 - 15 2 1 - Ya
AT89S8252 8 256 2 32 3 1 1 Ya
AT89S8253 12 256 2 32 3 1 1 Ya

Keterangan:

Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia
yang harus dijalankan oleh mikrokontroler
RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data
sementara dan pengolahan data ketika program sedang running
EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan
data secara permanen oleh program yang sedang running
Pin I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi
program
Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa
UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial
asynchronous
SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial
synchronous
ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram
langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal

Tipe Dan Fungsi Port Microcontroler Atmel MCS51


Mikrokontroler MCS51 buatan Atmel terdiri dari dua versi, yaitu versi 20 kaki dan versi 40 kaki.
Semua mikrokontroler ini dilengkapi dengan Flash PEROM (Programmable Eraseable Read
Only Memory) sebagai media memori-program, dan susunan kaki IC-IC tersebut sama pada tiap
versinya. Perbedaan dari mikrokontroler-mikrokontroler tersebut terutama terletak pada
kapasitas memori-program, memori-data dan jumlah pewaktu 16-bit.
Mikrokontroler MCS51 Atmel versi mini (20 pin) dan versi 40 pin secara garis besar memiliki
struktur dasar penyusun arsitektur mikrokontroler yang sama. Bagian-bagian tersebut secara
lebih lengkap (detil) ditunjukan dalam diagram blok berikut.

Diagram Blok Microcontroller Atmel MCS51


Mikrokontroler MCS51 Atmel versi 40 kaki mempunyai 32 kaki sebagai port paralel dan 8 pin
yang lain untuk konfigurasi kerja mikrokontroler. Satu port paralel terdiri dari 8 kaki, dengan
demikian 32 kaki tersebut membentuk 4 buah port paralel yang masing-masing dikenal
sebagai port 0, port 1, port 2, port 3. Nomor dari masing-masing jalur (kaki) dari port paralel
mikrokontroler MCS51 Atmel mulai dari 0 sampai 7, jalur (kaki) pertama dari port 0 disebut
sebagai P0.0 dan jalur terakhir untuk port 3 adalah P3.7. Mikrokontroler MCS51 Atmel versi
mini mempunyai 20 kaki, 15 kaki diantaranya adalah kaki port 1 dan port 3. 5 kaki yang lain
untuk konfigurasi kerja mikrokontroler. Port 1 terdiri dari 8 jalur yaitu P1.0 sampai P1.7
dan port 3 terdiri dari 7 jalur yaitu P3.0 sampai P3.5 dan P3.7. Susunan kaki mikrokontroler
MCS51 atmel versi 40 kaki dapat dilihat pada gambar berikut.

Gambar Konstruksi Microcontroller Atmel MCS51

Fungsi Kaki-Kaki (Pin) Microcontroller Atmel MCS51


VCC, Kaki VCCdigunakan untuk masukan suplai tegangan.
GND, Kaki (pin) GNDfunsinya sebagai saluran ground atau pentanahan.
RST, Kaki RSTfungsinya sebagai masukan reset. Kondisi 1 selama 2 siklus mesin pada
saat oscillator bekerja akan me-reset mikrokontroler yang bersangkutan.
ALE/PROG, Kaki ALEdigunakan sebagai keluaran ALE atau Adreess Latch Enable yang
akan menghasilkan pulsa-pulsa untuk menahan byte rendah (low byte) alamat selama
mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the
program pulse input) atau selama pemrograman flash. Pada operasi normal, ALEakan
berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan
(timing) atau pendekatan (clocking) rangkainan eksternal.
PSEN, Kaki (Program Store Enable) merupakan sinyal baca untuk memori
program eksternal. Saat mikrokontroler MCS51 menjalankan program dari
memori eksternal, akan diaktifkan dua kali per-siklus mesin, kecuali dua aktivasi
dilompati (diabaikan) saat mengakses memori data eksternal.
EA/VPP, Kaki VPP( Exkternal Access Enable) fungsinya sebagai kontrol untuk mengakses
memori. harus dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program
dari memori eksrternal. Selain itu harus dihubungkan ke VCCjika akan mengakses
program secara internal. Kaki ini juga berfungsi untuk menerima tegangan 12V (VPP)
selama pemrograman flash, khususnya untuk tipe mikrokontroler 12V volt.
XTAL1, Kaki XTAL1merupakan masukan untuk penguat inverting oscillator dan masukan
untuk clock internal pada rangkaian operasi mikrokontroler.
XTAL2, Kaki XTAL2merupakan keluaran dari rangkaian penguat inverting oscilator
Port 0, Port 0 merupakan port keluaran/masukan (I/O) 8-bit bertipe open drain bi-
directional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink current)
delapan masukan TTL (sekitar 3,8 mA). Pada saat logika 1 dituliskan ke port 0, maka
kaki-kaki port 0 ini dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Port 0
juga dapat dikonfigurasikan sebagai jalur alamat/data bagian rendah (low byte) selama
proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini
maka port 0 memiliki pull-up internal. Port 0 juga dapat menerima kode-kode yang
dikirimkan kepadanya selama proses pemrograman dan mengeluarkan kode-kode selama
proses verifikasi program yang telah tersimpan dalam Flash PEROM. Dalam hal ini
dibutuhkan pull-up eksternal selama proses verifikasi program.
Port 1, Port 1 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-
up internal. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan
TTL(sekitar 1,6 mA). Jika logika 1 dituliskan ke kaki-kaki port 1, maka masing-masing
kaki port 1 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai
masukan. Sebagai masukan jika kaki-kaki port 1 dihubungkan ke ground (di-pull-up low),
maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up
high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama
pemrograman dan verifikasi pada Flash PEROM.
Port 2, Port 2 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-
up internal. Penyangga keluaran port 2 mampu memberikan/menyerap arus empat masukan
TTL (sekitar 1,6 mA). Jika logika 1 dituliskan ke kaki-kaki port 2, maka masing-masing
kaki port 2 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai
masukan. Sebagai masukan jika kaki-kaki port 2 dihubungkan ke ground (di-pull-up low),
maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up
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 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 @R1), port 2 akan mengirimkan isi dari SFR
P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman
dan verifikasi pada Flash PEROM.
Port 3, Port 3 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-
up internal. Penyangga keluaran port 3 mampu memberikan/menyerap arus empat masukan
TTL(sekitar 1,6 mA). Jika logika 1 dituliskan ke kaki-kaki port 3, maka masing-masing
kaki port 3 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai
masukan. Sebagai masukan jika kaki-kaki port 3 dihubungkan ke ground (di-pull-up low),
maka masing-masing kaki akan memberikan arus (source) karena di-pull-up
high secara internal. Port 3 juga digunakan untuk menerima sinyal-sinyal kontrol (P3.6 dan
P3.7), bersama-sama dengan port 2 (P2.6 dan P2.7) selama proses pemrograman
dan verifikasi pada Flash PEROM.
Arsitektur MCS-51
JUNE 26, 2008
tags: Arsitektur, MCS-51, Microcontroller

Diagram Blok MCS-51


Dasar dari IC MCS-51 adalah mikrokontroler 8051 yang mempunyai spesifikasi sebagai berikut :
ROM 4K byte
RAM 128 byte
4 buah I/O (Input/Output) port 8-bit
2 buah timer 16 bit
Interface serial
64K pengalamatan code (program) memori
64K pengalamatan data memori
Prosesor Boolean (satu bit satu bit)
210 lokasi bit-addressable
4 s operasi pengalian/pembagian.
Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada desain yang
minimum (sederhana) digunakan sebagai port I/O (Input/Output). Pada desain lebih
lanjut, yaitu pada perancangan dengan memori eksternal port 0 digunakan untuk data
dan alamat (address) yang di-multiplex. Port 0 terdapat pada pin 32-39.
Port 1
Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 8032/8052
yang menggunakan P1.0 dan P1.1 sebagai input eksternal untuk timer ketiga (T3). Port 1
terdapat pada pin 1-8.
Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O. Pada
desain lebih lanjut digunakan sebagai high byte dari address. Port 2 terdapat pada pin
21-28.
Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai fungsi khusus
yang ditunjukkan pada tabel 2.

Konfigurasi Kaki IC Mikrokontroler 8051


PSEN (Program Store Enable)
PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses program (code) memori
eksternal. Pin ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN
akan 0 pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai 0 pada
pembacaan program memori internal. PSEN terdapat pada pin 29.
ALE (Address Latch Enable)
ALE digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan
program memori eksternal, port 0 akan berfungsi sebagai address dan data bus. Pada
setengah paruh pertama memory cycle, ALE akan bernilai 1 sehingga mengijinkan
penulisan alamat pada register eksternal dan pada setengah paruh berikutnya akan
bernilai satu sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin
30.
EA (External Access)
Jika EA diberi masukan 1 maka 8051/8052 menjalankan program memori internal saja.
Jika EA diberi masukan 0 (ground) maka 8051/8052 hanya akan menjalankan program
memori eksternal (PSEN akan bernilai 0). EA terdapat pada pin 31.
RST (Reset)
RST pada pin 9 merupakan reset dari 8051. Jika pada pin ini diberi masukan 1 selama
2 machine cycle maka register-register internal pada 8051 akan berisi nilai default
setelah sistem di-reset.
On-Chip Oscillator
8051 telah memiliki on-chip oscillator yang dapat bekerja jika di-drive menggunakan
kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang
biasa digunakan pada keluarga MCS-51 adalah 12 MHz walaupun pada jenis 80C31BH-1
dapat menggunakan kristal dengan frekuensi sampai 16 MHz. On-chip oscillator tidak
hanya dapat di-drive dengan menggunakan kristal, tapi juga dapat digunakan TTL
oscillator.
Koneksi Power
8051 beroperasi pada tegangan 5 volt. Pin Vcc terdapat pada pin 40 sedangkan Vss
(ground) terdapat pada pin 20.
Port Register
Pada 8051 port I/O terdiri dari port 0 pada alamat 80H, port 1 pada alamat 90H, port 2
pada alamat A0H, dan port 3 pada alamat B0H. Port 0, 2, dan 3 mungkin tidak cocok
untuk I/O jika digunakan memori eksternal atau fungsi khusus lainnya digunakan
(interrupt, serial port, dll). Seluruh port adalah bit-addressable.
Timer Register
Pada 8051 terdiri dari 2 buah timer/counter 16 bit untuk interval waktu atau
menghitung kejadian. Timer 0 berada pada alamat 8AH (TL0, byte rendah) dan 8CH
(TH0, byte tinggi), dan Timer 1 berada pada alamat 8BH (TL1, byte rendah) dan 8DH
(TH1, byte tinggi). Operasi timer diset oleh Timer Mode Register (TMOD) pada alamat
89H dan Timer Control Register (TCON) pada alamat 88 H. Hanya TCON yang bit-
addressable.
Serial Port Register
8051 berisi serial port on-chip untuk komunikasi dengan peralatan serial seperti
terminal atau modem, atau untuk interface (antar muka) dengan IC lainnya dengan
serial interface seperti A/D converter. Satu register, Serial Data Buffer (SBUF) pada
alamat 99H menangani antara menerima data dan mengirimkan data. Menulis ke SBUF
mengambil data untuk dikirimkan; membaca SBUF mengakses data yang diterima.
Interrupt Register
8051 mempunyai 5 sumber, struktur 2 tingkat prioritas interrupt. Interrupt akan di-
disable setelah sistem direset dan akan di-enable dengan menulis pada interrupt enable
register (IE) pada alamat A8H. Level/tingkat prioritas ini diset melalui Interrupt Priority
Register (IP) pada alamat B8H.

Das könnte Ihnen auch gefallen