MIKROE-86 mikroElektronika, MIKROE-86 Datasheet - Page 4

no-image

MIKROE-86

Manufacturer Part Number
MIKROE-86
Description
Daughter Cards & OEM Boards KEYPAD 4x4 ADAPTER BOARD
Manufacturer
mikroElektronika
Datasheet

Specifications of MIKROE-86

Rohs
yes
Product
Keypad 4X4 Additional Boards
Description/function
Keypad 4X4 is used for loading numerics into the microcontrollers
Interface Type
IDC10
Operating Supply Voltage
3.3 V, 5 V
For Use With
Development Boards
MikroElektronika
Example 2: Program written in mikroBasic PRO for PIC
program Keypad_Test
dim kp, cnt, oldstate as byte
‘ Keypad module connections
dim keypadPort as byte at PORTD
‘ End Keypad module connections
‘ Lcd module connections
dim LCD_RS as sbit at RB4_bit
‘ End Lcd module connections
main:
ANSEL = 0
ANSELH = 0
oldstate = 0
cnt = 0
Keypad_Init()
Lcd_Init()
Lcd_Cmd(_LCD_CLEAR)
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Out(1, 1, “Key :”)
Lcd_Out(2, 1, “Times:”)
while TRUE
txt as char[7]
LCD_EN as sbit at RB5_bit
LCD_D4 as sbit at RB0_bit
LCD_D5 as sbit at RB1_bit
LCD_D6 as sbit at RB2_bit
LCD_D7 as sbit at RB3_bit
LCD_RS_Direction as sbit at TRISB4_bit
LCD_EN_Direction as sbit at TRISB5_bit
LCD_D4_Direction as sbit at TRISB0_bit
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D6_Direction as sbit at TRISB2_bit
LCD_D7_Direction as sbit at TRISB3_bit
kp = 0
‘ Wait for key to be pressed and released
while ( kp = 0 )
wend
‘ Prepare value for output, transform key to it”s ASCII value
select case kp
kp = Keypad_Key_Click()
‘case 10: kp = 42 ‘ “*”
‘case 11: kp = 48 ‘ “0”
‘case 12: kp = 35 ‘ “#”
‘default: kp += 48
‘ Reset counter
‘ Initialize Keypad
‘ Configure AN pins as digital I/O
‘ Initialize LCD
‘ Clear display
‘ Cursor off
‘ Write message text on LCD
‘ Reset key code variable
‘ Store key code in kp variable
‘ Uncomment this block for keypad4x3
end.
wend
case 1
case 2
case 3
case 4
case 5
case 6
case 7
case 8
case 9
case 10
case 11
case 12
case 13
case 14
case 15
case 16
end select
if (kp <> oldstate) then
else
end if
Lcd_Chr(1, 10, kp)
if (cnt = 255) then
end if
WordToStr(cnt, txt)
Lcd_Out(2, 10, txt)
kp = 49 ‘ 1
kp = 50 ‘ 2
kp = 51 ‘ 3
kp = 65 ‘ A
kp = 52 ‘ 4
kp = 53 ‘ 5
kp = 54 ‘ 6
kp = 66 ‘ B
kp = 55 ‘ 7
kp = 56 ‘ 8
kp = 57 ‘ 9
kp = 67 ‘ C
kp = 42 ‘ *
kp = 48 ‘ 0
kp = 35 ‘ #
kp = 68 ‘ D
cnt = 1
oldstate = kp
Inc(cnt)
cnt = 0
Lcd_Out(2, 10, “
“)
‘ If counter varialble overflow
‘ Uncomment this block for keypad4x4
‘ Pressed key differs from previous
‘ Pressed key is same as previous
‘ Print key ASCII value on LCD
‘ Transform counter value to string
‘ Display counter value on LCD
Keypad 4x4

Related parts for MIKROE-86