Files
SyncHome/trunk/workspace/gcb/keypad.gcb
2023-03-09 12:51:54 +00:00

54 lines
1.1 KiB
Plaintext

' ########### start ###########
' pic:PIC16F886
' ########### end ###########
'Keypad.gcb
'This program reads a keypad and sends the key pressed to the PICkit 2 UART Tool
'Rows are connected to PORTB pins D11-D8
'Columns are connected to PORTC pins D7-D4
'Column pins must be pulled up to 5v through 10k Resistors.
;Chip Settings
#chip 16F886,16
#include <chipino.h>
'Serial settings
#define SerInPort PORTB.6
#define SerOutPort PORTB.7
#define SendAHigh Set SerOutPort off
#define SendALow Set SerOutPort on
#define RecAHigh SerInPort off
#define RecALow SerInPort on
'Set pin directions
Dir SerOutPort Out
Dir SerInPort In
;Defines (Constants)
#define KEYPAD_ROW_1 D11
#define KEYPAD_ROW_2 D10
#define KEYPAD_ROW_3 D9
#define KEYPAD_ROW_4 D8
#define KEYPAD_COL_1 D7
#define KEYPAD_COL_2 D6
#define KEYPAD_COL_3 D5
#define KEYPAD_COL_4 D4
'Main loop
InitSer 1, r9600, 1+waitforstart, 8, 1, none, invert
Do
'Get key
Temp = KeypadData
'If a key is pressed, then display it
If Temp <> KEY_NONE Then
' CLS
' Print Temp
SerSend 1, Temp
Wait 100 ms
End If
Loop