Mikroelektronika MIKROE-442 데이터 시트

다운로드
페이지 726
mikroBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
429
Ps2_Config
Ps2_Key_Read
Prototype
sub procedure Ps2_Config()
Description Initializes the MCU for work with the PS/2 keyboard.
Parameters None.
Returns
Nothing.
Requires
Global variables: 
PS2_Data
: Data signal line 
PS2_Clock
: Clock signal line 
PS2_Data_Direction
: Direction of the Data pin 
PS2_Clock_Direction
: Direction of the Clock pin 
must be defined before using this function.
Example
‘ PS2 pinout definition
                                                       
dim PS2_Data as sbit at RB0_bit           
dim PS2_Clock as sbit at RB1_bit     
dim PS2_Data_Direction as sbit at TRISB0_bit
dim PS2_Clock_Direction as sbit at TRISB1_bit
‘ End of PS2 pinout definition
...
Ps2_Config()         ‘ Init PS/2 Keyboard
Notes
None.
Prototype
sub  function  Ps2_Key_Read(dim  byref  value  as  byte,  dim  byref  special  as 
byte, dim byref pressed as byte) as word
Description The function retrieves information on key pressed.
Parameters 
value
: holds the value of the key pressed. For characters, numerals, punctuation marks, and space 
value
 will store the appropriate ASCII code. Routine “recognizes” the function of Shift and Caps Lock, 
and behaves appropriately. For special function keys see Special Function Keys Table. 
special
: is a flag for special function keys (F1, Enter, Esc, etc). If key pressed is one of these, 
special
 will be set to 1, otherwise 0.
pressed
: is set to 1 if the key is pressed, and 0 if it is released. 
Returns
1
 if reading of a key from the keyboard was successful 
0
 if no key was pressed 
Requires
PS/2 keyboard needs to be initialized. See Ps2_Config routine.
Example
dim value, special, pressed as word
...
‘ Press Enter to continue:
do {
  if (Ps2_Key_Read(value, special, pressed)) then 
    if ((value = 13) and (special = 1)) then 
      break
    end if
  end if 
  
loop until (0=1)
Notes
None.