DEVICE=16F84A CONFIG XT_OSC , WDT_OFF , PWRTE_OFF XTAL = 4 DECLARE LCD_TYPE 0 DECLARE LCD_DTPIN PORTB.4 DECLARE LCD_ENPIN PORTB.3 DECLARE LCD_RSPIN PORTB.2 DECLARE LCD_INTERFACE 4 DECLARE LCD_LINES 2 '-------------------------------------------------------------------------- Dim NOTA as BYTE Dim MUZIK[16] as BYTE Dim J as BYTE Dim SES as BYTE Dim SON as BYTE Dim T as BYTE '-------------------------------------------------------------------------- PRINT $FE , 128 'EKRANIN EN BASINA GEL PRINT $FE , 1 : DELAYMS 30 'EKRANI SIL PRINT $FE, $0F 'CURSOR ALTINI CIZ NOTA=0 J=0 SES=0 SON=0 '-------------------------------------------------------------------------- TRISA=%11111111 'set PORTA input TRISB=%00000000 'Set PORTB output PORTA.0=1 PORTA.1=1 PORTA.2=1 PORTA.3=1 '-------------------------------------------------------------------------- MAIN: IF NOTA=7 THEN NOTA=0 DELAYMS 100 IF PORTA.0=0 THEN GOTO NDEGIS DELAYMS 200 ' Delay for .2 seconds IF PORTA.1=0 THEN GOTO KAYIT DELAYMS 200 IF PORTA.2=0 THEN GOTO SIL DELAYMS 200 IF PORTA.3=0 THEN GOTO BASLA GOTO MAIN '-------------------------------------------------------------------------- NDEGIS: NOTA=NOTA+1 IF NOTA=1 THEN PRINT "c" DELAYMS 100 IF NOTA=2 THEN PRINT "d" DELAYMS 100 IF NOTA=3 THEN PRINT "e" DELAYMS 100 IF NOTA=4 THEN PRINT "f" DELAYMS 100 IF NOTA=5 THEN PRINT "g" DELAYMS 100 IF NOTA=6 THEN PRINT "a" DELAYMS 100 IF NOTA=7 THEN PRINT "b" DELAYMS 100 PRINT $FE, $10 ' cursoru bir sola kaydir. GOTO MAIN '-------------------------------------------------------------------------- KAYIT: PRINT $FE, $14 ' cursoru bir saga kaydir. MUZIK[J]=NOTA J=J+1 SON=J IF J=15 THEN J=0 GOTO MAIN '-------------------------------------------------------------------------- SIL: PRINT $FE, 1 'Clear display J=J-1 MUZIK[J]=0 SON=0 IF J=0 THEN GOTO MAIN GOTO SIL '-------------------------------------------------------------------------- BASLA: J=0 goto CALDIR CALDIR: SES=MUZIK[J] IF SES=1 THEN GOSUB SESDO IF SES=2 THEN GOSUB SESRE IF SES=3 THEN GOSUB SESMI IF SES=4 THEN GOSUB SESFA IF SES=5 THEN GOSUB SESSO IF SES=6 THEN GOSUB SESLA IF SES=7 THEN GOSUB SESSI J=J+1 IF J