Skip to main content

Sistem Minimum LCD dan Keypad


Sistem Minimum LCD dan Keypad

1. Simulasi Rangkaian [back]

2. Prinsip Kerja Rangkaian [back]

     Prinsip kerja dari rangkaian di atas adalah, ketika tombol pada keypad ditekan maka nilai yang ditekan pada keypad akan ditampilkan pada LCD. 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.
     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 output keypad dan PORTB pada IC ini dihubungkan dengan input Keypad serta PORTC pada IC ini sebagai output yang dihubungkan dengan LCD

3. Listing Program [back]

; PROGGRAM6.ASM DIGUNAKAN UNTUK INPUT KEYPAD
; DITAMPILKAN KE LCD
; Data LCD: Port A
; E : PC0
; RS : PC1h
CODE_SEG SEGMENT          
        ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
        ORG 100H          
start:  jmp mulai         
porta  equ 00h           
portb  equ 01h           
portc  equ 02h           
cw  equ 03h
DISPCLR  EQU 00000001B
FUNCSET  EQU 00111000B
ENTRMOD  EQU 00000110B
DISPON  EQU 00001100B
awal db ?
data db ?
data_keypad db?
ratusan db ?
puluhan db ?
satuan  db ?
akhir   db ?
mulai:
    Mov  AX, CS   
    Mov  DS, AX         
    Xor  AX, AX   
        Mov  ES, AX
        Mov  SS, AX
        Lea  SI, Awal
        Lea  CX, Akhir   
        Mov  DI, SI      
        Sub  CX, SI      
     Cld  
     Rep Movsb 
     Mov SP,800h    
     Xor AX,AX 
    Mov  DS,AX  
    mov  al,82h ; Port A dan Port C = output dan
; Port B = input
        mov  dx,cw
        out  dx,al
 call  initialisasi_LCD
balik:
 mov   dx,portb
 in  al,dx
 and  al,128
 cmp  al,128
 je  balik
 in  al,dx
 and  al,00001111B
 call  konversi_keypad_to_bin
 mov  data_keypad,al
 mov  data,80h
 call  controlout
 mov  al,data_keypad
 mov  ah,0
 add  ax,30h
 mov  data,al
 call  dataout
tunggu:
 mov dx,portb
 in al,dx
 and al,128
 cmp al,0
 je tunggu
 jmp balik
konversi_keypad_to_bin proc near
 cmp al,4
 jne keypad1
 mov al,1
 ret
keypad1:
 cmp al,8
 jne keypad2
 mov al,2
 ret
keypad2:
 cmp al,12
 jne keypad3
 mov al,3
 ret
keypad3:
 cmp al,1
 jne keypad4
 mov al,4
 ret
keypad4:
 cmp al,4
 jne keypad5
 mov al,4
 ret
keypad5:
 cmp al,5
 jne keypad6
 mov al,5
 ret
keypad6:
 cmp al,9
 jne keypad7
 mov al,6
 ret
keypad7:
 cmp al,13
 jne keypad8
 mov al,7
 ret
keypad8:
 cmp al,2
 jne keypad9
 mov al,8
 ret
keypad9:
 cmp al,6
 jne keypad0
 mov al,9
 ret
keypad0:
 cmp al,10
 jne bintang
 mov al,0
 ret
bintang:
 cmp al,14
 jne pagar
 mov al,14
 ret
pagar:
 cmp al,3
 jne keluar
 mov al,3
 ret
keluar:
 ret
konversi_keypad_to_bin endp
;-------------------------
;  control instruction
;-------------------------
; E  : PC0
; RS  : PC1
control_out proc near
 mov   dx,portc
 mov  al,00000000b ; E = 0, RS = 0
 out  dx,al
 call  delay_lcd
 mov   dx,portc
 mov  al,00000001b ; E = 1, RS = 0
 out  dx,al
 call  delay_lcd
 mov  dx,porta
 mov  al,data
 out   dx,al
 call  delay_lcd
 mov   dx,portc
 mov  al,00000000b ; E = 0, RS = 0
 out  dx,al
 call  delay_lcd
 ret
control_out endp
;-------------------------
;  data instruction
;-------------------------
; E : PC0
; RS : PC1
data_out proc near
 mov   dx,portc
 mov  al,00000010b ; E = 0, RS = 1
 out  dx,al
 call  delay_lcd
 mov   dx,portc
 mov  al,00000011b ; E = 1, RS = 1
 out  dx,al
 call  delay_lcd
 mov  dx,porta
 mov  al,data
 out   dx,al
 call  delay_lcd
 mov  dx,portc
 mov al,00000010b  ; E = 0, RS = 1
 out dx,al
 call delay_lcd
 ret
data_out endp
;--------------------
;  inisialisasi LCD
;--------------------
initialisasi_LCD proc near
 mov data,DISPCLR
 call control_out
 call delay_lcd
 mov  data,FUNCSET
 call control_out
 call delay_lcd
 mov data,ENTRMOD
 call control_out
 call delay_lcd
 mov data,DISPON
 call control_out
 call delay_lcd
 ret
initialisasi_LCD endp
delay_lcd proc near         
  push cx
        mov cx,07fffh       
        loop $              
        pop cx              
        ret                 
delay_lcd endp 
delay proc near             
  push cx
        mov cx,0ffffh       
        loop $              
        pop cx              
        ret                 
delay endp                  
        ORG 40F0H           
        DB 0EAH             
        DW 0100H            
        DW 0FBF0H           
CODE_SEG ENDS                
        END START            

4. Video Simulasi [back]

5. Link Download [back]

Comments

Popular posts from this blog

COVER

KULIAH DAN PRAKTIKUM Dibuat dan Dipublikasikan untuk Memenuhi Tugas Kuliah Elektronika dan Sistem Digital Mikroprosessor dan Mikrokontroller By: Adelina Utari 1610952030 Dosen Pembimbing : Darwison, M.T TEKNIK ELEKTRO FAKULTAS TEKNIK PADANG 2018 Referensi: Hall, D. V., “Microprocessors and Interfacing: Programming and Hardware”, McGraw-Hill, Inc., New York Darwison, 2010, Teknik Interface: Perancangan Hardware dan simulasi Software serta Aplikasinya”, Unand Press, Padang. Darwison, 2009, “Panduan Praktikum Elektronika Digital”, Teknik Elektro – Unand, Padang. Darwison, 2009, “Diktat Mikroprosesor”, Teknik Elektro – Unand, Padang Gaonkar, S., 1988, “Microprocessors, Architecture, Programming, and Interfacing”, Jhon Wiley and Sons. Rachmad Setiawan, 2006, “Teknik Interface”, Graha Ilmu, Yogyakarta. John Crisp, Introduction to Microprocessors and Microcontrollers, 2nd edition, Newness, 2004. Darwis...