IBM H8 user manual AT-Keyboard-Interface

Page 44

HTEB1

User manual

3.5 AT-Keyboard-Interface

This demo shows the usage of the PS2 (mini-DIN) interface on HTEB1. Please connect an AT-keyboard (MF102) to this port. You will see the keycodes, provided by the keyboard on the LCD. Please refer to the code table for keycode translation in your own projects.

/*------------------------------------------------------------------

** AT-Keyb shows the PS2-Interface to an AT-Keyboard

**-----------------------------------------------------------------

 

*/

#include "mydefs.h"

 

 

// with further includes!

void wait(u16 wastetime)

// local LCD port delay

{

 

 

 

while(wastetime--

);

 

 

}

 

 

 

/*

 

 

 

LCD-Port / Bits on TinyEvalBoard

 

RS = P75, R/W

= P74,

EN

= P20, DATA = P5

*/

 

 

 

//some defines for easy access #define CLEAR_LCD_RS (PDR7 &= ~0x20)

#define SET_LCD_RS

 

(PDR7 = 0x20)

#define CLEAR_LCD_RW

(PDR7 &= ~0x10)

#define SET_LCD_RW

 

(PDR7 = 0x10)

#define CLEAR_LCD_EN

(PDR2 &= ~0x01)

#define SET_LCD_EN

 

(PDR2 = 0x01)

#define LCD_DATA_PORT (PDR5)

 

#define LCD_DATA_CTRL (PCR5)

 

#define LCD_OUT

0xff

 

#define LCD_IN 0x00

 

 

#define LCD_WAIT

 

{wait(100);}

void LCDWriteCmd(u8 cmd)

// write cmd to LCD port

{

 

 

CLEAR_LCD_RS;

 

 

CLEAR_LCD_RW;

 

 

SET_LCD_EN;

 

 

LCD_DATA_PORT = cmd;

 

LCD_WAIT;

 

 

CLEAR_LCD_EN;

 

 

LCD_WAIT;

 

 

}

 

 

void LCDWriteData(u8 data)

// write data to LCD port

{

 

 

SET_LCD_RS;

 

 

CLEAR_LCD_RW;

 

 

SET_LCD_EN;

 

 

LCD_DATA_PORT = data;

 

LCD_WAIT;

 

 

CLEAR_LCD_EN;

 

 

LCD_WAIT;

 

 

}

 

 

u8 LCDReadStatus(void)

 

// get the LCD status register

{

 

 

u8 status;

 

 

CLEAR_LCD_RS;

 

 

Issue 0.2

Page 44

07/2002

Image 44
Contents Hitachi H8/Tiny 3664F Preface Table of Contents System Development Kit content Hardware descriptionFeatures Board overview Board overviewJumpers and switches JP4, D/A CONOrientation Operation Connectors X1 SubD9, Pin Operation RemarkX3 LCD-CON SV1 SV2 SV3 SV4 PIN Installing the HTEB1 Start-Up instructionsTest program Software Installation Creating a program using IAR-EWH8 Development EnvironmentHTEB1 HTEB1 HTEB1 HTEB1 HTEB1 HTEB1 HTEB1 Download the code using FDT HTEB1 HTEB1 HTEB1 HTEB1 HTEB1 HTEB1 HTEB1 Workflow Examples Key’s and LED’s LEDSPEEDINIT4PMR1 &= ~KEYALL RunningLightInit Init keys and LEDs TimerAInit LCD Clearlcdrs Setlcdrw Lcddatactrl = Lcdin Setlcden HTEB1 SCI IsscitxfreeInit sci with 9600Baud, 8N1 A/D + PWM Lcddatactrl = Lcdin Setlcden Calculate av of last 15 values AT-Keyboard-Interface Setlcdrw Lcddatactrl = Lcdin Setlcden Mask = Msg buffer Tables Scan-Codes MFII-Keyboard Numeric Keypad Main Scan-Code Keypad Function Scan-Code Datasheets ProgramsExamples DemoAppendix B Schematic Appendix C Board layout HTEB1 HTEB1 HTEB1