📄 keypad.lst
字号:
C51 COMPILER V7.50 KEYPAD 08/22/2008 20:40:13 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEYPAD
OBJECT MODULE PLACED IN keypad.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keypad.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 # include "keypad.h"
2 #include "serial.h"
3 unsigned char KeypadScan(void)//得到4×4键盘的键值,没有按键时返回0xff
4 {
5 1 unsigned char keycode=0xff,temp,i,tmp=0x07;
6 1 KEYPAD_OUT=0x00;
7 1 temp=KEYPAD_IN&0x0f;
8 1 if(temp!=0x0f) //有键按下
9 1 {
10 2 //Delay(10);
11 2 //PrintStr("key\n");
12 2 KEYPAD_OUT=0x07;
13 2 for(i=0;i<4;i++)
14 2 {
15 3 temp=KEYPAD_IN&0x0f;
16 3 if(temp==0x07)
17 3 {
18 4 keycode=i*4;
19 4 break;
20 4 }
21 3 else if(temp==0x0b)
22 3 {
23 4 keycode=i*4+1;
24 4 break;
25 4 }
26 3 else if(temp==0x0d)
27 3 {
28 4 keycode=i*4+2;
29 4 break;
30 4 }
31 3 else if(temp==0x0e)
32 3 {
33 4 keycode=i*4+3;
34 4 break;
35 4 }
36 3 tmp=(tmp>>1)|0x8;
37 3 KEYPAD_OUT=tmp;
38 3 }
39 2
40 2 while((KEYPAD_IN&0x0f)!=0x0f) //等待释放
41 2 {
42 3 KEYPAD_OUT=0x00;
43 3 }
44 2
45 2 }
46 1 return keycode;
47 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 115 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
C51 COMPILER V7.50 KEYPAD 08/22/2008 20:40:13 PAGE 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 + -