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
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
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
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
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
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
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
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
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
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
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
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
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
; '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
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
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
Top Related