📄 keyscan.lst
字号:
C51 COMPILER V7.20 KEYSCAN 04/28/2005 15:49:12 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE KEYSCAN
OBJECT MODULE PLACED IN keyscan.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE keyscan.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x51.h>
2 #include "keyproc.h"
3
4 void delay(void)
5 {
6 1 unsigned char i,j;
7 1 for(i = 0;i<255;i++)
8 1 {
9 2 for(j = 0;j<255;j++){}
10 2 }
11 1 }
12
13 void keyscan(void)
14 {
15 1 bit a;
16 1 unsigned char b;
17 1
18 1 // P3_4 = 1;
19 1 P1_7 = 0;
20 1 a = P3_4;
21 1 if(~a)
22 1 {
23 2 EA = 0;
24 2 while(~P3_4){};
25 2
26 2 sendAddress_key();
27 2 EA = 1;
28 2 }
29 1
30 1 P1 = 0x0fe; //line1
31 1 b = P1 & 0x0fe;
32 1 if(b != 0x0fe)
33 1 {
34 2 EA = 0; //interrupt disable
35 2 //b = b & 0x0fe;
36 2 while((P1 | 0x0f) !=0xff){};
37 2 switch(b)
38 2 {
39 3 case 0x0ee:
40 3 power_key();break ;
41 3 case 0x0de:
42 3 number_key(3,"3");break;
43 3 case 0x0be:
44 3 number_key(2,"2");break;
45 3 case 0x7e:
46 3 number_key(1,"1");break;
47 3 }
48 2 EA = 1;
49 2 }
50 1
51 1 P1 = 0x0fd; //line2
52 1 b = P1 & 0x0fd;
53 1 if(b != 0x0fd)
54 1 {
55 2 EA = 0; //interrupt disable
C51 COMPILER V7.20 KEYSCAN 04/28/2005 15:49:12 PAGE 2
56 2 while((P1 | 0x0f )!= 0xff){};
57 2 //b = b & 0x0fd;
58 2 switch(b)
59 2 {
60 3 case 0x0ed:
61 3 menu_key();break ;
62 3 case 0x0dd:
63 3 number_key(6,"6");break;
64 3 case 0x0bd:
65 3 number_key(5,"5");break;
66 3 case 0x7d:
67 3 number_key(4,"4");break;
68 3 }
69 2 EA = 1;
70 2 }
71 1
72 1 P1 = 0x0fb; //line3
73 1 b= P1 & 0x0fb;
74 1 if(b != 0x0fb)
75 1 {
76 2 EA = 0;
77 2 delay();
78 2 //a=a|0x0fb;
79 2 if(b==0x0eb)
80 2 {
81 3 up_key();
82 3 }
83 2 else
84 2 {
85 3 while((P1 | 0x0f) !=0xff){};
86 3 switch(b)
87 3 {
88 4 case 0x0db:
89 4 number_key(9,"9");break;
90 4 case 0x0bb:
91 4 number_key(8,"8");break;
92 4 case 0x7b:
93 4 number_key(7,"7");break;
94 4 }
95 3 }
96 2
97 2 EA = 1;
98 2 }
99 1
100 1 P1 = 0x0f7; //line4
101 1 b= P1 & 0x0f7;
102 1 if(b != 0x0f7)
103 1 {
104 2 EA = 0;
105 2 delay();
106 2 //a=a|0x0f7;
107 2 if(b == 0x0e7)
108 2 {
109 3 down_key();
110 3 }
111 2 else
112 2 {
113 3 while((P1 | 0x0f) !=0xff){};
114 3 switch(b)
115 3 {
116 4 case 0x0d7:
117 4 enter_key();break;
C51 COMPILER V7.20 KEYSCAN 04/28/2005 15:49:12 PAGE 3
118 4 case 0x0b7:
119 4 del_key();break;
120 4 case 0x77:
121 4 number_key(0,"0");break;
122 4 }
123 3 }
124 2 EA = 1;
125 2 }
126 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 351 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -