📄 1.lst
字号:
245 1 if(key2 == 0) { delay(80); if(key2==0)
246 2 {
247 3 key++;
248 3 time[6]=key;
249 3 xianshi(11,time[6]/10,time[6]%10);
250 3 }
251 2 }
252 1 if(key1 == 0) { delay(80); if(key1==0)
253 2 {
254 3 key--;
255 3 time[6]=key;
256 3 xianshi(11,time[6]/10,time[6]%10);
257 3 }
258 2 }
259 1 }
260
261 void tiaoshi_month(void) //对月的调整
262 {
263 1 Inhanzi(Chinese05,3,0,2); //调时界面
264 1 Inhanzi(Chinese01,8,0,3);
265 1 Inhanzi(Chinese02,16,0,3);
266 1 Inhanzi(Chinese03,24,0,3);
267 1 Inhanzi(Chinese03,24,0,3);
268 1 xianshi(12,13,time[4]/10);
269 1 xianshi(13,time[4]%10,13);
270 1 key=time[4];
271 1 if(key2 == 0) { delay(80); if(key2==0)
272 2 {
273 3 key++;
274 3 time[4]=key;
275 3 xianshi(12,13,time[4]/10);
276 3 xianshi(13,time[4]%10,13);
277 3 }
278 2 }
279 1 if(key1 == 0) { delay(80); if(key1==0)
280 2 {
281 3 key--;
282 3 time[4]=key;
283 3 xianshi(12,13,time[4]/10);
284 3 xianshi(13,time[4]%10,13);
285 3 }
286 2 }
287 1 }
288
289 void tiaoshi_day(void) //对日的调整
290 {
291 1 Inhanzi(Chinese05,3,0,2); //调时界面
292 1 Inhanzi(Chinese01,8,0,3);
293 1 Inhanzi(Chinese02,16,0,3);
294 1 Inhanzi(Chinese03,24,0,3);
295 1 Inhanzi(Chinese03,24,0,3);
296 1 xianshi(14,time[3]/10,time[3]%10);
297 1 key=time[3];
298 1 if(key2 == 0) { delay(80); if(key2==0)
299 2 {
300 3 key++;
301 3 time[3]=key;
C51 COMPILER V8.01 1 05/17/2008 12:11:54 PAGE 6
302 3 xianshi(14,time[3]/10,time[3]%10);
303 3 }
304 2 }
305 1 if(key1 == 0) { delay(80); if(key1==0)
306 2 {
307 3 key--;
308 3 time[3]=key;
309 3 xianshi(14,time[3]/10,time[3]%10);
310 3 }
311 2 }
312 1 }
313
314 void tiaoshi_hour(void) //对时的调整
315 {
316 1 Inhanzi(Chinese05,3,0,2); //调时界面
317 1 Inhanzi(Chinese01,8,0,3);
318 1 Inhanzi(Chinese02,16,0,3);
319 1 Inhanzi(Chinese03,24,0,3);
320 1 Inhanzi(Chinese03,24,0,3);
321 1 xianshi(19,time[2]/10,time[2]%10);
322 1 key=time[2];
323 1 if(key2 == 0) { delay(80); if(key2==0)
324 2 {
325 3 key++;
326 3 time[2]=key;
327 3 xianshi(19,time[2]/10,time[2]%10);
328 3 }
329 2 }
330 1 if(key1 == 0) { delay(80); if(key1==0)
331 2 {
332 3 key--;
333 3 time[2]=key;
334 3 xianshi(19,time[2]/10,time[2]%10);
335 3 }
336 2 }
337 1 }
338
339 void tiaoshi_minute(void) //对分的调整
340 {
341 1 Inhanzi(Chinese05,3,0,2); //调时界面
342 1 Inhanzi(Chinese01,8,0,3);
343 1 Inhanzi(Chinese02,16,0,3);
344 1 Inhanzi(Chinese03,24,0,3);
345 1 Inhanzi(Chinese03,24,0,3);
346 1 xianshi(20,14,time[1]/10);
347 1 xianshi(21,time[1]%10,14);
348 1 key=time[1];
349 1 if(key2 == 0) { delay(80); if(key2==0)
350 2 {
351 3 key++;
352 3 time[1]=key;
353 3 xianshi(20,14,time[1]/10);
354 3 xianshi(21,time[1]%10,14);
355 3 }
356 2 }
357 1 if(key1 == 0) { delay(80); if(key1==0)
358 2 {
359 3 key--;
360 3 time[1]=key;
361 3 xianshi(20,14,time[1]/10);
362 3 xianshi(21,time[1]%10,14);
363 3 }
C51 COMPILER V8.01 1 05/17/2008 12:11:54 PAGE 7
364 2 }
365 1 }
366
367 void tiaoshi_week(void) //对星期的调整
368 {
369 1 Inhanzi(Chinese05,3,0,2); //调时界面
370 1 Inhanzi(Chinese01,8,0,3);
371 1 Inhanzi(Chinese02,16,0,3);
372 1 Inhanzi(Chinese03,24,0,3);
373 1 Inhanzi(Chinese03,24,0,3);
374 1 xianshi(27,10,time[5]);
375 1 key=time[5];
376 1 if(key2 == 0) { delay(80); if(key2==0)
377 2 {
378 3 key++;
379 3 time[5]=key;
380 3 xianshi(27,10,time[5]);
381 3 }
382 2 }
383 1 if(key1 == 0) { delay(80); if(key1==0)
384 2 {
385 3 key--;
386 3 time[5]=key;
387 3 xianshi(27,10,time[5]);
388 3 }
389 2 }
390 1 }
391 /*******************
392 闹钟调节
393 *******************/
394 void alarm_clock()
395 {
396 1 Inhanzi(Chinese06,3,0,2); //闹钟界面
397 1 Inhanzi(Chinese01,8,0,3);
398 1 Inhanzi(Chinese02,16,0,3);
399 1 Inhanzi(Chinese03,24,0,3);
400 1 xianshi(19,alarm[0]/10,alarm[0]%10);
401 1 xianshi(20,14,alarm[1]/10);
402 1 xianshi(21,alarm[1]%10,14);
403 1 if(key2 == 0) { delay(80); if(key2==0)
404 2 {
405 3 key++; if(key==24) key=0; //调节时
406 3 alarm[0]=key; //存储时
407 3 xianshi(19,alarm[0]/10,alarm[0]%10); //显示调节
408 3 }
409 2 }
410 1 if(key1 == 0) { delay(80); if(key2==0)
411 2 {
412 3 key++; if(key==60) key=0; //调节分
413 3 alarm[1]=key; //存储分
414 3 xianshi(20,14,alarm[1]/10); //显示调节
415 3 xianshi(21,alarm[1]%10,14);
416 3 }
417 2 }
418 1
419 1 }
420
421 /*-------------------------------------------待机状态-----------------------------------------------------
----*/
422 void daiji(void)
423 {
424 1 Inhanzi(Chinese04,3,0,2); //待机界面
C51 COMPILER V8.01 1 05/17/2008 12:11:54 PAGE 8
425 1 Inhanzi(Chinese01,8,0,3);
426 1 Inhanzi(Chinese02,16,0,3);
427 1 Inhanzi(Chinese03,24,0,3);
428 1 timexianshi(); //时间显示
429 1 //检测闹钟
430 1 if((time[2]==alarm[0])&&(time[1]==alarm[1]))
431 1 beep=0; //闹钟响
432 1 if(time[1]==alarm[1]+1)
433 1 beep=1; //闹钟响1分钟后停
434 1 }
435
436 //外中断1 子程序
437 void INT1_set() interrupt 2 using 0
438 {
439 1 delay(80);
440 1 if(key4==0) set++; //功能键值递增
441 1 if(set>=9)set=0; //键值的范围0~8
442 1 again:if(key4==0)goto again; //若按键未释放,则等待
443 1 }
444
445 /*-----------------------------------------------初始化部分-----------------------------------------------
------*/
446 void initial(void)
447 {
448 1 key1=key2=key3=key4=1;
449 1 beep=1;
450 1 write_com(0x30); //8BitMCU,基本指令集合
451 1 write_com(0x03); //AC归0,不改变DDRAM内容
452 1 write_com(0x0c); //显示ON,游标OFF,游标位反白OFF
453 1 write_com(0x01); //清屏,AC归0
454 1 write_com(0x06); //写入时,游标右移动
455 1 set1302(); //初始化对1302进行设置
456 1 }
457
458 void main(void)
459 {
460 1 initial(); //初始化
461 1 EA=1; //开启全局中断
462 1 PX1=1; //外中断1 设为最高优先级
463 1 EX1=1; //开启外中断1
464 1 while(1)
465 1 {
466 2 switch(set) //判断 set 的值
467 2 {
468 3 case 0: daiji(); break; //待机界面
469 3
470 3 case 1: tiaoshi_year(); break; //调时 年
471 3 case 2: tiaoshi_month(); break; // 月
472 3 case 3: tiaoshi_day(); break; // 日
473 3 case 4: tiaoshi_hour(); break; // 时
474 3 case 5: tiaoshi_minute(); break; // 分
475 3 case 6: tiaoshi_week(); break; // 秒
476 3 case 7: alarm_clock(); break; //调节闹钟
477 3 case 8: set1302(); break; //保存时间
478 3 default: break;
479 3 }
480 2 }
481 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1794 ----
C51 COMPILER V8.01 1 05/17/2008 12:11:54 PAGE 9
CONSTANT SIZE = 83 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 8
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -