Powered By Blogger

Cari Blog Ini

Sabtu, 22 Oktober 2011

MIKROKONTROLER

halo teman teman.. ini adalah pelajaran smster 3 TEKNIK KOMPUTER
mudah-mudahan bermanfaat

                           





                                                   PERTEMUAN 1



                                PERANGKAT KERAS MIKROKONTROLER



    Pada dasarnya mikrokontroler bukanlah ilmu pengetahuan yang baru, tetapi adalah hasil
    pengembang dalam teknologi elektronika. Jika dasar pengetahuan seperti :
    Elektronika dasar
    Rangkaian listrik
    Pendahuluan
    Rangkaian digital
    Mikroprosesor
     Dan bahasa rakitan sudah ada, maka akan sangat membantu dalam mempelajari mikrokontroler
     Belajar Mikrokontroler Yang Efektif
    Agar bisa menguasai mikrokontroler dalam waktu yang relatif
    singkat maka dengan mikrokontroler yang di pilih diperlukan :
1. Berlatih membat program
2. Membuat eksperimen
    Untuk mencapai hasil yang maksimal maka di butuhkanperangkat pengembang atau development tools

    Perangkat pengembang mikrokontroler sbb:
  *  Compiler (Penterjemah):
    Berupa perangkat lunak karena mikrokontroler beroperasi dengan bahasa mesin, sedangkan
    manusia terbiasa memakai bahasa yang lebih tinggi seerti C, Basic dll.p
    Atau manusia biasa sulit memahami bahasa mesin, maka dengan bantuan Compiler (Penterjemah) bahasa
    pemograman diterjemahkan menjadi bahasa mesin.
   * Simulator:
      Berupa perangkat lunak yang mensimulasikan kerja dari mikrokontroler
    Dengan batuan simulator seorang programer dapat melihat hasil program yang di buat sebelum di tulis ke
     dalam IC mikrokontroler.
    * Emulator:
      Berupa perangkat keras dan perangkat lunak
    Suatu alat yang di hubungkan dengan PC.
    Program yang sudah selesai di buat di tulis (Download) ke emulator kemudian emulator akan bekerja         sendiri walaupun koneksi dilepas dari PC.
   Jika terjadi kesalahan atau program yang di buat belum sesuai dengan keinginan maka setelah program    diperbaiki dapat di tulis (Download) ulang ke emulator
     catatan:
     Emulator sering di sebut dengan target.
     Emulator:
    Berupa perangkat keras dan perangkat lunak
    Suatu alat yang di hubungkan dengan PC.
   Program yang sudah selesai di buat di tulis (Download)
     ke emulator kemudian emulator akan bekerja sendiri walaupun koneksi dilepas dari PC.
Jika terjadi kesalahan atau program yang di buat belum sesuai dengan keinginan maka setelah program diperbaiki dapat di tulis (Download) ulang ke emulator
      catatan:
    Emulator sering di sebut dengan target.
     CPU
•     CPU singkatan dari Central Prosesing Unit
          CPU ialah bagian yang paling penting dari suatu
      Mikrokontroler berfungsi untuk melakukan pemrosesan data.
    Fungsi Block mikrokontroler
     Memory 89C51
   MemoryMikrokontroler 89C51 dapat di akses dengan alamat 8 Bit .Pada Mikrokontroler
   Program kontrol disimpan di dalam ROM
   Konfigurasi Pin Mikrokontroler 89C51 Walaupun IC dikemas dalam bentuk
    yang berbeda, tetapi fungsi kaki IC mempunyai persamaan.
    Konfigurasi Pin mikrokontroler 89C51 merupakan penjelasan fungsi masing-masing pin/kaki dari IC
     mikrokontroler
     Port0
   Terdapat pada kaki 32 s/d 39 terdiri atas 8 bit mempunyai dua fungsi selain I/O juga berfungsi
   sebagai bus data atau bus alamat jika mikrokontroler menggunakan memori luar atau
   memori data external.
   Adapun fungsi Pin pada mikrokontroler 8951:
     Port 2
   Terdapat pada kaki 21 s/d 28 berfungsi sebagai Port
   I/O
   Port 1
   Terdapat pada kaki 1 s/d 8 berfungsi sebagai Port I/O
Port 3
Terdapat pada kaki 10 s/d 17 selain berfungsi sebagai I/O juga mempunyai fungsi khusus   seperti pada tabel dibawah ini.
   Portr Pin Fungsi
   Tabel Fungsi Khusus Port 3
    P3.0
  P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RDX ( serial input port )
TDX (serial output port )
_INT0 ( external interupt 0)
_INT1 ( external interupt 1)
TO ( timer 0 external input )
T1 ( timer 1 external input )
_WR ( external data memory write stobe )
_RD ( external data memory read stobe )

PSEN (Program Store Enable)
PSEN terdapat pada kaki 29 IC merupakan sinyal
kontrol yang berfungsi untuk mengakses
program memory external, dengan cara
menghubungkan kaki IC MCS 89C51 ke kaki Output
Enable dari EPROM. PSEN akan benilai “0” pada
tahap mengambil instruksi.
ALE (Address Latch Enable)
ALE terdapat pada kaki 30 IC berfungsi sebagai
sinyal yang akan menggaktifkan gerbang
Demultiplexer untuk menggaktifkan address dan data
Bus.

EA ( External Access )
Terdapat pada kaki 31, Jika EA dihubungkan kelogic
rendah maka 89C51 menjalankan program
memory external, tetapi jika EA dihubungkan ke logic
tinggi 89C51 menjalankan program dari memori
internal.
RST ( Reset )
Terdapat pada kaki 9, dengan cara memberikan logic
tinggi selama ± 2 siklus maka system dan memory
internal akan direset
Gambar rangkaian Reset

                                         PERTEMUAN 3

                      MEMORY DAN REGISTER  MIKROKONTROLER


Dengan kombinasi sinyal kendali dan tegangan yang lebih dari
5 Volt maka proses pengisian dan penghapusan data tidak di
lakukan pe-alamat memory tetapi dapat di lakukan secara
menyeluruh (data di semua alamat), proses penghapusan lebih
cepat di banding EPROM dengan sinar UV.
Karena kecepatan ini maka memory ini disebut Flash
Seperti pada memory program, data memory juga
berada di dalam Chip Mikrokontroler 89C51 (internal
memory data).
Jika kapasitas memori data tidak memadai dapat
ditambahkan memori data di luar IC mikrokontroler
data (exsternal memory data ) berupa RAM.
RAM
• RAM adalah memori yang digunakan untuk
menyimpan data sementara (data akan hilang jika
catu daya padam).
Pemakaian memori diluar IC mikrokontroler (bisa
memori program, memori data atau gabungan memori
program dan data) dikenal dengan perluasan
memori/ekspansi memori.
I/O (input/output) pada Chip Atau IC mikrokontroler
bisa berupa serial and parallel unit ini berfungsi agar
dapat berkomunikasi dalam format serial atau paralel,
sehingga dapat berkomunikasi dengan mudah dengan
PC dan devais standar digital lainnya.
I/O (input/output)
INTERUPT CONTROL
• Interupt Control bagian dari mikrokontroler yang
berfungsi mengatur prioritas dari luar atau dari
dalam mikrokontroler.
TIMER 1 & TIMER 2
• Adalah bagian dari mikrokontroler yang berfungsi
pencacah pulsa masuk atau menentukan waktu
(Counter atau Timer).
Register Dalam mikrokontroler
Sama seperti mikroprosesor di dalam sebuah mikrokontroler
terdapat register-rgister dengan fungsi :
General Purpose RAM:
Berfungsi sebagai penyimpan data yang akan di
proses dan data hasil proses dengan cara dirrect
access atau indirect access. Access data
dilakukan secara byte per byte.
Bit Addressable Location
Bit addessable RAM ini fungsinya sama dengan
General Purpose RAM, tetapi dapat di access
per bit.
Register Banks
Pada MCS-51 terdiri atas 4 bank dan masing masing
bank tersiri atas 2 register.
SPR ( Special Function Register )
Di dalam SPR terdapat Accumulator dan B
register
SP (Stack Pointer )
Merupakan register 8 bit yangberfungsi untuk menunjukan alamat memori internal.
Data Pointer
Berfungsi untuk mengaccess progran dan data yang tersimpan di memori external.
Port Register
Terdiri atas 4 port yang berfungsi sebagai I/O, tetapi jika mikrokontroler memakai memori
internal atau memanfaatkan special feature lainnya maka port0, port1 dan port3 menjadi bit
addressable.
Timer Port Register
Terdiri atas 2 buah register yang berfungsi sebagai
pewaktu atau pencacah.
Serial Port Register
Berfungsi untuk menghubungkan dengan
peralatan lain seperti : Modem atau interface
dengan IC lainya
Interrupt Register
Jika pada mikrolkontroler perintah interupt diaktifkan
maka sitem akan dienable, tetapi jika diberikan
sinyal reset maka interupt akan di disable.


                                                    PERTEMUAN4

                BAHASA PEMOGRAMAN DAN FORMAT BILANGAN MIKROKONTROLER


Bahasa merupakan media komunikasi.
Manusia dapat berintegrasi dengan baik jika jika memahami
apa yang diinginkan oleh orang lain.
Pada dasarnya bahasa yang di gunakan dapat di
kelompokan berdasarkan tahapan atau tingkat
1. Tingkat rendah yang digukan anak-anak
2. Tingkat menengah berupa bahasa kebanyakan
atau pergaulan
3. Bahasa tingkat tinggi seperti pada buku-buku
ilmiah
Format bahasa pemograman:
Sama seperti mikroprosesor agar CPU didalam
mikrokontroler dapat mengerjakan suatu pekerjaan maka
Demikian juga pada peralatan yang berbasiskan
mikroprosesor atau mikrokontroler akan dapat
menjalankan suatu pekerjaan jika ada perintah
(instruksi) yang sesuai.
diperlukan program dalam bentuk perintah-perintah
(instruksi)
Perintah-perintah tersebut di tulis dalam bentuk:
1. Bahasa mesin (bahasa tingkat rendah)
2. Bahasa Asemler/Asembly (bahasa tingkat menengah)
3. Basic, pascal dsb (bahasa tingkat tinggi)
Jenis bahasa yang di gunakan pada
Mikrokontroler
1. Bahasa mesin
Bahasa dalam bentuk biner yang disandikan menjadi
code yang dikenal dengan code mesin biasanya dalam
bentuk heksadesimal Hexa.
Semua perintah di masukan dalam bentuk kode mesin
atau Operational Code (Op-Code) kode diterjemahkan
mikrokontroler menjadi bentuk biner kemudian baru
diproses.
Program pada CPU mikrokontroler yang disimpan
didalam ROM merupakan bahasa mesin.
Umumnya perintah-perintah tersebut di tulis dalam
bentuk bilangan hexa tetapi disimpan di dalam memory
(ROM) dalam format bilangan biner contoh :
001110100b (74h)
11110000(F0h)
2. Bahasa Assembly (Assembler)
Bahasa mesin adalah bahasa tinggkat rendah.
Bahasa yang di gunakan oleh programer untuk membuat
program sehingga dapat diproses oleh mikrokontroler.
Bahasa asemmbler merupakan sandi yang merupakan
singkatan kata dari kata-kata dalam bahasa inggris,
contoh:
Mov dari Move
INC dari Increment
SJMP dari Short Jump, dll
Singkatan-singkatan tersebut di kenal dengan mnemonic .
Agar program yang di buat oleh seorang programer dengan
bahasa assembler dapat dijalankan oleh mikrokontroler.
Maka didalam mikrokontroler sandi tersebut ditermahakan
menjadi kode mesin kemudian baru dapat diproses.
Bahasa mesin yang digunakan oleh mikroprosesor
atau mikrokontroler berbeda-beda tergantung dari
alamat register tujuan
Tabel contoh bahasa mesin dan bahasa assemler
contoh bahasa mesin dan
bahasa assemler
mikroprosesor Zilog-80 (Z- )
Bahasa Assembly adalah bahasa pemrograman tingkat
Menengah.
Bahasa pemrograman tingkat tinggi lebih berorientasi
kepada manusia yaitu bagaimana agar pernyataanpernyataan
yang ada dalam program mudah ditulis dan
dimengerti oleh manusia.
Sedangkan bahasa tingkat rendah lebih berorientasi
ke mesin, yaitu bagaimana agar komputer dapat
langsung mengintepretasikan pernyataanpernyataan
program.
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi
Kelebihan Bahasa Assembly
Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris
program relatif lebih panjang dibanding bahasa
tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika
jumlah baris sudah terlalu banyak
3. Lebih sulit dalam melakukan pekerjaan rumit,
misalnya operasi matematis
Dalam program bahasa assembly terdapat 2 jenis yang
kita tulis dalam program yaitu:
1. Assembly Directive (yaitu merupakan kode yang
menjadi arahan bagi assembler/compiler untuk
BAHASA ASSEMBLY 89C51
menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU
mikrokontroler)
Bahasa C paling banyak dikembangkan diantaranya:
3. Bahasa Level Tinggi
Bahasa pemograman tingkat tinggi yang di gunakan oeh
miktrokontroler 8951 antara lain:
Basic
Bascal
Bahasa C
Keil Compiler oleh Keil Corp
Small Device C Compiler oleh Sundeep Duta
Jika dalam penulisan program menggunkan bahasa
assemler atau bahasa tingkat tinggi maka di butuhkan
software yang dikenal dengan Compiler untuk
mentermahkan bahasa yang di mengerti manusia
menjadi bahasa mesin
Jika dalam penulisan program menggunkan bahasa
assemler atau bahasa tingkat tinggi maka di butuhkan
software yang dikenal dengan Compiler untuk
mentermahkan bahasa yang di mengerti manusia
menjadi bahasa mesin



                                              PERTEMUAN 5

                         SET INSTRUKSI MIKROKONTROLER AT 89C51


Dalam materi sebelumnya sudah di bahas untuk
menjalankan suatu tugas maka mikrokontroler 89C51
membutuhkan sebuah program yang terdiri dari susunan
perintah-perintah atau instruksi-instruksi.
Mikrokontroler 89C51 menggunkan instruksi operasi 8 bit.
Instruksi 8 bit memberikan 256 kemungkinan instruksi
Pendahuluan
Di bawah contoh instruksi:
CPL a
MOV a, 40h
MOV 41, #30h
CPL a ; komplementkan isi reg A, kodenya F4h
MOV a, 40h ; isi reg A dgn isi memori lokasi 40h, kodenya E5h 40h
MOV 41, #30h ; isi memori lokasi 41h dgn konstanta 30h kodenya 75h
41h 30h
Program Status Word
Program Status Wors atau PSW menerangan kondisi CPU
dari mikrokontroler. Program satus word terdapat di dalam
Special Function Register atau SFR di lokasi D0h.
PSW berisikan bit-bit satus CPU dari mikrokontroler.
Isi satus dalam psw adalah:
Carry bit
The Auxiliary Carry (Dalam operasi BCD)
Dua bit pemilih bank register
Overflow Flog
satu bit paritas
Dan dua bit status
Carry bit mempunyai dua fungsi yaitu:
1. Carry (status bit sisa) pada operasi aritmatika
2. Sebagai Accumulator dalam beberapa operasi
boolean
Bit RS0 dan RS1 berfungsi untuk memilih salah satu dari
empat bank register.
RS0 dan RS1 menentukan bank register mana yang
digunakan selama eksekusi program berjalan.
Mnemonic & Opcode
Mnemonic adalah simbol-simbol instruksi/perintah seperti:
Mov, CPL, RR, SJMP dan lain-lain.
CPL A ; komplementkan isi reg A, kodenya F4h
MOV A, 40h ; isi reg A dgn isi memori lokasi 40h, kodenya E5h 40h
MOV 41, #30h ; isi memori lokasi 41h dgn konstanta 30h kodenya 75h
41h 30h
Opcode (operation code) merupakan kode dari simbol
instruksi, contoh:
Dari contoh instruksi diatas F4h adalah opcode
dari register A .
Opcode bisa diikuti atau tidak oleh satu atau dua
operand.Opcode menentukan operasi yang akan
dilakukan sedangkan operand menentukan jenis data
,variable atau instruksi berikutnya dalam sebuah program.

Bahasa assembly atau assembler pada dasarnya adalah
susunan mnemonic yang dapat menjalankan suatu fungsi.
Seperti sudah di bahas dalam pertemuan
sebelumnya bahasa assembler memudahkan
penulisan program .
Didalam Mikrokontroler setiap mnemonic diterjemahkan dulu
kedalam bahasa mesin sebelum di eksekusi.
Op-Code Mnemonic Keterangan
F4 CPL A F4h merupakan Opcode operasi komplement a
tanpa operand
E540 MOV A, 40h E5h operasi untuk register A dengan memory
internal dengan alamat tertera dalam operand (40h)
753130 MOV 41, #30h 75h merupakan opcode dengan operand 41h dan
30h.
Mode Penggalamatan
Dari tabel diatas perintah MOV di ikuti oleh opcode yang
berbeda, karena jenis penggalamatannya berbeda.
Perbedaan ini di kenal sebagai ragam penggalamatan atau
mode pengalamatan.
Mode penggalamatan berdasarkan orientasi alokasi
memory
Register Addressing
Menggunakan register R0 s/d R7 yang diseleksi oleh
register Program Staus Word (PSW).
Mnemonic Keterangan
ADD A,R7 Register a diisi dgn isi a awal ditambah isi register R7. atau ditulis
A = A+ R7 kode mesinnya adalah 2Fh = 00101111b
Direct Addressing atau penggalamatan langsung hanya
dapat dilakukan di internal memory mikrokontroler (tidak
dapat mengakses memory luar).
Penggalamatan langsung menggunakan:
Accumulator
Register
Direct Addressing
dan Port
Contoh Penggalamatan langsung:
Mov P2, A Isi Port P2 dengan data dari register A
ADD A, 50h Tambahkan isi accumulator dengan data yang ada dilokasi
memory 50 h (A = A + isi data di lokasi memory 50h)
Immediate Addressing atau penggalamatan segera
Penggalamatan pada operasi-operasi dengan konstanta
ysng sudsh menyatu dengan op-code program.
penggalamatan segera ditandai dengan simbol #
Immediate Addressing
Contoh Penggalamatan segera:
Mov A, # 200 Isi A dengan 200d.
Relative Addressing
Relative Addressing atau penggalamatanberlaku pada
operasi lompat dengan jarak 8 bit (256 langkah), operasi
ini lompat sejauh + 127 langkah atau mundur – 128
langkah. Operasi ini menggunakan perintah SJMP.

3 komentar:

  1. buat semester enam y mana ????
    masa cuma semester tiga duank .....
    hahahah

    BalasHapus
  2. kita juga punya nih artikel mengenai 'Ic mikrokontroler', silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/865/1/10407912.pdf
    trimakasih
    semoga bermanfaat

    BalasHapus

masukkan Nama, Alamat, Umur.