📄 config.lst
字号:
C51 COMPILER V7.50 CONFIG 05/13/2008 18:45:45 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CONFIG
OBJECT MODULE PLACED IN .\obj\config.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE src\config.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\config.lst) OBJECT(.\obj
-\config.obj)
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3
4 #define EXTERN_LCD
5 #include "lcd.h"
6
7 #include "config.h"
8
9 void Keyboard_Process(void)
10 {
11 1 // uchar kkk=0;
12 1 // uchar k=0;
13 1 // uchar g_slt_N=0;
14 1 //int m1=-1,m2=-1,m3=-1;
15 1 bit flag1=0,flag2=0;//,flag3=0,flag4=0,flag5=0,flag6=0,flag7=0,flag8=0;//,flag9=0;
16 1 //bit flag9=0,flag10=0,flag11=0,flag12=0,flag13=0,flag14=0,flag15=0,flag16=0;//,flag6=0;
17 1 //bit flag17=0,flag18=0,flag19=0,flag20=0,flag21=0;
18 1 //bit yearflag=0,monthflag=0,dateflag=0,dayflag=0,hourflag=0,minflag=0,secflag=0;
19 1 // uchar Sab1[5]={0,0,0,0,0};
20 1 // uchar Sab2[3]={0,0,0};
21 1 // uchar Sab3[2]={0,0};
22 1
23 1 P0=0xf0; /////键盘的正常工作赋值//////////////////////
24 1
25 1 if((P07&P06&P05&P04)==0)/////第1个if(P26&P25&P24&P23==0)开始////////
26 1 {
27 2 flag1=1;
28 2 LCD_Clear_Graphics();//清除图形层显示数据//
29 2 LCD_Clear_Text();//////清除文本层显示数据///////////////////////
30 2 Disp_Start();
*** WARNING C206 IN LINE 30 OF SRC\CONFIG.C: 'Disp_Start': missing function-prototype
31 2 Delay(800);
32 2 LCD_Clear_Text();
33 2 Disp_interface_1();
*** WARNING C206 IN LINE 33 OF SRC\CONFIG.C: 'Disp_interface_1': missing function-prototype
34 2 Delay(800);
35 2 while((P07&P06&P05&P04)==0) ;/////等待键释放/////
36 2 Wooae(flag1);/////保证能从此处退出第1个if(P26&P25&P24&P23==0),此处后面的程序均不要执行/////////
37 2 }
38 1 /////////////////////////////////////////////////////////////////////////////
39 1
40 1 //////////////////用户继续往下面操作键盘////////////////////////////////////
41 1 if((P07&P06&P05&P04)==0)/////第2个if(P26&P25&P24&P23==0)开始///////
42 1 {
43 2 uchar keynum1;
44 2 flag2=1;
45 2 keynum1=Get_KeyNum();
46 2 while((P07&P06&P05&P04)==0) ;/////等待键释放后执行键功能函数/////
47 2 switch(keynum1)
48 2 {
49 3 case 0x0B: Disp_interface_2();
*** WARNING C206 IN LINE 49 OF SRC\CONFIG.C: 'Disp_interface_2': missing function-prototype
50 3 Delay(800);
51 3 break;
C51 COMPILER V7.50 CONFIG 05/13/2008 18:45:45 PAGE 2
52 3 case 0x0E: Disp_interface_11();
*** WARNING C206 IN LINE 52 OF SRC\CONFIG.C: 'Disp_interface_11': missing function-prototype
53 3 Delay(800);
54 3 flag2=0;
55 3 break;
56 3 default :LCD_Write_word(2,48,"不要乱按键!%");
57 3 flag2=0;
58 3 break;//////////
59 3 //////////////////////后面没有k=12的分支功能程序,会自动退出//////////////
60 3 }/////switch结构结束////
61 2 Wooae(flag2);/////保证能从此处退出第1个if(P26&P25&P24&P23==0),此处后面的程序均不要执行/////////
62 2 }/////第2个if(P26&P25&P24&P23==0)结束///////
63 1
64 1 }
65
66 /******************************等待连续操作,超时间自动退出函数****************************
67 *入口参数: bit flag
68 *出口参数: 无
69 函数功能 : wait_operation_overtime_auto_exit//等待连续操作,超时间自动退出函数
70 ************************************************************************/
71 void Wooae(bit flag)
72 {
73 1 uchar w=0;
74 1 while(((P07&P06&P05&P04)==1)&&(flag==1))
75 1 {
76 2 w++;
77 2 Delay(800);
78 2 if(w==30)
79 2 {
80 3 // LcdWriteCommand(0x01,1);
81 3 // g_slt=20;g_year=0x07;g_month=0x07; g_day=0x05;
82 3 // g_date=0x13;g_hour=0x23;g_min=0x36; g_sec=0x08;
83 3 // yearflag=monthflag=dateflag=dayflag=hourflag=minflag=secflag=0;
84 3 LCD_Clear_Graphics();//清除图形层显示数据//
85 3 LCD_Clear_Text();//////清除文本层显示数据///////////////////////
86 3 flag=0;
87 3 ;
88 3 }
89 2 }/////保证能从此处退出第1个if(P26&P25&P24&P23==0),此处
90 1 }
91 /////////////////////////////////////////////////////////////////////////////////////////////
92 ///////////////////////键盘扫描函数///////////////////////////////////////////////////////////////
93 uchar Get_KeyNum(void)
94 {
95 1 uchar key_code,row;
96 1 uint i=0;
97 1 row=0;
98 1 ////////////////////////////////////////////////////////////////////////////////
99 1 ///模块功能:确定有真实的键按下时,跳出循环往下走。否则一直在循环体内等待/////////////////////////////////
-///////////////////////////////
100 1 P0=0x8f; /////////////正常赋值//////////////
101 1 while(1)
102 1 {
103 2 // uint i=0;
104 2 D: while((P07&P06&P05&P04)==1);//
105 2 key_xd_delay();////键消抖延时/////
106 2 if((P07&P06&P05&P04)==1)
107 2 {i++;
108 3 if(i==6000){goto D;}
109 3 else continue;
110 3 }
111 2 else break;
C51 COMPILER V7.50 CONFIG 05/13/2008 18:45:45 PAGE 3
112 2 }
113 1 //////////////////////////////////////////////////////////////////////////////////
114 1 ////模块功能:确定出按下的键在那一行,通过变量row的值去体现///////////////////////////////////////////////
-//////////////////////////
115 1 P0=0xfe;
116 1 while(1)
117 1 {
118 2 if((P07&P06&P05&P04)==1)
119 2 {
120 3 row++;
121 3 if(row>=3){row=0;P0=0xfe;}
122 3 P0=_crol_(P0,1);//|0x08)&0xe8;
123 3 continue;
124 3 }
125 2 else break;
126 2 }
127 1 ////////////////////////////////////////////////////////////////////////////////
128 1 /////模块功能:确定出按下的键在那一列,由此确定按下的键,返回键号key_code/////////////////////////////////
-///////////////////////////////////////
129 1 switch(row)
130 1 {
131 2 case 0: if(P07==0) key_code=0x04;
132 2 else{
133 3 if(P06==0) key_code=0x08;
134 3 else{
135 4 if(P05==0) key_code=0x0B;
136 4 else key_code=0x0F;
137 4 }
138 3 }
139 2 break;
140 2 case 1: if(P07==0) key_code=0x03;
141 2 else{
142 3 if(P06==0) key_code=0x07;
143 3 else{
144 4 if(P05==0) key_code=0x00;
145 4 else key_code=0x0E;
146 4 }
147 3 }
148 2 break;
149 2 case 2: if(P07==0) key_code=0x02;
150 2 else{
151 3 if(P06==0) key_code=0x06;
152 3 else{
153 4 if(P05==0) key_code=0x09;
154 4 else key_code=0x0D;
155 4 }
156 3 }
157 2 break;
158 2 case 3: if(P07==0) key_code=0x01;
159 2 else{
160 3 if(P06==0) key_code=0x05;
161 3 else{
162 4 if(P05==0) key_code=0x0A;
163 4 else key_code=0x0C;
164 4 }
165 3 }
166 2 break;
167 2 }
168 1 P0=0xf0; /////////////恢复正常赋值//////////////
169 1 return(key_code);
170 1 }
171 //////////////////////////////////////////////////////////////////////////////////////
C51 COMPILER V7.50 CONFIG 05/13/2008 18:45:45 PAGE 4
172
173 ///////////////////////////////////////////////////////////////////////////////////////////////////////
174 //键消抖延时函数//
175 void key_xd_delay(void)
176 {
177 1 uchar i;
178 1 for (i=300;i>0;i--);
179 1 }
180 //////////////////////////////////////////////////////////////////////////////////////////////////////
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 426 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 4 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -