📄 设置时间.lst
字号:
C51 COMPILER V8.02 设置时间 01/09/2009 16:21:06 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 设置时间
OBJECT MODULE PLACED IN 设置时间.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE program\设置时间.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\设置时间.lst) OB
-JECT(设置时间.obj)
line level source
1
2 //---------------------------------------------------------------------------------------------------
3 //标准菜单程序
4 //
5 //
6 //---------------------------------------------------------------------------------------------------
7 #include "menu.h"
8 #include "CM240128.H"
9 #include "输入状态栏.h"
10 #include "gprs.h"
11 #include "功能选择菜单.h"
12 #include "数据存储.h"
13 #include <string.h>
14 #include "系统设置.h"
15 #include "M41T0DRV.H"
16 #include "main.h"
17 //---------------------------------------------------------------------------------------------------
18
19 xdata unsigned char DateTimedisbuf[30];
20
21 void MENU_DateTime_Load(unsigned char *pBuf)
22 {
23 1 unsigned char i;
24 1 pBuf=pBuf;
25 1 ClrDisplay();
26 1 SetCurrLoc(0,0);
27 1 DisplayStr("设置时间",30);
28 1 for(i=0;i<30;i++) DateTimedisbuf[i]=0X00;
29 1 SetCurrLoc(0,20);
30 1 DisplayStr("例子 >070101120000",30);
31 1 SetCurrLoc(0,48);
32 1 DisplayStr("日期时间>",30);
33 1 InputStateOption(1);
34 1 }
35 //---------------------------------------------------------------------------------------------------
36 //刷新
37 void MENU_DateTime_refurbish(void)
38 {
39 1 //user code
40 1
41 1 //user code end
42 1 }
43 //---------------------------------------------------------------------------------------------------
44 //数据输入
45 void MENU_DateTime_incept(unsigned char *pBuf)
46 {
47 1 //user code
48 1 xdata DateTimeTYP datetime;
49 1 unsigned char l1,l2;
50 1 if(pBuf==0)return;
51 1 if(*pBuf==15)
52 1 {//按下删除键
53 2
54 2 l1 = strlen(DateTimedisbuf);
C51 COMPILER V8.02 设置时间 01/09/2009 16:21:06 PAGE 2
55 2 if(l1!=0)DateTimedisbuf[l1-1]=0;
56 2 SetCurrLoc(9,48);
57 2 DisplayFill(' ',21);
58 2 SetCurrLoc(9,48);DisplayStr(DateTimedisbuf,20);
59 2 return;
60 2 }
61 1
62 1 if(*pBuf == 0x0a)
63 1 {//确认 回车键
64 2 if(strlen(DateTimedisbuf)==12)
65 2 {
66 3 datetime.sec =((DateTimedisbuf[10]<<4)|(DateTimedisbuf[11]&0X0F));
67 3 datetime.min =((DateTimedisbuf[8]<<4)|(DateTimedisbuf[9]&0X0F));
68 3 datetime.hour =((DateTimedisbuf[6]<<4)|(DateTimedisbuf[7]&0X0F));
69 3 datetime.date =((DateTimedisbuf[4]<<4)|(DateTimedisbuf[5]&0X0F));
70 3 datetime.month=((DateTimedisbuf[2]<<4)|(DateTimedisbuf[3]&0X0F));
71 3 datetime.year =((DateTimedisbuf[0]<<4)|(DateTimedisbuf[1]&0X0F));
72 3 SetM41T0Time(&datetime);
73 3 }
74 2 GoMainMenu();;
75 2 return;
76 2 }
77 1 if(*pBuf == 0x06)
78 1 {//取消 ctl键
79 2 GoMainMenu();;
80 2 return;
81 2 }
82 1 l1 = strlen(DateTimedisbuf);
83 1 l2 = strlen(pBuf);
84 1 if((l1+l2)<20)strcat(DateTimedisbuf,pBuf);
85 1 SetCurrLoc(9,48);
86 1 DisplayFill(' ',21);
87 1 SetCurrLoc(9,48);DisplayStr(DateTimedisbuf,29);
88 1
89 1 //user code end
90 1 }
91 //---------------------------------------------------------------------------------------------------
92 //---------------------------------------------------------------------------------------------------
93 //下面是不可改写的代码
94 void MENU_DateTime(unsigned char *pBuf)
95 {
96 1 MenuSet(MENU_DateTime_refurbish,MENU_DateTime_incept);
97 1 MENU_DateTime_Load(pBuf);
98 1 }
99 //---------------------------------------------------------------------------------------------------
100
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 495 ----
CONSTANT SIZE = 41 ----
XDATA SIZE = 30 13
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -