📄 smallfunction.lst
字号:
C51 COMPILER V7.50 SMALLFUNCTION 04/03/2007 10:38:52 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SMALLFUNCTION
OBJECT MODULE PLACED IN SmallFunction.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\SmallFunction.c BROWSE DEBUG OBJECTEXTEND PRINT(.\SmallFunction
-.lst) OBJECT(SmallFunction.obj)
line level source
1 #include "iic.h"
2 //////////////
3 //2007-3-26 20:01
4
5 void PrintNum(unsigned char x,unsigned char y,unsigned int dat)
6 {//3位数,不消隐
*** WARNING C235 IN LINE 6 OF IIC[ULTRAL]\SMALLFUNCTION.C: parameter 3: different types
7 1 //2007-3-26 20:09
8 1 unsigned char xdata i;
9 1 while(dat>=1000)
10 1 dat-=1000;
11 1 i=0;
12 1 while(dat>=100)
13 1 {
14 2 dat-=100;
15 2 i++;
16 2 }
17 1 LcdChar(x,y,NUM_H);
18 1 LcdAddChar(NUM_L+i);
19 1 i=0;
20 1 while(dat>=10)
21 1 {
22 2 dat-=10;
23 2 i++;
24 2 }
25 1 LcdChar(x,y+1,NUM_H);
26 1 LcdAddChar(NUM_L+i);
27 1 LcdChar(x,y+2,NUM_H);
28 1 LcdAddChar(NUM_L+dat);
29 1 }
30
31 void PrintNum2(unsigned char x,unsigned char y,unsigned int dat)
32 {//3位数,大于1000消隐
*** WARNING C235 IN LINE 32 OF IIC[ULTRAL]\SMALLFUNCTION.C: parameter 3: different types
33 1 //2007-3-27 9:35
34 1 unsigned char xdata i,k;
35 1 LcdChar(x,y,0x20);//灭
36 1 for(i=0;i<5;i++)
37 1 LcdAddChar(0x20);
38 1 if(dat>=1000)
39 1 return;
40 1 i=0;
41 1 k=0;
42 1 while(dat>=100)
43 1 {
44 2 dat-=100;
45 2 i++;
46 2 }
47 1 if(i)
48 1 {
49 2 LcdChar(x,y,NUM_H);
50 2 LcdAddChar(NUM_L+i);
51 2 k=1;
52 2 }
C51 COMPILER V7.50 SMALLFUNCTION 04/03/2007 10:38:52 PAGE 2
53 1 i=0;
54 1 while(dat>=10)
55 1 {
56 2 dat-=10;
57 2 i++;
58 2 }
59 1 if(i||k)
60 1 {
61 2 LcdChar(x,y+1,NUM_H);
62 2 LcdAddChar(NUM_L+i);
63 2 k=1;
64 2 }
65 1 LcdChar(x,y+2,NUM_H);
66 1 LcdAddChar(NUM_L+dat);
67 1
68 1 }
69
70 unsigned int Get44Key(unsigned char x,unsigned char y)
71 {
72 1 //2007-3-27 9:35
73 1 unsigned char kv,i,k;
74 1 unsigned int kt;
75 1 kt=1000;//1000为取消值
76 1 k=10;//
77 1 i=0;
78 1 LcdCur(x,y);
79 1 kv=KEY_NOKEY;
80 1 while(1)
81 1 {//需加入自动切换代码
82 2 while(kv==KEY_NOKEY)
83 2 {
84 3 kv=GetKey();
85 3 if(SecondFlag)
86 3 {
87 4 SecondCheck();
88 4 AutoLockCnt--;
89 4 SecondFlag=0;
90 4 if(AutoLockCnt<SYS_AUTO_LOCK_TIME)
91 4 {
92 5 DeskTopFlag=1;
93 5 PswLock=1;
*** ERROR C202 IN LINE 93 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'PswLock': undefined identifier
94 5 return(1000);
95 5 }
96 4 }
97 3 }
98 2 AutoLockCnt=SYS_LCD_OFF_TIME;
99 2
100 2 switch(kv)
101 2 {
102 3 case KEY_NUM0:
103 3 k=0;
104 3 break;
105 3 case KEY_NUM1:
106 3 k=1;
107 3 break;
108 3 case KEY_NUM2:
109 3 k=2;
110 3 break;
111 3 case KEY_NUM3:
112 3 k=3;
113 3 break;
C51 COMPILER V7.50 SMALLFUNCTION 04/03/2007 10:38:52 PAGE 3
114 3 case KEY_NUM4:
115 3 k=4;
116 3 break;
117 3 case KEY_NUM5:
118 3 k=5;
119 3 break;
120 3 case KEY_NUM6:
121 3 k=6;
122 3 break;
123 3 case KEY_NUM7:
124 3 k=7;
125 3 break;
126 3 case KEY_NUM8:
127 3 k=8;
128 3 break;
129 3 case KEY_NUM9:
130 3 k=9;
131 3 break;
132 3 case KEY_BKSPACE://退格
133 3 k=10;
134 3 if(i>1)
135 3 {
136 4 kt/=10;
137 4 i--;
138 4 }
139 3 else if (i==1)
140 3 {
141 4 kt=NUM_CANCEL;
*** ERROR C202 IN LINE 141 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'NUM_CANCEL': undefined identifier
142 4 i=0;
143 4 }
144 3 PrintNum2(x,y,kt);
145 3 break;
146 3 case KEY_CANCEL:
147 3 case KEY_MENU://相当于取消
148 3 LcdCurOff();
149 3 return(1000);
150 3 case KEY_ENTER:
151 3 LcdCurOff();
152 3 return(kt);
153 3 default:
154 3 k=10;
155 3 }
156 2 if(k==10)
157 2 continue;//无效继续循环
158 2 if(i>=3)
159 2 continue;
160 2 if(kt==NUM_CANCEL)
*** ERROR C202 IN LINE 160 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'NUM_CANCEL': undefined identifier
161 2 kt=k;
162 2 else
163 2 {
164 3 kt=kt*10;
165 3 kt+=k;
166 3 }
167 2 PrintNum2(x,y,kt);
168 2 i++;
169 2 LcdCur(x,y+i);//光标
170 2 k=10;
171 2 }
172 1 }
173
C51 COMPILER V7.50 SMALLFUNCTION 04/03/2007 10:38:52 PAGE 4
174 unsigned char Get256Key(unsigned char x,unsigned char y)
175 {
176 1 unsigned int xdata t;
177 1 t=Get44Key(x,y);
178 1 if(t>255)//取消则返回255
179 1 return(255);
180 1 x=(unsigned char)(t & 0xff);
181 1 return(x);
182 1 }
183
184 unsigned char GetBoolKey(unsigned char x,unsigned char y,unsigned char bl)
185 {
186 1 unsigned char xdata i,k,ik;
187 1 i=bl;
188 1
189 1 k=Line[x];
*** ERROR C202 IN LINE 189 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'Line': undefined identifier
190 1 ik=k+y;
191 1 WriteCmd(0x0f);//开下标
192 1 if(bl)
193 1 LcdCnString(x,y,"是");
194 1 else
195 1 LcdCnString(x,y,"否");
196 1 WriteCmd(ik);//1xxx,xxxx 设定DDRAM 7位地址xxx,xxxx到地址计数器AC
197 1
198 1 while(1)
199 1 {
200 2 k=GetKey();
201 2 if(k==KEY_NOKEY)
202 2 continue;
203 2 if(k==KEY_CANCEL)
204 2 {
205 3 WriteCmd(0x0c);//关下标
206 3 return i;//取消
207 3 }
208 2
209 2 if(k==KEY_ENTER)
210 2 {
211 3 WriteCmd(0x0c);//关下标
212 3 return bl;
213 3 }
214 2 bl=!bl;
215 2 if(bl)
216 2 {
217 3 LcdCnString(x,y,"是");
218 3 WriteCmd(ik);
219 3 }
220 2 else
221 2 {
222 3 LcdCnString(x,y,"否");
223 3 WriteCmd(ik);
224 3 }
225 2 }
226 1 }
227
228 void GetPassword(unsigned char x,unsigned char y)
229 {
230 1 //2007-4-2 19:43
231 1 //输入:无,返回:AppBuf[0],AppBuf[1]
232 1 unsigned char kv,i,k;
233 1 unsigned int kt,kt1;
234 1 kt=0;//1000为取消值
C51 COMPILER V7.50 SMALLFUNCTION 04/03/2007 10:38:52 PAGE 5
235 1 kt1=0;
236 1 k=10;//
237 1 i=0;
238 1 LcdCur(x,y);
239 1 kv=KEY_NOKEY;
240 1 while(1)
241 1 {//需加入自动切换代码
242 2 while(kv==KEY_NOKEY)
243 2 {
244 3 kv=GetKey();
245 3 if(SecondFlag)
246 3 {
247 4 SecondCheck();
248 4 AutoLockCnt--;
249 4 SecondFlag=0;
250 4 if(AutoLockCnt<SYS_AUTO_LOCK_TIME)
251 4 {
252 5 DeskTopFlag=1;
253 5 PswLock=1;
*** ERROR C202 IN LINE 253 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'PswLock': undefined identifier
254 5 AppBuf[0]=0xff;
*** ERROR C202 IN LINE 254 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'AppBuf': undefined identifier
255 5 AppBuf[1]=0xff;
*** ERROR C202 IN LINE 255 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'AppBuf': undefined identifier
256 5 LcdCurOff();
257 5 return;
258 5 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -