Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

USB Keyboard

Başlatan baran123, 30 Haziran 2015, 22:27:19

baran123

Uzun zamandır aklımdaydı ama klavye olarak tanıtma işlemini yapamamıştım.
Açık kaynak ( XC8 )
Touch için yapılmış ama düzenlenebilir.

http://www.microchip.com/pagehandler/en_us/promo/usbkeypad/

magic_gun

#1
uzun zaman once yapılmıs bir hobi projemiz umarım birilerine yararlı olur

http://www.atariturkiye.com/tr/modifiyeler/atari-800xl-klavye-pc-donusumu.html

;======= Amiga A600 Klevye ============ 01/12/2009 = 12:21 =====;				
	LIST	P=16f874, F=INHX8M		
	include	 "P16F874.inc"		
;========================================;				
;======= DEFINE CONFİG ==================;				
;----- 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
;----- TUŞ DEFINE MÜHÜR ------------------;				
#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

hayal etmeden basaramazsınız www.atariturkiye.com

HeCToR

@magic_gun Hocam Yine Coşturmuşsunuz kodları maşallah  :D
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir