📄 ps2_bin.ls1
字号:
0041 59 214 DB 059H
0042 14 215 DB 014H
0043 11 216 DB 011H
0044 29 217 DB 029H
0045 7E 218 DB 07EH
0046 77 219 DB 077H
0047 7C 220 DB 07CH
0048 7B 221 DB 07BH
0049 6C 222 DB 06CH
004A 75 223 DB 075H
004B 7D 224 DB 07DH
004C 6B 225 DB 06BH
004D 73 226 DB 073H
004E 74 227 DB 074H
004F 69 228 DB 069H
0050 72 229 DB 072H
0051 7A 230 DB 07AH
0052 70 231 DB 070H
0053 71 232 DB 071H
0054 69 233 DB 069H
0055 79 234 DB 079H
235
0056 236 e0_keyval:
0056 11 237 DB 011H
0057 1F 238 DB 01FH
0058 14 239 DB 014H
0059 12 240 DB 012H
005A 70 241 DB 070H
005B 6C 242 DB 06CH
005C 7D 243 DB 07DH
005D 71 244 DB 071H
005E 69 245 DB 069H
005F 7A 246 DB 07AH
0060 4A 247 DB 04AH
0061 5A 248 DB 05AH
0062 75 249 DB 075H
0063 6B 250 DB 06BH
0064 72 251 DB 072H
0065 74 252 DB 074H
0066 5E 253 DB 05EH
0067 3F 254 DB 03FH
0068 37 255 DB 037H
0069 7C 256 DB 07CH
A51 MACRO ASSEMBLER PS2_BIN 05/26/2005 15:31:26 PAGE 5
006A 27 257 DB 027H
006B 2F 258 DB 02FH
259
006C 260 pausekey:
006C E1 261 DB 0E1H
006D 14 262 DB 014H
263
264
---- 265 RSEG ?C_INITSEG
0000 10 266 DB 010H
0001 00 F 267 DB KeyCodeBuff
0002 00 268 DB 000H
0003 00 269 DB 000H
0004 00 270 DB 000H
0005 00 271 DB 000H
0006 00 272 DB 000H
0007 00 273 DB 000H
0008 00 274 DB 000H
0009 00 275 DB 000H
000A 00 276 DB 000H
000B 00 277 DB 000H
000C 00 278 DB 000H
000D 00 279 DB 000H
000E 00 280 DB 000H
000F 00 281 DB 000H
0010 00 282 DB 000H
0011 00 283 DB 000H
284
0012 01 285 DB 001H
0013 00 F 286 DB KeyCodeSum
0014 00 287 DB 000H
288
0015 C100 F 289 DB 0C1H, KeyFlag + 000H ; bit-init
290
0017 C100 F 291 DB 0C1H, KeyUpFlag + 000H ; bit-init
292
0019 C100 F 293 DB 0C1H, KeyExtendFlag + 000H ; bit-init
294
001B C100 F 295 DB 0C1H, KeyLedLockFlag + 000H ; bit-init
296
001D C100 F 297 DB 0C1H, KeyBoardConnectFlag + 000H ; bit-init
298
001F C100 F 299 DB 0C1H, KeyPauseFlag + 000H ; bit-init
300
0021 C100 F 301 DB 0C1H, KeyMakeCodeFlag + 000H ; bit-init
302
0023 01 303 DB 001H
0024 00 F 304 DB E1flag
0025 00 305 DB 000H
306
0026 01 307 DB 001H
0027 00 F 308 DB E0flag
0028 00 309 DB 000H
310
0029 01 311 DB 001H
002A 00 F 312 DB KeyIDLo
002B 00 313 DB 000H
314
002C 01 315 DB 001H
002D 00 F 316 DB KeyIDHi
002E 00 317 DB 000H
318
002F 01 319 DB 001H
0030 00 F 320 DB LedStatus
0031 00 321 DB 000H
322
A51 MACRO ASSEMBLER PS2_BIN 05/26/2005 15:31:26 PAGE 6
0032 01 323 DB 001H
0033 00 F 324 DB dat
0034 00 325 DB 000H
326
0035 01 327 DB 001H
0036 00 F 328 DB sum
0037 00 329 DB 000H
330
331 ; /*****************************************************************************/
332 ; //main.c
333 ; //功能:从PS/2口接受键盘信息,解码成ACSII码,通过UART发送出去,并且控制键盘
334 ; //修改:
335 ; //时间:2006-7-8
336 ; //作者:R.S.J
337 ; /*****************************************************************************/
338 ;
339 ; #include <reg51.h>
340 ; #include <intrins.h>
341 ;
342 ; //#include "PS2.h"
343 ;
344 ; #define EINT (EA = 1)
345 ; #define DINT (EA = 0)
346 ;
347 ; #define MAXBUFFER 15
348 ;
349 ; #define WAITFORKEYBOARDPULSE while(!scl); while(scl)
350 ;
351 ; #define COMMAND_RESET 0xFF //命令:复位键盘
352 ; #define COMMAND_READID 0xF2 //命令:读键盘ID
353 ; #define COMMAND_SETSTATUS 0xED //命令:设置状态CapsLock,NumLock,ScrollLock
354 ; #define COMMAND_SETRATE 0xF3 //命令:设置速率,延时
355 ; #define COMMAND_ENABLE 0xF4 //命令:使能键盘
356 ; #define CAPSLOCK_EN 0x04 //使能CapsLock 灯
357 ; #define NUMLOCK_EN 0x02 //使能NumLock 灯
358 ; #define SCROLLLOCK_EN 0x01 //使能ScrollLock灯
359 ; #define CAPSLOCK_DIS 0x03 //关闭CapsLock灯
360 ; #define NUMLOCK_DIS 0x05 //关闭NumLock灯
361 ; #define SCROLLLOCK_DIS 0x06 //关闭ScrollLock灯
362 ; #define DISALL 0x00 //关闭所有灯
363 ;
364 ;
365 ; #define CODE_POST 0xAA //键盘上电自检成功 Power On Self Test
366 ; #define CODE_ACK 0xFA //键盘应答码
367 ; #define CODE_ECHO 0xEE //键盘的回应码
368 ; #define CODE_BREAK 0xF0 //断码
369 ; #define CODE_EXTEND 0xE0 //扩展码
370 ; #define CODE_PAUSE 0xE1 //Pause键起始码 E1+14+77/E1+F0+14/F0+77
371 ; #define CODE_LSHIFT 0x12 //左Shift键通码
372 ; #define CODE_RSHIFT 0x59 //右Shift键通码
373 ; #define CODE_LCTRL 0x14 //左CTRL键通码
374 ; #define CODE_RCTRL 0x14 //右CTRL键通码 0xE0,0x14
375 ; #define CODE_LALT 0x11 //左ALT键通码
376 ; #define CODE_RALT 0x11 //右ALT键通码 0xE0,0x11
377 ; #define CODE_NUMLOCK 0x77 //NumLock键
378 ; #define CODE_CAPSLOCK 0x58 //CapsLock键
379 ; #define CODE_SCROLLLOCK 0x7E//SCROLLLOCK键
380 ; #define nodefinedkey 0x00//
381 ;
382 ; #define OUTPORT P2 //电平输出口定义
383 ;
384 ; /* 函数定义 */
385 ; unsigned char ReadPS2(); //读PS2端口获取PS2发送的数据
386 ; void KeyScan(); //获得键值
387 ; void KeyTransmit(); //发送键值
388 ; void Order(unsigned char); //向键盘发送命令
A51 MACRO ASSEMBLER PS2_BIN 05/26/2005 15:31:26 PAGE 7
389 ; void KickDog(); //喂狗
390 ; void Delay(unsigned char);
391 ; void LedLock(unsigned char);
392 ; /* 变量定义 */
393 ; sbit sda = P3^4; //P3.7做为数据线//^^^^^^^^^^^^^^^^^^^^^^
394 ; sbit scl = P3^2; //P3.2做为时钟线
395 ; sbit key_sw = P1^1; //P1.2作为键盘电源开关
396 ;
397 ; int i;
398 ; unsigned char KeyCodeBuff[MAXBUFFER+1] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//键值缓存
399 ; unsigned char KeyCodeSum = 0; //键码数
400 ; bit KeyFlag = 0; //有键标志
401 ; bit KeyUpFlag = 0; //键弹起标志
402 ; bit KeyExtendFlag = 0; //扩展键标志
403 ; bit KeyLedLockFlag = 0; //三个Led键被按下的标志
404 ; bit KeyBoardConnectFlag = 0; //键盘连接标志
405 ; bit KeyPauseFlag = 0; //Pause键标志
406 ; bit KeyMakeCodeFlag = 0; //键盘发送通码标志
407 ; /*
408 ; bit CapsLockFlag = 0; //CapsLock标志
409 ; bit NumLockFlag = 0; //NumLock标志
410 ; bit ScrollLockFlag = 0; //ScrollLock标志
411 ; */
412 ; unsigned char E1flag = 0;//我家的
413 ; unsigned char E0flag = 0;//
414 ; ///////////////////////////////////////////
415 ; unsigned char KeyIDLo = 0; //键盘ID低字节
416 ; unsigned char KeyIDHi = 0; //键盘ID高字节
417 ; unsigned char LedStatus = 0; //NumLock,CapsLock,ScrollLock灯控制
418 ; unsigned char dat[6]= 0x00; // 输出数据缓存
419 ; unsigned char sum=0x00;
420 ; /*********************************************************/
421 ; //函数:main()
422 ; //功能:主函数
423 ; //输入:无
424 ; //输出:无
425 ; //描述:
426 ; /*********************************************************/
427 ; unsigned char code keyval[]=
428 ; {
429 ; 0x76,0x05,0x06,0x04,0x0c,0x03,0x0b,0x83,0x0a,0x01,0x09,0x78,0x07,
430 ; 0x0e,0x16,0x1e,0x26,0x25,0x2e,0x36,0x3d,0x3e,0x46,0x45,0x4e,0x55,
431 ; 0x5d,0x66,0x0d,0x15,0x1d,0x24,0x2d,0x2c,0x35,0x3c,0x43,0x44,0x4d,
432 ; 0x54,0x5b,0x58,0x1c,0x1b,0x23,0x2b,0x34,0x33,0x3b,0x42,0x4b,0x4c,
433 ; 0x52,0x5a,0x12,0x1a,0x22,0x21,0x2a,0x32,0x31,0x3a,0x41,0x49,0x4a,
434 ; 0x59,0x14,0x11,0x29,0x7e,0x77,0x7c,0x7b,0x6c,0x75,0x7d,0x6b,0x73,
435 ; 0x74,0x69,0x72,0x7a,0x70,0x71,0x69,0x79,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -