Selasa, 09 Desember 2014

Gambar Teknik : Cara Membuat Rangkaian Line Follower (dengan mengunakan Proteuss 8)


Tutorial kali ini yaitu cara merangkai line follower menggunakan Proteus 8

Komponen yang digunakan
Jumlah
7405
1
AT89C2051
1
BATTERY
1
BUTTON
1
CAP
3
CAP-POL
3
CRYSTAL
1
DIODE
1
L293D
1
LED
1
MOTOR
2
RES
2


  1. Buka terlebih dahulu program proteus 8 lalu cari komponen yang dibutuhkan


  2. Setelah dicari susun setiap komponen tersebut lalu sesuaikan dengan gambar diatas lalu disambungkan dengan kabel LBL dan jungtion.
  3. Jika sudah, kita bisa mengecek rangkaian ini, apakah masih ada yang salah/error atau tidak ada lagi dengan cara mengklik gambar berikut.


  4. Maka akan tampil seperti gambar berikut.



  5. setelah selesai susun pada PCB loyut.


  6. setelah disusun buka menu Tools >> Auto-router

Bahasa Rakitan : Membuat Program Sorot


1.       Buka terlebih dahulu notepad untuk membuat program sorot



2.       Lalu tuliskan perintah seperti berikut
DELAY               MACRO
                                           PUSH CX
                                           XOR CX,CX
                LOOP1:
                                           LOOP LOOP1
                                           POP CX
                                           ENDM

                GESER MACRO PosY
                                           PUSH AX
                                           PUSH BX
                                           PUSH CX
               
                                           XOR CX,CX
                                           MOV AL,50
                                           SUB AL,PosY
                                           MOV CL,AL
                LOOP2:
                MOV AL,BYTE PTR ES:[BX]
                MOV BYTE PTR ES: [BX-160],AL
                HILANG:
                MOV BYTE PTR ES:[BX],' '
                DELAY
                SUB BX,160
                LOOP LOOP2
               
                POP CX
                POP BX
                POP AX
                ENDM

                Cls          MACRO                               
                MOV AX,0600h
                XOR CX,CX
                MOV DX,184Fh
                MOV BH,3     
                INT 10h
                ENDM
                GotoXY                 MACRO X,Y        
                MOV AH,02
                XOR BX,BX
                MOV DH,Y
                MOV DL,X
                INT 10h
                ENDM
                SimpanL MACRO                             
                LOCAL Ulang     
                MOV AX,0B800h
                MOV ES,AX
                MOV CX,4000
                XOR BX,BX
                Ulang:
                MOV AL,ES:[BX]
                MOV Layar[BX],AL
                INC BX
                LOOP Ulang
                ENDM
                BalikL MACRO
                LOCAL Ulang
                MOV CX,4000
                XOR BX,BX
                Ulang:
                MOV AL,Layar[BX]
                MOV ES:[BX],AL
                INC BX
                LOOP Ulang
                ENDM
                Sorot     MACRO X,Y        
                LOCAL Ulang
                MOV BL,Y
                MOV AL,160
                MUL BL
                MOV BX,AX
                MOV AL,X
                MOV AH,2
                MUL AH
                ADD BX,AX
                INC BX                 
                MOV CX,15
                Ulang:
                MOV BYTE PTR ES:[BX],4Fh
                ADD BX,2
                LOOP Ulang
                ENDM
                Readkey MACRO                            
                MOV AH,00       
                INT 16h                
                ENDM
                MenuL MACRO String  
                MOV AH,09
                LEA DX,String
                INT 21h
                ENDM

.MODEL SMALL
.CODE
ORG 100h
TData:   JMP Proses



                Layar DB 4000 DUP (?)
                Menu       DB 9,9,'+==============================+',13,10
                                DB 9,9,'|      >>> MENU SOROT <<<             |',13,10
                                DB 9,9,'+==============================+',13,10
                                DB 9,9,'|                                                     |',13,10
                                DB 9,9,'|     1. Cetak Karakter Warna        |',13,10
                                DB 9,9,'|     2. Cetak Karakter tak warna  |',13,10
                                DB 9,9,'|     3. Melayang                              |',13,10
                                DB 9,9,'|     4. SELESAI                             |',13,10
                                DB 9,9,'|                                                      |',13,10
                                DB 9,9,'+==============================+$' DB 
                PosX      DB          22          
                PosY      DB          12
Panah_Atas        EQU 72                
Panah_Bawah EQU 80  
                TEnter   EQU 0Dh
Proses :
                Cls                                         
                GotoXY                 0 8                         
                MenuL Menu
                SimpanL
Ulang :
                BalikL    
                Sorot     PosX,PosY

Masukan:
                Readkey
                CMP      AH,Panah_Bawah
                JE            Bawah

                CMP      AH,Panah_Atas               
                JE            CekY                     

                CMP      AL,TEnter           

                je      pilihan

                JNE         Masukan            
CekY
                CMP      PosY,12               
                JE            MaxY                    
                DEC        PosY                     
                JMP       Ulang                   
MaxY :
                MOV     PosY,15               
                JMP       Ulang                   
Bawah :
                CMP      PosY,15               
                JE            NolY                      
                INC         PosY                     
                JMP       Ulang                   
NolY :
                MOV     PosY,12               
                JMP       Ulang                   

pilihan: cmp     posy,12
                je      huruf
                cmp       posy,13
                 je      warna
                cmp       posy,14
              je      rontok
              cmp     posy,15
              jmp     SELESAI

huruf:  cls
             gotoxy 25 8
             mov ah,02h
             mov dl,'A'
             mov cx,26
huruf2:
             int 21h
        add dl,1
        loop huruf2

           jmp Masukan
Warna:  cls
        gotoxy 25 10
           mov ah,09h
        mov bh,00h           mov bl,1
        mov cx,26
repwarna:
           int 10h
        add bl,1
        loop repwarna

           mov ah,02h
        mov dl,'A'
        mov cx,26
repwarna2:
        int 21h
        loop repwarna2
           jmp Masukan

rontok: JMP Prontok
       
Prontok:cls
        gotoxy 25 12
           mov ah,02h
        mov dl,'A'
        mov cx,26
huruf3:
        int 21h
        add dl,1
        loop huruf3

           mov ah,09h
        mov bh,00h
           mov bl,1
        mov cx,26
repwarna1:
           int 10h
        add bl,1
        loop repwarna1

           mov ah,02h
        mov dl,'A'
        mov cx,26
repwarna3:
        int 21h
        loop repwarna3

        MOV AX,0B800H
        MOV ES,AX

        MOV BX,3998
        MOV CX,25
ULANGY:
        MOV PosY,CL
        PUSH CX
        MOV CX,80
ULANGX:
        CMP BYTE PTR ES:[BX],33

        JB TdK

        GESER PosY
TdK:
        SUB BX,2
        LOOP ULANGX
        POP CX
        LOOP ULANGY
           jmp Selesai
Selesai:
           INT         20h
END   TData

3.       Setelas selesai menulisakan perintah seperti di atas simpanlah dengan nama ‘sorotmid.asm’ lalu bukalah dos box.






4.       Setelah buuka does box, cek dengan menggunakan tasm dan tlink/t.





5.       Setelas selesai maka akan muncul seperti gambar berikut ini.



6.       Apabila ditekan enter maka akan keluar karakter A-Z dengan warna yang sama.



7.       Jika ingin kembali seperti gambar nomor 6 maka tekan saja panah ke bawah yang ada di keyboard leptop atau komuter.








8.        lakukan sama seperti langkah sebelumnya lalu tekan enter maka akan tampil berikut.




9.  Apabila ingin keluar dari perogram maka kursor harus ada di menu no 4



Bahasa Rakitan : Program Residen Membelokkan Tombol PRTSCR

Pengertian Residen 

    Pada waktu kita menyalakan komputer, ia mencari sistem operasi di drive A: ataupun C: ,kemudian memasukkannya kedalam memori bawah. Selanjutnya sistem akan terus berada disitu dan apabila kita menjalankan program aplikasi misalnya game maka program tersebut akan disimpan di atas sistem operasi, sehingga sistem operasi tetap ada walaupun kita sedang menjalankan game tersebut. Inilah yang disebut residen, yaitu program yang tetap tinggal di memori.
    Dalam contoh kita ini bila game tadi telah selesai maka ia akan lenyap dari memori dan bila kita menjalankan program aplikasi lainnya, misalnya WS maka tempat memori yang digunakan oleh game kita akan digunakan oleh WS. Ini adalah contoh dari program yang tidak residen karena ia hanya sementara waktu berada di memori. Contoh program residen yang terkenal misalnyaSideKick, Print(dos) dan Doskey.

    Program residen adalah program yang akan menetap dimemory seperti halnya DOS dan program residen ini akan berada tepat diatas Operating System. Program residen akan dianggap sebagai bagian dari Operating System sehingga bila dijalankan program aplikasi maka program aplikasi tersebut akan ditaruh diatas program residen sehingga program residen kita tetap utuh.
    Program residen adalah suatu bentuk program yang menarik. Karena program residen menetap pada memory, maka semakin banyak program residen dijalankan, memory akan semakin berkurang untuk digunakan oleh program aplikasi. Program residen, haruslah dibuat sekecil mungkin untuk menghindari pemakaian memory yang terlalu banyak. Hanya dengan Assembler-lah, sebuah program dapat dibuat sekecil mungkin. Bayangkan, program untuk menghapus layar, dengan bahasa tingkat tinggi seperti pada pascal dan C digunakan sekitar 3232 byte, sedangkan pada assembler sekitar 7 byte.

Model Program Residen

    Dalam pembuatan program residen, kita dapat membaginya dalam 2 bagian pokok, yaitu :

  • Initialize section, yaitu bagian dari program yang bertugas meresidenkan residen section. Bagian ini sendiri tidak residen, dan pada bagian inilah suatu vektor interupsi diubah.
  • Residen section, yaitu bagian program yang akan menetap pada memory. Program ini akan tetap tinggal pada memory sampai dihilangkan, atau sampai komputer direset.
    Pada program sebelumnya, kita selalu mengakhiri program dengan interupsi 20h yang akan mengembalikan kontrol program sepenuhnya pada DOS. Pada program residen, program akan selalu kita akhiri dengan interupsi 27h ataupun interupsi 21h fungsi 31h. Untuk menggunakan interupsi 27h, kita tinggal mengisi pasangan register DS:DX dengan batas memory yang akan diresidenkan.

Membelokkan Tombol PRTSCR

    Pada program berikut ini akan anda lihat bagaimana membelokkan interupsi 05h(PrtScr) ke interupsi 1Bh. Interupsi 1Bh adalah suatu interupsi yang akan selalu terjadi bila anda menekan tombol Ctrl+Break. Dengan demikian setelah program "breaks" dijalankan, penekanan tombol PrtScr akan sama halnya dengan penekanan tombol Ctrl+Break.
    

    Simpan program dengan nama BREAKS.ASM

    Kemudian, jalankan program di DOSBOX :


   Jika sudah, jalankan program RONTOK1.ASM untuk melihat apakah program berjalan sesuai keinginan. Ketika kita menekan tombol PrtScr maka program tersebut akan berhenti sementara (Pause) dan ketika kita menekan tombol Enter program akan berjalan lagi.