ibra
- 4th August 2007, 13:29
i am beginner in programming with picbasic...
iam trying to compile this code, for kebad with pic16f877a device...
--------------------------------------------------------------------------
OLDRESULT VAR BYTE
FLAG VAR BIT
KEYPRESS VAR BYTE
RESULT VAR BYTE
TRISB=%11110000
PORTD=%11111111
RESULT =$FF
OLDRESULT=$FF
MAIN:
PORTD=OLDRESULT
GOSUB SCANKEYS
IF RESULT = OLDRESULT THEN MAIN
IF RESULT = 12 THEN MAIN
GOTO MAIN
SCANKEYS:
KEYPRESS=0
PORTB=%1000
GOSUB ROW
IF FLAG=1 THEN FIRSTCOLUMN
PORTB=%0100
GOSUB ROW
IF FLAG=1 THEN SECONDCOLUMN
PORTB=%0010
GOSUB ROW
IF FLAG=1 THEN THIRDCOLUMN
RESULT = 12
RETURN
FIRSTCOLUMN:
LOOKUP KEYPRESS,[1,4,7,10],RESULT
OLDRESULT = RESULT
RETURN
SECONDCOLUMN:
LOOKUP KEYPRESS,[2,5,8,0], RESULT
OLDRESULT = RESULT
RETURN
THIRDCOLUMN:
LOOKUP KEYPRESS,[3,6,9,11],RESULT
OLDRESULT=RESULT
RETURN
ROW:
FLAG=1
IF PORTB.4=1 THEN EXITROW
KEYPRESS = KEYPRESS+1
IF PORTB.5=1 THEN EXITROW
KEYPRESS=KEYPRESS+1
IF PORTB.6=1 THEN EXITROW
KEYPRESS=KEYPRESS+1
IF PORTB.7=1 THEN EXITROW
KEYPRESS=KEYPRESS+1
FLAG=0
EXITROW:
RETURN
END
--------------------------------------------------------------------------
but alot of errors appeared like this one:
error[105]d:\microc~1\keybad\keybad~1.asm 5: cannot open file (include file "c:\PBP245\16f877.inc"not found)
what is the problem??
iam trying to compile this code, for kebad with pic16f877a device...
--------------------------------------------------------------------------
OLDRESULT VAR BYTE
FLAG VAR BIT
KEYPRESS VAR BYTE
RESULT VAR BYTE
TRISB=%11110000
PORTD=%11111111
RESULT =$FF
OLDRESULT=$FF
MAIN:
PORTD=OLDRESULT
GOSUB SCANKEYS
IF RESULT = OLDRESULT THEN MAIN
IF RESULT = 12 THEN MAIN
GOTO MAIN
SCANKEYS:
KEYPRESS=0
PORTB=%1000
GOSUB ROW
IF FLAG=1 THEN FIRSTCOLUMN
PORTB=%0100
GOSUB ROW
IF FLAG=1 THEN SECONDCOLUMN
PORTB=%0010
GOSUB ROW
IF FLAG=1 THEN THIRDCOLUMN
RESULT = 12
RETURN
FIRSTCOLUMN:
LOOKUP KEYPRESS,[1,4,7,10],RESULT
OLDRESULT = RESULT
RETURN
SECONDCOLUMN:
LOOKUP KEYPRESS,[2,5,8,0], RESULT
OLDRESULT = RESULT
RETURN
THIRDCOLUMN:
LOOKUP KEYPRESS,[3,6,9,11],RESULT
OLDRESULT=RESULT
RETURN
ROW:
FLAG=1
IF PORTB.4=1 THEN EXITROW
KEYPRESS = KEYPRESS+1
IF PORTB.5=1 THEN EXITROW
KEYPRESS=KEYPRESS+1
IF PORTB.6=1 THEN EXITROW
KEYPRESS=KEYPRESS+1
IF PORTB.7=1 THEN EXITROW
KEYPRESS=KEYPRESS+1
FLAG=0
EXITROW:
RETURN
END
--------------------------------------------------------------------------
but alot of errors appeared like this one:
error[105]d:\microc~1\keybad\keybad~1.asm 5: cannot open file (include file "c:\PBP245\16f877.inc"not found)
what is the problem??