Hi all
I am trying to use a PIC16F913 to read a keypad, the problem is i can not get PortC.2 to go to a high state ,can anyone please point me in a direction, Pin 0 and 1 works fine
Code:INCLUDE "MODEDEFS.BAS" Asm ERRORLEVEL -306 Endasm DEFINE OSC 20 ' Define crystal as 20Mhz LCDCON = 0 TRISC = %11110000 'Set PORTC for keypad TRISB = %00000000 'Sert PORTb as outputs and for use with the ICD2 VAR1 VAR BYTE VALUE VAR BYTE PortB.0 = 0 keyPad: portc=1 if portc.4=1 then for VAR1=0 to 10 if portc.4=1 then VAR1 = 0 next VALUE=1 goto getPin endif if portc.5=1 then for VAR1=0 to 10 if portc.5=1 then VAR1 = 0 next VALUE=4 goto getPin endif if portc.6=1 then for VAR1=0 to 10 if portc.6=1 then VAR1 = 0 next VALUE=7 goto getPin endif if portc.7=1 then for VAR1=0 to 10 if portc.7=1 then VAR1 = 0 next VALUE=10 '* button goto getPin endif portc=2 if portc.4=1 then for VAR1=0 to 10 if portc.4=1 then VAR1 = 0 next VALUE=2 goto getPin endif if portc.5=1 then for VAR1=0 to 10 if portc.5=1 then VAR1 = 0 next VALUE=5 goto getPin endif if portc.6=1 then for VAR1=0 to 10 if portc.6=1 then VAR1 = 0 next VALUE=8 goto getPin endif if portc.7=1 then for VAR1=0 to 10 if portc.7=1 then VAR1 = 0 next VALUE=0 goto getPin endif portc=4 if portc.4=1 then for VAR1=0 to 10 if portc.4=1 then VAR1 = 0 next VALUE=3 goto getPin endif if portc.5=1 then for VAR1=0 to 10 if portc.5=1 then VAR1 = 0 next VALUE=6 goto getPin endif if portc.6=1 then for VAR1=0 to 10 if portc.6=1 then VAR1 = 0 next VALUE=9 goto getPin endif if portc.7=1 then for VAR1=0 to 10 if portc.7=1 then VAR1 = 0 next VALUE=11 '# button goto getPin endif goto keypad getpin: PortB.0 = 1 return END




Bookmarks