Tugas 4




Tugas 4

Mikroprosessor 
Aplikasi Rangkaian Dot Matrik


1. Tujuan [Kembali]
         
 1. Memahami penggunaan EMU 8086

 2. Mengetahui rangkaian mikroprosesor

.
2. Alat dan Bahan [Kembali] 
     
1. IC 8086
 
        2. Power

 
        3. IC 74LS138

4. Dasar Teori [Kembali] 
1. IC 8086
 
        2. Power

 
Spesifikasi: 

  1. Daya listrik (Power supply): Ini mengacu pada daya yang diberikan oleh sumber listrik ke peralatan elektronik. Daya ini diukur dalam watt (W). Spesifikasi daya listrik mencakup tegangan input yang diperlukan (misalnya 110V atau 220V AC) dan frekuensi (misalnya 50Hz atau 60Hz).
  2. Konsumsi daya (Power consumption): Ini adalah jumlah daya yang dikonsumsi oleh peralatan elektronik saat beroperasi. Konsumsi daya juga diukur dalam watt (W) dan umumnya dicantumkan dalam spesifikasi produk. Informasi ini membantu untuk mengetahui berapa banyak daya yang diperlukan oleh peralatan tersebut dan mempengaruhi kebutuhan daya listrik yang dibutuhkan.
  3. Daya output (Power output): Jika Anda merujuk pada peralatan yang menghasilkan daya, seperti power amplifier atau power bank, spesifikasi power output akan memberikan informasi tentang daya yang dihasilkan oleh perangkat tersebut. Ini juga diukur dalam watt (W) dan mungkin mencakup spesifikasi daya maksimum dan daya kontinu yang dapat.
        3. IC 74LS138


Emu8086 merupakan aplikasi emulator bagi pemrograman bahasa assembler atau mikrokontroler. Dengan menggunakan aplikasi emulator, kita dapat mensimulasikan apakah program kontrol hardware yang kita buat sudah benar atau masih salah.
Dalam “emu8086” terdapat beberapa menu, antara lain:
    1. Emulate : untuk menjalankan emulator kode program yang kita buat
    2. Compile : untuk membuat (compile) “binary executable file” atau ekstensi “.com” atau “.exe” dari kode program.
    3. Run : menjalankan aplikasi dari emulator yang dihasilkan (execute).
    4. Single Step : Menjalankan aplikasi dengan cara tracing (diproses perbaris kode program).
Memulai pemrograman bahasa Assembler terdiri dari beberapa kode operasi code (op code) dan pseudo ops. Bentuk instruksinya adalah op code diikuti operand. Opcode adalah perintah yang akan dilaksanakan, sedangkan operand dpaat terdiri dari sumber (source) dan tujuan (destination).
Misal : MOV AX,BX
Opcode dari contoh di atas adalah MOV, sedangkan operandnya adalah AX, BX. Maksud kode di atas adalah perintah untuk menyalin data yang ada di register BX (source operand) ke register AX (destination operand).
Pseucode operation (pseudo ops) adalah perintah kepada assembler untuk memberitahukan apa yang harus dilakukan terhadap data, percabangan bersyarat, perintah macro dan listing. Beberapa pseudo ops yang sering dijumpai adalah sebagai berikut :


Untuk menjalankan Klik  “compile” kemudian pilih lokasi di mana file executable akan disimpan, lalu “single step”, sehingga hasilnya akan terlihat seperti dibawah ini :


Contoh operasi penambahan dan pengurangan bahasa assembler menggunakan "Emu8086"


Untuk menjalankan Klik  “compile” kemudian pilih lokasi di mana file executable akan disimpan, lalu “single step”, atau bisa langsung "Run" sehingga hasilnya akan terlihat seperti dibawah ini :

Hasil program penambahan dan pengurangan

Penjelasan 

 MULAI:   MOV AX,469            ;Perintah untuk memasukkan nilai 469 ke register AX

                  XOR CX,CX           ; Perintah melakukan logika XOR register CX dengan register 
                                                   CX agar nilai dalam register CX dapat direset, CX=0

 ULANG1:  MOV BH,10           ; Perintah untuk memasukkan nilai 10 ke register BH

                     DIV BH                ; Perintah untuk membagi nilai pada register AX dengan nilai                                                                                       pada register BH

             PUSH   AX                     ; Perintah untuk memasukkan nilai register AX ke STACK

             INC CX                          ; Perintah untuk melakukan increment pada register CX atau                                                                                        menambahkan satu kepada register CX

             XOR AH,AH                  ; Perintah untuk melakukan logika XOR register AH dengan 
                                                    register AH agar nilai dalam register AH dapat direset, AH=0
    
             CMP AL,00                   ; Perintah untuk compile nilai register AL, apakah AL=0 atau tidak.

             JNE ULANG1               ; Perintah untuk lompat ke ULANG1 apabila nilai register 
                                                    tidak sama, apabila sama maka program dilanjutkan ke Ulang2

    Ulang2:  pop dx                      ; Perintah untuk mengeluarkan isi register dari STACK 
                                                    menjadi register dx

             mov dl,dh                       ; Perintah untuk memindahkan nilai dh ke dl atau memindahkan 
                                                    nilai sisa

             add dl,30h                      ; Perintah untuk menambahkan 30hexa ke dalam register dl

             mov ah,02                      ; Perintah untuk memindahkan nilai 02 ke dalam register ah

             int 21h                            ; Perintah untuk menampilkan isi register ke layar

             Loop   ulang2                 ; Perintah untuk melakukan looping ke ulang2

             MOV AH,4CH                 ; Perintah untuk memindahkan nilai 4Chexa ke register AH

             int 21h                            ; Akhir program
4. Percobaan [Kembali] 

    A. Prosedur [Kembali] 

  1. Buka aplikasi EMU 8086.
  2. Ketik Program pada software seperti gambar
  3. Jalankan Program sehingga tampil pada layar.
    B. Gambar Rangkaian dan Program [Kembali] 




Program

Listing Program

; Definisi alamat port PPI dengan alamat baru (16-bit)
PPI0_PA EQU 1000h  ; Port A PPI-0 (Kontrol decoder 74LS138 untuk Dot Matriks)
PPI0_PB EQU 1001h  ; Port B PPI-0 (Input dari decoder MM74C922)
PPI0_PC EQU 1002h  ; Port C PPI-0 (Data untuk kolom Dot Matriks)
PPI0_CW EQU 1003h  ; Control Word PPI-0   

; Definisi pola untuk angka 1 pada Dot Matriks 8x8
POLA_ANGKA_1 DB 00011000b, 00111000b, 01111000b, 00011000b, 00011000b, 00011000b, 01111110b, 01111110b

ORG 0000h   ; Mulai program dari alamat 0000h      

START:
    ; Inisialisasi PPI
    MOV AL, 10001001b   ; Port A output, Port B input, Port C output
    MOV DX, PPI0_CW
    OUT DX, AL
    
    ; Inisialisasi Port A untuk mematikan semua baris Dot Matriks
    MOV AL, 11111000b   ; A, B, C high (tidak ada baris yang dipilih)
    MOV DX, PPI0_PA
    OUT DX, AL
                
MAIN_LOOP:
    ; Baca input keypad dari MM74C922 (terhubung ke PPI-0 Port B)
    MOV DX, PPI0_PB
    IN AL, DX
    
    ; Periksa apakah DA aktif (bit 0 = 0 untuk MM74C922)
    TEST AL, 01h
    JNZ MATIKAN_DISPLAY  ; Jika DA tidak aktif, matikan display
    
    ; Periksa apakah tombol 1 ditekan (0001 pada bit 1-4)
    AND AL, 1Eh         ; Mask untuk mendapatkan bit 1-4
    CMP AL, 02h         ; 0001 pada bit 1-4
    JE TAMPILKAN_ANGKA_1
    
    JMP MATIKAN_DISPLAY

TAMPILKAN_ANGKA_1:
    ; Tampilkan angka 1 pada Dot Matriks
    MOV SI, OFFSET POLA_ANGKA_1
    MOV CX, 8   ; 8 baris untuk ditampilkan
    
TAMPILKAN_LOOP:
    ; Set baris aktif pada decoder 74LS138 (aktif low)
    MOV AL, 11111000b  ; Preset semua bit high
    MOV BL, CL
    DEC BL
    NOT BL             ; Invert untuk active low
    AND BL, 07h        ; Pastikan nilai 0-7
    OR AL, BL          ; Kombinasikan dengan nilai baris
    MOV DX, PPI0_PA
    OUT DX, AL
    
    ; Kirim data untuk kolom
    MOV AL, [SI]
    MOV DX, PPI0_PC
    OUT DX, AL
    
    ; Tunda singkat untuk visualisasi
    PUSH CX
    MOV CX, 0100h
    CALL DELAY
    POP CX
    
    INC SI
    LOOP TAMPILKAN_LOOP
    
    JMP MAIN_LOOP

MATIKAN_DISPLAY:
    ; Matikan semua baris Dot Matriks (74LS138 tidak aktif)
    MOV AL, 11111000b   ; A, B, C high (tidak ada baris yang dipilih)
    MOV DX, PPI0_PA
    OUT DX, AL
    
    ; Matikan semua kolom Dot Matriks
    MOV AL, 00000000b   ; Semua kolom tidak aktif
    MOV DX, PPI0_PC
    OUT DX, AL
    
    JMP MAIN_LOOP

DELAY:
    ; Prosedur delay sederhana
    LOOP DELAY
    RET

END


    C. Prinsip Kerja [Kembali]
 
Prinsip kerja dari rangkaian aplikasi dot matriks di atas adalah, ketika keypad ditekan maka ditampilkan output sesuai dengan keypad yang ditekan. Prinsipnya, pertama mikroprosesor 8086 melakukan pengalamatan untuk mengakses I/O. IC 8255 sebagai Programmable Peripheral Interface untuk segala input atau output. Setelah mikroprosesor melakukan pengalamatan untuk membaca data sensor keypad, Kemudian akan masuk ke PPI IC 8255 Port B sebagai input dari keypad, kemudian di simpan sementara di rangkaian Latch Buffer. Decoder (RAMROM) IC 74LS138 untuk mengelola pengalamatan RAM dan ROM. yang kemudian RAM dan ROM akan menginstruksikan program yang telah di input pada mikroprosesor 8086. program dengan Perintah write ini akan diteruskan ke PPI 8255 A setelah rangkaian Latch dan Buffer mengatur arus/jalur data agar tidak bentrok. Ketika pin Write dari Decoder IC 74LS138 aktif maka PPI 8255 dengan pin kontrol A0 A1 akan menentukan Port A dan C untuk dipilih sebagai output, yang kemudian akan menghidupkan Dot Matriks untuk menampilkan output yang bersusaian dengan pilihan pada keypad. 
 
    D. Video Demo [Kembali] 



    E. Download File [Kembali]

  Program Simulasi  
  












Tidak ada komentar:

Posting Komentar

Unggulan

Aplikasi Encoder Decoder

APLIKASI ROLLING TOKO OTOMATIS [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...