MIKROE-86 mikroElektronika, MIKROE-86 Datasheet - Page 5

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
Keypad 4x4
Example 3: Program written in mikroPascal PRO for PIC
program Keypad_Test;
var kp, cnt, oldstate : byte;
// Keypad module connections
var keypadPort : byte at PORTD;
// End Keypad module connections
// Lcd module connections
var LCD_RS : sbit at RB4_bit;
var LCD_RS_Direction : sbit at TRISB4_bit;
// End Lcd module connections
begin
txt : array[6] of byte;
LCD_EN : sbit at RB5_bit;
LCD_D4 : sbit at RB0_bit;
LCD_D5 : sbit at RB1_bit;
LCD_D6 : sbit at RB2_bit;
LCD_D7 : sbit at RB3_bit;
LCD_EN_Direction : sbit at TRISB5_bit;
LCD_D4_Direction : sbit at TRISB0_bit;
LCD_D5_Direction : sbit at TRISB1_bit;
LCD_D6_Direction : sbit at TRISB2_bit;
LCD_D7_Direction : sbit at TRISB3_bit;
oldstate := 0;
cnt := 0;
Keypad_Init();
ANSEL := 0;
ANSELH := 0;
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1, 1, ‘Key :’);
Lcd_Out(2, 1, ‘Times:’);
while TRUE do
begin
kp := 0;
// Wait for key to be pressed and released
while ( kp = 0 ) do
// Prepare value for output, transform key to it’s ASCII value
case kp of
kp := Keypad_Key_Click();
//case 10: kp = 42; // ‘*’
//case 11: kp = 48; // ‘0’
//case 12: kp = 35; // ‘#’
//default: kp += 48;
// Reset key code variable
// Reset counter
// Initialize Keypad
// Configure AN pins as digital I/O
// Initialize Lcd
// Clear display
// Cursor off
// Write message text on Lcd
// Store key code in kp variable
// Uncomment this block for keypad4x3
end.
end;
end;
if (kp <> oldstate) then
else
Lcd_Chr(1, 10, kp);
if (cnt = 255) then
WordToStr(cnt, txt);
Lcd_Out(2, 10, txt);
begin
end
Inc(cnt);
begin
end;
10: kp := 56; // 8
11: kp := 57; // 9
12: kp := 67; // C
13: kp := 42; // *
14: kp := 48; // 0
15: kp := 35; // #
16: kp := 68; // D
1: kp := 49; // 1
2: kp := 50; // 2
3: kp := 51; // 3
4: kp := 65; // A
5: kp := 52; // 4
6: kp := 53; // 5
7: kp := 54; // 6
8: kp := 66; // B
9: kp := 55; // 7
cnt := 1;
oldstate := kp;
cnt := 0;
Lcd_Out(2, 10, ‘
‘);
// Uncomment this block for keypad4x4
// Pressed key differs from previous
// Pressed key is same as previous
// Print key ASCII value on Lcd
// If counter varialble overflow
// Transform counter value to string
// Display counter value on Lcd
MikroElektronika

Related parts for MIKROE-86