⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mima.lst

📁 液晶显示键盘操作密码编辑控制加上对存储器操作
💻 LST
字号:
C51 COMPILER V7.50   MIMA                                                                  04/10/2008 19:53:24 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MIMA
OBJECT MODULE PLACED IN .\obj\MiMa.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE src\MiMa.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\MiMa.lst) OBJECT(.\obj\MiM
                    -a.obj)

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          
   4          #define   EXTERN_YEJING
   5          #include "yejing.h"
   6          
   7          #include "MiMa.h"
   8          
   9          #define  EXTERN_I2C
  10          #include "i2c.h"
  11          
  12          ///////////////////////////变量定义///////////////////////////////////////////////
  13           bit inputmima;///////////密码正确与否标志/////
  14           bit inputzhanghao;///////帐号正确与否标志/////
  15           bit configxinmima;///////设置新密码成功与否标志//////////
  16           uchar Sab1[7];//={0,0,0,0,0,0,0};////帐号输入寄存变量/////
  17           uchar Sab2[7];//={0,0,0,0,0,0,0};////密码输入寄存变量/////
  18           uchar Sab3[7];/////////////////////新密码输入寄存变量//////
  19           uchar Sab4[6];/////////第一次输入新密码后,新密码的寄存变量//与写AT24C01有关////
  20           uchar  k;//// k的值反映程序当前是在处理帐号,还是密码,还是新密码,还是其他等/////
  21           int m1,m2,m3;/////m1、m2和m3的值反映了在输入帐号和密码、新密码时共输入了几位数字///////
  22           uchar number;   /////输入密码错误的次数标志/////////
  23           bit flag1,flag2,flag3,flag4,flag5,flag6,flag7,flag8,flag9,flag10,flag11,flag12;//,flag13;
  24           //////////////////////////各种标志,可控制程序的走向/////////////
  25           uchar z2,z3;///////第几次密码输入正确的标志/////
  26           uchar g_i;  //////确定在处理哪个客户的帐号和密码////////
  27          ////////////////////////////////////////////////////////////////////////////////////
  28          
  29          ///////////////////////////键盘处理函数:共有7个模块///////////////////////////////////////////////
  30          //////用户按正常流程连续操作,可分别进入到7个模块中,并可成功进入界面。用户在每个模块中的////////
  31          //////每一步操作中如果有意停留系统会在预定的时间到达后自动退出bit Keyboard_Process(void)函数//////
  32          //////////(之后的模块均不执行)///////////////////////////////////////////////////////////////////
  33          
  34           bit Keyboard_Process(void)/////成功进入界面,返回1,否则返回0/////////
  35          {
  36   1       inputmima=0;///////////密码正确与否标志/////
  37   1       inputzhanghao=0;///////帐号正确与否标志/////
  38   1       configxinmima=0;
  39   1       k=0;//// k的值反映当前是处理帐号还是密码/////
  40   1       m1=-1;m2=-1;m3=-1;/////m1和m2的值反映了在输入帐号和密码时共输入了几位数字///////
  41   1       number=0;   /////输入密码错误的次数/////////
  42   1       z2=z3=111;///////第几次密码输入正确的标志/////
  43   1       P0=0x8f; /////键盘的正常工作赋值//////////////////////
  44   1      
  45   1      ///////////////////////////// 模块1 ///////////////////////////////////////////////////////////
  46   1       if((P00&P01&P02&P03)==0)/////第1个if(P26&P25&P24&P23==0)开始////////
  47   1        {
  48   2           flag1=1;
  49   2           LcdWriteCommand(0x01,1);   //显示清屏///
  50   2           Disp_strings(0,0,"  您有帐号吗? %");///您有帐号吗?////
  51   2           Disp_strings(0,1,"有请按 Y%"); ///有请按 Y//////
  52   2           while((P00&P01&P02&P03)==0);/////等待键释放/////
  53   2           Wooae(flag1);/////保证能从此处退出第1个if(P26&P25&P24&P23==0),此处后面的程序均不要执行/////////
  54   2        }/////第一个if(P26&P25&P24&P23==0)结束////////
C51 COMPILER V7.50   MIMA                                                                  04/10/2008 19:53:24 PAGE 2   

  55   1      //////////////////////////////////////////////////////////////////////////////////////////////////
  56   1      
  57   1      ////////////////// 模块2 //如果用户继续往下面操作,进入模块2////////////////////////////////////
  58   1        if((P00&P01&P02&P03)==0)/////第2个if(P26&P25&P24&P23==0)开始///////
  59   1          {
  60   2              uchar keynum1;
  61   2              flag2=1;
  62   2              keynum1=Get_KeyNum();
  63   2          //    while((P00&P01&P02&P03)==0);/////等待键释放后执行键功能函数/////
  64   2              switch(keynum1)
  65   2                        {
  66   3                 case 10: LcdWriteCommand(0x01,1);    //显示清屏///
  67   3                          Disp_strings(0,0,"请输入帐号: %");///请输入帐号: ////
  68   3                          k=10; break;
  69   3                default : LcdWriteCommand(0x01,1);    //显示清屏///
  70   3                          Disp_strings(0,0,"没有按提示操作! %");///没有按提示操作!////
  71   3                          Delay400Ms();Delay400Ms();
  72   3                                            break;///此情况没有按提示操作,认为是误操作,会很快退出///////
  73   3                        }/////switch结构结束////
  74   2             Wooae(flag2);/////保证能从此处退出第2个if(P26&P25&P24&P23==0),此处后面的程序均不要执行/////////
  75   2          }/////第2个if(P26&P25&P24&P23==0)结束///////
  76   1      //////////////////////////////////////////////////////////////////////////////////////////////////////////
  77   1      
  78   1      ////////////// 模块3 //如果用户继续往下面操作,进入模块3//////////////////////////////////////////////
  79   1      ///////////////////////////先处理帐号:k=10的情况///////////////////////////////////////////
  80   1         while(((P00&P01&P02&P03)==0)&&(k==10))
  81   1           {
  82   2             uchar keynum2;
  83   2                 flag3=1; flag4=0;flag5=0;
  84   2                 keynum2=Get_KeyNum();
  85   2          //   while((P00&P01&P02&P03)==0);/////等待键释放后执行键功能函数/////
  86   2              m1++;
  87   2                      if(m1<=6)
  88   2                      {
  89   3              switch(keynum2)
  90   3                        {
  91   4                 case 0: Disp_strings(m1,1,"* %");///显示"* " ////
  92   4                         Sab1[m1]=0; break;
  93   4                 case 1: Disp_strings(m1,1,"* %");///显示"* " ////
  94   4                         Sab1[m1]=1; break;
  95   4                 case 2: Disp_strings(m1,1,"* %");///显示"* " ////
  96   4                         Sab1[m1]=2; break; 
  97   4                 case 3: Disp_strings(m1,1,"* %");///显示"* " ////
  98   4                         Sab1[m1]=3; break;
  99   4                 case 4: Disp_strings(m1,1,"* %");///显示"* " ////
 100   4                         Sab1[m1]=4; break;
 101   4                 case 5: Disp_strings(m1,1,"* %");///显示"* " ////
 102   4                         Sab1[m1]=5; break;
 103   4                 case 6: Disp_strings(m1,1,"* %");///显示"* " ////
 104   4                         Sab1[m1]=6; break; 
 105   4                 case 7: Disp_strings(m1,1,"* %");///显示"* " ////
 106   4                         Sab1[m1]=7; break;
 107   4                 case 8: Disp_strings(m1,1,"* %");///显示"* " ////
 108   4                         Sab1[m1]=8; break;
 109   4                 case 9: Disp_strings(m1,1,"* %");///显示"* " ////
 110   4                         Sab1[m1]=9; break;
 111   4                case 10: Disp_strings(m1,1,"Y %");///显示"Y " ////表示确认//
 112   4                                 Delay400Ms();Delay400Ms();
 113   4                                 ZhangHao_hit_Y_Process(); /////调用帐号按Y处理函数////// 
 114   4                         break;
 115   4                case 11: Disp_strings(m1,1,"N %");///显示"N " ////表示取消//
 116   4                         Delay400Ms();Delay400Ms();  
C51 COMPILER V7.50   MIMA                                                                  04/10/2008 19:53:24 PAGE 3   

 117   4                                 LcdWriteCommand(0x01,1);     //显示清屏///
 118   4                         Disp_strings(0,0,"本次输入有误! %");///本次输入有误!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -