universitas negeri padang file · web viewosilator internal dan rangkaian pewaktu. ram internal 128...

21

Click here to load reader

Upload: tranlien

Post on 01-Apr-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

UNIVERSITAS NEGERI PADANG M.K/KODE : Praktik TAM & Mikrokontroler/ELA 234

JURUSAN : TEKNIK ELEKTRONIKA TOPIK : PEMROGRMAN INPUT OUTPUT MIKROKONTROLER

JENJANG PROGRAM / SEMESTER : D3/V JUDUL : PEMROGRAM PORT PARALEL MIKROKONTROLER

PER.KE : 10 NOMOR : 10 /ELA234/ UNP-PDG/ XII /09

A.Tujuan

1. Agar mahasiswa dapat membuat program menampilan data 8 bit pada port parallel

P1 mikrokontroler AT89SXX

2. Agar mahasiswa dapat membuat program tampilan LED flip plippada pada port

parallel P1 mikrokontroler AT89SXX.ME

3. Agar mahasiswa dapat membuat program tampilan LED berjalan ke kanan pada port

parallel P1 mikrokontroler AT89SXX.

4. Agar mahasiswa dapat membuat program tampilan LED berjalan ke kiri pada port

parallel P1 mikrokontroler AT89SXX

5. Agar mahasiswa dapat membuat program tampilan LED berjalan bolak balik pada

port parallel P1 mikrokontroler AT89SXX

6. Agar mahasiswa dapat membuat program tampilan LED animasi kura-kura lapar

pada port parallel P1 mikrokontroler AT89SXX

7. Agar mahasiswa dapat membuat program pengembangan tampilan LED animasi

pada port parallel P2, P3 dan P0 mikrokontroler AT89SXX

B. Teori PendukungMikrokontroller AT89S51 merupakan salah satu keluarga dari MCS 51

yang memiliki fasilitas sebagai berikut :a. Sebuah Central Processing Unit 8 bit.b. Osilator internal dan rangkaian pewaktu.c. RAM internal 128 byte.d. Flash memori 4 Kbyte.e. Mempunyai fasilitas In system Programming (ISP)f. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah

interupsi internal).

Created by edidas Page 1 of 16

Page 2: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

g. Empat buah programable port I/O yang masing – masing terdiri dari delapan buah jalur I/O.

h. sebuah port serial dengan kontrol serial full duplex UART.i. kemampuan untuk melaksanakan operasi aritmatika dan operasi

logika.j. Kecepatan dalam melaksanakan interupsi per siklus 1 mikrodetik

pada frekuensi 32 MHz.

1. Konfigurasi Pin Mikrokontroller

+V5V+ C3

10uF

C230pF

C130pF XTAL1

12MHZ

AT89XXP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1GND P2.0

P2.1P2.2P2.3P2.4P2.5P2.6P2.7

/PSENALE/PROG

/EAP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0VCC

U1

10k

Gambar 1. Konfigurasi Pin AT89S51 Gambar 2. Konfigurasi Pin AT89S51

2. Register Keluarga 8051 memiliki banyak register yang meliputi akumulator,

register R, register B, DPTR (Data Pointer), PC (Program Counter), dan SP (Stack Pointer). Akumulator sebagaimana namanya, digunakan sebagai register umum untuk mengakumulasikan hasil dari instruksi-instruksi. Akumulator dapat menampung 8 bit (1 byte) data dan merupakan register yang paling sering dipakai. Hamper dari separuh dari instruksi keluarga 8051 mengunakan akumulator.

SP (Stack pointer) digunakan untuk menunjukan dimana harga berikutnya yang akan diambil dari stack. Jika suatu harga dimasukan dalam stack, AT89C51 pertama-tama akan menambah Harga SP dan kemudian Created by edidas Page 2 of 16

Page 3: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

akan menyimpan harga tersebut pada alamt memory yang bersesuaian. Demikian pula jika suatu harga diambil dari stack, maka AT89C51 akan mengambil dari stack dan kemudian mengurangi harga SP.

Register R adalah 8 set register yang dinamakn R0, R1, R2, R3, R4, R5, R6, dan R7. Register-register ini digunakan sebagai register pembantu penyimpanan data dalam banyak operasi. Register B bersama dengan akumulator dalam hal dia menyimpan sebuah harga 8 bit (1byte). Register B ini hanya digunakan dalam dua instruksi keluarga 8031, yaitu MUL AB dan DIV AB. Karenanya jika diinginkan untuk mengalikan atau membagi akumulator Adalah dengan suatu harga, maka simpanlah harga tersebut dalam register B dan kemudian jalankan instruksinya.

DPTR (Data Pointer) adalah satu-satunya register yang dapat diakses 16 bit (2byte) di dalam keluarga 8031.sebagaimana namanya, DPTR di gunakan untuk menunjukan pada lokasi suatu data.DPTR di gunakan oleh beberapa perintah yang mengizinkan keluarga 8031 untuk mengakses memory eksternal dengan alamat yang di tunjukan oleh DPTR.

PC (Program Counter) adalah alamat 2 byte yang memberitahu 89S51 dimana instruksi selanjutnya akan dilaksanakan. 3. PERANGKAT LUNAK AT89SXXX

Mikrokontroler bisa bekerja jika dimasukan program kepadanya, program tersebut akan

memberitahukan mikrokontroler apa yang harus dilakukannya. Setiap mikrokontroler

memiliki instruksi-instruksi yang berbeda sesuai dengan jenisnya masing-masing, sehingga

sebuah mikrokontroler tidak bisa memahami instruksi-instruksi yang berlaku pada

mikrokontroler lain yang tidak sejenis. Instruksi-instruksi tersebut dikenal sebagai bahasa

pemograman system mikrokontroler.

Dalam pembuatan program pada mikrokontroler juga terdapat beberapa jenis

pengalamatan yang perlu diketahui diantaranya sebagai berikut:

a. Pengalamatan Segera (Immediate Addressing).

Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan

data yang akan diproses, biasanya operand tersebut selalu diawali dengan tanda ‘#’

seperti berikut:Created by edidas Page 3 of 16

Page 4: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

Mov A,#05

Mov A,#Data ; pada bagian atas data telah didefinisikan sebagai bilangan tertentu (data

EQU 05 ) contohnya bil 5.

b. Pengalamatan Register

Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai register dimasukkan ke

memory.

Contoh:

Mov a,#89

Mov P0,A

Pada contoh diatas selain mengirim data akumulator ke port 0 juga merupakan perintah

untuk pemindahan data dari akumulator ke alamat 80H sehingga dapat juga dituliskan Mov

80H,Adalah karena port 0 merupakan salah satu I/O dari mikrokontroler AT89C51 yang

beralamat 80H.

c. Pengalamatan Langsung (Direct Addressing)

Proses pengalamatan dimana isi register diisi lansung dari isi sebuah register

Contoh: Mov A,80H atau mov A, P0

d. Pengalamatan tak langsung (Indirect Addressing)

Proses pengalamatan ini terjadi pada sebuah perintah ketika salah satu operand

merupakan register berisikan alamat dari data yang akan dituliskan atau dipindahkan.

Pengalamatan jenis ini biasanya digunakan untuk melakukan penulisan, pemindahan atau

pembacaan berupa data dalam lokasi memori yang mempunyai urutan beraturan. Jika proses

dilakukan dengan pengalamatan langsung jumlah baris yang dibutuhkan akan cukup panjang.

Contoh penulisan data 50H hingga 57H.

Listingnya:

Mov 50H,#08H

51H,#08H

52H,#08H

53H,#08H

54H,#08HCreated by edidas Page 4 of 16

Page 5: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

55H,#08H

56H,#08H

57H,#08H

Dengan mengunakan system pengalamatan tak langsung listing dapat dipersingkat

sebagai berikut:

Mov R0,#50H

ulang:

Mov @ RO, #08H

INC RO

CJNE RO,#58H,ulang

Pada listing ini RO digunakan sebagai register yang menyimpan alamat dari data yang

akan dituliskan, dengan melakukan penambahan pada isi RO dan mengulang perintah

penulisan data ke alamat yang ditunjukan RO sehingga register menunjukan nilai 57H+1 atau

58H.

Jadi mode pengalamtan ini dipakai untuk mengakses data yang berada dalam memori,

tapi tidak disebutkan secara langsung melainkan dititipkan pada suatu register.

e. Pengalamatan kode.

Pengalamatan kode merupakan pengalamatan ketika operand merupakan alamat dari

instruksi JUMP dan CALL, biasanya operand tersebut akan menunjukan ke satu alamat yang

telah diberikan label sebelumnya. Contoh sbb:

……………..

A Call delay

……………….

Delay:

Mov B,#0FFH

Loopdelay:

DJNZ B, Loop delay

Ret.Created by edidas Page 5 of 16

Page 6: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

Pada contoh diatas perintah A CALL delay mempunyai operand yang menunjukan ke

label sehingga pada saat perintah ini dijalankan program akan melompat ke lokasi memori

yang diberi label delay.

f. Pengalamatan bit.

Proses pengalamatan dimana ketika operand menunjukan ke alamat pada RAM Internal

maupun register fungsi khusus yang mempunyai kemampuan pengalamatan secara bit.

Pengalamatan bit terdiri beberapa macam sbb:

SETB TRO

CLR TRO

langsung menunjuk kealamat bit.

Perintah ini memberikan logika 1 pada bit dialamat B0H dengan pengalamatan secara

bit, contoh:

SetB 0B0H

g. Mengunakan operator titik.

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

B0H dengan pengalamtan secara bit,contoh:

SetB P3.0

h. Mengunakan lambang assembler secara standar.

Perintah ini memberikan logika 1 pada kaki RXD yang terletak pada bit ke 0 dari kaki

port 3, contoh:

SetB RXD

i. Mengunakan lambing assembler secara bebas.

Perintah ini memberikan logika 1 pada bit penerima yang sebelumnya telah

didefinisikan sebagai P3, contoh:

Penerima Bit P3.0

SetB penerimaCreated by edidas Page 6 of 16

Page 7: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

4. BAHASA ASSEMBLER

Program assembler merupakan program yang ditulis oleh pembuat program berupa

kumpulan baris-baris perintah yang biasanya disimpan dengan extention.

Program assembler juga terdiri atas beberapa bagian yang dijelaskan sbb:

a. Label

Label biasanya dituliskan dengan kata atau istilah tertentu yang mudahdikenali.

Label mewakili nomor memori program dari instruksi pada baris bersangkutan. Untuk

menyatakan nomor memori program yang dituju, label ditulis dalam bagian operand.

Label berguna untuk memberikan nama pada alamt-alamt yang dituju untuk

mempermudah programmer dalam membuat program. Dalam program sebuah label

harus diawali dengan huruf, tidak boleh ada label yang sama dan maksimal 16 karakter.

b. Mnemonic

Mnemonic merupakan singkatan dari perintah Mnemonic bisa juga disebut

sebagai kode operasi, yaitu kode-kode yang akan dikerjakan oleh program assembler

yang ada pada computer ataupun mikrokontroler. Operasi yang dekerjakan oleh

mikrokontrolersangat bergantung oada jenis mikrokontroler yang digunakan, antara lain

adalah sbb:

1) MOV

MOV berfungsi untuk memindahkan atau menyalin data.

2) ACALL

Instruksi dapat melakukan lompatan ke suatu subrutin yang ditunjukan oleh

alamat pada label lompatan yang dilakukan berada diareal 2 K byte.

Contoh: Acall delay ; memangil label delay

Delay: ……….

RET

3) SJMP

Instruksi SJMP (short jump) pada dasarnya sama dengan instruksi LJMP, namun

yang membedakan adalah ukuran instruksi, dimana pada LJMP memiliki ukuran 3 Created by edidas Page 7 of 16

Page 8: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

byte sedangkan SJMP hanya 2 byte. Lokasi memori program dalam instruksi ini tidak

dinyatakan dengan lokasi memori program yang sesunguhnya, tapi dinyatakan dengan

pergeseran relative terhadap nilai program counter saat instruksi ini dilakukan.

Pergeseran relative tersebut dinyatakan dengan 1 byte bilangan 2’s complement,

yang biasanya dipakai untuk menyatakan nilai antara – 128 - + 127. nilai minus

dipakai untuk menyatakan nilai untuk menyatakan bergeser ke instruksi-instruksi

sebelumnya, sedangkan nilai positif digunakan untuk menyatakan pergeseran ke

instruksi sesudahnya. Meskipun instruksi SJMP hanya sebatas -128 - +127, tapi

instruksi ini tidak dibatasi dengan pengertian daerah memori program 2 K byte yang

membatasi AJMP (Absolute jump).

4) JB (jump on bit set)

Instruksi ini melakukan pengujian bit pada alamat bit yang ditunjukan. Jika data

bit =1 maka program tersebut akan melompati ke subrutin yang ditunjukan oleh

instruksi. Akan tetapi bila data bit =0 maka program akan menjalankan instruksi

dibawahnya atau sebaliknya.

Contoh:

JB P1.0, alamat1

Mov A,#05H

................. dan seterusnya

Alamat1: Mov R1,#00H

................. dan seterusnya

Jika bit tersebut satu, program akan lompat ke label alamat1 dan

menjalankan instruksi Mov R1,#00H. namun, jika bit tersebut nol program akan

menjalankan instruksi Mov A,#05H terlebih dahulu sebelum menjalankan instruksi

di label alamat1.

5) JNB (jump on not bit )

Instruksi ini melakikan pengujian bit pada alamat yang ditunjuk. Jika data bit

bernilai 0 maka program akan melompat ke subrutin yang ditunjuk oleh instruksi. Bila

data bit bernilai 1 maka program akan menjalankan instruksi dibawahnya atau selanjutnya.

Created by edidas Page 8 of 16

Page 9: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

Contoh:

Hidup: ................

.....................dan seterusnya

JNB P3.0,hidup

Lompatan ke label hidup jika port 3.0 berlogika 0

6) DJNZ (decrement and jump if not zero)

Instruksi ini melakukan operasi pengulangan 1 nilai register serbaguna (R0..R7)

yang ditunjukan dan akan jump ke label yang ditulis, bila hasil daripengurangan itu

nilainya tidak sama dengan 0. akan tetapi jika hasilnya sama dengan 0 maka program akan

menjalankan instruksi dibawahnya.

Contoh :

LDElay :

……………

Djnz R2,LDelay

Mov R3,#0FFH

Ret

Instruksi Djnz R2,LDelay akan selalu melakukan lompatan ke label LDelay dan

mengurangi data pada register R2 dengan 1, selama data dari register 2 belum mencapai

nol. Jika nilai R2 sudah mencapai nol maka program akan membaca baris program

berikutnya, yaitu mov R3,#0FFH

7) SETB dan CLR

Mikrokontroler seri 51 dari Atmel memiliki sebuah processor Boolean yang lengkap.

Oleh sebab itu mikrokontroler tersebut juga dapat melakukan instruksi Boolean. SETB

dan CLR adalah salah satu dari beberapa instruksi Boolean yang dapat dilaksanakan

oleh mikrokontroler. CLR adalah intruksi untuk mengubah bit-bit pada RAM Internal

ataupun register bit addrassable (register yang dapat dialamati secara bit) menjadi 0.

Sedangkan SETB adalah kebalikan dari CLR, dimana CLR mengubah bit-bit tersebut

menjadi 1.

Created by edidas Page 9 of 16

Page 10: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

Contoh :

SETB P1.0 ‘mengubah nilai bit pada P1.0 menjadi 1’

CLR P1.0 ‘mengubah nilai bit pada P1.0 menjadi 0’

Assembler juga menyediakan symbol-simbol assembler khusus yang digunakan

untuk mode-mode pengalamatan melalui register. Symbol-simbol assembler khusus ini

mencakup A, R0 sampai dengan R7,DPTR,C,PC dan AB juga tanda dolar ($) yang dapat

digunakan untuk menunjuk nilai pencacah program (program counter) saat ini. Untuk

lebih jelasnya dapat dilihatpada table dibawah ini.

a. Tabel 2.2 Simbol Khusus Assembler

8) Symbol

Khusus

9) Arti

A

B

RO . . . R7

DPTR

PC

C

AB

Akumulator

Register B

Register serbaguna

Data pointer register 16 bit

Program counter. Register 16 bit yang berisi alamat

intruksi berikutnya yang akan dijalankan.

Carry Hang

Akumulator/register B pasangan register untuk

perkalian dan pembagian.

Sedangkan kode operasi yang dikerjakan oleh program assembler yang ada pada

computer sangat tergantung pada program assembler yang digunakan.

Contoh :ORG,EQU,DB dan lainnya.

c. Operand

Created by edidas Page 10 of 16

Page 11: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

Operand merupakan pelengkap dari mnemonic. Jumlah operand yang dibutuhkan

oleh sebuah mnemonic tidak selalu sama, sebuah mnemonic dapat memiliki tiga,

dua,satu bahkan tidak memiliki operand seperti terlihat pada contoh berikut:

CJNE R7,#05H,ULANG : memerlukan tiga operand

MOVX @DPTR,A : memerlukan dua operand

SETB A : memerlukan satu operand

NOP : tidak memerlukan operand

d. Komentar

Bagian komentar tidak mutlak ada dalam sebuah program, namun bagian ini

seringkali dibutuhkan untuk menjelaskan proses kerja ataupun catatan tertentu pada

baris program. Contoh.

MOV A,P1 ; Mengambil data dari port 1

Pengunaan komentar biasanya diawali dengan tanda ‘;’ dan dapat diletakan pada bagian

manapun dari suatu program.

D. Dowload program ke MC AT89S51.Untuk memasukan (download) program kedalam mikrokontroler digunakan alat khusus

yang disebut Microkontroller programmer atau Flash programmer. Selain berfungsi untuk

memasukan program ke mikrokontroller alat ini biasanya juga dapat menghapus dan membaca

program yang ada didalam mikrokontroler.

Salah satu jenis Flash programmer yang digunakan adalah DT-HiQ Programmer ini

dilengkapi dengan software pendukungnya yaitu DT-HQ In System Programming. selain itu

untuk mikrokontroler AT89C51, HB2000C juga dapat digunakan untuk AT89C52.

Langkah-langkah untuk mendownload program kedalam AT89C51 mengunakan DT-HQ

adalah sebagai berikut :

1. Tulis program pada software text editor seperti Notepad ataupun mengunakan text editor

lainya.

2. Simpan file program yang telah dibuat tersebut dengan eksekusi H51.

Created by edidas Page 11 of 16

Page 12: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

3. Compile file H51 yang telah disimpan menjadi file yang besktensen HEX.

4. Jika terdapat kesalahan (error lakukan perbaikan pada teks program dalam NotePad, lalu

simpan kembali. Jika tidak terdapat kesalahan lanjutkan pada langkah 6

5. Ulangi langkah 3 dan 4 sampai proses compiler successfully

6. File HEX inilah nantinya yang akan di download kedalam mikrokontroler.

7. Sebelum melakukan perintah download sebaiknya dilakukan penghapusan terhadap isi

memori mikrokontroler yang akan di download.

8. Download file HEX ke dalam mikrokontroler menggunkan software ISP

PROGRAMMER sesuai dengan board yang digunakan .

9. Setelah ISP Programmer di buka jalankan perintah Select Port untuk memilih port

komputer yang dipakai untuk men-Download program ke dalam mikrokontroler.

10. Jalankan perintah Initialize Target untuk mengenali Jenis IC Mikrokontroler yang akan

di isi.

11. Jalankan perintah Select Deice untuk memilih Jenis IC Mikrokontroler yang akan di isi.

12. Jalankan perintah Load Buffer untuk menampilkan file HEX dilayar monitor.

13. Jalankan perintah Auto Program untuk mengisikan file HEX ke dalam mikrokontroler

14. Jika pada bar dibawah jendela ada pesan write succesfully maka proses pengisian sudah

selesai. Tetapi jika pesan yang tampil write fail ! maka proses pegisian perlu diulangi

lagi setelah pnyebab kegagalannya sudah diketahui dan telah diperbaiki

15. Cabut IC mikrokontroler dari soket Downloder dan pasangkan ke alat dimana

mikrokontroler akan digunakan

E. Memperagakan Hasil Program

Setelah selesai memdownload program ke dalam mikrokontroler, maka selanjutnya cabut IC mikrokontroler dari PROGRAMMER dan pindahkan ke BOARD peraga program. Perhatikan pemasangan IC !! jangan semapai terbalik. ON-kan catudaya lalu hasil program dapat diamati pada port yang telah diprogram .

C. Alat dan Bahan1. Komputer PC yang mempunyai port Serial …….. 1 buah2. Programmer DT-HQ ………………………………….. 1 buah3. Board Peraga Mikrokontroler ………… .....……………. 1 set4. Perangkat Lunak Kompiler ASM51 atau HB2000 ....……1 paket5. Perangkat Lunak ISP Programming ................................ 1 paket

Created by edidas Page 12 of 16

Page 13: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

D. Listing Program :

PROGRAM 1

; ---------------------------------------------------; Mengeuarkan data 8 bit Port 1 nama file: flip.H51 ; --------------------------------------------------- Org 0hMulai: Mov P0,#00001111B ; LED P0.4 s/d P0.7 nyalaAcall Delay ; panggil sub routine DelayMov P0,#11110000B ; LED P0.0 s/d P0.3 nyalaAcall Delay ; panggil sub routine Delay Sjmp Mulai ; Lompat ke alamat dg label Mulai

Delay: Mov R0,#5 ; Isi Register R0 dengan 5Delay1: Mov R1,#0FFh ; Isi Register R1 dengan FF (hex)Delay2: Mov R2,#0Djnz R2,$Djnz R1,Delay2 ; Kurangi R1 dengan 1, bila hasil belum

; sama dengan 0 maka lompat ke Delay2Djnz R0,Delay1 ; Kurangi R0 dengan 1, bila hasil belum

; sama dengan 0 maka lompat ke Delay1Ret ; Kembali ke alamat setelah perintah

; 'Acall Delay' End

PROGRAM 2

; ---------------------------------------------------; Lampu LED berjalan ke kanan di Port 0 Nama File:ljnP0.H51 ; --------------------------------------------------- Org 0hMov A,#11111110B ; Masukkan data 11111110B ke Accumulator

Mulai: Mov P0,A ; keluarkan isi Accumulator ke Port 0Acall Delay ; panggil sub routine DelayRl A ; Rotate Accumulator left Sjmp Mulai ; Lompat ke alamat dg label Mulai

Delay: Mov R0,#0 ; Isi Register R0 dengan 0Delay1: Mov R1,#0 ; Isi Register R1 dengan 0Delay2: Djnz R1,Delay2 ; Kurangi R1 dengan 1, bila hasil belum

; sama dengan 0 maka lompat ke Delay2Djnz R0,Delay1 ; Kurangi R0 dengan 1, bila hasil belum

; sama dengan 0 maka lompat ke Delay1Ret ; Kembali ke alamat setelah perintah

Created by edidas Page 13 of 16

Page 14: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

; 'Acall Delay'End

PROGRAM 3

; ---------------------------------------------------; Lampu LED WIPER di Port 0 Nama File:ljnP0.H51 ; --------------------------------------------------- Org 0hMov A,#11111110B ; Masukkan data 11111110B ke Accumulator

Mulai: Mov P0,A ; keluarkan isi Accumulator ke Port 0Acall Delay ; panggil sub routine DelayRl A ; Rotate Accumulator left CJNZ A,#0FEH,mulai

Kanan:Mov a,#07fh Mov P0,A ; keluarkan isi Accumulator ke Port 0Acall Delay ; panggil sub routine DelayRr A ; Rotate Accumulator left CJNZ A,#07H,kananSjmp mulai

Delay: Mov R0,#0 ; Isi Register R0 dengan 0Delay1: Mov R1,#0 ; Isi Register R1 dengan 0Delay2: Djnz R1,Delay2 ; Kurangi R1 dengan 1, bila hasil belum

; sama dengan 0 maka lompat ke Delay2Djnz R0,Delay1 ; Kurangi R0 dengan 1, bila hasil belum

; sama dengan 0 maka lompat ke Delay1Ret ; Kembali ke alamat setelah perintah

; 'Acall Delay'End

PROGRAM 4

; ---------------------------------------------------; Lampu LED KEMBANG KEMPIS di Port 0 Nama File:ljnP0.H51 ; --------------------------------------------------- Org 0h

Mulai: Mov P0, ,#01111110BAcall Delay ; panggil sub routine DelayMov P0, ,#00111100BAcall Delay ; panggil sub routine DelayMov P0, ,#00011000BAcall Delay ; panggil sub routine DelayMov P0, ,#00000000BAcall Delay ; panggil sub routine DelayMov P0, ,#00011000BAcall Delay ; panggil sub routine DelayMov P0, ,#00111100B

Created by edidas Page 14 of 16

Page 15: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

Acall Delay ; panggil sub routine DelaySjmp mulai

End

E. Langkah Kerja. 1. Siapkan komputer PC untuk merakit program.

2. Jalankan program EDITOR untuk menulis program yang ada pada listring

3. Ketiklah program 1 dan simpan dengan nama ekstensi .H51, karena program ini akan

di Compile dengan Assembler ASM51

4. Compile program sampai menghasilkan file dengan ekstensi .HEX

5. Pasangkan IC Mikrokontroler AT89SXX ke soket downloader DT-HQ Programer

dengan benar. Ingat jangan terbalik !!!

6. Jalankan ISP Programmer pada computer anda !

7. Lakukan setting secukupnya tentang port yang dipakai !

8. ON-kan DT-HQ Progammer dan pastikan perangkat keras ini terdeteksi !. Jika belum

terdeteksi lakukan tindakan supaya perangat ini terdeteksi.

9. Pilih jenis Mikrokontroler yang akan di program sesuai dengan yang terpasang pada

DT-HQ Programmer.

10. Lakukan proses WRITE untuk melakukan download program HEX ke Mikrokontroler.

11. Pastikan Porses Write ini SUKSES.

12. Setelah Selesai memdownload cabut IC mikrokontroler daro DT-HQ Programer .

13. Pindahkan IC mikrokontroler ke BOARD peraga.

14. ON-kan board peraga dan amati hasilnya.

15. Lanjutkan memprogram mikrokontroler denganprogram berikutnya, minimal yang ada

di dalam listing program .

16. Untuk pengembangan anda wajib mengembangkannya dengan program inovasi

lainnya.

F. Tugas dan Pengayaan

1. Rancang dan realisasikan program untuk menampilkan nyala LED bolak balik pada

portP0

2. Rancang dan realisasikan program untuk menampilkan nyala LED pada port P0 dengan

animasi :

a. Nona Buka JendelaCreated by edidas Page 15 of 16

Page 16: UNIVERSITAS NEGERI PADANG file · Web viewOsilator internal dan rangkaian pewaktu. RAM internal 128 byte. Flash memori 4 Kbyte. Mempunyai fasilitas In system Programming

b. Kura-kura Lapar

c. Dan animasi lain-lain sesuai dengan nyali yang anda punya !

**** SELAMAT BEKERJA SEMOGA SUKSES *****

Created by edidas Page 16 of 16