📄 key.lst
字号:
C51 COMPILER V4.01, KEY 05/09/02 16:14:10 PAGE 1
DOS C51 COMPILER V4.01, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN D:\WZY\KEYTIME7\KEY.OBJ
COMPILER INVOKED BY: C:\WAVE\P51\C51.EXE D:\WZY\KEYTIME7\KEY.C DB SB OE OT(0)
stmt level source
1 #include "AT89X52.H"
2
3 sbit CLOCK=P3^5;
4 int K1ST=0;
5 int K2CD=0;
6 int longkey=0;
7
8 sbit OUT0=P1^0;
9 sbit OUT1=P1^1;
10 sbit OUT2=P1^2;
11 sbit OUT3=P1^3;
12
13 sbit IN0=P1^4;
14 sbit IN1=P1^5;
15 sbit IN2=P1^6;
16 sbit IN3=P1^7;
17 sbit IN4=P3^7;
18
19 unsigned char KeyCode;
20
21 int KeyOn()
22 {
23 1 int i;
24 1 int key0;
25 1 char key1;
26 1 // P3=0x7F;
27 1 P1=0xF0;
28 1
29 1 key0=P1;
30 1 key0=key0&0x00F0;
31 1
32 1 IN4=1;
33 1 key1=IN4;
34 1 key1=key1&0x01;
35 1
36 1 if(key0==0xF0&&key1==0x01)
37 1 return 0;
38 1 else return 1;
39 1 }
40
41 void init_timer0(void)
42 {
43 1 TMOD&=0xF0;
44 1 TMOD|=0x1;
45 1 TL0=0xF0;
46 1 TH0=0xD8;
47 1 ET0=1;
48 1 TR0=1;
49 1 PT0=1;
50 1 EA=1;
51 1
52 1 }
53
54 timer_isr()interrupt 1
55 {
56 1 unsigned char keynum;
57 1 int i;
58 1 EA=0;
59 1
C51 COMPILER V4.01, KEY 05/09/02 16:14:10 PAGE 2
60 1 TL0=0xF0;
61 1 TH0=0xD8;
62 1
63 1
64 1 if(KeyOn()==1)
65 1 {
66 2 if(K1ST==1)
67 2 {
68 3 if(K2CD==0)
69 3 {
70 4 K2CD=1;
71 4
72 4 //第一列
73 4
74 4 P1=0xFE;
75 4
76 4 keynum=IN0;
77 4 if(keynum==0)
78 4 {
79 5 KeyCode=1;
80 5 P3=0xE1;
81 5 }
82 4
83 4 keynum=IN1;
84 4 if(keynum==0)
85 4 {
86 5 KeyCode=5;
87 5 P3=0xE5;
88 5 }
89 4
90 4 keynum=IN2;
91 4 if(keynum==0)
92 4 {
93 5 KeyCode=9;
94 5 P3=0xE9;
95 5 }
96 4
97 4 keynum=IN3;
98 4 if(keynum==0)
99 4 {
100 5 KeyCode=13;
101 5 P3=0xEd;
102 5 }
103 4 IN4=1;
104 4 keynum=IN4;
105 4 if(keynum==0)
106 4 {
107 5 KeyCode=17;
108 5 P3=0xF1;
109 5 }
110 4 //The second column
111 4
112 4 P1=0xFD;
113 4
114 4 keynum=IN0;
115 4 if(keynum==0)
116 4 {
117 5 KeyCode=2;
118 5 P3=0xE2;
119 5 }
120 4
121 4 keynum=IN1;
122 4 if(keynum==0)
123 4 {
124 5 KeyCode=6;
125 5 P3=0xE6;
C51 COMPILER V4.01, KEY 05/09/02 16:14:10 PAGE 3
126 5 }
127 4
128 4 keynum=IN2;
129 4 if(keynum==0)
130 4 {
131 5 KeyCode=10;
132 5 P3=0xEA;
133 5 }
134 4
135 4 keynum=IN3;
136 4 if(keynum==0)
137 4 {
138 5 KeyCode=14;
139 5 P3=0xEE;
140 5 }
141 4 IN4=1;
142 4 keynum=IN4;
143 4 if(keynum==0)
144 4 {
145 5 KeyCode=18;
146 5 P3=0xF2;
147 5 }
148 4 //The third column
149 4
150 4 P1=0xFB;
151 4 keynum=IN0;
152 4 if(keynum==0)
153 4 {
154 5 KeyCode=3;
155 5 P3=0xE3;
156 5 }
157 4
158 4 keynum=IN1;
159 4 if(keynum==0)
160 4 {
161 5 KeyCode=7;
162 5 P3=0xE7;
163 5 }
164 4
165 4 keynum=IN2;
166 4 if(keynum==0)
167 4 {
168 5 KeyCode=11;
169 5 P3=0xEB;
170 5 }
171 4
172 4 keynum=IN3;
173 4 if(keynum==0)
174 4 {
175 5 KeyCode=15;
176 5 P3=0xEF;
177 5 }
178 4 IN4=1;
179 4 keynum=IN4;
180 4 if(keynum==0)
181 4 {
182 5 KeyCode=19;
183 5 P3=0xF3;
184 5 }
185 4 //The fourth column
186 4
187 4 P1=0xF7;
188 4
189 4 keynum=IN0;
190 4 if(keynum==0)
191 4 {
C51 COMPILER V4.01, KEY 05/09/02 16:14:10 PAGE 4
192 5 KeyCode=4;
193 5 P3=0xE4;
194 5 }
195 4 keynum=IN1;
196 4 if(keynum==0)
197 4 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -