Mikrokomputer from Nieta (page 01)

Berikut adalah tugas Pelatiahan Mikrokontroller dari Pak Sudirman

Mikrokomputer adalah interkoneksi antara mikroprosesor (CPU) dengan memori utama (main memory) dan antarmuka input-output (I/O interface) yang dilakukan dengan menggunakan sistim interkoneksi bus.

Mikrokomputer
adalah sebuah komputer yang dikonstruksi dari sebuah mikroprosesor dengan ditambahkan unit memori serta sistem I/O. Sistem mikrokomputer sama dengan yang terdapat pada sistem komputer. Untuk menanggulangi berbagai macam kerja yang harus dilakukan, biasanya diberikan “logika tambahan” atau rangkaian logika lain misalnya tri-state buffer, buffer, decoder, multiplexer.

Ciri utama sistem mikrokomputer : hubungan yang berbentuk “bus”. Bus menunjukkan hubungan antara komponen-komponen secara elektris. Bus meneruskan data, alamat-alamat (address) atau sinyal pengontrol.

Mikrokokontroler

Pengendali mikro (Inggris:: microcontroller) adalah sistem mikroprosesor lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena sebuah mikrokontroler umumnya telah berisi komponen pendukung sistem minimal mikroprosesor, yakni memori dan antarmuka I/O.

Berikut contoh-contoh program dalam assembler

Cara membuat program:

  • Tulis program tersebut pada note pad dengan ext .asm
  • Simpan program tersebut pada folder asm1
  • Compiler program tersebut
  • Contoh : asm1 program1.asm
  • Maka akan diperoleh beberapa file dengan extention list, obj dan hex
  • Yang akan di download adalah file dalam bentuk hex

Program 1

Program menghidupkan led seling 1 lampu led

$MOD51
ORG    00H
MULAI:
CLR     P0.0
SETB    P0.1
CLR     P0.2
SETB    P0.3
CLR     P0.4
SETB    P0.5
CLR     P0.6
SETB    P0.7
SJMP MULAI
END

Program 2

Menghidupkan semua lampu led

$MOD51
ORG    OOH
MULAI:
MOV P0,#AAH
SJMP MULAI
END
Contoh 3

Program menghidupkan lampu led, kedap kedip

$MOD51
ORG   00H
LOOP:       MOV  P0, 0FFH
CALL  TUNDA
MOV      P0, 00H
CALL  TUNDA
SJMP  MULAI
TUNDA:
MOV  R7, #02H
LUPA:           MOV  R6, #FFH
DJNZ R5, $
DJNZ R6, LUPB
DJNZ R7, LUPA
RET
END

Contoh 4

Program menghidupkan led, kelompok genap/ganjil secara bergantian

$MOD51
ORG 0N
MULAI:
MOV    P0, #01010101B
ACALL DELAY
MOV    P0, #10101010B
ACALL DELAY
SJMP MULAI
DELAY:       MOV    R.0, #5
DELAY1:     MOV      R.1, #OFFH
DELAY2:     MOV    R.2, #0
DJNZ R2, $
DJNZ R1, DELAY2
DJNZ R0, DELAY1
RET
END

Contoh 5

Program menghidupkan rotate dari tengah dan bergerak saling menjauh

$MOD51
ORG    00H
MULAI:
MOV P0, #11100111B
ACALL DELAY
MOV    P0, #1100110011B
ACALL DELAY
MOV P0, #10111101B
ACALL DELAY
MOV P0, #01111110B
ACALL DELAY
MOV P0, #10111101B
ACALL DELAY
MOV P0,#11011011B
DELAY:     MOV    R.0, #3
DELAY1:    MOV     R1, #0FFH
DELAY2:    MOV     R2, #0
DJNZ    R2, $
DJNZ    R1, DELAY2
DJNZ    R0, DELAY1
RET
END

Contoh 6

Program menghidupkan led rotate to left

$MOD51
ORG    0H
MOV A, #11111110B
MULAI:
MOV P0, A
ACALL DELAY
RL A
SJMP MULAI
DELAY:    MOV R0, #0
DELAY1:    MOV R1, #0
DELAY2:    MOV R1, DELAY2
DJNZ R0, DELAY1
RET
END

Contoh 7

Program menghidupkan led berputar

$MOD51
ORG 0H
MOV A,     #11111110B
MULAI:
MOV P0,     A
ACALL DELAY
RL A
CJNE A,     #7FH, MULAI
MULAI1:
MOV P0, A
ACALL DELAY
RR A
CJNE A,     #0FEH, MULAI1
DELAY:    MOV R0,     #0
DELAY1:    MOV R1,    #0
DELAY2:    DJNZ R1,     DELAY2
DJNZ R0,     DELAY1
RET
END

Ket Instruksi:
MOV        : Untuk Menyalin 2 operator nol
RR            : Melakukan operasi pergeseran kekanan 1 buah
RL            : Melakukan operasi pergeseran ke kiri 1 buah
SETB       : Untuk memberikan logika 1 pada bit operand
CLR         : Untuk memberikan logika 0 pada bit operand
JMP (jump)    : Untuk melakukan lompatan ke suatu blok
CJNE (Compare and Jump if Not Equal) : Digunakan untuk melakukan perbandingan
dua operand dan lompat ke blok program lain jika tidak sama
CALL                     : Untuk memanggil prosedur tertentu dalam subprogram
RESET                : Untuk mengembalikan ke baris program yang melakukan call

7 thoughts on “Mikrokomputer from Nieta (page 01)

  1. aries jonathan

    pak..saya punya trouble..
    saya membuat project LED+Push Button
    saya sudah selesai membuat rangakaian nya..
    sekarang saya lagi mau masukan programnya..
    ini programnya..

    org 0000h
    sjmp Awal
    Awal:
    mov p2, #00h ; Menyalakan seluruh LED di Port-2
    Cek:
    jnb p3.2, Nyala ; Mengecek kondisi Pin3.2, jika = “0”, maka lompat ke label “Nyala”. Jika tidak, lanjutkan.
    jnb p3.3, Padam
    sjmp Cek
    Nyala:
    mov p2, #0 ; Membuat seluruh pin pada port-2 = “0” yang berarti seluruh LED akan menyala.
    jnb P3.2, $ ; Tunggu sampai dengan tombol P3.2 tidak lagi ditekan.
    sjmp Cek ; Lompat kembali ke label “Cek”.
    Padam:
    mov p2, #255 ; Membuat seluruh pin pada port-2 = “1” yang berarti seluruh LED akan padam.
    jnb P3.2, $ ; Tunggu sampai dengan tombol P3.2 tidak lagi ditekan.
    sjmp Cek ; Lompat kembali ke label “Cek”

    itu programnya..tapi saya compile selalu eror..dan saya sudah tanya2 orang masi tidak bisa sampai saat ini..
    mungkin bapak bisa bantu..
    terima kasi..

  2. agung

    aries jonathan,
    Sebelumnya saya minta maaf mas jika tidak bisa membantu. Mengenai program assembler pada mikrokontroler, saya sudah tidak utak-atik lagi bahkan sekarang sudah lupa. Postingan ini sebenarnya dulu saya tujukan buat teman-teman saya yang tidak ikut kelas.

    Mungkin bisa ditanyakan pada Dosen/guru pembimbing Mas Aries.

  3. Ping balik: 2010 in review | Agung Haryono Weblog™

Silakan tambahkan komentar Anda

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s