⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps2kbd.lst

📁 USB_D12开发评估板实现USB键盘的全部源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   PS2KBD                                                                04/16/2007 15:23:02 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE PS2KBD
OBJECT MODULE PLACED IN .\Obj\Ps2KBd.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\Driver\PS2\PS2Kbd\Ps2KBd.c LARGE OPTIMIZE(2,SPEED) BROWSE MODP2 PRINT
                    -(.\Obj\Ps2KBd.lst) OBJECT(.\Obj\Ps2KBd.obj)

line level    source

   1          /*------------------------------------------------------------------
   2          * CopyRight (C) 2005,江苏盛唐电子产品有限公司
   3          * All Rights Reserved.
   4          *
   5          * 文件名称:PS2KBD.c
   6          * 文件标识:
   7          * 摘    要:从PS2接口操纵PS2键盘的头文件。
   8          * 
   9          * 当前版本:1.0
  10          * 作    者:熊刚
  11          * 完成日期:2005年10月7日
  12          *
  13          * 取代版本: 
  14          * 原作者  :
  15          * 完成日期:
  16          --------------------------------------------------------------------*/
  17          
  18          #include "..\..\inc\includes.h"
  19          
  20          #define BUFF_SIZE 64
  21          
  22          //unsigned char edge, bitcount;// 0 = neg. 1 = pos.
  23          unsigned int kb_buffer[BUFF_SIZE];
  24          unsigned int *inpt, *outpt;
  25          unsigned char buffcnt;
  26          
  27          
  28          unsigned char code UnShifted[][3] = {
  29          0x1C, 'a', 4,
  30          0x32, 'b', 5,
  31          0x21, 'c', 6,
  32          0x23, 'd', 7,
  33          0x24, 'e', 8,
  34          0x2B, 'f', 9,
  35          0x34, 'g', 10,
  36          0x33, 'h', 11,
  37          0x43, 'i', 12,
  38          0x3B, 'j', 13,
  39          0x42, 'k', 14,
  40          0x4B, 'l', 15,
  41          0x3A, 'm', 16,
  42          0x31, 'n', 17,
  43          0x44, 'o', 18,
  44          0x4D, 'p', 19,
  45          0x15, 'q', 20,
  46          0x2D, 'r', 21,
  47          0x1B, 's', 22,
  48          0x2C, 't', 23,
  49          0x3C, 'u', 24,
  50          0x2A, 'v', 25,
  51          0x1D, 'w', 26,
  52          0x22, 'x', 27,
  53          0x35, 'y', 28,
  54          0x1A, 'z', 29,
C51 COMPILER V7.50   PS2KBD                                                                04/16/2007 15:23:02 PAGE 2   

  55          0x45, '0', 39,
  56          0x16, '1', 30,
  57          0x1E, '2', 31,
  58          0x26, '3', 32,
  59          0x25, '4', 33,
  60          0x2E, '5', 34,
  61          0x36, '6', 35,
  62          0x3D, '7', 36,
  63          0x3E, '8', 37,
  64          0x46, '9', 38,
  65          0x0E, '`', 53,
  66          0x4E, '-', 45,
  67          0x55, '=', 46,
  68          0x5D, '\\',49,
  69          0x29, ' ', 44,
  70          0x54, '[', 47,
  71          0x5B, ']', 48,
  72          0x4C, ';', 51,
  73          0x52, '\'',52,
  74          0x41, ',', 54,
  75          0x49, '.', 55,
  76          0x4A, '/', 56,
  77          0x5A,0x0D, 40,          //Enter
  78          0x66,0x08, 42,          //BackSpace
  79          0x76,0x1b, 41,          //Esc
  80          0,0,0
  81          };
  82          
  83          unsigned char code Shifted[][2] = {
  84          0x1C, 'A',4,    
  85          0x32, 'B',5,    
  86          0x21, 'C',6,    
  87          0x23, 'D',7,    
  88          0x24, 'E',8,    
  89          0x2B, 'F',9,    
  90          0x34, 'G',10,   
  91          0x33, 'H',11,   
  92          0x43, 'I',12,   
  93          0x3B, 'J',13,   
  94          0x42, 'K',14,   
  95          0x4B, 'L',15,   
  96          0x3A, 'M',16,   
  97          0x31, 'N',17,   
  98          0x44, 'O',18,   
  99          0x4D, 'P',19,   
 100          0x15, 'Q',20,   
 101          0x2D, 'R',21,   
 102          0x1B, 'S',22,   
 103          0x2C, 'T',23,   
 104          0x3C, 'U',24,   
 105          0x2A, 'V',25,   
 106          0x1D, 'W',26,   
 107          0x22, 'X',27,   
 108          0x35, 'Y',28,   
 109          0x1A, 'Z',29,   
 110          0x45, ')',39,   
 111          0x16, '!',30,   
 112          0x1E, '@',31,   
 113          0x26, '#',32,   
 114          0x25, '$',33,   
 115          0x2E, '%',34,   
 116          0x36, '^',35,   
C51 COMPILER V7.50   PS2KBD                                                                04/16/2007 15:23:02 PAGE 3   

 117          0x3D, '&',36,   
 118          0x3E, '*',37,   
 119          0x46, '(',38,   
 120          0x0E, '~',53,    
 121          0x4E, '_',45,   
 122          0x55, '+',46,   
 123          0x5D, '|',49,   
 124          0x29, ' ',44,   
 125          0x54, '{',47,   
 126          0x5B, '}',48,   
 127          0x4C, ':',51,   
 128          0x52, '"',52,   
 129          0x41, '<',54,   
 130          0x49, '>',55,   
 131          0x4A, '?',56, 
 132          0x5A,0x0D, 40,
 133          0x66,0x08, 42,  
 134          0x76,0x1b, 41,
 135          0,0,0,
 136          };
 137          
 138          
 139          static void put_kbbuff(uint uic)
 140          {
 141   1      
 142   1      //      ComShowString(COM_1,"Put Kbd ASCII Code To Buff;");
 143   1      //      ComSendText(COM_1,&c,1);
 144   1      
 145   1              if (buffcnt<BUFF_SIZE)// If buffer not full
 146   1              {
 147   2                      *inpt = uic;// Put character into buffer
 148   2                      inpt++; // Increment pointer
 149   2                      buffcnt++;
 150   2                      if (inpt >= kb_buffer + BUFF_SIZE)// Pointer wrapping
 151   2                      {
 152   3                              inpt = kb_buffer;
 153   3                      }
 154   2              }
 155   1      }
 156          
 157          
 158          
 159          
 160          static void Decode(unsigned char sc)
 161          {
 162   1              static unsigned char is_up=0, shift = 0;
 163   1              unsigned char i;
 164   1              uint uiKeyCombCode;             //usaged code + ASCII code
 165   1      
 166   1              if (!is_up)// Last data received was the up-key identifier
 167   1              {
 168   2      //              ComShowString(COM_1,"Decode Func Sc is :");
 169   2      //              ComSendText(COM_1,&sc,1);
 170   2      
 171   2                      switch (sc)
 172   2                      {
 173   3                              case 0xF0 :// The up-key identifier
 174   3                                      is_up = 1;
 175   3                                      break;
 176   3                              case 0x12 :// Left SHIFT
 177   3                                      shift = 1;
 178   3                                      break;
C51 COMPILER V7.50   PS2KBD                                                                04/16/2007 15:23:02 PAGE 4   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -