📄 mstimer.lst
字号:
191 5 putchar((SecRTC/10)+48);
192 5 putchar((SecRTC%10)+48);
193 5 break;
194 5 default:
195 5 break;
196 5 }
197 4 break;
198 4 case 3: // -
199 4 switch(Para) {
200 5 case 1: // Year
201 5 if (YearRTC == 0) YearRTC = 99;
202 5 else YearRTC--;
203 5 putchar(16); // Set cursor to the last 2 chars
204 5 putchar(14);
205 5 putchar((YearRTC/10)+48);
206 5 putchar((YearRTC%10)+48);
207 5 break;
208 5 case 2: // Month
209 5 if (MonthRTC == 1) MonthRTC = 12;
210 5 else MonthRTC--;
211 5 putchar(16); // Set cursor to the last 2 chars
212 5 putchar(14);
213 5 putchar((MonthRTC/10)+48);
214 5 putchar((MonthRTC%10)+48);
215 5 break;
216 5 case 3: // Day
217 5 if (DayRTC == 1) DayRTC = 31;
218 5 else DayRTC--;
219 5 putchar(16); // Set cursor to the last 2 chars
220 5 putchar(14);
221 5 putchar((DayRTC/10)+48);
222 5 putchar((DayRTC%10)+48);
223 5 break;
224 5 case 4: // Hour
225 5 if (HourRTC == 0) HourRTC = 24;
226 5 else HourRTC--;
227 5 putchar(16); // Set cursor to the last 2 chars
228 5 putchar(14);
229 5 putchar((HourRTC/10)+48);
230 5 putchar((HourRTC%10)+48);
231 5 break;
232 5 case 5: // Minute
233 5 if (MinRTC == 0) MinRTC = 59;
234 5 else MinRTC--;
235 5 putchar(16); // Set cursor to the last 2 chars
236 5 putchar(14);
237 5 putchar((MinRTC/10)+48);
238 5 putchar((MinRTC%10)+48);
239 5 break;
240 5 case 6: // Second
241 5 if (SecRTC == 0) SecRTC = 59;
C51 COMPILER V8.05a MSTIMER 03/18/2007 20:51:48 PAGE 5
242 5 else SecRTC--;
243 5 putchar(16); // Set cursor to the last 2 chars
244 5 putchar(14);
245 5 putchar((SecRTC/10)+48);
246 5 putchar((SecRTC%10)+48);
247 5 break;
248 5 default:
249 5 break;
250 5 }
251 4 break;
252 4 case 4: // Enter
253 4 ParaValue = ((SecRTC/10)*16) + (SecRTC%10);
254 4 SecRTC = ParaValue;
255 4 ParaValue = ((MinRTC/10)*16) + (MinRTC%10);
256 4 MinRTC = ParaValue;
257 4 ParaValue = ((HourRTC/10)*16) + (HourRTC%10);
258 4 HourRTC = ParaValue;
259 4 ParaValue = ((DayRTC/10)*16) + (DayRTC%10);
260 4 DayRTC = ParaValue;
261 4 ParaValue = ((MonthRTC/10)*16) + (MonthRTC%10);
262 4 MonthRTC = ParaValue;
263 4 ParaValue = ((YearRTC/10)*16) + (YearRTC%10);
264 4 YearRTC = ParaValue;
265 4
266 4 DP8573MSR = 0x40; // RS=1
267 4 DP8573RTMR = 0x00; // 24 hour mode + stop timer
268 4 DP8573SEC = SecRTC;
269 4 DP8573MIN = MinRTC;
270 4 DP8573HOUR = HourRTC;
271 4 DP8573DAY = DayRTC;
272 4 DP8573MONTH = MonthRTC;
273 4 DP8573YEAR = YearRTC;
274 4 DP8573MSR = 0x40; // RS=1
275 4 DP8573RTMR = 0x08; // 24 hour mode + run timer
276 4 EndCMD = 1;
277 4 Para = 0;
278 4 break;
279 4 default:
280 4 break;
281 4 }
282 3 // Display setting
283 3 if (ParaOld != Para) {
284 4 putchar(13);
285 4 ParaOld = Para;
286 4 switch(Para) {
287 5 case 1: // Year
288 5 printf("Year:");
289 5 putchar(16); // Set cursor to the last 2 chars
290 5 putchar(14);
291 5 putchar((YearRTC/10)+48);
292 5 putchar((YearRTC%10)+48);
293 5 break;
294 5 case 2: // Month
295 5 printf("Month:");
296 5 putchar(16); // Set cursor to the last 2 chars
297 5 putchar(14);
298 5 putchar((MonthRTC/10)+48);
299 5 putchar((MonthRTC%10)+48);
300 5 break;
301 5 case 3: // Day
302 5 printf("Day:");
303 5 putchar(16); // Set cursor to the last 2 chars
C51 COMPILER V8.05a MSTIMER 03/18/2007 20:51:48 PAGE 6
304 5 putchar(14);
305 5 putchar((DayRTC/10)+48);
306 5 putchar((DayRTC%10)+48);
307 5 break;
308 5 case 4: // Hour
309 5 printf("Hour:");
310 5 putchar(16); // Set cursor to the last 2 chars
311 5 putchar(14);
312 5 putchar((HourRTC/10)+48);
313 5 putchar((HourRTC%10)+48);
314 5 break;
315 5 case 5: // Minute
316 5 printf("Minute:");
317 5 putchar(16); // Set cursor to the last 2 chars
318 5 putchar(14);
319 5 putchar((MinRTC/10)+48);
320 5 putchar((MinRTC%10)+48);
321 5 break;
322 5 case 6: // Second
323 5 printf("Second:");
324 5 putchar(16); // Set cursor to the last 2 chars
325 5 putchar(14);
326 5 putchar((SecRTC/10)+48);
327 5 putchar((SecRTC%10)+48);
328 5 break;
329 5 default:
330 5 break;
331 5 } // End SWITCH
332 4 } // End if(ParaOld != Para)
333 3 } // End if(KeyCmd != CmdOld)
334 2 CmdOld = KeyCmd;
335 2 KeyCmd = KeyScan();
336 2 } // End while(!EndCMD)
337 1 // CmdOld = KeyCmd;
338 1 // putchar(7); // Cursor back 1 char
339 1 // putchar(23); // Cursor blinking
340 1 }
341
342 void DisplayRTC(void)
343 {
344 1 putchar(13);
345 1 hour = DP8573HOUR; // Hour
346 1 timeH = hour >> 4;
347 1 putchar(timeH+48);
348 1 timeL = hour % 16;
349 1 putchar(timeL+48);
350 1 putchar(':');
351 1
352 1 minute = DP8573MIN; // Minute
353 1 timeH = minute >> 4;
354 1 putchar(timeH+48);
355 1 timeL = minute % 16;
356 1 putchar(timeL+48);
357 1 putchar(':');
358 1
359 1 second = DP8573SEC; // Second
360 1 timeH = second >> 4;
361 1 putchar(timeH+48);
362 1 timeL = second % 16;
363 1 putchar(timeL+48);
364 1
365 1 putchar(' ');
C51 COMPILER V8.05a MSTIMER 03/18/2007 20:51:48 PAGE 7
366 1 putchar(' ');
367 1 year = DP8573YEAR; // Year
368 1 timeH = year >> 4;
369 1 putchar(timeH+48);
370 1 putchar(25); // .
371 1 putchar(3);
372 1 timeL = year % 16;
373 1 putchar(timeL+48);
374 1
375 1 month = DP8573MONTH; // Month
376 1 timeH = month >> 4;
377 1 putchar(timeH+48);
378 1 putchar(25); // .
379 1 putchar(3);
380 1 timeL = month % 16;
381 1 putchar(timeL+48);
382 1
383 1 day = DP8573DAY; // Day
384 1 timeH = day >> 4;
385 1 putchar(timeH+48);
386 1 timeL = day % 16;
387 1 putchar(timeL+48);
388 1
389 1 secondOld = second;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -