📄 keyboard.lst
字号:
C51 COMPILER V7.01 KEYBOARD 12/13/2006 21:40:33 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE KEYBOARD
OBJECT MODULE PLACED IN Keyboard.OBJ
COMPILER INVOKED BY: C:\program files\Keil\C51\BIN\C51.EXE Keyboard.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include"group.h"
2
3 unsigned char key_i=0;
4 unsigned char key;
5
6 //------------------------------
7 /*extern void change(unsigned char a,unsigned char b)
8 {a+=b;b=a-b;a-=b;}
9 */
10 //----------------------------------------------
11 void key_clockontrol(void) //键盘映射
12 {
13 1 switch(key)
14 1 {
15 2 case 0x10:key_i=key_shift;break;
16 2 case 0x20:key_i=0;break;
17 2 case 0x40:key_i=key_P;break;
18 2 case 0x80:key_i=key_enter;break;
19 2
20 2 case 0x11:key_i=1;break;
21 2 case 0x21:key_i=2;break;
22 2 case 0x41:key_i=3;;break;
23 2 case 0x81:key_i=key_down;g_add-=10;break;
24 2
25 2 case 0x12:key_i=4;break;
26 2 case 0x22:key_i=5;break;
27 2 case 0x42:key_i=6;break;
28 2 case 0x82:key_i=key_up;g_add+=10;break;
29 2
30 2 case 0x13:key_i=7;break;
31 2 case 0x23:key_i=8;break;
32 2 case 0x43:key_i=9;break;
33 2 case 0x83:key_i=key_A;g_add++;break;
34 2
35 2 case 0x14:key_i=Num_lock;break;
36 2 case 0x24:key_i=key_E;break;
37 2 case 0x44:key_i=key_C;break;
38 2 case 0x84:key_i=key_D;g_add--;break;
39 2
40 2 default:break;
41 2 }
42 1 }
43 //-----------------------------------------------
44 void keyboard(void) interrupt 2 using 0 //键盘中断
45 {
46 1 unsigned char i,j,w;
47 1 EX1=0;
48 1 key=0;
49 1 delay(500);
50 1 if(~XBYTE[0xf800]&0x0f)
51 1 {
52 2 w=XBYTE[0xf8f0]&0x0f;
53 2 if(~w&0x0f)
54 2 {
55 3 i=4;
C51 COMPILER V7.01 KEYBOARD 12/13/2006 21:40:33 PAGE 2
56 3 j=w;
57 3 w=0xff;
58 3 }
59 2 w=XBYTE[0xf8e8]&0x0f;
60 2 if(~w&0x0f)
61 2 {
62 3 i=3;
63 3 j=w;
64 3 w=0xff;
65 3 }
66 2 w=XBYTE[0xf8d8]&0x0f;
67 2 if(~w&0x0f)
68 2 {
69 3 i=2;
70 3 j=w;
71 3 w=0xff;
72 3 }
73 2 w=XBYTE[0xf8b8]&0x0f;
74 2 if(~w&0x0f)
75 2 {
76 3 i=1;
77 3 j=w;
78 3 w=0xff;
79 3 }
80 2 w=XBYTE[0xf878]&0x0f;
81 2 if(~w&0x0f)
82 2 {
83 3 i=0;
84 3 j=w;
85 3 w=0xff;
86 3 }
87 2 w=~j;
88 2 key=(w<<4)|i;
89 2 }
90 1 while(~XBYTE[0xf800]&0xf);
91 1 key_clockontrol();
92 1 EX1=1;
93 1 }
94
95
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 317 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -