Thanks you Tony My problem is to send the scan codes obtained with a routine similar to the port of keyboard of a PC You have some routine ? Jose Antonio Gracia I have seen your second message. All we were mistaken sometimes Tony Nixon escribis: > Jose Antonio Gracia Negre wrote: > > > > Hello > > I want to connect pic 16f84 to a PC like keyboard. > > A long time ago they asked for something similar. > > Somebody can send a direction or schemes and program to me to make it. ? > > > > Anticipated thanks > > Jose Antonio Gracia > > Here is a routine to read a 3 X 4 keypad > PortB bits <6:3> = outputs connected to the 4 rows > PortB bits <2:0> = inputs connected to the 3 columns with pull DOWN > resistors. > Set TMR0 for an acceptable delay loop. > > Row and Col registers can be defined as a single RAM register if you > like. > > keyloop btfss intcon,t0if ; test for TMR0 overfolw > goto keyloop > > bcf intcon,t0if ; clear overflow flag > ; > ; SCAN KEYBOARD > ; > movlw 0xFF > movwf keyres ; final keypress result > movlw b'00001000' > movwf row ; bit corresponding to row being scanned > ; > scnrow movf row,w ; activate keyboard row > movwf portb > goto wait1 ; small delay > wait1 goto wait2 > wait2 movf portb,w ; scan column > andlw b'00000111' ; mask off row data > btfss status,z > goto coldcy ; column is active, decypher which > ; > rlf row ; set for next row > movlw .3 > addwf keyres ; add for next 3 buttons > btfss row,7 ; test for last row to scan > goto scnrow > ; > clrf portb > bcf flag1,keysrv ; clear key serviced flag > goto keyloop > ; > coldcy movwf col ; store column result > btfsc flag1,keysrv ; has key been serviced already > goto keyloop ; yes, ignore keypress > ; > rolcol incf keyres > rrf col ; decypher which column > btfss status,carry > goto rolcol > ; > bsf flag1,keysrv ; flag key serviced > movf keyres,w ; key function routines > addwf pcl > goto key1 > goto key2 > goto key3 > goto key4 > goto key5 > goto key6 > goto key7 > goto key8 > goto key9 > goto keystar > goto key0 > goto keyhatch > > -- > Best regards > > Tony > > http://www.picnpoke.com > Email sales@picnpoke.com Content-Type: text/x-vcard; charset=us-ascii; name="vcard.vcf" Content-Transfer-Encoding: 7bit Content-Description: Tarjeta de Jose Antonio GRACIA NEGRE Content-Disposition: attachment; filename="vcard.vcf" Attachment converted: wonderland:vcard.vcf 2 (TEXT/CSOm) (0000BC26)