📄 51
字号:
255
256 void key_manage5()
257 {
258 1 tab_key[n]=4;
259 1 n++;
260 1 if(xiugaiflag==1)
261 1 {
262 2 mima[count4]=4;
263 2 count4++;
264 2 }
265 1 }
266
267 void key_manage6()
268 {
269 1 tab_key[n]=5;
270 1 n++;
271 1 if(xiugaiflag==1)
272 1 {
273 2 mima[count4]=5;
274 2 count4++;
275 2 }
276 1 }
277 void key_manage7()
278 {
279 1 tab_key[n]=6;
280 1 n++;
281 1 if(xiugaiflag==1)
282 1 {
283 2 mima[count4]=6;
284 2 count4++;
285 2 }
286 1 }
287 void key_manage8()
288 {
289 1 tab_key[n]=7;
290 1 n++;
291 1 if(xiugaiflag==1)
292 1 {
293 2 mima[count4]=7;
294 2 count4++;
295 2 }
296 1 }
297
298 void key_manage9()
299 {
300 1 tab_key[n]=8;
301 1 n++;
302 1 if(xiugaiflag==1)
303 1 {
C51 COMPILER V8.02 PASSWORD 07/22/2009 13:42:13 PAGE 6
304 2 mima[count4]=8;
305 2 count4++;
306 2 }
307 1 }
308 void key_manage10()
309 {
310 1 tab_key[n]=9;
311 1 n++;
312 1 if(xiugaiflag==1)
313 1 {
314 2 mima[count4]=9;
315 2 count4++;
316 2 }
317 1 }
318 //**********************************确认键**************************************************************
319 void key_manage11()
320 {
321 1 enterflag=1; //确认键按下
322 1 if(n==8) //只有输入8个密码后按确认才做比较
323 1 mimaflag=mimacmp();
324 1 else
325 1 mimaflag=0;
326 1 if(enterflag==1)
327 1 {
328 2 enterflag=0;
329 2 n=0;
330 2 //用FFFFFFFF清除已经输入的密码
331 2 for(count3=0;count3<8;count3++)
332 2 {
333 3 delay(5);
334 3 tab_key[count3]=0x0f;
335 3 }
336 2
337 2 TR1=1; //打开计数器1
338 2 count1=0; //定时器1由50MS累计到1S所用的计数器
339 2 if(mimaflag==1)
340 2 {
341 3 a=0;
342 3
343 3 write_com(0x01);
344 3 write_com(0x80);
345 3 for(count3=0;count3<16;count3++)
346 3 {
347 4 write_date(table4[count3]); //密码正确,显示RIGHT,绿灯亮
348 4 delay(5);
349 4 }
350 3 }
351 2
352 2 else
353 2 {
354 3 n=0;
355 3 red=0;
356 3 bell=0;
357 3 a++;
358 3 if(a==1)
359 3 {
360 4 for(count3=0;count3<8;count3++) //ffffffff清除密码
361 4 {
362 5 delay(5);
363 5 tab_key[count3]=0x0f;
364 5 }
365 4 write_com(0x01);
C51 COMPILER V8.02 PASSWORD 07/22/2009 13:42:13 PAGE 7
366 4 write_com(0x80);
367 4 for(count3=0;count3<16;count3++)
368 4 {
369 5 write_date(table5[count3]); //密码错误,显示 first error,红灯亮
370 5 delay(5);
371 5 }
372 4 TR1=1;
373 4 }
374 3 if(a==2)
375 3 {
376 4 for(count3=0;count3<8;count3++) //ffffffff清除密码
377 4 {
378 5 delay(5);
379 5 tab_key[count3]=0x0f;
380 5 }
381 4 write_com(0x01);
382 4 write_com(0x80);
383 4 for(count3=0;count3<16;count3++)
384 4 {
385 5 write_date(table6[count3]); //密码错误,显示SECOND ERROR,红灯亮
386 5 delay(5);
387 5 }
388 4 TR1=1;
389 4 }
390 3
391 3 if(a==3)
392 3 {
393 4 for(count3=0;count3<8;count3++) //ffffffff清除密码
394 4 {
395 5 delay(5);
396 5 tab_key[count3]=0x0f;
397 5 }
398 4 write_com(0x01);
399 4 write_com(0x80);
400 4 for(count3=0;count3<16;count3++)
401 4 {
402 5 write_date(table7[count3]); //密码错误,显示third error see,红灯亮
403 5 delay(5);
404 5 }
405 4 write_com(0x80+0x40);
406 4 for(count3=0;count3<16;count3++)
407 4 {
408 5 write_date(table8[count3]);//密码错误,显示 U TOMORROW ,红灯亮
409 5 delay(5);
410 5 }
411 4 TR1=0;
412 4
413 4 }
414 3
415 3 }
416 2 }
417 1
418 1 }
419 void key_manage12()
420 {
421 1 tab_key[n]=11;
422 1 n++; //密码计数清零
423 1
424 1 }
425 //****************************************************取消键********************************************
426 void key_manage13()
427 {
C51 COMPILER V8.02 PASSWORD 07/22/2009 13:42:13 PAGE 8
428 1
429 1 n=0; //密码计数清零
430 1 write_com(0x80); //指针所指位置
431 1 for(count3=0;count3<16;count3++)
432 1 {
433 2 write_date(table1[count3]); //第一行显示INPUT THE PASSPORD:
434 2 delay(5);
435 2 }
436 1 write_com(0x80+0x40);
437 1 for(count3=0;count3<16;count3++)
438 1 {
439 2 write_date(table2[count3]); //开机显示--------
440 2 delay(5);
441 2 tab_key[count3]=0x0f; //用FFFFFFFF清楚已经输入的密码
442 2 }
443 1
444 1 }
445 //*******************************************修改密码键**********************************
446 void key_manage14()
447 {
448 1 uchar aa=0;
449 1 n=0;
450 1 xiugaiflag=1;
451 1 write_com(0x01);
452 1 write_com(0x80);
453 1 for(count3=0;count3<16;count3++)
454 1 {
455 2 write_date(table9[count3]); //显示define the password
456 2 delay(5);
457 2 tab_key[count3]=0x0f; //用FFFFFFFF清楚已经输入的密码
458 2 }
459 1 write_com(0x80+0x40);
460 1 for(count3=0;count3<16;count3++)
461 1 {
462 2 write_date(table10[count3]); //显示--------
463 2 delay(5);
464 2 }
465 1 TR0=1;
466 1
467 1 }
468 //******************************************修改密码键的确认键********************************
469 void key_manage15()
470 {
471 1 n=0;
472 1 enter1flag=1;
473 1 if(enter1flag==1)
474 1 {
475 2 enter1flag=0;
476 2 count4=0;
477 2 for(count3=0;count3<16;count3++)
478 2 {
479 3 tab_key[count3]=0x0f; //用FFFFFFFF清楚已经输入的密码
480 3 }
481 2 write_com(0x01);
482 2 write_com(0x80);
483 2 for(count3=0;count3<16;count3++)
484 2 {
485 3 write_date(table11[count3]);
486 3 delay(100);
487 3 }
488 2 TR1=1;
489 2 count1=0;
C51 COMPILER V8.02 PASSWORD 07/22/2009 13:42:13 PAGE 9
490 2 }
491 1 }
492 void key_manage16()
493 {
494 1 tab_key[n]=15;
495 1 n++;
496 1 }
497
498 //****************************************定时器1的50MS,共延时1秒*****************************
499 void time_1() interrupt 3
500 {
501 1
502 1 TH1=(65536-50000)/256;
503 1 TL1=(65536-50000)%256;
504 1 if(count1<20)
505 1 {
506 2 count1++;
507 2 }
508 1 else //计时到1S
509 1 {
510 2 TR1=0;
511 2 count1=0;
512 2 mimaflag=0;
513 2
514 2 red=1;
515 2 bell=1;
516 2 //显示FFFFFFFF
517 2 write_com(0x01);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -