468x60 Ads


Asus Sayank (*_*)

Patner hidup selama kuliah dan berkerja sama dalam menyelesaikan tugas - tugas kuliah.

パパとママの過去の画像、私の姉

Kenangan yang ngk bakal terlupakan I lup Mom and Dad.

My Heart

God has set the course of my life and today, I choose you, whether it be the best?

Ladie's TK2A Generation

Hanya kebersamaan yang bisa menyatukan kita, Itulah moment yang indah.

Sahabat Sebaya

Walaupun bukan 1 Universitas kita tetap satu, Mahasiswa Penerus bangsa (* amien *)

Tugas 4 Praktek Microprossesor


Laporan 4

Praktikum Mikroprocessor


INPUT DIPSWITCH DENGAN TAMPILAN LED



 Nama Kelompok : 6
     - Merlin Kusuma Efendi (1001081023)

Patner :
-          Winarni Sari (1001081041)
-          Reni Fatimah (1001081025)


A.    Dasar Teori

Gambar 1. Aplikasi DIPSWITCH dan LED

Perhatikan gambar 1. di atas. DIPSWITCH digunakan sebagai input digit dan mempunyai logika ‘0’ apabila saklar ke arah ON dan ‘1’  jika ke arah OFF.
Resistor pull up berfungsi untuk :
·           memastikan logika ‘1’ pada saat DIPSWITCH OFF

·           port 0 bersifat open drain sehingga untuk membuat rangkaian close loop, maka butuh tambahan resistor


  
A.    Alat dan bahan (perangkat lunak) yang digunakan adalah
-          PC
-      Proteus 7.8
-          Perangkat lunak Turbo Assamble

B.     Langkah Kerja
Langkah Kerja
  1. Buatlah program pada DOS editor dengan mengaktifkan DOS prompt dan bukalah folder compiler untuk mcs51.
  2. Ketiklah program pada DOS teks editor dan simpanlah dalam bentuk namafile.asm
Compile program dengan menggunakan instruksi :  x8051 namafile.
  1. Setelah dihasilkan file dengan ekstension obj, lanjutkanlah meng-compile program dengan instruksi L8051
dan inputkan nama  file yang akan dicompile sehingga diperoleh
Output format : Intel Hex
  1. Cek jumper pada system mikrocontroler yang akan digunakan dengan menempatkan jumper seven segment dengan menghubungkan pin tengah – 0 pada terminal jumper.
  2. Pada DOS prompt, ketik
C:\mcs51\aec_isp
  1. Dari tampilan program AEC_ASP,  pilihlah option
A. Load HEX File to flash buffer
  1. Ketikkan nama file dengan extension hex pada Input file name: yang tampil pada DOS prompt dan selanjutnya akan tampil
Hex file loaded, press any key to continue
Pilih E. Program         dan tunggu sampai program terloading 100%.
Pilih I. Reset sehingga bernilai Low dan lihat output yang dihasilkan pada LED dengan memberikan input pada dipswitch


Percobaan Pratikum 1
    ORG 0H
        JMP START
START:
        MOV P2,P0
        SJMP START

Hasil Output :




Percobaan Pratikum 2


        ORG 0H
        JMP START
START:
MOV r0,P0
CJNE r0,#03h,STOP


MULAI: MOV a,#1
        MOV R0,#7
KIRI:
        MOV p2,a
        ACALL DELAY
        rl a
        DEC R0
        CJNE R0,#0,KIRI
        mov r0,#7
       
kanan:

        MOV P2,A
        ACALL DELAY
        RR A
        DEC R0
        CJNE R0,#0,kanan
        SJMP START

DELAY:
        MOV R7,#00h
D3:
        MOV R6,#00h
D2:
        MOV R5,#00h
D1:
        INC R5
        CJNE R5,#50H,D1
        INC R6
        CJNE R6,#50H,D2
        INC R7
        CJNE R7,#50H,D3
        RET
       
STOP:
        MOV P2, 00h
        SJMP START





Output :






READ MORE

Tugas 3 Praktek Microprossesor


Laporan 3

Praktikum Mikroprocessor

PENGAKTIFAN LED DENGAN BERBAGAI VARIASI


READ MORE

Tugas 2 Paktek Microprossesor


Laporan 2

Praktikum Mikroprocessor

Pemograman Assambler 2


 Nama Kelompok : 6
 - Merlin Kusuma Efendi (1001081023)

Patner :
-          Winarni Sari (1001081041)
-          Reni Fatimah (1001081025)

A.    Dasar Teori

Secara umum struktur penulisan suatu segment dapat dilukiskan sebagai berikut:
[Nama Segment] segment
ASSUME CS:[Segment] DS:[Segment] SS:[Segment] ES:[Segment]
Org 100h
[label]: [Program ASM]
-
-
[nama segment] ends
            End [label]
Penulisan awal program juga ditentukan oleh ekstensi program COM atau EXE
Pada Penulisan program .COM  pemberian Org 100h, merupakan awal mulai menulis program pada alamat 100h. Hal ini hanya berlaku untuk program yang berektensikan com, karena 100h alamat sebelum digunakan untuk PSP (program segment prefiks). Disamping itu juga Org menujuk lokasi memori tertentu dari suatu segment.
Penulisan Assume cukup dituliskan 1 segmen saja, yaitu
Assume CS:Code_Seg
Tetapi bila menuliskan program .EXE, penulisan segmen harus benar-benar menunjukkan arah yang benar, contoh:
Assume CS:Code_Seg DS:Data_Seg SS:Stack_Seg ES:0b800h
Org 0h
Syarat Label:
-          Harus unik
-          Maksimal 31 karakter
-          Karakter yang boleh digunakan:
o   Alphabet


o   Angka
o   Tanda Dollar ($)
o   Tanda Tanya (?)
o   Titik (.)
o   Tanda satuan (@)
-          Bukan merupakan suatu perintah assambler
-          Label hanya dapat didefinisikan satu kali dalam program
Mendefinisikan variabel
Pada bahasa assambler, variabel dibagi menjadi 2 jenis:
1.      variabel yang dapat dimodifikasi isinya
2.      variabel yang tidak dapat dimodifikasi isinya
Variabel yang dapat dimodifikasi isinya
Variabel ini adalah variabel yang memakan tempat pada memori.
Adapun besaran-besaran variabel tersebut adalah
-          DB (Define Byte), mendefinisikan variabel per Byte
-          DW (Define Word), mendefinisikan variabel per Word (2 Byte)
-          DD (Define Double Word) mendefinisikan variabel per 2 Word (4 Byte)
Tata penulisan variabel jenis ini adalah
Label (DB/DW/DD) [Isi Variabel]
Contoh
Satu db ‘Aku adalah anak gembala $’
Dua db 1234h
Tiga db 12h
Variabel yang tidak dapat dimodifikasi isinya
Variabel ini digunakan untuk menggantikan besaran tertentu dengan menggunakan kata equ dan variabel ini tidak menggunakan memori.
Contoh penggunaan variabel ini adalah
Satu equ 2190h
Dua equ 2323h
Int 21h service number 09h
Interupt ini digunakan untuk mencetak suatu kalimat, dengan syarat-syarat sebagai berikut
-          Masukkan service number interupt pada register AH
-          Masukkan segment dari variabel tempat menampung kalimat yang akan dicetak ke register DS dan offsetnya ke register DX.
-          Kalimat yang akan dicetak harus diakhiri dengan tanda $ (dollar)

B.     Alat dan bahan (perangkat lunak) yang digunakan adalah
-          PC
-          Perangkat lunak Turbo Assamble

C.      Langkah Kerja
  •  Klik Start -> pada menu Start pilih Run -> pada Run ketikan Cmd (Command Prompt).
  •  Kemudian pada Command Prompt, edit untuk membuat job.
  • Kemudian save job, yang tersimpan dalam bentuk .asm
  • Lalu pilih exit untuk kembali ke command.
  • Lalu jalankan perintah dengan mengetik : TASM. Nama job.asm
  • Dan TLINK /t nama job
  • Dan hasilnya akan muncul, kemuadian ketik nama job untuk memasukkan password yang telah disediakan.

Percobaan Pratikum 1

Code_seg segment
            Assume CS:Code_seg
            Org 100h

Start: jmp hapus
kunci db 'Masukkan Password : $'
betul db 13,10,'Password Anda Betul',13,10,'$'
salah db 13,10,'Password Anda Salah',13,10,'$'        
hapus:  mov ah,07h
            mov ch,00
            mov cl,00
            mov dh,56
            mov dl,100
            mov bh,07h
            int 10h

input:   mov ah,09h
            mov dx,offset kunci
            int 21h
            mov ah,01h
            int 21h
            cmp al,'A'
            je keluar
            mov ah,09h
            mov dx,offset salah
            int 21h
            loop input

keluar: mov ah,09h
            mov dx,offset betul
            int 21h
            int 20h
           
Code_seg Ends
            End Start

ð  TASM ain.asm dan TLINK /t ain


ð  Test password betul


ð  Test password salah


Percobaan Pratikum 2

Code_seg segment
            Assume CS:Code_seg
            Org 100h
Start: Jmp mulai
kata db 'masukkan password: $'
password db 'merlin'
tampung db 6,?,6 dup(?)
kata1 db 13,10,'password anda salah ',13,10,13,10,'$'
kata2 db 13,10,'password anda benar ',13,10,13,10,'$'

mulai:  mov ah,09h
            mov dx,offset kata
            int 21h

            mov ah,0ah
            mov dx,offset tampung
            int 21h
           
            push ds
            pop es
            mov di,offset password
            mov si,offset tampung + 2
            mov cx,05h
            cld

ulang:  cmpsb
            jc salah
            loop ulang
            call betul
            int 20h
           
salah:   mov ah,09h
            mov dx,offset kata1
            int 21h
            jmp mulai

betul proc
            mov ah,09h
            mov dx,offset kata2
            int 21h
            ret

Code_seg Ends
            End Start
ð  TASM belajar.asm dan TLINK /t belajar

 
ð  Data, dan menu yang ada pada data yang telah di inputkan

 
ð  Menu 2, muncul hasilnya sebagai berikut

           
Percobaan Pratikum 3

merlin segment
        Assume CS:merlin
            Org 100h
Start: Jmp mulai
kata   db 13,10,'masukan password: $'
kata2   db '$',13,10,13,10
Jawab1 db 13,10,13,10,'welcome at Merlin Asus ^_^',13,10,13,10,'$'
Jawab2 db 13,10,'pasword salah',13,10,'$'

biodata db 13,10,13,10,'Nama    : Merlin Kusuma Efendi',13,10
db 'BP                                     : 1001081023',13,10
db 'Kelas                                 : TK 2 A',13,10
db 'Hobby                               : ONline',13,10
db 'Kuliah favorite                  : praktek mikroprosessor',13,10
db 'Alamat E-mail                   : Merlinkusumaefendi@yahoo.co.id',13,10
db 'Alamat Blog                      : Merlinkusumaefendi.blogspot.com',13,10
db 'Alamat Facebook              : Merlin Kusuma Negara',13,10
db 'Asal                                   : Painan, Pesisir Selatan',13,10,'$'

pnp db 13,10,13,10,'POLITEKNIK NEGERI PADANG',13,10,13,10
db 'Jurusan TI : ',13,10,13,10
db 'Program Study : ',13,10,13,10
db '1. Teknik Komputer',13,10,13,10
db '2. Manajemen Informatika',13,10,'$'

Tanya db 'MENU PILIHAN !',13,10
db '1. Biodata',13,10
db '2. Jurusan TI', 13,10
db '3. exit' ,13,10,13,10
db 'Masukkan Angka (1/2/3) !', 13,10,13,10
db 'Jawaban anda: $'


Mulai:  mov ah,09h
            mov dx,offset kata
            int 21h

Ulang:mov ah,01h
            int 21h
           
            cmp al,'0'
            je mulai1
           
            jne salah

Mulai1:            mov ah,09h
            mov dx,offset kata2
            int 21h

benar1:            mov ah,01h
            int 21h
           
            cmp al,'2'
            je mulai2
           
            jne salah

Mulai2:            mov ah,09h
            mov dx,offset kata2
            int 21h

benar2:            mov ah,01h
            int 21h
           
            cmp al,'3'
            je benar3

            jne salah

salah:   mov ah,09h
            mov dx,offset jawab2
            int 21h
            jmp mulai
           


benar3:mov ah,09h
            mov dx,offset jawab1
            int 21h
login : mov ah,09h
            mov dx,offset tanya
            int 21h

pilih : mov ah ,01h
            int 21h
            cmp al,'1'
            je data
            cmp al,'2'
            je poli
        cmp al,'3'
        je exit
            jne login
data : mov ah,09h
            mov dx,offset biodata
            int 21h
        jmp login
poli : mov ah,09h
            mov dx,offset pnp
            int 21h
        jmp login
           

exit:int 20h

merlin Ends
            End Start

Hasil dari menu percobaan :





D.    Kesimpulan
1. Pada pemograman bahasa assembler 1
    Mov ah, 02 è untuk memulai program
    Pada pemograman bahasa assembler 2
    mov ah,09h è untuk memulai program dan menampilkan kata

2.  Pada pemograman bahasa assembler1, mov ah,02h untuk memulai program karna yang di gunakan    angka hexa.
Sedangkan pada pemograman bahasa assembler2, mov ah,09h untuk memulai program karna yang digunakan offset kata
READ MORE