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

📄 p0902-ps2.lst

📁 单片机与PS2键盘通讯的例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   P0902_PS2                                                            04/02/2009 17:17:44 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE P0902_PS2
OBJECT MODULE PLACED IN P0902-ps2.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE P0902-ps2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <STC12C5410AD.H>
   2          #include "stdio.h" 
   3          #include "stdlib.h" 
   4          #include "math.h" 
   5          #include "absacc.h" 
   6          #include "intrins.h" 
   7          #include "string.h"     
   8          
   9          sbit    sce=P1^2;       //片选
  10          sbit    res=P1^1;       //复位,0复位 
  11          sbit    dc=P3^5;        //1写数据,0写指令
  12          sbit    sdin=P1^5;      //数据
  13          sbit    sclk=P1^7;      //时钟           
  14          sbit    back_led =P3^7; //背光
  15          sbit    Key_Data =P2^5;
  16          sbit    Key_CLK =P3^3; 
  17          unsigned char IntNum = 0; //中断次数计数
  18          unsigned char KeyV; //键值
  19          unsigned char DisNum = 0; //显示用指针
  20          unsigned char Key_UP=0, Shift = 0;//Key_UP是键松开标识,Shift是Shift键按下标识
  21          unsigned char keybuf;
  22          unsigned char disbuf[84];
  23          unsigned char weizhi;
  24          bit BF; //标识是否有字符被收到
  25          bit disbit;
  26          void LCD_init(void);
  27          void LCD_clear(void);
  28          void LCD_write_String(unsigned char X,unsigned char Y,char *s);
  29          void LCD_write_char(unsigned char c);              
  30          void LCD_write_byte(unsigned char dt,unsigned char command);             
  31          
  32          //************************************************************
  33          //*******************************************************************
  34          
  35          unsigned char code UnShifted[58][2] = {
  36          0x1C, 65,//'a',
  37          0x32, 66,//'b',
  38          0x21, 67,//'c',
  39          0x23, 68,//'d',
  40          0x24, 69,//'e',
  41          0x2B, 70,//'f',
  42          0x34, 71,//'g',
  43          0x33, 72,//'h',
  44          0x43, 73,//'i',
  45          0x3B, 74,//'j',
  46          0x42, 75,//'k',
  47          0x4B, 76,//'l',
  48          0x3A, 77,//'m',
  49          0x31, 78,//'n',
  50          0x44, 79,//'o',
  51          0x4D, 80,//'p',
  52          0x15, 81,//'q',
  53          0x2D, 82,//'r',
  54          0x1B, 83,//'s',
  55          0x2C, 84,//'t',
C51 COMPILER V8.05a   P0902_PS2                                                            04/02/2009 17:17:44 PAGE 2   

  56          0x3C, 85,//'u',
  57          0x2A, 86,//'v',
  58          0x1D, 87,//'w',
  59          0x22, 88,//'x',
  60          0x35, 89,//'y',
  61          0x1A, 90,//'z',
  62          0x45, 16,//'0',
  63          0x16, 17,//'1',
  64          0x1E, 18,//'2',
  65          0x26, 19,//'3',
  66          0x25, 20,//'4',
  67          0x2E, 21,//'5',
  68          0x36, 22,//'6',
  69          0x3D, 23,//'7',
  70          0x3E, 24,//'8',
  71          0x46, 25,//'9',
  72          0x70, 16,//'0',
  73          0x69, 17,//'1',
  74          0x72, 18,//'2',
  75          0x7A, 19,//'3',
  76          0x6B, 20,//'4',
  77          0x73, 21,//'5',
  78          0x74, 22,//'6',
  79          0x6C, 23,//'7',
  80          0x75, 24,//'8',
  81          0x7D, 25,//'9',
  82          
  83          0x4E, 13,//'-',
  84          0x55, 29,//'=',
  85          0x5D, 60,//'\',
  86          0x29, 00,//' ',
  87          0x54, 59,//'[',
  88          0x5B, 61,//']',
  89          0x4C, 27,//';',
  90          0x52, 7,//'''',
  91          0x41, 12,//',',
  92          0x49, 14,//'.',
  93          0x4A, 15,//'/',
  94          0x71, 14,//'.',
  95          };
  96          unsigned char code Shifted[59][2] = {
  97          0x1C,33,//'A',
  98          0x32,34,//'B',
  99          0x21,35,//'C',
 100          0x23,36,// 'D',
 101          0x24,37,// 'E',
 102          0x2B,38,// 'F',
 103          0x34,39,// 'G',
 104          0x33,40,// 'H',
 105          0x43,41,// 'I',
 106          0x3B,42,// 'J',
 107          0x42,43,// 'K',
 108          0x4B,44,// 'L',
 109          0x3A,45,// 'M',
 110          0x31,46,// 'N',
 111          0x44,47,// 'O',
 112          0x4D,48,// 'P',
 113          0x15,49,// 'Q',
 114          0x2D,50,// 'R',
 115          0x1B,51,// 'S',
 116          0x2C,52,// 'T',
 117          0x3C,53,// 'U',
C51 COMPILER V8.05a   P0902_PS2                                                            04/02/2009 17:17:44 PAGE 3   

 118          0x2A,54,// 'V',
 119          0x1D,55,// 'W',
 120          0x22,56,// 'X',
 121          0x35,57,// 'Y',
 122          0x1A,58,// 'Z',
 123          
 124          0x45,9,// ')',
 125          0x16,1,// '!',
 126          0x1E,32,// '@',
 127          0x26,3,// '#',
 128          0x25,4,// '$',
 129          0x2E,5,// '%',
 130          0x36,62,// '^',
 131          0x3D,6,// '&',
 132          0x3E,10,// '*',
 133          0x46,8,// '(',   
 134            
 135          0x4e,63,// '_',
 136          0x4E,63,// '_',
 137          0x55,11,// '+',
 138          0x5D,91,// '|',
 139          0x29,00,// ' ',
 140          0x29,00,// ' ',
 141          0x29,00,// ' ',
 142          0x4C,26,// ':',
 143          0x29,00,// '',
 144          0x41,28,// '<',
 145          0x49,30,// '>',
 146          0x4A,31,// '?',
 147          0x71,14,// '.',
 148          
 149          0x70,16,// '0',
 150          0x69,17,// '1',
 151          0x72,18,// '2',
 152          0x7A,19,// '3',
 153          0x6B,20,// '4',
 154          0x73,21,// '5',
 155          0x74,22,// '6',
 156          0x6C,23,// '7',
 157          0x75,25,// '8',
 158          0x7D,26,// '9',
 159          };
 160          
 161          //******************************************************************/
 162          //6x8.h文件:
 163          /*-----------------------------------------------
 164          6 x 8 font
 165          1 pixel space at left and bottom
 166          index = ASCII - 32
 167          -----------------------------------------------*/
 168          unsigned char  code font6x8[][6] =
 169          {
 170          { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },// sp
 171          { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },// !
 172          { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },// "
 173          { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },// #
 174          { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },// $
 175          { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },// %     5
 176          { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },// &
 177          { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },// '
 178          { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },// (
 179          { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },// )
C51 COMPILER V8.05a   P0902_PS2                                                            04/02/2009 17:17:44 PAGE 4   

 180          { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },// *
 181          { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },// +
 182          { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },// ,
 183          { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },// -
 184          { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },// .
 185          { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },// /
 186          { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },// 0        16
 187          { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },// 1
 188          { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },// 2
 189          { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },// 3
 190          { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },// 4
 191          { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },// 5
 192          { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },// 6
 193          { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },// 7
 194          { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },// 8
 195          { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },// 9
 196          { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },// :        26
 197          { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },// ;
 198          { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },// <
 199          { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },// =
 200          { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },// >
 201          { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },// ?
 202          { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },// @
 203          { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },// A             33
 204          { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },// B
 205          { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },// C
 206          { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },// D
 207          { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },// E
 208          { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },// F
 209          { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },// G
 210          { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },// H
 211          { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },// I
 212          { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },// J
 213          { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },// K
 214          { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },// L
 215          { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },// M
 216          { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },// N
 217          { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },// O
 218          { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },// P
 219          { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },// Q
 220          { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },// R
 221          { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },// S
 222          { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },// T
 223          { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },// U
 224          { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },// V
 225          { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },// W
 226          { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },// X
 227          { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },// Y
 228          { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },// Z
 229          { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },// [     59
 230          { 0x00, 0x02, 0x04, 0x08, 0x10, 0x20 },//  '\'
 231          { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },// ]
 232          { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },// ^
 233          { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },// _
 234          { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },// '
 235          { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },// a      65
 236          { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },// b
 237          { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },// c
 238          { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },// d
 239          { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },// e
 240          { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },// f
 241          { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },// g
C51 COMPILER V8.05a   P0902_PS2                                                            04/02/2009 17:17:44 PAGE 5   

 242          { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },// h
 243          { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },// i
 244          { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },// j
 245          { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },// k
 246          { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },// l
 247          { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },// m
 248          { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },// n
 249          { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },// o
 250          { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },// p
 251          { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },// q
 252          { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },// r
 253          { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },// s
 254          { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },// t
 255          { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },// u
 256          { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },// v
 257          { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },// w
 258          { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },// x
 259          { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },// y
 260          { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },// z      90
 261          { 0x00, 0x00, 0x00, 0xff, 0x00, 0x00 },// |      91
 262          { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }// horiz lines
 263          }; 
 264          unsigned char code han[]=
 265          {
 266          /*--  文字:  宁  --*/
 267          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 268          0x00,0x90,0x8C,0x84,0x84,0x84,0x85,0x86,0x84,0x84,0x84,0x84,0x94,0x8E,0x04,0x00,
 269          0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 270          
 271          /*--  文字:  波  --*/
 272          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 273          0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
 274          0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00,
 275          
 276          /*--  文字:  单  --*/
 277          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 278          0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
 279          0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,
 280          
 281          /*--  文字:  片  --*/
 282          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 283          0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,
 284          0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,
 285          
 286          /*--  文字:  机  --*/
 287          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 288          0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
 289          0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
 290          
 291          /*--  文字:  开  --*/
 292          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 293          0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,
 294          0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
 295          
 296          /*--  文字:  发  --*/
 297          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 298          0x00,0x10,0x3E,0x10,0x10,0xF0,0x9F,0x90,0x90,0x92,0x94,0x1C,0x10,0x10,0x10,0x00,
 299          0x40,0x20,0x10,0x88,0x87,0x41,0x46,0x28,0x10,0x28,0x27,0x40,0xC0,0x40,0x00,0x00,
 300          
 301          /*--  文字:  网  --*/
 302          /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
 303          0x00,0xFE,0x02,0x12,0x22,0xC2,0x22,0x1A,0x22,0x42,0x82,0x72,0x22,0xFE,0x00,0x00,
C51 COMPILER V8.05a   P0902_PS2                                                            04/02/2009 17:17:44 PAGE 6   

 304          0x00,0x7F,0x08,0x04,0x03,0x00,0x03,0x0C,0x04,0x02,0x01,0x26,0x60,0x3F,0x00,0x00,
 305          
 306          
 307          };
 308          

⌨️ 快捷键说明

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