Pemrograman 7 - Segmen dengan bahasa Assembly

Pembahasan kali ini adalah tentang tentang pemrograman menggunakan bahasa Assembly untuk menggerakkan 7-segmen.Langkah pertama dalam proses pemrograman dengan Assembly adalah menyiapkan compiler Assembly, dalam hal ini saya akan menjelaskan tentang penggunaan compile ASM51. ASM51 ini digunakan untuk mengkompile file asm menjadi file obj dan dari file obj ke file hex, dan dapat juga mengkmpile file hex ke kode binner. Penulisan program Assembly dapat menggunakan editor bawaan Windows seperti Notepad.
Langkah - langkah untuk mengkompile file asm menjadi file hex adalah sebagai berikut :
Buka Command Prompt, dan masuk ke direktori yang di dalamnya terdapat compiler ASM51. Hal yang perlu diperhatikan adalah file asm tersebut harus disimpan di folder yang sama dengan ASM51. Ketikkan langkah - langkah berikut pada Command Prompt.
1. ams51 nama_file.asm dan tekan enter
(catatan: anda telah berada di direktori ASM51)
2. oh nama_file.obj tekan enter
sampai di sini anda telah mempunyai file dengan ekstensi hex yang dapat anda download ke mikrokontroler, tentunya dengan memanfaatkan software downloader seperti TS Control Emulator 8085 dan lain - lain.Silahkan googling sendiri saja. Jika ingin mengknversi ke file biner, caranya seperti langkah ke-3 berikut
3. h nama_file.hex nama_file.bin tekan enter
Langkah selanjutnya adalah mendownload kode mesin tersebut ke mikrokontroler
Oke, sekarang kita kembali ke pokok bahasan kita, yakni memprogram mikrokontrler untuk menggerakkan seven segmen. Dalam hal ini port mikrokontroler yang digunakan adalah PORT0 (Mikrokontroler AT89S51). Silahkan ketik program berikut pada editor windows misalnya Notepad. Yang perlu diperhatikan adalah perintah "mov P0,#bil_hex".bil_hex harus disesuaikan dengan 7-segmen yang digunakan. Program berikut akan menampilkan angka 0 sampai 9 pada 7-segmen. Ubahlah bil_hex agar dapat menampilkan angka - angka yang diinginkan.

org 0h
mulai:
mov P0,#22h
acall delay
mov P0,#77h
acall delay
mov P0,#0A4h
acall delay
mov P0,#25h
acall delay
mov P0,#71h
acall delay
mov P0,#29h
acall delay
mov P0,#28h
acall delay
mov P0,#67h
acall delay
mov P0,#20h
acall delay
mov P0,#21h
acall delay
sjmp mulai
;subrutin delay
delay: Mov R0,#2h
Delay1: Mov R1,#0FFh
Delay2: Mov R2,#0
Djnz R2,$
Djnz R1,Delay2
Djnz R0,Delay1
Ret
End

Simpan program di atas dengan nama .asm pada folder yang sama dengan ASM51.
Catatan: pada Save Type As pilih All Files.
Silahkan download source code di atas di sini, lengkap dengan penjelasannya.
Sebagai bonus untuk yang telah meluangkan waktu untuk membaca, silahkan download penjelasan tentang sintaks bahasa Assembly.
Anda juga dapat mendownload contoh - contoh aplikasi bahasa Assembly pada link download di samping.

2 komentar:

bayuratna mengatakan...

Waduh gak mudeng bahasa program kayak gini pak, pasti pinter banget neh..salam dari pernikahan adat Indonesia

bocah_teknik mengatakan...

gmn program keypad klw pke 7 segmen pak?

Posting Komentar