Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

PIC ile PS/2 Klavye

Başlatan baran123, 17 Şubat 2015, 19:56:40

baran123

PIC ile şu eski uçlu ps/2 klavye den harfleri alıp lcd vs işlemek istiyorum.Bununla bir çalışma yapan var mı ? İnternet doludur şimdi ama işin bir ayrıntısı var mıdır ? İlk sizlere bir sorayım dedim.

Kabil ATICI

ambar7

baran123

Hocam bu klavye sanırsam SPI ile çalışıyor normal şekilde SPI ayarlayıp direk olarak gelen karakteri ekrana basma şansım var mı ? yoksa ayrı bir ktüphane gerekli midir ?

magic_gun

#3
yıllar önce yaptıgımız bir çalışma umarım faydalı olur,,,,

http://www.atariturkiye.com/en/retro-mod/atari-800xl-keyboard-pc-transform.html

Gunhan

[code];=============== 01/12/2009 = 12:21 =====;
            
   LIST   P=16f874, F=INHX8M      
   include    "P16F874.inc"      
;========================================;            
         
;----- KLEVYE I/O -----------------------;            
#DEFINE   CLOCK   PORTA,0   ;   I
#DEFINE   DATA   PORTA,1   ;   I
#DEFINE   C_1   PORTA,2   ;   I
#DEFINE   C_4   PORTA,3   ;   I
#DEFINE   S_8   PORTB,0   ;   O
#DEFINE   S_7   PORTB,1   ;   O
#DEFINE   S_6   PORTB,2   ;   O
#DEFINE   S_5   PORTB,3   ;   O
#DEFINE   S_4   PORTB,4   ;   O
#DEFINE   S_3   PORTB,5   ;   O
#DEFINE   S_2   PORTB,6   ;   O
#DEFINE   S_1   PORTB,7   ;   O
#DEFINE   C_5   PORTC,0   ;   I
#DEFINE   C_6   PORTC,1   ;   I
#DEFINE   C_7   PORTC,2   ;   I
#DEFINE   C_8   PORTC,3   ;   I
#DEFINE   C_F1   PORTC,4   ;   I
#DEFINE   C_F2   PORTC,5   ;   I
#DEFINE   C_F3   PORTC,6   ;   I
#DEFINE   C_F4   PORTC,7   ;   I
#DEFINE   C_3   PORTD,0   ;   I
#DEFINE   C_2   PORTD,1   ;   I
#DEFINE   C_9   PORTD,2   ;   I
#DEFINE   CAPS_L   PORTD,4   ;   O
#DEFINE   LCD_RS   PORTD,5   ;   O
#DEFINE   LCD_RW   PORTD,6   ;   O
#DEFINE   LCD_E   PORTD,7   ;   O
#DEFINE   SCROLL_L   PORTE,0   ;   O
#DEFINE   NUM_L   PORTE,1   ;   O
#DEFINE   CLOCK_I   TRISA,0   ;   I/O
#DEFINE   DATA_I   TRISA,1   ;   I/O
;----keymap   ------------------;            
#DEFINE   TUS_DEL   REG09,1   ;   DEL
#DEFINE   TUS_CTRL   REG09,5   ;   CTRL SOL
#DEFINE   TUS_SHFT   REG09,0   ;   SHIFT SAĞ
#DEFINE   TUS_7   REG10,1   ;   7
#DEFINE   TUS_6   REG10,2   ;   6
#DEFINE   TUS_U   REG10,3   ;   U
#DEFINE   TUS_Y   REG10,4   ;   Y
#DEFINE   TUS_N   REG10,7   ;   N
#DEFINE   TUS_J   REG11,5   ;   J
#DEFINE   TUS_H   REG11,6   ;   H
#DEFINE   TUS_SPC   REG11,7   ;   SPACE
#DEFINE   TUS_F5   REG11,0   ;   F5
#DEFINE   TUS_8   REG12,1   ;   8
#DEFINE   TUS_5   REG12,2   ;   5
#DEFINE   TUS_I   REG12,3   ;   I
#DEFINE   TUS_T   REG12,4   ;   T
#DEFINE   TUS_K   REG12,5   ;   K
#DEFINE   TUS_G   REG12,6   ;   G
#DEFINE   TUS_M   REG12,7   ;   M
#DEFINE   TUS_B   REG12,0   ;   B
#DEFINE   TUS_9   REG13,1   ;   9
#DEFINE   TUS_4   REG13,2   ;   4
#DEFINE   TUS_O   REG13,3   ;   O
#DEFINE   TUS_R   REG13,4   ;   R
#DEFINE   TUS_L   REG13,5   ;   L
#DEFINE   TUS_F   REG13,6   ;   F
#DEFINE   TUS_Ö   REG13,7   ;   Ö
#DEFINE   TUS_V   REG13,0   ;   V
#DEFINE   TUS_0   REG14,1   ;   0
#DEFINE   TUS_3   REG14,2   ;   3
#DEFINE   TUS_P   REG14,3   ;   P
#DEFINE   TUS_E   REG14,4   ;   E
#DEFINE   TUS_Ş   REG14,5   ;   Ş
#DEFINE   TUS_D   REG14,6   ;   D
#DEFINE   TUS_Ç   REG14,7   ;   Ç
#DEFINE   TUS_C   REG14,0   ;   C
#DEFINE   TUS_x   REG15,1   ;   *
#DEFINE   TUS_2   REG15,2   ;   2
#DEFINE   TUS_Ğ   REG15,3   ;   Ğ
#DEFINE   TUS_W   REG15,4   ;   W
#DEFINE   TUS_İ   REG15,5   ;   İ
#DEFINE   TUS_S   REG15,6   ;   S
#DEFINE   TUS_NOK   REG15,7   ;   .   
#DEFINE   TUS_X   REG15,0   ;   X   
#DEFINE   TUS_EKSI   REG16,1   ;   -   
#DEFINE   TUS_1   REG16,2   ;   1   
#DEFINE   TUS_Ü   REG16,3   ;   Ü   
#DEFINE   TUS_Q   REG16,4   ;   Q   
#DEFINE   TUS_NV   REG16,5   ;   ;   
#DEFINE   TUS_A   REG16,6   ;   A   
#DEFINE   TUS_ALT   REG16,7   ;   ALT   
#DEFINE   TUS_Z   REG16,0   ;   Z   
#DEFINE   TUS_BSPC   REG17,1   ;   BACKSPACE   
#DEFINE   TUS_ESC   REG17,2   ;   ESC   
#DEFINE   TUS_ENTER   REG17,3   ;   ENTER   
#DEFINE   TUS_TAB   REG17,4   ;   TAB   
#DEFINE   TUS_CAPS   REG17,6   ;   CAPS LOOK   
#DEFINE   TUS_F1   REG18,1   ;   F1   
#DEFINE   TUS_F2   REG18,2   ;   F2   
#DEFINE   TUS_F3   REG18,3   ;   F3   
#DEFINE   TUS_F4   REG18,4   ;   F4   
#DEFINE   PRTY   PARITY,0   ;   PARITY   
#DEFINE   S_PRTY   PARITY,1   ;   SON YOLLANAN PARITY   
#DEFINE   BANK_ILK   BANK_FLG,4   ;   YOLLANAN SAYI DOLDU BİTİ   
#DEFINE   BANK2_PRTY   BANK_FLG,5   ;      
#DEFINE   BANK1_SC   BANK_FLG,6   ;      
#DEFINE   BANK1_PRTY   BANK_FLG,7   ;      
;============================================;               
;===== hardware definitions =================;               
c   EQU   0   ;      
dc   EQU   1   ;      
z   EQU   2   ;      
rp0   EQU   5   ;      
;--------------------------------------------;               
adif   EQU   6   ;A/D CONVERter done      
tmr1if   EQU   0   ;TIMEr 1 over flow      
tmr1on   EQU   0   ;      
adie   EQU   6   ;      
tmr1ie   EQU   0   ;      
gie   EQU   7   ;      
hlt   EQU   7   ;      
;============================================;               
;===== register definations==================;               
FOSC0   EQU   01h   ;      
FOSC1   EQU   02h   ;      
WDTE   EQU   04h   ;      
PWRTE   EQU   08h   ;      
CP0   EQU   10h   ;      
CP1   EQU   20h   ;      
ser   EQU   40h   ;      
;============================================;               
;===== CONFİG AYARLARI =====================================================;               
__config _HS_OSC & _WDT_OFF & _PWRTE_ON & _BODEN_ON & _CP_OFF & _LVP_OFF   ;               
;===========================================================================;               
;===== c BLOCKLAR ===========================;               
   cblock   0x020   ;      
   SAY1      ;01      
   SAY2      ;02      
   SAY3      ;03      
   SAY4      ;03      
   LCDADRES      ;04      
   REG09      ;05      
   REG10      ;06      
   REG11      ;07      
   REG12      ;08      
   REG13      ;09      
   REG14      ;10      
   REG15      ;11      
   REG16      ;12      
   REG17      ;13      
   REG18      ;14      
   DATA_01      ;15      
   LCD_SATIR      ;16      
   SON_K      ;17      
   LEDLER      ;18      
   DATA_AL      ;19      
   FLAG      ;20      
   TEST      ;21      
   YENILEME      ;22      
   PARITY      ;23      
   UCLEME      ;24      
   SON_YOLLA      ;25      
   BANK_FLG      ;26      
   BANK1      ;27      
   BANK_DUR      ;28      
   BANKA      ;29      
   BANK2      ;30      
   ENDC      ;      
;========================================;               
;******************************************************;               
;******* BAŞLANGIÇ NOKTASI ****************************;               
;******************************************************;               
   ORG   0x0000      ;   
   GOTO   start      ;   
;------------------------------------------------------;               
   ORG   0x0005      ;   
;======= BAŞLA ========================================;               
start               
   clrwdt            
   BSF   STATUS,RP0         
   MOVLW   b'00001111'         
   MOVWF   TRISA         
   CLRF   TRISB         
   MOVLW   b'11111111'         
   MOVWF   TRISC         
   MOVLW   b'00000111'         
   MOVWF   TRISD         
   CLRF   TRISE         
   CLRF   INTCON         
   MOVLW   b'00000111'         
   MOVWF   ADCON1         
   CLRF   PIE1         
   MOVLW   b'10001111'         
   MOVWF   OPTION_REG         
   BCF   STATUS,RP0               
   CLRF   ADCON0               
   CLRF   PIR1               
   CLRF   STATUS               
   CLRF   T1CON               
   CLRF   CCP1CON               
   CLRF   CCP2CON               
   CLRF   SSPCON               
   CLRF   PORTA               
   CLRF   PORTB               
   CLRF   PORTC               
   CLRF   PORTD               
   CLRF   PORTE               
   CLRF   REG09               
   CLRF   REG10               
   CLRF   REG11               
   CLRF   REG12               
   CLRF   REG13               
   CLRF   REG14               
   CLRF   REG15               
   CLRF   REG16               
   CLRF   REG17               
   CLRF   REG18               
   CLRF   PARITY               
   CLRF   FLAG               
   CLRF   BANK_FLG               
   CLRF   BANK1               
   CLRF   BANK_DUR               
   CLRF   BANKA               
   CLRF   BANK2               
   BSF   DATA               
   BSF   CLOCK               
;******************************************************;               
;======= ANA PROGRAM ==================================;               
;******************************************************;               
_giris               
   CALL   lcd_init         
   CALL   AA_yolla         
   GOTO   basliyom         
;******************************************************;               
test   ;   1         
   CLRF   UCLEME         
   BCF   CLOCK         
   BCF   DATA         
test_2               
   CALL   _2us         
   BTFSC   CLOCK      ;CLOCK düşmesini bekle   
   GOTO   test_2         
   BTFSC   DATA      ;DATA nın düşerse veri gelecek   
   GOTO   test_2         
;***** bilgisayar veri yolluyor ********************;               
data_gel               
   CLRF   DATA_AL         
   CALL   _2us         
   BTFSS   CLOCK   ;CLOCK çıkmasını bekle      
   GOTO   data_gel         
   CALL   _125us         
;----- DATA,   START   1         
   CALL   _40us         
   CALL   clock_cikis   ;2. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   0            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,0         
   CALL   clock_cikis   ;3. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   1            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,1         
   CALL   clock_cikis   ;4. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   2            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,2         
   CALL   clock_cikis   ;5. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   3            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,3         
   CALL   clock_cikis   ;6. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   4            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,4         
   CALL   clock_cikis   ;7. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   5            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,5         
   CALL   clock_cikis   ;8. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   6            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,6         
   CALL   clock_cikis   ;9. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   7            
   CALL   _40us         
   BTFSC   DATA   ;düşen kenar data al      
   BSF   DATA_AL,7         
   CALL   clock_cikis   ;A. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   8            
   CALL   _40us         
   CALL   clock_cikis   ;B. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   9            
   CALL   data_cikis   ;DATA çıkış yap (0)      
   CALL   _40us         
   CALL   clock_cikis   ;C. CLOCK düşme      
   CALL   _40us         
   CALL   clock_giris   ;CLOCK giriş yap (1)      
;----- DATA,   10            
   CALL   data_giris   ;DATA giriş yap (1)      
   CALL   _125us         
   CALL   _125us         
   CALL   _125us         
   CALL   _125us         
;***** ALINAN DATAYI ANALİZ ET *****************;               
   MOVLW   0x10         
   ADDWF   DATA_AL,W         
   BTFSS   STATUS,0         
   GOTO   E_test         
;----- FF test (Reset) -------------------------;               
FF_test               
   MOVLW   0xFF   ;DATA HxFF ise HxAA yolla      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   F0_test         
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   CALL   _125us         
   CALL   _125us         
   CALL   _125us         
   CALL   _125us         
AA_yolla   ;----- Açılış testi tamamlandı -;            
   BSF   PRTY         
   MOVLW   0xAA   ;DATA HxFF ise HxAA yolla      
   CALL   data_yolla         
   BSF   FLAG,2   ;hxAA bayrağı      
   RETURN            
;----- F0 test ---------------------------------;               
F0_test               
   MOVLW   0xF0   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   F1_test         
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   RETURN            
;----- F1 test ---------------------------------;               
F1_test               
   MOVLW   0xF1   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   F2_test         
   BCF   PRTY         
   MOVLW   0xFE   ;RECENT > anlamadı tekrarını yolla      
   CALL   data_yolla         
   BTFSS   S_PRTY         
   BCF   PRTY         
   BTFSC   S_PRTY         
   BSF   PRTY         
   MOVF   SON_YOLLA,W         
   CALL   data_yolla         
   RETURN            
;----- F2 test ---------------------------------;               
F2_test               
   MOVLW   0xF2   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   F3_test         
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   BCF   PRTY         
   MOVLW   0xAB         
   CALL   data_yolla         
   RETURN            
;----- F3 test ---------------------------------;               
F3_test               
   MOVLW   0xF3   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   F4_test         
   BSF   FLAG,1   ;YENİLEME HIZI BAYRAĞI      
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   BCF   FLAG,2   ;hxAA bayrağı      
   GOTO   test         
;----- F4 test ---------------------------------;               
F4_test               
   MOVLW   0xF4   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   F5_test         
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   BSF   FLAG,2   ;hxAA bayrağı      
   RETURN            
;----- F5 test ---------------------------------;               
F5_test               
   MOVLW   0xF5   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   FX_test         
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   BCF   FLAG,2   ;hxAA bayrağı      
   RETURN            
;----- FX test ---------------------------------;               
FX_test               
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   RETURN            
;----- E test ----------------------------------;               
E_test               
   MOVLW   0x20         
   ADDWF   DATA_AL,W         
   BTFSS   STATUS,0         
   GOTO   FF_yolla         
;----- EE test ---------------------------------;               
EE_test               
   MOVLW   0xEE   ;DATA HxFF ise HxAA yolla      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   EF_test         
   BSF   PRTY         
   MOVLW   0xEE   ;EE yerine EE yolla      
   CALL   data_yolla         
   RETURN            
;----- EF test ---------------------------------;               
EF_test               
   MOVLW   0xEF   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   DATA_AL,W         
   BTFSS   STATUS,2         
   GOTO   EX_test         
   BCF   PRTY         
   MOVLW   0xFE   ;RECENT > anlamadı tekrarını yolla      
   CALL   data_yolla         
   BTFSS   S_PRTY         
   BCF   PRTY         
   BTFSC   S_PRTY         
   BSF   PRTY         
   MOVF   SON_YOLLA,W   ;son yollananı tekrar yolla      
   CALL   data_yolla         
   RETURN            
;----- EX test ---------------------------------;               
EX_test               
   MOVLW   0xF0   ;ikinci 4 biti sil      
   ANDWF   DATA_AL,W         
   MOVWF   TEST         
   MOVLW   0xE0   ;DATA HxEX tekrar veri al (ledler)      
   SUBWF   TEST,W         
   BTFSS   STATUS,2         
   GOTO   FF_yolla         
   BSF   FLAG,0   ;LEDLERİN BAYRAĞI      
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   GOTO   test         
FF_yolla               
   BTFSC   FLAG,0   ;LEDLERİN BAYRAĞI      
   GOTO   led_ayar         
   BTFSC   FLAG,1   ;YENİLEME HIZI BAYRAĞI      
   GOTO   yha_ayar         
   BSF   PRTY         
   MOVLW   0xFF   ;reset yolla      
   CALL   data_yolla         
   RETURN            
led_ayar               
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   BTFSC   DATA_AL,2         
   BSF   CAPS_L         
   BTFSS   DATA_AL,2         
   BCF   CAPS_L         
   BCF   FLAG,0         
   BSF   FLAG,4   ;ledler bayrağı      
   RETURN            
yha_ayar               
   BSF   PRTY         
   MOVLW   0xFA         
   CALL   data_yolla         
   MOVF   DATA_AL,W         
   MOVWF   YENILEME         
   BCF   FLAG,1   ;yenileme hızı bayrağı      
   BSF   FLAG,3   ;yenileme hızı bayrağı bayrağı      
   RETURN            
;======================================================;               
;======= LCD init ==== 8-bit data char5X7 2 line ======;               
;======================================================;               
lcd_init               
   CLRF   LCDADRES         
   CALL   LCDbas         
   MOVLW   .240         
   MOVWF   LCD_SATIR         
   MOVLW   0x38         
   CALL   Komut_Yaz         
   MOVLW   0x0c         
   CALL   Komut_Yaz         
   MOVLW   0x06         
   CALL   Komut_Yaz         
_Program               
   CALL   LCDtemizle         
   CALL   ImlecBasa         
               
   MOVLW    'a'   ;1      
   CALL   Karakter_Yaz         
   MOVLW    't'   ;2   
   CALL   Karakter_Yaz      
   MOVLW    'a'   ;3   
   CALL   Karakter_Yaz      
   MOVLW    'r'   ;4   
   CALL   Karakter_Yaz      
   MOVLW    'i'   ;5   
   CALL   Karakter_Yaz      
   MOVLW    't'   ;6   
   CALL   Karakter_Yaz      
   MOVLW    'u'   ;7   
   CALL   Karakter_Yaz      
   MOVLW    'r'   ;8   
   CALL   Karakter_Yaz      
   MOVLW    'k'   ;9   
   CALL   Karakter_Yaz      
   MOVLW    'i'   ;10   
   CALL   Karakter_Yaz      
   MOVLW    'y'   ;11   
   CALL   Karakter_Yaz      
   MOVLW    'e'   ;12   
   CALL   Karakter_Yaz      
   MOVLW    '.'   ;13   
   CALL   Karakter_Yaz      
   MOVLW    'c'   ;14   
   CALL   Karakter_Yaz      
   MOVLW    'o'   ;15   
   CALL   Karakter_Yaz      
   MOVLW    'm'   ;16   
   CALL   Karakter_Yaz      
   MOVLW   b'11000000'      
   CALL   Komut_Yaz      
   RETURN            
;***********************************************;               
;***********************************************;               
bank_test               
   BTFSS   BANK_FLG,2   ;2. bankada sayı var      
   RETURN            
   BTFSS   BANK_FLG,3   ;2.tuş yolla bekleme zaman bayrağı      
   GOTO   bank_bek         
bank1_yolla               
   BTFSS   BANK_FLG,1   ;1. bankada sayı var      
   GOTO   bank2_yolla         
   BCF   PRTY         
   MOVLW   0xE0         
   CALL   data_yolla         
bank2_yolla               
   BTFSS   BANK2_PRTY         
   BCF   PRTY         
   BTFSC   BANK2_PRTY         
   BSF   PRTY         
   MOVF   BANK2,W         
   CALL   data_yolla         
   RETURN            
;-----------------------------------------------;               
bank_bek               
   DECFSZ   BANK_DUR,F   ;2.tuş yolla bekleme zamanı      
   RETURN            
   BSF   BANK_FLG,3   ;2.tuş yolla bekleme zaman bayrağı      
   RETURN            
bank_sil               
   CLRF   BANK1         
   CLRF   BANK2         
   CLRF   BANK_FLG         
   RETURN            
bank2_yukle               
   MOVWF   BANK2         
   BSF   BANK_FLG,2         
   BCF   BANK_ILK         
bank1_yukle               
   BTFSS   BANK1_SC         
   GOTO   bank1_temizle         
   BSF   BANK_FLG,1         
   GOTO   bank_bekle         
bank1_temizle               
   CLRF   BANK1         
   BCF   BANK_FLG,1         
bank_bekle               
   MOVLW   .10   ;standardı .12      
   MOVWF   BANK_DUR         
   BCF   BANK_FLG,3   ;2.tuş yolla bekleme zaman bayrağı                     
   GOTO   bank1_yolla                        
                              
basliyom                              
   CALL   _30ms                        
   CALL   bank_test                        
;----- birinci kanal test ---------------;                              
   BSF   S_1                        
   CALL   _100us                        
;tus_DEL_b   ;   C_1   DEL                     
   BTFSC   C_1   ;tuşa basıldımı_?                     
   CALL   tus_DEL_bas   ;evet > bank'a işle                     
;tus_DEL_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_1   ;tuşa basıldımı_?                     
   CALL   tus_DEL_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_7_b   ;   C_2   7                     
   BTFSC   C_2   ;tuşa basıldımı_?                     
   CALL   tus_7_bas   ;evet > bank'a işle                     
;tus_7_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_2   ;tuşa basıldımı_?                     
   CALL   tus_7_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_8_b   ;   C_4   8                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_8_bas   ;evet > bank'a işle                     
;tus_8_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_8_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_9_b   ;   C_5   9                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_9_bas   ;evet > bank'a işle                     
;tus_9_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_5   ;tuşa basıldımı_?                     
   CALL   tus_9_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_0_b   ;   C_6   0                     
   BTFSC   C_6   ;tuşa basıldımı_?                     
   CALL   tus_0_bas   ;evet > bank'a işle                     
;tus_0_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_6   ;tuşa basıldımı_?                     
   CALL   tus_0_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_x_b   ;   C_7   x                     
   BTFSC   C_7   ;tuşa basıldımı_?                     
   CALL   tus_x_bas   ;evet > bank'a işle                     
;tus_x_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_7   ;tuşa basıldımı_?                     
   CALL   tus_x_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_EKSI_b   ;   C_8   EKSI                     
   BTFSC   C_8   ;tuşa basıldımı_?                     
   CALL   tus_EKSI_bas   ;evet > bank'a işle                     
;tus_EKSI_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_8   ;tuşa basıldımı_?                     
   CALL   tus_EKSI_cek   ;hayır > bank'ı sil                     
   BSF   S_1                        
   CALL   _100us                        
;tus_BSPC_b   ;   C_9   BSPC                     
   BTFSC   C_9   ;tuşa basıldımı_?                     
   CALL   tus_BSPC_bas   ;evet > bank'a işle                     
;tus_BSPC_c                              
   BSF   S_1                        
   CALL   _100us                        
   BTFSS   C_9   ;tuşa basıldımı_?                     
   CALL   tus_BSPC_cek   ;hayır > bank'ı sil                     
;S_1_test_end         ;                     
   BCF   S_1                        
;----- ikinci kanal test ----------------;                              
   BSF   S_2                        
   CALL   _100us                        
;tus_6_b   ;   C_2   6                     
   BTFSC   C_2   ;tuşa basıldımı_?                     
   CALL   tus_6_bas   ;evet > bank'a işle                     
;tus_6_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_2   ;tuşa basıldımı_?                     
   CALL   tus_6_cek   ;hayır > bank'ı sil                     
   BSF   S_2                        
   CALL   _100us                        
;tus_5_b   ;   C_4   5                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_5_bas   ;evet > bank'a işle                     
;tus_5_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_5_cek   ;hayır > bank'ı sil                     
   BSF   S_2                        
   CALL   _100us                        
;tus_4_b   ;   C_5   4                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_4_bas   ;evet > bank'a işle                     
;tus_4_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_5   ;tuşa basıldımı_?                     
   CALL   tus_4_cek   ;hayır > bank'ı sil                     
   BSF   S_2                        
   CALL   _100us                        
;tus_3_b   ;   C_6   3                     
   BTFSC   C_6   ;tuşa basıldımı_?                     
   CALL   tus_3_bas   ;evet > bank'a işle                     
;tus_3_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_6   ;tuşa basıldımı_?                     
   CALL   tus_3_cek   ;hayır > bank'ı sil                     
   BSF   S_2                        
   CALL   _100us                        
;tus_2_b   ;   C_7   2                     
   BTFSC   C_7   ;tuşa basıldımı_?                     
   CALL   tus_2_bas   ;evet > bank'a işle                     
;tus_2_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_7   ;tuşa basıldımı_?                     
   CALL   tus_2_cek   ;hayır > bank'ı sil                     
   BSF   S_2                        
   CALL   _100us                        
;tus_1_b   ;   C_8   1                     
   BTFSC   C_8   ;tuşa basıldımı_?                     
   CALL   tus_1_bas   ;evet > bank'a işle                     
;tus_1_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_8   ;tuşa basıldımı_?                     
   CALL   tus_1_cek   ;hayır > bank'ı sil                     
   BSF   S_2                        
   CALL   _100us                        
;tus_ESC_b   ;   C_9   ESC                     
   BTFSC   C_9   ;tuşa basıldımı_?                     
   CALL   tus_ESC_bas   ;evet > bank'a işle                     
;tus_ESC_c                              
   BSF   S_2                        
   CALL   _100us                        
   BTFSS   C_9   ;tuşa basıldımı_?                     
   CALL   tus_ESC_cek   ;hayır > bank'ı sil                     
;S_2_test_end         ;                     
   BCF   S_2                        
;----- üçüncü kanal test ----------------;                              
   BSF   S_3                        
   CALL   _100us                        
;tus_U_b   ;   C_2   U                     
   BTFSC   C_2   ;tuşa basıldımı_?                     
   CALL   tus_U_bas   ;evet > bank'a işle                     
;tus_U_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_2   ;tuşa basıldımı_?                     
   CALL   tus_U_cek   ;hayır > bank'ı sil                     
   BSF   S_3                        
   CALL   _100us                        
;tus_I_b   ;   C_4   I                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_I_bas   ;evet > bank'a işle                     
;tus_I_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_I_cek   ;hayır > bank'ı sil                     
   BSF   S_3                        
   CALL   _100us                        
;tus_O_b   ;   C_5   O                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_O_bas   ;evet > bank'a işle                     
;tus_O_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_5   ;tuşa basıldımı_?                     
   CALL   tus_O_cek   ;hayır > bank'ı sil                     
   BSF   S_3                        
   CALL   _100us                        
;tus_P_b   ;   C_6   P                     
   BTFSC   C_6   ;tuşa basıldımı_?                     
   CALL   tus_P_bas   ;evet > bank'a işle                     
;tus_P_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_6   ;tuşa basıldımı_?                     
   CALL   tus_P_cek   ;hayır > bank'ı sil                     
   BSF   S_3                        
   CALL   _100us                        
;tus_Ğ_b   ;   C_7   Ğ                     
   BTFSC   C_7   ;tuşa basıldımı_?                     
   CALL   tus_Ğ_bas   ;evet > bank'a işle                     
;tus_Ğ_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_7   ;tuşa basıldımı_?                     
   CALL   tus_Ğ_cek   ;hayır > bank'ı sil                     
   BSF   S_3                        
   CALL   _100us                        
;tus_Ü_b   ;   C_8   Ü                     
   BTFSC   C_8   ;tuşa basıldımı_?                     
   CALL   tus_Ü_bas   ;evet > bank'a işle                     
;tus_Ü_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_8   ;tuşa basıldımı_?                     
   CALL   tus_Ü_cek   ;hayır > bank'ı sil                     
   BSF   S_3                        
   CALL   _100us                        
;tus_ENTER_b   ;   C_9   ENTER                     
   BTFSC   C_9   ;tuşa basıldımı_?                     
   CALL   tus_ENTER_bas   ;evet > bank'a işle                     
;tus_ENTER_c                              
   BSF   S_3                        
   CALL   _100us                        
   BTFSS   C_9   ;tuşa basıldımı_?                     
   CALL   tus_ENTER_cek   ;hayır > bank'ı sil                     
;S_3_test_end         ;                     
   BCF   S_3                        
;----- dördüncü kanal test ----------------;                              
   BSF   S_4                        
   CALL   _100us                        
;tus_Y_b   ;   C_2   Y                     
   BTFSC   C_2   ;tuşa basıldımı_?                     
   CALL   tus_Y_bas   ;evet > bank'a işle                     
;tus_Y_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_2   ;tuşa basıldımı_?                     
   CALL   tus_Y_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;tus_T_b   ;   C_4   T                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_T_bas   ;evet > bank'a işle                     
;tus_T_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_T_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;tus_R_b   ;   C_5   R                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_R_bas   ;evet > bank'a işle                     
;tus_R_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_5   ;tuşa basıldımı_?                     
   CALL   tus_R_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;tus_E_b   ;   C_6   E                     
   BTFSC   C_6   ;tuşa basıldımı_?                     
   CALL   tus_E_bas   ;evet > bank'a işle                     
;tus_E_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_6   ;tuşa basıldımı_?                     
   CALL   tus_E_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;tus_W_b   ;   C_7   W                     
   BTFSC   C_7   ;tuşa basıldımı_?                     
   CALL   tus_W_bas   ;evet > bank'a işle                     
;tus_W_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_7   ;tuşa basıldımı_?                     
   CALL   tus_W_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;tus_Q_b   ;   C_8   Q                     
   BTFSC   C_8   ;tuşa basıldımı_?                     
   CALL   tus_Q_bas   ;evet > bank'a işle                     
;tus_Q_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_8   ;tuşa basıldımı_?                     
   CALL   tus_Q_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;tus_TAB_b   ;   C_9   TAB                     
   BTFSC   C_9   ;tuşa basıldımı_?                     
   CALL   tus_TAB_bas   ;evet > bank'a işle                     
;tus_TAB_c                              
   BSF   S_4                        
   CALL   _100us                        
   BTFSS   C_9   ;tuşa basıldımı_?                     
   CALL   tus_TAB_cek   ;hayır > bank'ı sil                     
   BSF   S_4                        
   CALL   _100us                        
;S_4_test_end         ;                     
   BCF   S_4                        
   BSF   PCLATH,3                        
   GOTO   basliyom1                        
;***** BUTON TEST BİTTİ ****************************************;                              
;***** KLAVYE KODU YAZ *****************************************;                              
;----- birinci kanal klevye kodu yolla ---------;                              
tus_DEL_bas   ;   DEL   71   ?                  
   BTFSC   TUS_DEL                        
   RETURN                           
   MOVLW   .248   ;? i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BSF   BANK1_SC   ;bank1 dolu                     
   MOVLW   0x71                        
   CALL   bank2_yukle                        
   BSF   TUS_DEL                        
   RETURN                           
tus_DEL_cek                              
   BTFSS   TUS_DEL                        
   RETURN                           
   BCF   PRTY                        
   MOVLW   0xE0                        
   CALL   data_yolla                        
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x71                        
   CALL   data_yolla                        
   BCF   TUS_DEL                        
   CALL   bank_sil                        
   RETURN                           
tus_7_bas   ;   7   3D                     
   BTFSC   TUS_7                        
   RETURN                           
   MOVLW   '7'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x3D                        
   CALL   bank2_yukle                        
   BSF   TUS_7                        
   RETURN                           
tus_7_cek                              
   BTFSS   TUS_7                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x3D                        
   CALL   data_yolla                        
   BCF   TUS_7                        
   CALL   bank_sil                        
   RETURN                           
tus_8_bas   ;   8   3E                     
   BTFSC   TUS_8                        
   RETURN                           
   MOVLW   '8'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x3E                        
   CALL   bank2_yukle                        
   BSF   TUS_8                        
   RETURN                           
tus_8_cek                              
   BTFSS   TUS_8                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x3E                        
   CALL   data_yolla                        
   BCF   TUS_8                        
   CALL   bank_sil                        
   RETURN                           
tus_9_bas   ;   9   46                     
   BTFSC   TUS_9                        
   RETURN                           
   MOVLW   '9'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x46                        
   CALL   bank2_yukle                        
   BSF   TUS_9                        
   RETURN                           
tus_9_cek                              
   BTFSS   TUS_9                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x46                        
   CALL   data_yolla                        
   BCF   TUS_9                        
   CALL   bank_sil                        
   RETURN                           
tus_0_bas   ;   0   45                     
   BTFSC   TUS_0                        
   RETURN                           
   MOVLW   '0'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x45                        
   CALL   bank2_yukle                        
   BSF   TUS_0                        
   RETURN                           
tus_0_cek                              
   BTFSS   TUS_0                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x45                        
   CALL   data_yolla                        
   BCF   TUS_0                        
   CALL   bank_sil                        
   RETURN                           
tus_x_bas   ;   x   4E   <                  
   BTFSC   TUS_x                        
   RETURN                           
   MOVLW   '<'   ;< i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x4E                        
   CALL   bank2_yukle                        
   BSF   TUS_x                        
   RETURN                           
tus_x_cek                              
   BTFSS   TUS_x                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x4E                        
   CALL   data_yolla                        
   BCF   TUS_x                        
   CALL   bank_sil                        
   RETURN                           
tus_EKSI_bas   ;   EKSI   55   >                  
   BTFSC   TUS_EKSI                        
   RETURN                           
   MOVLW   '>'   ;> i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x55                        
   CALL   bank2_yukle                        
   BSF   TUS_EKSI                        
   RETURN                           
tus_EKSI_cek                              
   BTFSS   TUS_EKSI                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x55                        
   CALL   data_yolla                        
   BCF   TUS_EKSI                        
   CALL   bank_sil                        
   RETURN                           
tus_BSPC_bas   ;   BSPC   66   «                  
   BTFSC   TUS_BSPC                        
   RETURN                           
   MOVLW   .127   ;« i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x66                        
   CALL   bank2_yukle                        
   BSF   TUS_BSPC                        
   RETURN                           
tus_BSPC_cek                              
   BTFSS   TUS_BSPC                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x66                        
   CALL   data_yolla                        
   BCF   TUS_BSPC                        
   CALL   bank_sil                        
   RETURN                           
;----- ikinci kanal klevye kodu yolla ---------;                              
tus_6_bas   ;   6   36                     
   BTFSC   TUS_6                        
   RETURN                           
   MOVLW   '6'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x36                        
   CALL   bank2_yukle                        
   BSF   TUS_6                        
   RETURN                           
tus_6_cek                              
   BTFSS   TUS_6                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x36                        
   CALL   data_yolla                        
   BCF   TUS_6                        
   CALL   bank_sil                        
   RETURN                           
tus_5_bas   ;   5   2E                     
   BTFSC   TUS_5                        
   RETURN                           
   MOVLW   '5'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x2E                        
   CALL   bank2_yukle                        
   BSF   TUS_5                        
   RETURN                           
tus_5_cek                              
   BTFSS   TUS_5                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x2E                        
   CALL   data_yolla                        
   BCF   TUS_5                        
   CALL   bank_sil                        
   RETURN                           
tus_4_bas   ;   4   25                     
   BTFSC   TUS_4                        
   RETURN                           
   MOVLW   '4'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x25                        
   CALL   bank2_yukle                        
   BSF   TUS_4                        
   RETURN                           
tus_4_cek                              
   BTFSS   TUS_4                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x25                        
   CALL   data_yolla                        
   BCF   TUS_4                        
   CALL   bank_sil                        
   RETURN                           
tus_3_bas   ;   3   26                     
   BTFSC   TUS_3                        
   RETURN                           
   MOVLW   '3'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x26                        
   CALL   bank2_yukle                        
   BSF   TUS_3                        
   RETURN                           
tus_3_cek                              
   BTFSS   TUS_3                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x26                        
   CALL   data_yolla                        
   BCF   TUS_3                        
   CALL   bank_sil                        
   RETURN                           
tus_2_bas   ;   2   1E                     
   BTFSC   TUS_2                        
   RETURN                           
   MOVLW   '2'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x1E                        
   CALL   bank2_yukle                        
   BSF   TUS_2                        
   RETURN                           
tus_2_cek                              
   BTFSS   TUS_2                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x1E                        
   CALL   data_yolla                        
   BCF   TUS_2                        
   CALL   bank_sil                        
   RETURN                           
tus_1_bas   ;   1   16                     
   BTFSC   TUS_1                        
   RETURN                           
   MOVLW   '1'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x16                        
   CALL   bank2_yukle                        
   BSF   TUS_1                        
   RETURN                           
tus_1_cek                              
   BTFSS   TUS_1                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x16                        
   CALL   data_yolla                        
   BCF   TUS_1                        
   CALL   bank_sil                        
   RETURN                           
tus_ESC_bas   ;   ESC   76   x                  
   BTFSC   TUS_ESC                        
   RETURN                           
   MOVLW   'x'   ;x i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x76                        
   CALL   bank2_yukle                        
   BSF   TUS_ESC                        
   RETURN                           
tus_ESC_cek                              
   BTFSS   TUS_ESC                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x76                        
   CALL   data_yolla                        
   BCF   TUS_ESC                        
   CALL   bank_sil                        
   RETURN                           
;----- üçüncü kanal klevye kodu yolla ---------;                              
tus_U_bas   ;   U   3C                     
   BTFSC   TUS_U                        
   RETURN                           
   MOVLW   'U'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x3C                        
   CALL   bank2_yukle                        
   BSF   TUS_U                        
   RETURN                           
tus_U_cek                              
   BTFSS   TUS_U                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x3C                        
   CALL   data_yolla                        
   BCF   TUS_U                        
   CALL   bank_sil                        
   RETURN                           
tus_I_bas   ;   I   43                     
   BTFSC   TUS_I                        
   RETURN                           
   MOVLW   'I'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x43                        
   CALL   bank2_yukle                        
   BSF   TUS_I                        
   RETURN                           
tus_I_cek                              
   BTFSS   TUS_I                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x43                        
   CALL   data_yolla                        
   BCF   TUS_I                        
   CALL   bank_sil                        
   RETURN                           
tus_O_bas   ;   O   44                     
   BTFSC   TUS_O                        
   RETURN                           
   MOVLW   'O'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x44                        
   CALL   bank2_yukle                        
   BSF   TUS_O                        
   RETURN                           
tus_O_cek                              
   BTFSS   TUS_O                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x44                        
   CALL   data_yolla                        
   BCF   TUS_O                        
   CALL   bank_sil                        
   RETURN                           
tus_P_bas   ;   P   4D                     
   BTFSC   TUS_P                        
   RETURN                           
   MOVLW   'P'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x4D                        
   CALL   bank2_yukle                        
   BSF   TUS_P                        
   RETURN                           
tus_P_cek                              
   BTFSS   TUS_P                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x4D                        
   CALL   data_yolla                        
   BCF   TUS_P                        
   CALL   bank_sil                        
   RETURN                           
tus_Ğ_bas   ;   Ğ   54   -                  
   BTFSC   TUS_Ğ                        
   RETURN                           
   MOVLW   '-'   ;- i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x54                        
   CALL   bank2_yukle                        
   BSF   TUS_Ğ                        
   RETURN                           
tus_Ğ_cek                              
   BTFSS   TUS_Ğ                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x54                        
   CALL   data_yolla                        
   BCF   TUS_Ğ                        
   CALL   bank_sil                        
   RETURN                           
tus_Ü_bas   ;   Ü   5B   =                  
   BTFSC   TUS_Ü                        
   RETURN                           
   MOVLW   '='   ;= i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x5B                        
   CALL   bank2_yukle                        
   BSF   TUS_Ü                        
   RETURN                           
tus_Ü_cek                              
   BTFSS   TUS_Ü                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x5B                        
   CALL   data_yolla                        
   BCF   TUS_Ü                        
   CALL   bank_sil                        
   RETURN                           
tus_ENTER_bas   ;   ENTER   5A   -                  
   BTFSC   TUS_ENTER                        
   RETURN                           
   MOVLW   .167   ;- i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x5A                        
   CALL   bank2_yukle                        
   BSF   TUS_ENTER                        
   RETURN                           
tus_ENTER_cek                              
   BTFSS   TUS_ENTER                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x5A                        
   CALL   data_yolla                        
   BCF   TUS_ENTER                        
   CALL   bank_sil                        
   RETURN                           
;----- dördüncü kanal klevye kodu yolla ---------;                              
tus_Y_bas   ;   Y   35                     
   BTFSC   TUS_Y                        
   RETURN                           
   MOVLW   'Y'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x35                        
   CALL   bank2_yukle                        
   BSF   TUS_Y                        
   RETURN                           
tus_Y_cek                              
   BTFSS   TUS_Y                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x35                        
   CALL   data_yolla                        
   BCF   TUS_Y                        
   CALL   bank_sil                        
   RETURN                           
tus_T_bas   ;   T   2C                     
   BTFSC   TUS_T                        
   RETURN                           
   MOVLW   'T'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x2C                        
   CALL   bank2_yukle                        
   BSF   TUS_T                        
   RETURN                           
tus_T_cek                              
   BTFSS   TUS_T                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x2C                        
   CALL   data_yolla                        
   BCF   TUS_T                        
   CALL   bank_sil                        
   RETURN                           
tus_R_bas   ;   R   2D                     
   BTFSC   TUS_R                        
   RETURN                           
   MOVLW   'R'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x2D                        
   CALL   bank2_yukle                        
   BSF   TUS_R                        
   RETURN                           
tus_R_cek                              
   BTFSS   TUS_R                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x2D                        
   CALL   data_yolla                        
   BCF   TUS_R                        
   CALL   bank_sil                        
   RETURN                           
tus_E_bas   ;   E   24                     
   BTFSC   TUS_E                        
   RETURN                           
   MOVLW   'E'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x24                        
   CALL   bank2_yukle                        
   BSF   TUS_E                        
   RETURN                           
tus_E_cek                              
   BTFSS   TUS_E                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x24                        
   CALL   data_yolla                        
   BCF   TUS_E                        
   CALL   bank_sil                        
   RETURN                           
tus_W_bas   ;   W   1D                     
   BTFSC   TUS_W                        
   RETURN                           
   MOVLW   'W'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BSF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x1D                        
   CALL   bank2_yukle                        
   BSF   TUS_W                        
   RETURN                           
tus_W_cek                              
   BTFSS   TUS_W                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   MOVLW   0x1D                        
   CALL   data_yolla                        
   BCF   TUS_W                        
   CALL   bank_sil                        
   RETURN                           
tus_Q_bas   ;   Q   15                     
   BTFSC   TUS_Q                        
   RETURN                           
   MOVLW   'Q'   ; i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x15                        
   CALL   bank2_yukle                        
   BSF   TUS_Q                        
   RETURN                           
tus_Q_cek                              
   BTFSS   TUS_Q                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x15                        
   CALL   data_yolla                        
   BCF   TUS_Q                        
   CALL   bank_sil                        
   RETURN                           
tus_TAB_bas   ;   TAB   0D   ¤                  
   BTFSC   TUS_TAB                        
   RETURN                           
   MOVLW   .198   ;¤ i lcd ye yazdır                     
   CALL   satır21   ;                     
   BCF   BANK2_PRTY                        
   BCF   BANK1_SC   ;bank1 boş                     
   MOVLW   0x0D                        
   CALL   bank2_yukle                        
   BSF   TUS_TAB                        
   RETURN                           
tus_TAB_cek                              
   BTFSS   TUS_TAB                        
   RETURN                           
   BSF   PRTY                        
   MOVLW   0xF0                        
   CALL   data_yolla                        
   BCF   PRTY                        
   MOVLW   0x0D                        
   CALL   data_yolla                        
   BCF   TUS_TAB                        
   CALL   bank_sil                        
   RETURN                           
                              
;***** DATA YOLLA ************************************************;                              
data_yolla                              
   MOVWF   SON_YOLLA                        
   MOVWF   DATA_01                        
   BTFSS   PRTY                        
   BCF   S_PRTY                        
   BTFSC   PRTY                        
   BSF   S_PRTY                        
   BCF   CLOCK                        
   BCF   DATA                        
data_yolla1                              
   CALL   _2us                        
   BTFSS   CLOCK   ;CLOCK set bekle                     
   GOTO   data_yolla1                        
   CALL   _125us                        
   CALL   _125us                        
   CALL   data_cikis   ;DATA çıkış yap (0)                     
;----- DATA,   START                           
   CALL   _40us                        
   CALL   clock_cikis   ;1. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   0    yolla                         
   BTFSC   DATA_01,0                        
   CALL   data_giris                        
   BTFSS   DATA_01,0                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;2. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   1    yolla                         
   BTFSC   DATA_01,1                        
   CALL   data_giris                        
   BTFSS   DATA_01,1                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;3. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   2    yolla                         
   BTFSC   DATA_01,2                        
   CALL   data_giris                        
   BTFSS   DATA_01,2                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;4. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   3    yolla                         
   BTFSC   DATA_01,3                        
   CALL   data_giris                        
   BTFSS   DATA_01,3                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;5. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   4    yolla                         
   BTFSC   DATA_01,4                        
   CALL   data_giris                        
   BTFSS   DATA_01,4                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;6. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   5    yolla                         
   BTFSC   DATA_01,5                        
   CALL   data_giris                        
   BTFSS   DATA_01,5                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;7. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   6    yolla                         
   BTFSC   DATA_01,6                        
   CALL   data_giris                        
   BTFSS   DATA_01,6                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;8. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   7    yolla                         
   BTFSC   DATA_01,7                        
   CALL   data_giris                        
   BTFSS   DATA_01,7                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;9. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   8    yolla                         
   BTFSC   PRTY                        
   CALL   data_giris                        
   BTFSS   PRTY                        
   CALL   data_cikis                        
   CALL   _40us                        
   CALL   clock_cikis   ;A. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
;----- DATA,   9    yolla                         
   CALL   data_giris   ;DATA giris yap (1)                     
   CALL   _40us                        
   CALL   clock_cikis   ;B. CLOCK düşme                     
   CALL   _40us                        
   CALL   clock_giris   ;CLOCK giriş yap (1)                     
   CALL   _40us                        
   RETURN                           
data_giris                              
   BSF   STATUS,RP0                        
   BSF   DATA_I   ;DATA giris yap (1)                     
   BCF   STATUS,RP0                        
   RETURN                           
data_cikis                              
   BSF   STATUS,RP0                        
   BCF   DATA_I   ;DATA çıkış yap (0)                     
   BCF   STATUS,RP0                        
   BCF   DATA                        
   RETURN                           
clock_giris                              
   BSF   STATUS,RP0                        
   BSF   CLOCK_I   ;CLOCK giriş yap (1)                     
   BCF   STATUS,RP0                        
   RETURN                           
clock_cikis                              
   BSF   STATUS,RP0   ;1. CLOCK düşme                     
   BCF   CLOCK_I   ;CLOCK çıkış yap (0)                     
   BCF   STATUS,RP0                        
   BCF   CLOCK                        
   RETURN                           
;===== 2. SATIRI YAZ ==============================================================;                              
satır21                              
   MOVWF   SON_K                        
   INCF   LCD_SATIR,F                        
   BTFSC   STATUS,z                        
   GOTO   lcd_Yukle                        
   CALL   Karakter_Yaz                        
   RETURN                           
lcd_Yukle                              
   MOVLW   .240                        
   MOVWF   LCD_SATIR                        
   MOVLW   b'11000000'                        
   CALL   Komut_Yaz                        
   MOVLW    ' '      ;1                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;2                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;3                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;4                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;5                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;6                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;7                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;8                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;9                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;10                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;11                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;12                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;13                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;14                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;15                  
   CALL   Karakter_Yaz                        
   MOVLW    ' '      ;16                  
   CALL   Karakter_Yaz                        
   MOVLW   b'11000000'                        
   CALL   Komut_Yaz                        
   MOVF   SON_K,W                        
   CALL   Karakter_Yaz                        
   RETURN                           
;==================================================================================;                              
;===== LCD'ye karakter verisi yazma rutini ========================================;                              
;===== "W"yazmacındaki karakter bilgisi LCD'ye gönderilmektedir. ==================;                              
;==================================================================================;                              
Karakter_Yaz                              
   MOVWF   PORTB                        
   BCF   LCD_RW                        
   BSF   LCD_RS                        
   CALL   Yukle                        
   RETURN                           
;------------------------------------------------;                              
Komut_Yaz                              
   MOVWF   PORTB                        
   BCF   LCD_RW                        
   BCF   LCD_RS                        
   CALL   Yukle                        
   RETURN                           
;------------------------------------------------;                              
Yukle                              
   BSF   LCD_E                        
   NOP                           
   BCF   LCD_E                        
   CALL   _125us                        
   CLRF   PORTB                        
   RETURN                           
;------------------------------------------------;                              
LCDtemizle                              
   MOVLW   0x01                        
   CALL   Komut_Yaz                        
   CALL   _1ms      ;bkz.Tablo-3                  
   RETURN                           
;------------------------------------------------;                              
ImlecBasa                              
   MOVLW   0x02                        
   CALL   Komut_Yaz                        
   CALL   _1ms      ;bkz.Tablo-3                  
   RETURN                           
;------------------------------------------------;                              
ADRES_Yaz                              
   IORLW   0x80                        
   MOVWF   PORTB                        
   BCF   LCD_RW                        
   BCF   LCD_RS                        
   CALL   Yukle                        
   RETURN                           
;------------------------------------------------;                              
LCDbas                              
   CALL   _25ms                        
   MOVLW   0x30                        
   CALL   Komut_Yaz                        
   CALL   _1ms                        
   MOVLW   0x30                        
   CALL   Komut_Yaz                        
   CALL   _1ms                        
   MOVLW   0x30                        
   CALL   Komut_Yaz                        
   CALL   _1ms                        
   RETURN                           
;===============================================;                              
;===== 1US BEKLE ==============================;                              
_2us                              
   NOP                           
   NOP                           
   NOP                           
   NOP                           
   NOP                           
   NOP                           
   RETURN                           
;===== 10US BEKLE ==============================;                              
_10us                              
   MOVLW   .16                        
   MOVWF   SAY1                        
Gec1                              
   DECFSZ   SAY1,F                        
   GOTO   Gec1                        
   RETURN                           
;===== 40US BEKLE ==============================;                              
_40us                              
   MOVLW   .66                        
   MOVWF   SAY1                        
   GOTO   Gec1                        
;===== 125US BEKLE =============================;                              
_125us                              
   MOVLW   .210                        
   MOVWF   SAY1                        
   GOTO   Gec1                        
;===== 100US BEKLE =============================;                              
_100us                              
   MOVLW   .10                        
   MOVWF   SAY2                        
gectik                              
   BTFSC   CLOCK                        
   GOTO   gectik_1                        
   BTFSS   DATA                        
   CALL   data_gel                        
gectik_1                              
   CALL   _10us                        
   DECFSZ   SAY2,F                        
   GOTO   gectik                        
   RETURN                           
;===== 500US BEKLE =============================;                              
_500us                              
   MOVLW   .4                        
   MOVWF   SAY2                        
Gec2                              
   clrwdt                           
   CALL   _125us                        
   DECFSZ   SAY2,F                        
   GOTO   Gec2                        
   RETURN                           
;===== 1,25 MS BEKLE ===========================;                              
_1ms                              
   MOVLW   .10                        
   MOVWF   SAY2                        
   GOTO   Gec2                        
;===== 25,074 MS BEKLE =========================;                              
_25ms                              
   MOVLW   .199                        
   MOVWF   SAY2                        
   GOTO   Gec2                        
;===== 30ms BEKLE =============================;                              
_15ms                              
   MOVLW   .150                        
   MOVWF   SAY3                        
Gec3                              
   clrwdt                           
   CALL   _100us                        
   DECFSZ   SAY3,F                        
   GOTO   Gec3                        
   RETURN                           
;===== 30ms BEKLE =============================;                              
_30ms                              
   MOVLW   .2                        
   MOVWF   SAY4                        
Gec4                              
   clrwdt                           
   CALL   _15ms                        
   DECFSZ   SAY4,F                        
   GOTO   Gec4                        
   RETURN                           
;*****************************************************************************************;                              
;******* BİRİNCİ BÖLÜM SONU **************************************************************;                              
;*****************************************************************************************;                              
   ORG   0x0800      ;                  
basliyom1                              
;----- beşinci kanal test ---------------;                              
   BSF   S_5                        
   CALL   __100us                        
;tus_CTRL_b   ;   C_1   CTRL                     
   BTFSC   C_1   ;tuşa basıldımı_?                     
   CALL   tus_CTRL_bas   ;evet > bank'a işle                     
;tus_CTRL_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_1   ;tuşa basıldımı_?                     
   CALL   tus_CTRL_cek   ;hayır > bank'ı sil                     
   BSF   S_5                        
   CALL   __100us                        
;tus_J_b   ;   C_3   J                     
   BTFSC   C_3   ;tuşa basıldımı_?                     
   CALL   tus_J_bas   ;evet > bank'a işle                     
;tus_J_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_3   ;tuşa basıldımı_?                     
   CALL   tus_J_cek   ;hayır > bank'ı sil                     
   BSF   S_5                        
   CALL   __100us                        
;tus_K_b   ;   C_4   K                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_K_bas   ;evet > bank'a işle                     
;tus_K_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_K_cek   ;hayır > bank'ı sil                     
   BSF   S_5                        
   CALL   __100us                        
;tus_L_b   ;   C_5   L                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_L_bas   ;evet > bank'a işle                     
;tus_L_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_5   ;tuşa basıldımı_?                     
   CALL   tus_L_cek   ;hayır > bank'ı sil                     
   BSF   S_5                        
   CALL   __100us                        
;tus_Ş_b   ;   C_6   Ş                     
   BTFSC   C_6   ;tuşa basıldımı_?                     
   CALL   tus_Ş_bas   ;evet > bank'a işle                     
;tus_Ş_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_6   ;tuşa basıldımı_?                     
   CALL   tus_Ş_cek   ;hayır > bank'ı sil                     
   BSF   S_5                        
   CALL   __100us                        
;tus_İ_b   ;   C_7   İ                     
   BTFSC   C_7   ;tuşa basıldımı_?                     
   CALL   tus_İ_bas   ;evet > bank'a işle                     
;tus_İ_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_7   ;tuşa basıldımı_?                     
   CALL   tus_İ_cek   ;hayır > bank'ı sil                     
   BSF   S_5                        
   CALL   __100us                        
;tus_NV_b   ;   C_8   NV                     
   BTFSC   C_8   ;tuşa basıldımı_?                     
   CALL   tus_NV_bas   ;evet > bank'a işle                     
;tus_NV_c                              
   BSF   S_5                        
   CALL   __100us                        
   BTFSS   C_8   ;tuşa basıldımı_?                     
   CALL   tus_NV_cek   ;hayır > bank'ı sil                     
;S_5_test_end         ;                     
   BCF   S_5                        
;----- altıncı kanal test ---------------;                              
   BSF   S_6                        
   CALL   __100us                        
;tus_H_b   ;   C_3   H                     
   BTFSC   C_3   ;tuşa basıldımı_?                     
   CALL   tus_H_bas   ;evet > bank'a işle                     
;tus_H_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_3   ;tuşa basıldımı_?                     
   CALL   tus_H_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;tus_G_b   ;   C_4   G                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_G_bas   ;evet > bank'a işle                     
;tus_G_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_G_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;tus_F_b   ;   C_5   F                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_F_bas   ;evet > bank'a işle                     
;tus_F_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_5   ;tuşa basıldımı_?                     
   CALL   tus_F_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;tus_D_b   ;   C_6   D                     
   BTFSC   C_6   ;tuşa basıldımı_?                     
   CALL   tus_D_bas   ;evet > bank'a işle                     
;tus_D_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_6   ;tuşa basıldımı_?                     
   CALL   tus_D_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;tus_S_b   ;   C_7   S                     
   BTFSC   C_7   ;tuşa basıldımı_?                     
   CALL   tus_S_bas   ;evet > bank'a işle                     
;tus_S_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_7   ;tuşa basıldımı_?                     
   CALL   tus_S_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;tus_A_b   ;   C_8   A                     
   BTFSC   C_8   ;tuşa basıldımı_?                     
   CALL   tus_A_bas   ;evet > bank'a işle                     
;tus_A_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_8   ;tuşa basıldımı_?                     
   CALL   tus_A_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;tus_CAPS_b   ;   C_9   CAPS                     
   BTFSC   C_9   ;tuşa basıldımı_?                     
   CALL   tus_CAPS_bas   ;evet > bank'a işle                     
;tus_CAPS_c                              
   BSF   S_6                        
   CALL   __100us                        
   BTFSS   C_9   ;tuşa basıldımı_?                     
   CALL   tus_CAPS_cek   ;hayır > bank'ı sil                     
   BSF   S_6                        
   CALL   __100us                        
;S_6_test_end         ;                     
   BCF   S_6                        
;----- yedinci kanal test ---------------;                              
   BSF   S_7                        
   CALL   __100us                        
;tus_N_b   ;   C_2   N                     
   BTFSC   C_2   ;tuşa basıldımı_?                     
   CALL   tus_N_bas   ;evet > bank'a işle                     
;tus_N_c                              
   BSF   S_7                        
   CALL   __100us                        
   BTFSS   C_2   ;tuşa basıldımı_?                     
   CALL   tus_N_cek   ;hayır > bank'ı sil                     
   BSF   S_7                        
   CALL   __100us                        
;tus_SPC_b   ;   C_3   SPC                     
   BTFSC   C_3   ;tuşa basıldımı_?                     
   CALL   tus_SPC_bas   ;evet > bank'a işle                     
;tus_SPC_c                              
   BSF   S_7                        
   CALL   __100us                        
   BTFSS   C_3   ;tuşa basıldımı_?                     
   CALL   tus_SPC_cek   ;hayır > bank'ı sil                     
   BSF   S_7                        
   CALL   __100us                        
;tus_M_b   ;   C_4   M                     
   BTFSC   C_4   ;tuşa basıldımı_?                     
   CALL   tus_M_bas   ;evet > bank'a işle                     
;tus_M_c                              
   BSF   S_7                        
   CALL   __100us                        
   BTFSS   C_4   ;tuşa basıldımı_?                     
   CALL   tus_M_cek   ;hayır > bank'ı sil                     
   BSF   S_7                        
   CALL   __100us                        
;tus_Ö_b   ;   C_5   Ö                     
   BTFSC   C_5   ;tuşa basıldımı_?                     
   CALL   tus_Ö_bas   ;evet > bank'a işle                     
;tus_Ö_c                              
   BSF   S_7         
hayal etmeden basaramazsınız www.atariturkiye.com

Kabil ATICI

Tam olarak değil. 11 bit olarak çalışması gerekiyor.
http://1.bp.blogspot.com/_mKk1EG_cc4c/St6_R0N9VEI/AAAAAAAAAjM/YL5wiW6VGys/s320/M8_klavye_dalga.jpg

ilk bit lojik 0 ile geliyor, sonra veri geliyor, elde biti ve sonlandırma biti şeklinde bir veri gelmesi gerekiyor. SPI'den bu şekilde okuyabileceksen olabilir.

Yoksa kendi kütüphaneni oluşturma gerekecek.
ambar7

kudretuzuner

Merhaba,
ASCII kodlarının linkteki binary değerlerini görebilirsiniz.PİC'in pinlerinden girilecek her  binary şeklindeki kodları PIC'e atılan uygun bir yazılım ile PC'ye aktarmak ve ekranda görmek mümkündür.Bir süreden beri çalışmakta olduğum çalışmamda 18F4550'nin sekiz pinine girilen 00-FF arası değerleri PC'de görüyorum.Tabii yazılım gereği Basınç sensöründan gelen bu sekiz bit değeri PC yorumlayıp bana hava basıncı şeklinde göstermektedir(Halen kalibrasyon ile uğraşmaktayım.)
http://www.asciitable.com/
https://www.dropbox.com/s/599b4510xf8xpil/BASNC_1.rar?dl=0
Amatör