📄 key.lst
字号:
C51 COMPILER V7.06 KEY 07/12/2010 23:49:26 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN KEY.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE KEY.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\KEY.lst)
stmt level source
1
2 #include <reg52.h>
3 #include <KEY_SWEEP.H>
4
5 unsigned char Key_Value=0;
6 unsigned char Key_flag =0;
7
8 /*
9 void Interrupt0_Key (void)
10 {
11 IT0=1; //设置下降沿中触发
12 EA=1; //开总中断
13 EX0=1; //开外部中断
14 Key_Port=0X0f;
15 }
16 */
17 unsigned char code Key_code[]=
18 {
19 //p0 p1 p2 p3
20 0xee,0xed,0xeb,0xe7, //p4
21 0xde,0xdd,0xdb,0xd7, //p5
22 0xbe,0xbd,0xbb,0xb7, //p6
23 0x7e,0x7d,0x7b,0x77 //p7
24 };
25
26 //以上为键码,换他们排列顺序就可以坏氐
27 void Key (void)
28 {
29 1 unsigned char KeyV_l,KeyV_h,KeyV,i;
30 1
31 1 if(Key_Port!=0X0f) //0000 1111 有按键的时候就可能是0000 1110;
32 1 {
33 2 //Delay();
34 2 if(Key_Port!=0X0f) //0000 1111 有按键的时候就可能是0000 1110;
35 2 {
36 3 KeyV_l=Key_Port&0x0f; //取出键码的 低4位
37 3 Key_Port=0XF0;
38 3 KeyV_h=Key_Port&0xf0; //取出键码的 高4位
39 3 KeyV=KeyV_h+KeyV_l; //合并键码
40 3
41 3 /*************************************
42 3 按键编码 对应 键值
43 3 Ee ed eb e7 1 5 9 13
44 3 De dd db d7 2 6 10 14
45 3 Be bd bb b7 3 7 11 15
46 3 7e 7d 7b 77 4 8 12 16
47 3 *************************************/
48 3 for(i=0;i<16;i++) //利用键码查找键值
49 3 {
50 4 if(Key_code[i]==KeyV)
51 4 Key_Value=(i+1);
52 4 }
53 3 Key_Port=0X0f;
54 3 }
55 2 }
C51 COMPILER V7.06 KEY 07/12/2010 23:49:26 PAGE 2
56 1
57 1 Key_flag =1;
58 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 51 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -