17060403-teori-dasar-mikrokontroler

Upload: hariyanto-eko

Post on 08-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    1/17

    TEORI DASAR MIKROKONTROLER

    Pengenalan Mikrokontroller

    Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer,hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru,

    yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya

    membutuhkan ruang yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak)

    membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar,

    mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan

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

    Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi

    (misalnya pengolah kata, pengolah angkadan lain sebagainya), mikrokontroler hanya bisa

    digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan).

    Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer

    perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalamruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan

    dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-

    nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash

    PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan

    sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

    Adapun kelebihan dari mikrokontroller adalah sebagai berikut :

    1. Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly denganberpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah

    dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena

    menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung

    bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidakmenggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar

    dan huruf kecil untuk bahasa assembly tetap diwajarkan.

    2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi

    menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai

    komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.

    3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan

    parameter komputer hanya digunakan untuk download perintah instruksi atau program.

    Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan

    karena tidak menggunakan banyak perintah.

    4. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/Oyang disesuaikan dengan kebutuhan sistem.

    5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.

    Unit Mikrokontroller

    Keluarga MCS-51 merupakan mikrokontroller 8 bit seperti terlihat pada table

    berikut ini :

    1

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    2/17

    Tabel 1 keluarga MCS51

    Terdapat beberapa anggotanya mempunyai internal memory, salah satunya adalah mikrokontroller

    AT89C51 yang merupakan versi EEPROM dari 80C51 dimana memory internal ini dapat diprogram

    dan dihapus secara elektrik diproduksi oleh ATMEL Corporation. AT89C51 dibuat compatible

    dengan sel instruksi dan pin keluaran standar industri MCS-51 yang memiliki 4Kbyte RAM

    internal dengan teknologi flas EEPROM yang dapat menyimpan data meskipun catu daya dimatikan.

    DT-51 merupakan development tools yang terdiri dari 2 bagian terintegrasi yaitu perangkat keras

    dan perangkat lunak. Komponen utama perangkat keras DT-51 ialah mikrokontroler AT89C51

    yang merupakan salah satu turunan keluarga MCS-51 Intel dan telah menjadi salah satu standar

    industri dunia. Selain mikrokontroler, DT-51 dilengkapi pula dengan EEPROM yangmemungkinkan DT-51 bekerja dalam mode stand-alone (bekerja sendiri tanpa komputer). Selain

    komponen-komponen tersebut masih banyak fungsi lain pada DT-51, antara lain : timer, counter,

    RS-232 serial port, Programmable Perangkat Interface (PPI), serta LCD port. Perangkat lunak

    DT-51 terdiri dari Downloader DT51L dan Debugger DT51D. Downloader berfungsi untuk

    mentransfer user program dari PC (Portable Computer) ke DT-51, sedangkan debugger akan

    membantu user untuk melacak kesalahan program.

    Spesifikasi DT-51

    1. Berbasis mikrokontroler 89C51 yang berstandar industri.

    2. Serial port interface standar RS-232 untuk komunikasi antara komputer dengan board DT-51.

    3. 8 Kbytes non-volatile memory (EEPROM) untuk menyimpan program dan data.

    4. 4 port input output (I/O) dengan kapasitas 8 bit tiap portnya.

    5. Port Liquid Crystal Display (LCD) untuk keperluan tampilan.

    6. Konektor ekspansi untuk menghubungkan DT-51 dengan add-on board yang kampatibel dari

    Innovative Electronics.

    2

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    3/17

    Gambar.1 Tata Letak DT-51

    1. Mikrokontroller AT89C51

    Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan

    umunya dapat menyimpan program didalamnya. Mikrokontroler umumnya terdiri dari CPU

    (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital

    Converter (ADC) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler

    ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board mikrokontroler

    menjadi sangat ringkas. Mikrokontroler AT89C51 ialah mikrokomputer CMOS 8 bit dengan 4 KB

    Flash PEROM (Programmable and Erasable Only Memory) yang dapat dihapus dan ditulisi

    sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan teknologi high densitynon-volatile memory Atmel. Flash PEROM on-chip tersebut memungkinkan memori program

    untuk diprogram ulang dalam sistem (in-system programming) atau dengan menggunakan

    programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba guna dan Flash

    PEROM, menjadikan mikrokontroler AT89C51 menjadi microcomputer handal yang fleksibel.

    Karakteristik lainya dari mikrokontroler AT89C51 sebagai berikut :

    - Low-power

    - 32 jalur masukan/keluaran yang dapat diprogram*

    - Dua timer counter 16 bit

    - RAM 128 byte

    - Lima interrupt Arsitektur perangkat keras 89C51 mempunyai 40 kaki, 31 kaki digunakan untuk

    keperluan 4 buah port pararel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk interfacing

    ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga

    digunakan secara sendiri setiap bitnya untuk interfacing single bit septerti switch, LED, dll.

    3

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    4/17

    Gambar 2. Konfigurasi Pin Mikrokontroler AT89C51

    Fungsi dari mikrokontroler AT89C51 secara keseluruhan dapat digambarkan yaitu sebagai

    berikut :

    Pin 1 sampai 8

    Adalah kelompok pin untuk port 1. Port 1 ini merupakan port I/O dua arah yang digunakan

    untuk penghubungan dengan peralatan luar.

    Pin 9

    Adalah masukan reset. Dimana ketika ada masukan sinyal dalam waktu tertentu pada pin ini,mikrokontroler akan di reset.

    Pin 10 sampai 17

    Adalah port 3 yang juga merupakan port I/O. Port 3 terdiri dari pin-pin yang diperlihatkan

    tabel dibawah ini.

    Tabel 2. fungsi pin pada P3

    4

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    5/17

    Pin 18

    Adalah XTAL 2 yaitu untuk keluaran dari inverting oscillator amplifier. XTAL 2 digunakan

    untuk pewaktuan mikrokontroler.

    Pin 19

    Adalah XTAL 1 yaitu masukan untuk inverting oscillator amplifier dan masukan untuk rangkaian

    sumber detak (clock).

    Pin 20

    Adalah ground dan diberi simbol gnd. Pin ini terhubung dengan jalur netral/ground dari rangkaian

    pengatur daya.

    Pin 21 sampai 28

    Adalah port 2 yang juga sebagai port I/O.

    Pin 29

    Adalah Program Store Enable ( ), yaitu masukan sinyal baca untuk memori program

    eksternal agar masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).

    Pin 30

    Adalah Address Latch Enable (ALE) yaitu keluaran yang menghasilkan pulsa-pulsa untuk

    mengancing byte rendah alamat selama mengakses eksternal. Selain itu pin ini juga berfungsi

    sebagai atau masukan pulsa program selama pemograman.

    Pin 31

    Adalah External Acces Enable ( ) yang merupakan sinyal kontrol untuk pembacaan memori

    program. Apabila diset rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi

    dari memori program eksternal, sedangkan jika diset tinggi (H) maka mikrokontroler akan

    melaksanakan instruksi dari memori program internal ketika isi program kurang dari 4096. Port

    ini juga berfungsi sebagai tegangan pemograman (Vpp = + 12V) selama proses pemograman.

    Pin 32 sampai 39

    Adalah merupakan port 0 dan berfungsi sebagai I/O.

    Pin 40

    Adalah Vcc atau sumber tegangan. Pin ini dihubungakan dengan jalur positif dari rangkaian

    pengatur daya

    Organisai Memori Mikrokontroller AT89C51

    AT89C51 yang merupakan versi EEPROM dari 8051yang program memorinya dapat diprogramdan dihapus secara elektrik. AT89C51 mempunyai lokasi alamat yang terpisah untuk program

    memori dan data memori .

    5

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    6/17

    Gambar 3. Blok Diagram Inti Dari AT89C

    Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8

    bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8 bit. Namun

    demikian, alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR.

    Gambar 4. Struktur Memori Mikrokontroler AT89C51

    Memori Program

    Memori program hanya bisa dibaca saja karena bersifat sebagai ROM. Memori ini disimpan dalam

    Flash PEROM. Memori program yang bisa diakses langsung hingga 64 Kbyte. Pada gambar emori

    program terdapat strobe (tanda) untuk akses memori program eksternal melalui sinyal (Program

    Strobe Enable). Mikrokontroler AT89C51 mempunyai 4 Kbyte memori program internal. Bila

    memakai memori program eksternal, maka pin ` diberi logika Low. Apabila ingin memakai emori

    program internal pin diberi logika High.

    Memori Data

    6

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    7/17

    Memori data menempati ruang alamat terpisah. Memori eksternalnya dapat diakses secara

    langsung hingga 64 Kbyte. CPU akan memberikan sinyal baca dan tulis selama mengakses

    memori data eksternal.Gambar menampilkan ruang alamat memori data internal dan

    eksternal. Perincian ruang memori data internal seperti gambar 2.5. dibagi menjadi tiga blok

    yaitu, 128 lower, 128 upper, dan Register Fungsi Khusus (Special Function Register = SFR).

    Pengaksesan langsung dengan alamat diatas 7FH mengakses suatu memori, sedangkanpengaksesan tak langsung dengan alamat di atas 7FH mengakses ruang memori lain yang

    berbeda. Pada memori data internal 128 byte lower terdapat empat bank dan delapan register

    (Ro...R7).

    Gambar 5. Struktur Memori Mikrokontroler AT89C51

    Pengalamatan langsung dari 80H sampai FFH tergolong dalam SFR. Berikut fungsi yang terdapatdalam SFR. 1. Program Status Word (PSW) PSW berisi bit-bit status yang berkaitan dengan kondisi

    CPU saat itu. PSW terletak dalam ruang SFR pada lokasi D0H.

    1. Akumulator

    ACC atau akumulator menempati lokasi E0H dan digunakan sebagai register untuk penyimpanan

    data sementara dalam program.

    2. Register B

    Register B terletak pada lokasi F0H. Register ini digunakan selama operasi perkalian dan

    pembagian. Saat intstruksi MUL AB terjadi perkalian antara akumulator dengan data yang

    tersimpan dalam register B dan hasilnya 16 bit disimpan dalam register B dan akumulator (A).

    Instruksi DIV AB melakukan pembagian antara akumulator dengan data yang tersimpan dalam

    register B.

    3. Stack Pointer (SP)

    Register SP terletak pada lokasi 81H. SP merupakan register dengan panjang 8 bit dan

    digunakan dalam proses simpan dan ambil dari/ke stack.

    4. Data Pointer

    Register Data Pointer atau DPTR mengandung byte tinggi (DPH) dan byte rendah (DPL) masing-

    masing berada di lokasi 83H dan 82H. DPTR dapat dimanipulasi sebagai dua register 8 bit yang

    terpisah.

    7

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    8/17

    5. Port 0, Port 1, Port 2, Port 3

    P0, P1, P2, P3 masing-masing menempati lokasi 80H, 90H, A0H, dan B0H.

    6. Register Kontrol (Control Register)

    Pada register kontrol terdapat TMOD sebagai pewaktu.

    7. Timer Register

    Timer register merupakan register pencacah 16 bit. Timer 0 high dan timer 0 low terdapat

    pada masing-masing 8CH dan 8AH. Timer 1 high dan Timer

    1 low terdapat dilokasi 8DH dan 8BH.

    Memori Eksternal

    Selain PEROM dan internal RAM yang terdapat pada mikrokontroler AT89C51, DT51 jugamempunyai memori eksternal berjenis EEPROM (Electrically Erasable Programmable Read

    Only Memory). Sesuai dengan namanya maka EEPROM dapat ditulis dan dihapus secara

    elektrik, mirip seperti RAM namun bersifat non volatile sehingga data yang tersimpan dalam

    EEPROM tidak hilang meskipun catu daya dimatikan. AT28C64B adalah suatu memori eksternal

    seperti yang digunakan sebagai tambahan dalam menyimpan program dan data. Pada

    pengaksesannya baik dalam menulis dan membaca, memori ini tidak membutuhkan komponen

    luar. Didalamnya terdiri dari suatu halaman register 64 byte untuk penulisan. Memori

    AT28C64B memiliki 28 pin yang terdiri dari 13 pin pengalamatan, 8 pin I/O data dan 3 pin

    inisialisasi, serta 2 pin untuk Vcc dan ground, sedangkan 2 pin lainnya tidak dihubungkan.

    Gambar 6. Electrically-Erasable and Programmable Read Only

    Memory (EEPROM) AT28C64B.

    Untuk penggunaan memori ini seperti telah disinggung diatas, dilakukan dari mikrokontroler.

    Sebagai memori program, pengaturan dilakukan dari mikrokontroler pada pin ALE, pin dan

    pin . Pin ALE sebagai pengunci alamat, pin berfungsi untuk menentukan pengambilan

    instruksi. Jika disambung pada Vcc, maka mikrokontroler mengambil instruksi dari memori

    internal, dan bila tersambung pada ground maka pengambilan instruksi dari memori eksternal.

    Sedangkan untuk inisialisasi pengambilan program dari memori ekternal diatur pada pin . Sama

    dengan memori internal, program hanya dapat dibaca. Penggunaan sebagai memori data, dilakukan

    pada pin dan pin . Pin untuk penulisan data dan pin untuk pembacaan data.

    Set Instruksi

    Ada beberapa instruksi yang dikenal oleh mikrokontroler AT89C51 yaitu:

    8

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    9/17

    Instruksi aritmetika

    Intruksi logika dan manipulasi bit

    Instruksi transfer data

    Instruksi percabangan

    Instruksi-instruksi tersebut dijelaskan berikut ini.

    Instruksi Aritmetika

    Intruksi aritmetika mencakup penambahan (ADD), pengurangan (SUBB), perkalian (MUL),

    dan pembagian (DIV).

    1. Penambahan (ADD)

    Instruksi ini menjumlahkan suatu data dengan isi akumulator dan hasilnya disimpan dalam

    akumulator.

    Operasi ADD : AA+data

    2. Pengurangan (SUBB)

    Instruksi ini mengurangkan isi akumulator dengan isi carry flag dan isi data.

    Operasi SUBB : AA-C-data

    3. Perkalian (MUL)

    Instruksi ini mengalikan isi akumulator dengan isi register B.

    Operasi MUL : ABA*B

    4. Pembagian (DIV)

    Instruksi ini akan membagi isi register akumulator dengan isi register B.

    Operasi DIV : ABA/B

    5. Penambahan satu (INC)

    Proses ini menambahkan satu pada isi suatu register atau memori.

    Operasi INC A : ABA+B

    6. Pengurangan Satu (DEC)

    Proses ini kebalikan dari proses pengurangan satu.

    Instruksi Logika Dengan Manipulasi Bit

    Instruksi logika dan manipulasi bit terdiri dari :

    1. Logika AND (ANL)

    Instruksi ini melakukan proses logika AND antara suatu register dengan register, register

    dengan data, carry flag dengan suatu alamat, dan lain- lain.

    Tabel kebenarannya

    9

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    10/17

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    11/17

    ORL alamat data, A

    ORL A, alamat data

    3. Logika NOT (CPL)

    Instruksi ini melakukan proses logika NOT pada suatu register, carry flag, atau isi suatu alamatbit. Tabel kebenarannya sebagai berikut.

    Tabel 5. Operasi NOT

    Format instruksi NOT:

    CPL A

    CPL alamat bit

    4. Logika EXOR (XRL)

    Instruksi ini melakukan proses logika exlusive-OR antara register dengan register, register

    dengan data, dan lain-lain. Tabel kebenarannya sebagai berikut.

    Tabel 6. Operasi EXOR

    5. Manipulasi Pengesetan (CLR)

    Instruksi ini menyebabkan suatu bit menjadi reset atau nol Format instruksi CLR :

    CLR A

    CLR alamat bit

    6. Manipulasi Bit Pengesetan (SETB)

    Instruksi ini akan mengeset bit yang dimaksud (atau 1)

    Format instruksi SETB :

    SETB C

    SETB bit

    7. Manipulasi Bit Pengisian (MOV)

    11

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    12/17

    Instruksi ini akan mengisi suatu data dalam bentuk byte. Format instruksi MOV :

    MOV @Rr, A

    MOV A, @Rr

    MOV @Rr, #data

    MOV @Rr, alamat data

    MOV A, alamat data

    8. Manipulasi Lompat

    Program counter akan meloncat ke alamat yang dikehendaki. Format instruksinya :

    JC alamat kode

    JNC alamat kode

    Instruksi Transfer Data

    Kelompok instruksi ini digunakan untuk memindahkan data antara :

    1. register-memori

    2. antarmuka-register

    3. antarmuka-memori

    Contoh :

    MOV A, R0 : Pindahkan isi register R0 ke akumulator.

    MOV A, @R0 : Pindahkan isi memori yang alamatnya ditunjukkan oleh register R0 ke

    akumulator.

    MOV A, P3 : Pindahkan isi port 3 ke akumulator.

    Instruksi Percabangan

    Instruksi percabangan ini dibagi dua yaitu percabangan dengan syarat dan percabangan tanpa

    syarat. Percabangan dengan syarat terdiri atas :

    CJNE

    Instruksi ini akan membandingkan isi register atau isi memori dengan suatu data. Bila hasil

    perbandingan itu sama, instruksi selanjutnya yang akan dituju. Bila tidak sama, instruksi yang

    ditunjuk oleh label yang akan dilaksanakan.

    Format instruksi CJNE :

    CJNE A, @Rr

    DJNZ

    Instruksi ini akan mengurangi isi register atau memori dengan satu. Bila sudah 0, instruksi

    selanjutnya akan dilaksanakan dan bila belum 0 instruksi dilanjutkan ke label.

    Format instruksi DJNZ :

    12

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    13/17

    DJNZ Rr, alamat kode

    DJNZ alamat data, alamat kode

    JBC

    Instruksi ini akan menguji suatu alamat bit. Apabila alamat bit berisi 1 (set) bit tersebut akan diclear dan selanjutnya program menuju tabel. Bila alamat bit berisi 0, instruksi selanjutnya yang akan

    dieksekusi.

    Format instruksi JBC :

    JBC alamat bit, alamat kode

    Percabangan tanpa syarat meliputi :

    Long Jump (LJMP)

    Format instruksi Long Jump :

    LJMP alamat kode

    Short Jump (SJMP)

    Format instruksi Short Jump :

    SJMP alamat kode

    Progaram sumber assembly

    Program sumber assembly merupakan program yang ditulis oleh pembuat program berupa

    kumpulan baris-baris perintah dan biasanya disimpan dengan extension .ASM. program sumber

    assembly terdiri atas beberapa bagian yaitu Label, Mnenonikm Operand, dan Komentar.

    1. Label

    Label sangat berguna dalam pemberian nama pada alamat-alamat yang dituju, karena

    pemberian label pada suatu alamat lebih bersifat relatif. Selain itu, label juga digunakan sebagai

    catatan diri alur program. Untuk membuat label, ada beberapa persyaratan yang harus dipenuhi,

    dimana persyaratan ini kadang-kadang juga bergantung pada program assembler yang digunakan,

    yaitu :

    A. Harus diawali dengan huruf.

    B. Tidak diperbolehkan adanya label yang sama dalam satu program assembly.

    C. Maksimal 16 karakter.

    D. Tidak diperbolehkan adanya karakter spasi dalam label.

    2. Mnemonic

    Mnemonic atau bisa juga disebut kode operasi adalah kode-kode yang akan dikerjakan oleh program

    assembler yang ada pada mikrokontroller merupakan perintah-perintah atau instruksi-instruksi yang

    sangat bergantung dengan jenis mikrokontroller yang digunakan. Contoh, untuk keluarga MCS51

    digunakan MOVX, MOV, ADD dan lain-lain.

    3. Operand

    13

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    14/17

    Operand merupakan pelengkap dari mnemonic, jumlah operand yang dibutuhkan oleh satu

    mnemonic tidak selalu sama, sebuah mnemonic dapat memiliki tiga, dua, satu atau bahkan tidak

    memiliki operand sama sekali.

    4. Komentar

    Bagian komentar tidak mutlak ada dalam sebuah program, namun bagian ini sangat bergunauntuk menjelaskan proses-proses kerja ataupun catatan-catatan tertentu padabagian-bagian

    program. Bahkan pembuat program seringkali membutuhkannya untuk mengingat kembali

    jalannya program rancanganya.

    Sistem pengalamatan

    Dalam sebuah program, terdapat beberapa system pengalamatan yang perlu diketahui, yaitu :

    Pengalamatan Langsung

    1. Immediate Data

    Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupan datayang akan diproses. Biasanya operand tersebut selalau diawali dengan tanda #. Operand

    yang igunakan operand yang digunakan pada immediate data juga dapat berupa bilangan

    bertanda mulai -256 hingga +256

    Contoh :

    Mov A,#-1 sama dengan Mov A,#0FFH

    Bilangan 1 adalah sama dengan 0 dikurangi 1, dalam bentuk heksa bilangan 00H jika dikurangi 1,

    hasilnya adalah 0FFH. Dengan pengertian seperti ini, bilangan -1 dianggap sama dengan 0FFH.

    2. Pengalamatan Data

    Proses pengalamatan ini terjadi pada sebuah proses perintah ketika nilai operand

    merupakan alamat dari data yang akan di isi, dipingahkan atau diproses.

    Pengalamatan Tak Langsung

    Proses pengalamatan ini terjadi pada sebuah perintah ketika salah satu operand merupakan register

    berisikan alamat dari data yang akan di isi atau dipindahkan. Pengalamatan jenis ini biasa

    digunakan untuk melakukan penulisan, pemindahan, atau pembacaan beberapa data dalam lokasi

    memori yang mempunyai urutan beraturan.

    Pengalamatan Kode

    Pengalamatan kode merupakan pengalamatan kerja operand, merupakan alamat dari instruksi

    jump dan call. Biasanya operand tersebut akan menuju ke suatu alamat yang telah diberi label

    sebelumnya.

    Pengalamatan Bit

    Pengalamatan bit adalah pengalamatan ketika operand menunjuk ke alamat pada RAM internal

    ataupun register fungsi khusus yang mempunyai kemampuan pengalamatan secara bit. Berdasarkan

    penulisannya, pengalamatan ini terdiri dari beberapa macam yaitu :

    1. Langsung menuju ke alamat bit

    14

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    15/17

    Contoh :

    Setb 0B0H

    Perintah ini memberikan logika 1 pada bit di alamat B0H dengan pengalamatan secara bit.

    2. Menggunakan operator titik

    Contoh :

    Setb P3.0

    Perintah ini memberikan logika 1 pada bit ke 0 dari port 3, bit tersebut terletak di alamat B0H

    dengan pengalamatan secara bit.

    3. Menggunakan lambang assembler secara standar

    Contoh :

    Setb RXD

    Perintah ini memberikan logika 1 pada kaki RXD yang terletak pada bit ke 0 dari port 3. 4.

    Menggunakan lambang assembler secara bebas

    contoh :

    Penerima Bit P30

    Setb Penerima Perintah ini memberikan logika 1 pada bit penerima yang sebelumnya

    didefinisikan sebagai bit P3.

    Programmable Peripheral Interface (PPI) 8255

    Programmable Peripheral Interface (PPI) 8255 ialah chip antarmuka 24 bit (3 port) yang dapat

    diprogram sesuai keinginan kita. PPI 8255 merupakan chip yang paling banyak digunakan untuk

    interfacing menggunakan port ISA komputer. PPI 8255 sering digunakan sebagai pengendali motor

    stepper, ADC/DAC, relay, dan rangkaian digital

    lainnya yang digunakan untuk Sistem Akuisisi Data. Gambar 2.7. merupakan skema IC 8255 yang

    memiliki 40 pin. Perlu diingat bahwa pin gnd berada di pin 7 dan Vcc berada di pin 26.Ic sangat

    sensitive terhadap listrik statis. Arus keluaran IC ini sangat kecil, karena itu biasanya digunakan

    resistor pull-up agar dapat menyuplai arus lebih besar.

    15

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    16/17

    Gambar 7. Programmable Peripheral Interface (PPI) 82C55A

    Berikut ini penjelasan mengenai tiap pin :

    PA0-PA07

    Merupakan port A yang terdiri dari 8 bit, dapat diprogram sebagai input atau output denganmetode bidirectional input/output.

    PB0-PB07

    Port B dapat diprogram sebagai input/output, tetapi tidak dapat digunakan sebagai port

    bidirectional.

    PC0-PC07

    Port C dapat diprogram sebagai input/output, bahkan dapat dipecah menjadi dua, yaitu CU (bit

    PC4-PC7) dan CL (bit PC0-PC3) yang dapat diprogram sebagai input/output. RD dan WR Sinyal

    kontrol aktif rendah ini dihubungkan ke 8255. Jika 8255 menggunakan desain periferal I/O

    maka IOR dan IOW bus sistem dihubungkan ke kedua pin ini.

    RESET

    Pin aktif tinggi ini digunakan untuk membersihkan Control Register. Ketika RESET diaktifkan,

    seluruh port diinisialisasi sebagai port input.

    Pengaturan Control Word

    Pengaturan control word bertujuan untuk menentukan fungsi dari setiap port pada PPI 8255. dengan

    menentukan data yang masuk pada pin D0 D7, kita dapat menentukan fungsi dari port-port

    pada PPI 8255. Dengan fungsi masing - masing pin sebagai berikut :

    Gambar 8. Pengaturan Control Word

    Keypad

    16

  • 8/7/2019 17060403-TEORI-DASAR-MIKROKONTROLER

    17/17

    Keypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal pada suatu rangkaian dengan

    menghubungkan jalur-jalur tertentu. Keypad terdiri dari beberapa macam berdasarkan jumlah

    tombol dan fungsinya. Pada sistem pengontrolan ini, digunakan keypad matriks 3 x 4 (12 saklar)

    dengan pin penghubung rangkaian berjumlah 7 buah.

    Gambar 9. Tampilan Fisik Keypad 3 x 4

    Ketujuh pin penghubung ini terbagi dua kelompok yaitu 4 buah pin sebagai input dan 3 buah

    lainnya sebagai ouput. Adapun maksud dari 7 pin I/O adalah untuk dijadikan kombinasi

    penghubungan pada rangkaian yang akan disambungkan dengan keypad ini.

    Dimana dalam setiap penekanan satu tombol/saklar keypad maka terjadi kombinasi antara dua buah

    pin dalam pembacaan sinyalnya.

    Gambar 10. Skematik Keypad 3 x 4

    17