📄 timeset.lst
字号:
C51 COMPILER V7.06 TIMESET 12/18/2007 11:18:08 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TIMESET
OBJECT MODULE PLACED IN TimeSet.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TimeSet.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2
3 #include "c51base.h"
4
5
6
7 /*******************************************
8 设置时间时显示的界面函数,显示形式如下
9 --------------------
10 | 时间日期设定 |
11 | 日期03年05月11日 |
12 | 星期日 |
13 | 时间17:45:48 |
14 ---------------------
15 *******************************************/
16 static void TimeSetDisplay(uchar *time)
17 {
18 1 DisplayStr(0,1,"日期");
19 1 DisplayStr(6,1,"年");
20 1 DisplayStr(10,1,"月");
21 1 DisplayStr(14,1,"日");
22 1 DisplayStr(0,2,"星期");
23 1 DisplayStr(0,3,"时间");
24 1 DisplayStr(6,3,":");
25 1 DisplayStr(9,3,":");
26 1 DisplayType(4,1,(time[0]%100)/10+'0');
27 1 DisplayType(5,1,time[0]%10+'0');
28 1 DisplayType(8,1,(time[1]%100)/10+'0');
29 1 DisplayType(9,1,time[1]%10+'0');
30 1 DisplayType(12,1,(time[2]%100)/10+'0');
31 1 DisplayType(13,1,time[2]%10+'0');
32 1 switch(time[3])
33 1 {
34 2 case 0:DisplayStr(4,2,"一");
35 2 break;
36 2 case 1:DisplayStr(4,2,"二");
37 2 break;
38 2 case 2:DisplayStr(4,2,"叁");
39 2 break;
40 2 case 3:DisplayStr(4,2,"四");
41 2 break;
42 2 case 4:DisplayStr(4,2,"五");
43 2 break;
44 2 case 5:DisplayStr(4,2,"六");
45 2 break;
46 2 case 6:DisplayStr(4,2,"日");
47 2 break;
48 2 default:
49 2 break;
50 2 }
51 1 DisplayType(4,3,(time[4]%100)/10+'0');
52 1 DisplayType(5,3,time[4]%10+'0');
53 1 DisplayType(7,3,(time[5]%100)/10+'0');
54 1 DisplayType(8,3,time[5]%10+'0');
55 1 DisplayType(10,3,(time[6]%100)/10+'0');
C51 COMPILER V7.06 TIMESET 12/18/2007 11:18:08 PAGE 2
56 1 DisplayType(11,3,time[6]%10+'0');
57 1 }
58
59 /*******************************************
60 设置时间函数
61 在这个函数里面可以设置时间和日期
62 *******************************************/
63
64
65 static void TsDisplay(uchar i)
66 {
67 1 if(i == 0)
68 1 DispRow(48,2);
69 1 else if(i == 1)
70 1 DispRow(80,2);
71 1 else if(i == 2)
72 1 DispRow(112,2);
73 1 else if(i == 3)
74 1 DispRow(47,4);
75 1 else if(i == 4)
76 1 DispRow(48,6);
77 1 else if(i == 5)
78 1 DispRow(72,6);
79 1 else if(i == 6)
80 1 DispRow(96,6);
81 1 }
82
83
84 void TimeSetup()
85 {
86 1 uchar idata key_value,i=0;
87 1 uchar idata time[7];
88 1 CLEAR_SCREEN();
89 1 GetTime(7,time);
90 1 while(1)
91 1 {
92 2 DisplayStr(2,0,"时间日期设定");
93 2 TimeSetDisplay(time);
94 2 TsDisplay(i);
95 2 key_value = WaitKey(1000);
96 2 if(key_value == 'x' || key_value == 0xff)
97 2 return;
98 2 if(key_value == 'u')
99 2 {
100 3 if(i==0 && time[0]<99)
101 3 time[i]++;
102 3 else if(i==1 && time[1]<12)
103 3 time[i]++;
104 3 else if(i==2 && time[2]<31)
105 3 time[i]++;
106 3 else if(i==3 && time[3]<6)
107 3 time[i]++;
108 3 else if(i==4 && time[4]<23)
109 3 time[i]++;
110 3 else if(i==5 && time[5]<59)
111 3 time[i]++;
112 3 else if(i==6 && time[6]<59)
113 3 time[i]++;
114 3 }
115 2 else if (key_value == 'd')
116 2 {
117 3 if(i==1 && time[1]>1)
C51 COMPILER V7.06 TIMESET 12/18/2007 11:18:08 PAGE 3
118 3 time[i]--;
119 3 else if(i==2 && time[2]>1)
120 3 time[i]--;
121 3 else if((i==0 || i>2) && time[i]>0)
122 3 time[i]--;
123 3 }
124 2 else if(key_value == 'e')
125 2 {
126 3 if(i<6)
127 3 i++;
128 3 else if(i == 6)
129 3 {
130 4 SetTime(7,time);
131 4 break;
132 4 }
133 3 }
134 2 }
135 1 CLEAR_SCREEN();
136 1 DisplayStr(0,1,"设定成功...");
137 1 key_value = WaitKey(25);
138 1 }
139
140 void TimeDisplay()
141 {
142 1 uchar idata key_value;
143 1 uchar idata time[7];
144 1 CLEAR_SCREEN();
145 1 GetTime(7,time);
146 1 while(1)
147 1 {
148 2 DisplayStr(2,0,"时间日期查看");
149 2 TimeSetDisplay(time);
150 2 key_value = WaitKey(50);
151 2 if(key_value == 'x' || key_value == 0xff)
152 2 return;
153 2 }
154 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1060 ----
CONSTANT SIZE = 82 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
IDATA SIZE = ---- 17
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 + -