Selasa, 02 Januari 2018

Running LED


Running LED (Mikroprosesor 8086) 

[Kembali]


[Home]

 

1. Rangkaian [Kembali]

Prinsip kerja dari rangkaian di atas adalah, ketika diaktifkan, mikroproseor akan membuat LED bergrak dari kiri ke kanan, kemudian kanan ke kiri, begitu seterusnya. Prinsipnya, pertama mikrokontroler mengirimkan alamat untuk mengakses I/O IC 8255 melewati A0-A15, kemudian masuk ke IC 74273 D0-D7. Alamat tersebut akan dilewatkan dari D0-D7 ke Q0-Q7 apabila sinyal kontrol alih dikeluarkan oleh pin ALE mikroprosesor dan diinverterkan sebelum diumpankan ke CLK IC 74273.  Apabila telah aktif sinyal CLK, maka alamat akan ditahan di Q0-Q7 IC 74273. kemudian jika Q1-Q5 IC 74273 yang membawa alamat dari AD9-AD11 dihubungkan dengan decoder 74154. maka ketika nilai AD9-AD11 ini berlogika 0 semua dan E1 E1 IC ini juga berlogika 0, maka pin 0 IC 75154 akan berlogika nol yang kemudian pin ini dihubingkan dengan CS pada IC 8255. sehingga alamat yang dikirimkan adalah untuk akses IC 8255.<br>
    Kemudian untuk mengirim data dari Mikroprosesor 8086 ke IC I/O 8255, pin AD0-AD7 mikroprosesor dihubungkan dengan pin D0-D7 IC 8255. PORTA IC 8255 menjadi output bagi mikroprosesor untuk kemudian dihubungkan dengan 4 buah LED yang akan digerakkan dari kiri ke kanan dan kembali lagi ke kiri dengan settingan program di bawah ini.

2. Program [Kembali]

data segment          ; inisialisasi data dari I/O 8255

   PORTA EQU 00H
   PORTB EQU 02H
   PORTC EQU 04H
   PCW   EQU 06H

ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
;

    mov ax, data                  ; masukkan data ke AX
    mov ds, ax                     ; masukkan ax ke cs
    mov es, ax                  ; masukkan ax ke es
    MOV DX,PCW          ; masukkan PWC ke DX
    MOV AL,10000010B    ; IC I/O Mode 2 PORTA dan C output, PORTB input
    OUT DX,AL                  ; berikan mode ini ke IC I/O
   BEGIN:
    MOV CX,3                    ; Membuat perulangan menjadi 3x
    MOV AL,00000001B    ; Bit untuk LED 1 menyala
   KIRI:                               ; LED Bergerak ke kanan                           
    MOV DX,PORTA         ;
    OUT DX,AL                   ; masukkan PORTA ke DX
    SHL AX,1                      ; Geser bit Hidup LED ke kanan
    CALL DELAY               ;  Delay
    LOOP KIRI                    ; Go to KIRI 3 kali karena cx 3

    MOV CX,3                     ; Membuat perulangan menjadi 3x
    MOV AL,00001000B     ; Bit untuk LED 4 menyala
                     
   KANAN:                          ; LED Bergerak ke kiri
    MOV DX,PORTA           ; masukkan PORTA ke DX
    OUT DX,AL                   ; Hidupkan LED
    SHR AX,1                       ; Geser bit Hidup LED ke kanan
    CALL DELAY            ; Delay
    LOOP KANAN           ; Go to KANAN 3 kali karena cx 3

    JMP BEGIN                     ; Ulangi proses dari led bergerak ke kanan


    delay proc near               ; Procedure delay
  push cx                             ; simpan cx
        mov cx,2fffh               ; isi cx dengan lama delay
        loop $                         ; looping sampai cx=0
        pop cx                        ; keluarkan kembali cx
        ret                              ; kembali ke program utama
    delay endp                     ; akhir procedure delay



end start 


3. Flowchart [Kembali]


4. Video Simulasi [Kembali]


Tidak ada komentar:

Posting Komentar