BAB02 - Keluarga Mikrokontroler MCS51

download BAB02 - Keluarga Mikrokontroler MCS51

of 9

Transcript of BAB02 - Keluarga Mikrokontroler MCS51

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    1/9

    Mikrokontroler MCS51 6

    2. Keluarga Mikrokontroler MCS-51

    2.1. Gambaran Umum

    Keluarga Mikrokontroler MCS-51 terdiri dari 8051, 8031, 8751, 8052,

    8032, dan 8752. Masing-masing berbeda dalam konfigurasi internalnya.

    Perbedaan pokok adalah bahwa 8031 dan 8032 tidak memiliki internal

    ROM, sedangkan 8751 dan 8752 jenis internal ROM-nya adalah EPROM

    ( Erasable & Programmable ROM ).

    Keluarga Mikrokontroler MCS-51 memiliki konfigurasi dasar sebagai

    berikut :

    Parallel I/O Port 8 bit (P0-P3)

    Serial Full-Duplex Asynchronous I/O Port

    Internal Random Access Memory (RAM) sejumlah 128 byte (8051,

    8031, 8751) atau 256 byte (8052, 8032, 8752) Internal Read Only Memory (ROM) sejumlah 4 kilobyte (8051, 8751)

    atau 8 kilobyte (8052, 8752)

    Programmable Timer/Counter sejumlah 2 (8051, 8031, 8751) atau 3

    (8052, 8032, 8752)

    System Interrupt dengan 2 sumber interrupt eksternal dan 4

    sumber interrupt internal

    Dengan fasilitas yang cukup lengkap semacam itu, maka dimungkinkan

    penggunaan mikrokontroler ini dalam konfigurasi single chip , dimana

    hanya dibutuhkan satu chip untuk menjalankan seluruh sistem rangkaian.

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    2/9

    Mikrokontroler MCS51 7

    2.2. Arsitektur MCS-51

    2.2.1. Diagram blok MCS-51

    Diagram blok arsitektur MCS-51 dapat dilihat pada gambar 2.1. Pada

    diagram blok tersebut dapat disimpulkan bahwa untuk aplikasi yang tidak

    membutuhkan adanya RAM dan/atau ROM dengan skala besar, maka

    MCS-51 telah dapat dipergunakan dalam konfigurasi single chip. Fasilitas

    Parallel Port yang dimiliki dapat dipergunakan untuk mengendalikan

    peralatan eksternal atau menginputkan data yang diperlukan. Port serial

    dapat dipergunakan untuk mengakses sistem komunikasi data dengan dunialuar, misalnya dengan komputer IBM PC, atau peralatan lainnya baik

    langsung lewat kabel ataupun melalui modem dengan saluran telepon,

    radio, atau bahkan serat optik. Timer/counter yang ada dapat dipergunakan

    untuk mencacah pulsa, menghitung lama pulsa, atau sebagai pewaktu

    umum. Sedangkan sistem interrupt membuat MCS-51 dapat dipakai pada

    aplikasi-aplikasi yang mendekati sistem dengan proses real-time.

    Rangkaian clock internal yang dimiliki MCS-51 menjadikan cukup hanya

    ditambahkan sebuah kristal osilator dan dua buah kapasitor untuk

    menghasilkan clock bagi seluruh sistem rangkaian. Untuk kebutuhan ROM

    dan RAM yang besar, sistem MCS-51 mengijinkan penggunaan RAM dan

    ROM masing-masing sebesar maksimal 64 Kilo byte, cukup besar untuk

    aplikasi-aplikasi umum mikrokontroler.

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    3/9

    Mikrokontroler MCS51 8

    B REGISTER

    RAM ADDRESSREGISTER

    RAM

    ACC

    TEMP2

    PORT 0LATCH

    PORT 2LATCH

    EPROM/RO M

    PORT 0DRIVER

    PORT 2DRIVER

    STACKPOINTER

    TEMP1

    ALU

    PSW

    I N S T R U C T

    I O N

    R E G I S T

    E R

    TIMING

    &CONTROL

    -PSEN

    ALE

    -EA

    RST

    T2CON TH0 TL0 TH1

    PCON SCON TMOD TCON

    TL1 TH2 TL2 R2CAPH

    R2CAPL SBUF IE IP

    INTER RUPT, SERIAL PORT& TIMER

    DPTR

    PROGRAMCOUNTER

    PCINCRE-MENTER

    BUFFER

    PROGRAM ADDRESSREGISTER

    PORT 3DRIVERS

    PORT 3LATCH

    PORT 1DRIVERS

    PORT 1LATCH

    OSC

    XT AL1 XT AL2

    VCC

    VSS

    P 0. 0 - P 0. 7 P 2. 0 - P 2. 7

    P3.0 - P3.7P1.0 - P1.7

    Gambar 2.1. Diagram blok MCS-51

    2.2.2. Fungsi kaki-kaki ( pin out ) MCS-51

    Pin Out MCS-51 dapat dilihat pada gambar di bawah ini :

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    4/9

    Mikrokontroler MCS51 9

    Gambar 2..2. Pin-out 8031

    Fungsi kaki-kaki 8031 :

    VSS : dihubungkan dengan ground rangkaian

    VCC : dihubungkan dengan tegangan catu +5 V

    Port 0 : merupakan Port I/O 8 bit dua-arah. Port ini digunakan

    sebagai multipleks bus alamat rendah dan bus data

    selama pengaksesan ke eksternal memori. Setiap pin-nya

    dapat mengendalikan langsung 4 beban TTL. Port 0 juga

    menerima dan mengeluarkan code byte selama proses pemrograman dan verifikasi ROM/EPROM internal.

    Port 1 : merupakan Port I/O 8 bit dua-arah, yang dapat

    mengendalikan beban 4 TTL secara langsung. Setiap pin

    dapat diakses secara operasi tiap bit atau byte

    bergantung pemrogram. Port 1 juga menerima address

    rendah selama proses pemrograman dan verifikasiROM/EPROM internal.

    Port 2 : merupakan Port I/O 8 bit dua-arah, yang dapat

    mengendalikan beban 4 TTL secara langsung. Port ini

    digunakan sebagai bus alamat tinggi selama

    pengaksesan ke eksternal memori. Port 2 juga menerima

    address tinggi selama proses pemrograman dan

    verifikasi ROM/EPROM internal.

    Port 3 : merupakan Port I/O 8 bit dua-arah, yang dapat

    mengendalikan beban 4 TTL secara langsung. Setiap pin

    dapat diakses secara operasi tiap bit atau byte

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    5/9

    Mikrokontroler MCS51 10

    bergantung pemrogram. Masing-masing pin pada Port ini

    memiliki fungsi khusus sebagai berikut :

    Tabel 2.1.Fungsi Pin-pin Port 3Port Pin Fungsi alternatif

    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/counter 0 external input )P3.5 T1 ( timer/counter 1 external input )

    P3.6 -WR ( external data memory write strobe )P3.7 -RD ( external data memory read strobe )

    RST : merupakan input untuk RESET.

    ALE : Address Latch Enable, digunakan untuk memberikan

    sinyal latch pada alamat rendah pada multipleks bus

    adress dan data.

    -PSEN : merupakan sinyal read strobe untuk eksternal programmemori.

    -EA/VPP : merupakan input untuk mode program memori.

    jika dihubungkan ke ground , program memori adalah

    eksternal, jika dihubungkan ke VCC, program memori

    adalah internal, jika dihubungkan ke VPP, diperlukan

    untuk proses pemrograman ROM.XTAL1, XTAL2

    : merupakan input untuk kristal clock.

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    6/9

    Mikrokontroler MCS51 11

    2.3. Organisasi memori

    Pada keluarga MCS-51 ini pengalamatan memori dibedakan atas dua yaitu

    untuk program memori dan untuk data memori. Pemisahan antara program

    memori dan data memori merupakan ciri khas MCS-51. Masing-masing

    program memori dan data memori dapat mengalamati sampai 64 Kilobyte ,

    dengan masing-masing byte lebar datanya 8 bit.

    2.3.1. Program memori

    Program memori hanya dapat dibaca, tidak dapat ditulis. Di sini tersimpan program yang akan dijalankan oleh MCS-51 dan data-data konstanta.

    Sinyal pembacaan EPROM eksternal adalah dari pin -PSEN. Pada MCS-

    51 ada dua tipe organisasi memori dari program memori, yaitu :

    Pengaksesan program memori sebagian berasal dari internal EPROM

    yang menempati alamat terendah dan alamat berikutnya dari EPROM

    eksternal. Sebagai contoh untuk MCS-51 dengan model EPROM

    internal seperti 8051, 8051AH, 8751, alamat 4 Kbyte program memori

    terendah adalah ROM internal dan alamat berikutnya adalah pada

    EPROM eksternal.

    Pengaksesan program memori yang semuanya dari eksternal EPROM.

    Secara diagram blok digambarkan sebagai berikut :

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    7/9

    Mikrokontroler MCS51 12

    4K BYTE

    INTERNAL

    60 K BYTEEKSTERNAL

    64 K BYTEEKSTERNAL

    ATAU

    0000H

    0FFFH

    1000H

    FFFFH

    PROGRAM

    MEMORY

    0000H

    FFFFH

    Gambar 2.3. Organisasi Program Memori

    Pemetaan Program Memori

    Pemetaan program memori ditunjukkan sebagai berikut :

    Alamat 0000H merupakan awal program. Setelah reset, CPU akan

    loncat pada alamat ini dan mengerjakan instruksi di dalamnya.

    Pada fungsi khusus alamat 3H dan seterusnya dengan interval 8 byte

    dipakai sebagai alamat dari vektor interupsi. Bila interupsi tidakdipakai, maka alamat tersebut dapat dipakai untuk program biasa.

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    8/9

    Mikrokontroler MCS51 13

    2.3.2. Data memori

    Data memori menempati alamat yang terpisah dari program memori. Data

    memori merupakan tempat penyimpanan data variabel, operasi stack dan

    sebagainya. Data memori dapat dibaca dan ditulis. Sinyal pembacaan

    untuk eksternal RAM berasal dari pin -RD dan untuk penulisan berasal

    dari pin-WR. Peta data memori digambarkan sebagai berikut :

    DIRECT ANDINDIRECT

    ADDRESSING

    DIRECT ADDRESSING

    ONLY

    64 K BYTEEKSTERNAL

    DAN

    00 H

    7FH80 H

    FFH

    D ATA MEMORY

    0000H

    FFFFH

    Gambar 2.4. Organisasi data memori

    Alamat 00H-FFH (untuk 8051) merupakan alamat dari internal RAM yang

    dapat dialamati dalam dua mode. Pada alamat 00H - 7FH dapat dialamati

    dalam mode direct maupun indirect addressing . Alamat 80H - FFH hanya

  • 8/9/2019 BAB02 - Keluarga Mikrokontroler MCS51

    9/9

    Mikrokontroler MCS51 14

    dapat dialamati dalam mode direct addressing . Di luar alamat tersebut

    merupakan alamat eksternal RAM.

    32 byte terendah data memori terbagi atas 4 buah bank yang masing-

    masing terdiri atas 8 buah register. Kombinasi dari bank ini ditentukan

    oleh register PSW (pembahasan mengenai ini bisa dilihat pada bab

    berikutnya). Register- register tersebut adalah R0 sampai R7 yang

    menempati alamat 00H - 1FH. Di atasnya merupakan segmen bit

    addresable yang besarnya 16 byte, menempati alamat 20H sampai 2FH.Alamat berikutnya yaitu mulai 30H sampai 7FH dapat dibagai sebagai data

    RAM.

    Setelah kondisi reset, kondisi baku register SP ( stack pointer ) akan menuju

    alamat 07H dan begitu program dijalankan isi register SP akan ditambah 1

    (menunjuk ke alamat 08h). Dan ini merupakan register bank 1 register R0.

    Bila memakai lebih dari satu bank register maka SP harus diinisialisasi ke

    lokasi yang lain.