📄 main.lst
字号:
198 void menu_select()
199 {
200 1 unsigned char key=0,temp1=0,temp2=0;
201 1 temp1=getch();
202 1 temp2=sp2key_scan();
203 1 if(temp1!=255)
204 1 {
205 2 switch (temp1) //清除选中状态
206 2 {
207 3 case 12: PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu++;break;
*** WARNING C182 IN LINE 207 OF MAIN.C: pointer to different objects
208 3 case 13: fun1=menu+1;break; //进入功能函数
209 3 case 14:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu--;break;
*** WARNING C182 IN LINE 209 OF MAIN.C: pointer to different objects
210 3 case 15:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu+=2;break;
*** WARNING C182 IN LINE 210 OF MAIN.C: pointer to different objects
211 3 }
212 2 menu=menu%4;
213 2 PutBMP2(menu*4+1,0,5, 32,bmp[menu],0); //将选中的功能函数反白
*** WARNING C182 IN LINE 213 OF MAIN.C: pointer to different objects
214 2 beeping(12,20);
215 2 }
216 1 if(temp2!=255)
217 1 {
218 2 switch(temp2)
219 2 {
220 3 case 8:
221 3 case 2:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu+=2;break;
*** WARNING C182 IN LINE 221 OF MAIN.C: pointer to different objects
222 3 case 6:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu++;break;
*** WARNING C182 IN LINE 222 OF MAIN.C: pointer to different objects
223 3 case 4:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu--;break;
*** WARNING C182 IN LINE 223 OF MAIN.C: pointer to different objects
224 3 case 48: fun1=menu+1;break;
225 3 }
226 2 menu=menu%4;
227 2 PutBMP2(menu*4+1,0,5, 32,bmp[menu],0);//将选中的功能函数反白
*** WARNING C182 IN LINE 227 OF MAIN.C: pointer to different objects
228 2 test=temp2;
229 2 beeping(12,20);
230 2 }
231 1 led_display(test);
232 1 }
233 /*****************************************************************
C51 COMPILER V8.02 MAIN 11/12/2007 01:02:04 PAGE 5
234 从键盘中获取二位数
235 ******************************************************************/
236 unsigned char get_num()
237 {
238 1 unsigned char q=0,temp=0,key2=0;
239 1 Location_xy_12864(2,2);
240 1 while(1)
241 1 {
242 2 key2=sp2key_scan();
243 2 if(key2<10)
244 2 {
245 3 q++;
246 3 if(q==1)temp+=key2*10;
247 3 if(q==2)temp+=key2;
248 3 input(key_table[key2],q);
249 3 beeping(12,20);
250 3 delayms(100);
251 3 if(q==2)break;
252 3 }
253 2 }
254 1 return temp;
255 1 }
256 /*************************************************************
257 时钟服务函数
258 包括:修改时间
259 定闹钟
260 开闹钟
261 关闹钟
262 *************************************************************/
263 void clockser()
264 {
265 1 unsigned char key2=255,i=0,q=0,print[7];
266 1 LcmClearTXT();
267 1 PutStr(0,2,"service:");
268 1 PutStr(1,0,"1.adjust timer");
269 1 PutStr(2,0,"2.set ring");
270 1 while(1)
271 1 {
272 2
273 2 key2=sp2key_scan();
274 2 if(key2!=255)
275 2 {
276 3
277 3 if(key_table[key2]=='1')
278 3 {
279 4 LcmClearTXT();
280 4 PutStr(0,0,"hour");
281 4 do
282 4 {
283 5 print[2]=get_num();
284 5 }while(print[2]>24);
285 4 LcmClearBMP();
286 4 LcmClearTXT();
287 4 PutStr(0,0,"min");
288 4 do
289 4 {
290 5 print[1]=get_num();
291 5 }while(print[1]>60);
292 4 LcmClearBMP();
293 4 LcmClearTXT();
294 4 PutStr(0,0,"month");
295 4 do
C51 COMPILER V8.02 MAIN 11/12/2007 01:02:04 PAGE 6
296 4 {
297 5 print[4]=get_num();
298 5 }while(print[4]>12);
299 4 LcmClearBMP();
300 4 LcmClearTXT();
301 4 PutStr(0,0,"day");
302 4 do
303 4 {
304 5 print[3]=get_num();
305 5 }while(print[3]>24);
306 4 LcmClearBMP();
307 4 LcmClearTXT();
308 4 PutStr(0,0,"year");
309 4 do
310 4 {
311 5 print[6]=get_num();
312 5 }while(print[7]>99);
313 4 LcmClearBMP();
314 4 LcmClearTXT();
315 4 v_BurstW1302T(print);
316 4 LcmClearBMP();
317 4 return;
318 4 }
319 3 if(key2==2)
320 3 {
321 4 LcmClearTXT();
322 4 PutStr(0,0,"1.adjust ring");
323 4 PutStr(1,0,"2.open ring");
324 4 PutStr(2,0,"3.close ring");
325 4 while(1)
326 4 {
327 5 key2=sp2key_scan();
328 5 if(key2!=255)
329 5 {
330 6 if(key_table[key2]=='1')
331 6 {
332 7 LcmClearTXT();
333 7 PutStr(0,0,"hour:");
334 7 do
335 7 {
336 8 print[2]=get_num();
337 8 }while(print[2]>24);
338 7 LcmClearTXT();
339 7 PutStr(0,0,"min:");
340 7 do
341 7 {
342 8 print[1]=get_num();
343 8 }while(print[1]>60);
344 7 hour_sound=print[2];
345 7 minute_sound=print[1];
346 7 clock_flag=1;
347 7 LcmClearTXT();
348 7 LcmClearBMP();
349 7 return;
350 7 }
351 6 if(key_table[key2]=='2')
352 6 {
353 7 clock_flag=1;
354 7 LcmClearTXT();
355 7 PutStr(1,0,"ring opened");
356 7 delayms(1600);
357 7 LcmClearBMP();
C51 COMPILER V8.02 MAIN 11/12/2007 01:02:04 PAGE 7
358 7 LcmClearTXT();
359 7 return;
360 7 }
361 6 if(key_table[key2]=='3')
362 6 {
363 7 clock_flag=0;
364 7 LcmClearTXT();
365 7 PutStr(1,0,"ring closed");
366 7 delayms(1500);
367 7 LcmClearBMP();
368 7 LcmClearTXT();
369 7 return;
370 7 }
371 6 }
372 5 }
373 4 }
374 3 }
375 2 }
376 1 }
377 /**************************************************************
378 ring 闹钟检测
379 *****************************************************************/
380 void ring()
381 {
382 1 if(clock_flag)
383 1 {
384 2 if(reach_time())
385 2 {
386 3 Play_Song();
387 3 clock_flag=0;
388 3 }
389 2 }
390 1 }
391 /********************************************************************
392 温度报警函数
393 **********************************************************************/
394 void warning()
395 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -