📄 mima.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 + -