📄 dingshi.lst
字号:
178 2 if(t!=2&&t!=4) //防止出现类似66分钟的数据
C51 COMPILER V7.09 DINGSHI 04/24/2007 21:33:45 PAGE 4
179 2 {
180 3 void scan_7(void);//对被掉函数的说明
181 3 while(P1!=0xfe){scan_7();} //注意 不是所有的语句都使用while(P1!=0xfe),不同的行使用不同的语句
182 3 //while(P3!=0xfe); //与密码程序的区别密码程序中使用的不是while(P1!=0xfe),用的是delay
-();
183 3 //delay1ms(200);
184 3 time[t]=7;
185 3 //cc=0;
186 3 return t++;}}
187 1 }
188 //**********功能函数6***********************************
189 char fun6(void)
190 {if(lock==1&&t<6)
191 1 //void scan_7(void);//对被掉函数的说明
192 1 {if(t!=2&&t!=4){
193 3 while(P1!=0xfd){scan_7();}
194 3 time[t]=6;
195 3 //dd=0;
196 3 return t++;}}
197 1 }
198 //**********功能函数5***********************************
199 char fun5(void)
200 { if(lock==1&&t<6)
201 1 // void scan_7(void);//对被掉函数的说明
202 1 {while(P1!=0xfd){scan_7();}
203 2 time[t]=5;
204 2 //ee=0;
205 2 return t++;}
206 1 }
207 //**********功能函数4***********************************
208 char fun4(void)
209 {if(lock==1&&t<6)
210 1 // void scan_7(void);//对被掉函数的说明
211 1 {while(P1!=0xfd){scan_7();}
212 2 time[t]=4;
213 2 //ff=0;
214 2 return t++;}
215 1 }
216 //**********功能函数3***********************************
217 char fun3(void)
218 {if(lock==1&&t<6)
219 1 //void scan_7(void);//对被掉函数的说明
220 1 {while(P1!=0xfb){scan_7();}
221 2 time[t]=3;
222 2 //gg=0;
223 2 return t++;}
224 1 }
225 //**********功能函数2***********************************
226 char fun2(void)
227 { //delay1ms(200);
228 1 if(lock==1&&t<6)
229 1 //void scan_7(void);//对被掉函数的说明
230 1 {while(P1!=0xfb){scan_7();}
231 2 time[t]=2;
232 2 return t++;}
233 1 }
234 //**********功能函数1***********************************
235 char fun1(void)
236 {if(lock==1&&t<6)
237 1 //void scan_7(void);//对被掉函数的说明
238 1 { while(P1!=0xfb){scan_7();}
239 2 time[t]=0x01;
C51 COMPILER V7.09 DINGSHI 04/24/2007 21:33:45 PAGE 5
240 2 //hh=0;
241 2 return t++;}
242 1 }
243 //**********功能函数0***********************************
244 char fun0(void)
245 {
246 1 if(lock==1&&t<6)
247 1 {while(P1!=0xf7){scan_7();}
248 2 time[t]=0;
249 2 return t++;}
250 1 }
251 //**************************
252 //对型如7 8 9 a 的键盘的驱动
253 // 4 5 6 b
254 // 1 2 3 c
255 // d 0 e f
256 /**********按键驱动函数***********/
257 void keyscan(void)
258 {
259 1 P1=0xfe; //将第一行置零
260 1 if(P1!=0xfe)
261 1 { if(P1==0x7e) fun10(); //一行四列
262 2 else if(P1==0xbe) fun9(); //一行三列
263 2 else if(P1==0xde) fun8(); //一行二列
264 2 else if(P1==0xee) fun7(); //一行一列
265 2 }
266 1 else
267 1 {
268 2 P1=0xfd; //将第二行置零
269 2 if(P1!=0xfd)
270 2 { if(P1==0x7d) fun11(); //二行四列
271 3 else if(P1==0xbd) fun6(); //二行三列
272 3 else if(P1==0xdd) fun5(); //二行二列
273 3 else if(P1==0xed) fun4(); //二行一列
274 3 }
275 2 else
276 2 {
277 3 P1=0xfb; //将第三行置零
278 3 if(P1!=0xfb)
279 3 { if(P1==0x7b) fun12();//三行四列
280 4 else if(P1==0xbb) fun3();//三行三列
281 4 else if(P1==0xdb) fun2();//三行二列
282 4 else if(P1==0xeb) fun1();//三行一列
283 4 }
284 3 else
285 3 {
286 4 P1=0xf7;
287 4 { if(P1!=0xf7)
288 5 {
289 6 if(P1==0x77) fun13();//四行四列
290 6 else if(P1==0xb7) fun14();//四行三列
291 6 else if(P1==0xd7) fun0();//四行二列
292 6 else if(P1==0xe7) fun15();//四行一列
293 6 }
294 5 }
295 4 }
296 3 }
297 2 }
298 1 }
299 //*****数码管显示函数 将数据及显示控制码输出*********//
300 void scan_7(void)
301 {
C51 COMPILER V7.09 DINGSHI 04/24/2007 21:33:45 PAGE 6
302 1 char j;
303 1 for(j=0;j<6;j++)
304 1 {
305 2 P2=scan_con[j];//scan_con[7]={0x01,0x02,0x04,0x08,0x10,0x200x00,}; // 列扫描控制字
306 2 P0=dis_7[time[j]];//dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
307 2 delay1ms(1);
308 2 }
309 1 }
310
311 //*******主程序*******//
312 void main()
313 {
314 1 EA=1;ET0=1;TMOD=0x01;
315 1 TH0=(65536-15526)/256;
316 1 TL0=(65536-15536)%256;
317 1
318 1 while(1)
319 1 {
320 2 EA=1; //CPU开中断
321 2 EX0=1; //int0允许中断 //TR0=1;
322 2 scan_7();
323 2 keyscan();
324 2 //delay1ms(1);
325 2 //okset();
326 2 }
327 1 }
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 831 ----
CONSTANT SIZE = 21 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 1
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 + -