PIC Assembly Pull-Up Keypad Uygulamasi

Açıklama

  • Kendi yaptığımız pull-up tuş taşımı ( keypad ) ile tuş kontrolü yapan uygulamadır.
  • Bastığımız tuşa karşıklık ikilik tabandaki karşılığını PORTC göstermektedir.
  • PORTC'nin bütün pinleri çıkış yaptık, PORTD 7,6,5,4 pinlerini giriş diğer pinleri çıkış olarak ayarladık.

 

Şekille gösterim

pic-pull-up-keypad-uygulamasi

 

Kod

    LIST P=16F877A
    #INCLUDE <P16F877A.INC>
    __config _CP_OFF &_WDT_OFF &_HS_OSC &_PWRTE_OFF &_LVP_OFF

    SAY0 EQU 0X21
    SAY1 EQU 0X22
    SAY2 EQU 0X23
 
    ORG 0X00
    GOTO MAIN
    ORG 0X04
    GOTO MAIN
    
    
    MAIN
    BANKSEL TRISD
    MOVLW B'11110000'
    MOVWF TRISD
    CLRF TRISC
    BANKSEL PORTD
    CLRF PORTD
    CLRF PORTC
    GOTO LOOP
    
    LOOP
    CLRF PORTC
    CALL SATIR1_SUTUN1
    CALL BEKLE
    GOTO LOOP
    
    
    
    SATIR1_SUTUN1
    MOVLW B'11110111'
    MOVWF PORTD
    BTFSC PORTD,4
    GOTO SATIR1_SUTUN2
    MOVLW .1
    MOVWF PORTC
    RETURN
    
    SATIR1_SUTUN2
    BTFSC PORTD,5
    GOTO SATIR1_SUTUN3
    MOVLW .2
    MOVWF PORTC
    RETURN
    
    SATIR1_SUTUN3
    BTFSC PORTD,6
    GOTO SATIR1_SUTUN4
    MOVLW .3
    MOVWF PORTC
    RETURN
    
    SATIR1_SUTUN4
    BTFSC PORTD,7
    GOTO SATIR2_SUTUN1
    MOVLW .4
    MOVWF PORTC
    RETURN 
    
    SATIR2_SUTUN1
    MOVLW B'111111011'
    MOVWF PORTD
    BTFSC PORTD,4
    GOTO SATIR2_SUTUN2
    MOVLW .5
    MOVWF PORTC
    RETURN
    
    SATIR2_SUTUN2
    BTFSC PORTD,5
    GOTO SATIR2_SUTUN3
    MOVLW .6
    MOVWF PORTC
    RETURN  
    
    SATIR2_SUTUN3
    BTFSC PORTD,6
    GOTO SATIR2_SUTUN4
    MOVLW .7
    MOVWF PORTC
    RETURN  
    
    SATIR2_SUTUN4
    BTFSC PORTD,7
    GOTO SATIR3_SUTUN1
    MOVLW .8
    MOVWF PORTC
    RETURN  
    
    SATIR3_SUTUN1
    MOVLW B'111111101'
    MOVWF PORTD
    BTFSC PORTD,4
    GOTO SATIR3_SUTUN2
    MOVLW .9
    MOVWF PORTC
    RETURN
    
    SATIR3_SUTUN2
    BTFSC PORTD,5
    GOTO SATIR3_SUTUN3
    MOVLW .10
    MOVWF PORTC
    RETURN  
    
    SATIR3_SUTUN3
    BTFSC PORTD,6
    GOTO SATIR3_SUTUN4
    MOVLW .11
    MOVWF PORTC
    RETURN  
    
    SATIR3_SUTUN4
    BTFSC PORTD,7
    GOTO SATIR4_SUTUN1
    MOVLW .12
    MOVWF PORTC
    RETURN     
    
    SATIR4_SUTUN1
    MOVLW B'111111110'
    MOVWF PORTD
    BTFSC PORTD,4
    GOTO SATIR4_SUTUN2
    MOVLW .13
    MOVWF PORTC
    RETURN
    
    SATIR4_SUTUN2
    BTFSC PORTD,5
    GOTO SATIR4_SUTUN3
    MOVLW .14
    MOVWF PORTC
    RETURN  
    
    SATIR4_SUTUN3
    BTFSC PORTD,6
    GOTO SATIR4_SUTUN4
    MOVLW .15
    MOVWF PORTC
    RETURN  
    
    SATIR4_SUTUN4
    BTFSC PORTD,7
    RETURN
    MOVLW .16
    MOVWF PORTC
    RETURN 
    
    BEKLE
    MOVLW .50
    MOVWF SAY0
    BEKLE1
    MOVLW .50
    MOVWF SAY1
    BEKLE2
    MOVLW .50
    MOVWF SAY2
    BEKLE3
    DECFSZ SAY2,F
    GOTO BEKLE3
    DECFSZ SAY1,F
    GOTO BEKLE2
    DECFSZ SAY0,F
    GOTO BEKLE1
    RETURN
    
    
    END


Yorumlar

Bu gönderi için yorum yapılmadı.