📄 timer.lst
字号:
198 4 display_on=1;
199 4 minute++;
200 4 if(minute>=60)minute=0;
201 4 key=0;
202 4 }
203 3 if(key==KEY_DOWN)
204 3 {
205 4 display_on=1;
206 4 minute--;
207 4 if(minute>=60)minute=59;
208 4 key=0;
209 4 }
210 3 display_buffer[5]=second%10;
211 3 display_buffer[4]=second/10;
212 3 display_buffer[3]=16+minute%10;
213 3 display_buffer[2]=minute/10;
214 3 display_buffer[1]=16+hour%10;
215 3 display_buffer[0]=hour/10;
216 3 if(!display_on)
217 3 {
218 4 flicker_time++;
219 4 if(flicker_time>20){flicker_time=0;display_on=1;}
220 4 display_buffer[3]=DISPLAY_OFF;
221 4 display_buffer[2]=DISPLAY_OFF;
222 4 }
223 3 else
224 3 {
225 4 flicker_time++;
226 4 if(flicker_time>30){flicker_time=0;display_on=0;}
227 4 }
228 3 display(display_buffer);
229 3 break;
230 3 }
231 2 case HOUR_ADJ: //小时调整状态
232 2 {
233 3 if(key==KEY_UP)
234 3 {
235 4 display_on=1;
236 4 hour++;
237 4 if(hour>=24)hour=0;
238 4 key=0;
239 4 }
240 3 if(key==KEY_DOWN)
241 3 {
C51 COMPILER V7.06 TIMER 03/08/2006 13:20:05 PAGE 5
242 4 display_on=1;
243 4 hour--;
244 4 if(hour>=24)hour=23;
245 4 key=0;
246 4 }
247 3 display_buffer[5]=second%10;
248 3 display_buffer[4]=second/10;
249 3 display_buffer[3]=16+minute%10;
250 3 display_buffer[2]=minute/10;
251 3 display_buffer[1]=16+hour%10;
252 3 display_buffer[0]=hour/10;
253 3 if(!display_on)
254 3 {
255 4 flicker_time++;
256 4 if(flicker_time>20){flicker_time=0;display_on=1;}
257 4 display_buffer[1]=DISPLAY_OFF;
258 4 display_buffer[0]=DISPLAY_OFF;
259 4 }
260 3 else
261 3 {
262 4 flicker_time++;
263 4 if(flicker_time>30){flicker_time=0;display_on=0;}
264 4 }
265 3 display(display_buffer);
266 3 break;
267 3 }
268 2 case DAY_ADJ: //天调整状态
269 2 {
270 3 if(key==KEY_UP)
271 3 {
272 4 display_on=1;
273 4 day++;
274 4 if(day>days_of_month)day=1;
275 4 key=0;
276 4 }
277 3 if(key==KEY_DOWN)
278 3 {
279 4 display_on=1;
280 4 day--;
281 4 if(day==0)day=days_of_month;
282 4 key=0;
283 4 }
284 3 display_buffer[5]=16+day%10;
285 3 display_buffer[4]=day/10;
286 3 display_buffer[3]=16+month%10;
287 3 display_buffer[2]=month/10;
288 3 display_buffer[1]=16+year%10;
289 3 display_buffer[0]=year/10;
290 3 if(!display_on)
291 3 {
292 4 flicker_time++;
293 4 if(flicker_time>20){flicker_time=0;display_on=1;}
294 4 display_buffer[5]=DISPLAY_OFF;
295 4 display_buffer[4]=DISPLAY_OFF;
296 4 }
297 3 else
298 3 {
299 4 flicker_time++;
300 4 if(flicker_time>30){flicker_time=0;display_on=0;}
301 4 }
302 3 display(display_buffer);
303 3 break;
C51 COMPILER V7.06 TIMER 03/08/2006 13:20:05 PAGE 6
304 3 }
305 2 case MONTH_ADJ:
306 2 {
307 3 if(key==KEY_UP)
308 3 {
309 4 display_on=1;
310 4 month++;
311 4 if(month>=13)month=1;
312 4 days_of_month=calculate_days();
313 4 if(day>days_of_month)day=days_of_month;
314 4 key=0;
315 4 }
316 3 if(key==KEY_DOWN)
317 3 {
318 4 display_on=1;
319 4 month--;
320 4 if(month==0)month=12;
321 4 days_of_month=calculate_days();
322 4 if(day>days_of_month)day=days_of_month;
323 4 key=0;
324 4 }
325 3 display_buffer[5]=16+day%10;
326 3 display_buffer[4]=day/10;
327 3 display_buffer[3]=16+month%10;
328 3 display_buffer[2]=month/10;
329 3 display_buffer[1]=16+year%10;
330 3 display_buffer[0]=year/10;
331 3 if(!display_on)
332 3 {
333 4 flicker_time++;
334 4 if(flicker_time>20){flicker_time=0;display_on=1;}
335 4 display_buffer[3]=DISPLAY_OFF;
336 4 display_buffer[2]=DISPLAY_OFF;
337 4 }
338 3 else
339 3 {
340 4 flicker_time++;
341 4 if(flicker_time>30){flicker_time=0;display_on=0;}
342 4 }
343 3 display(display_buffer);
344 3 break;
345 3 }
346 2 case YEAR_ADJ: //年天调整状态
347 2 {
348 3 if(key==KEY_UP)
349 3 {
350 4 display_on=1;
351 4 year++;
352 4 if(year>=100)year=0;
353 4 days_of_month=calculate_days();
354 4 if(day>days_of_month)day=days_of_month;
355 4 key=0;
356 4 }
357 3 if(key==KEY_DOWN)
358 3 {
359 4 display_on=1;
360 4 year--;
361 4 if(year>=100)year=99;
362 4 days_of_month=calculate_days();
363 4 if(day>days_of_month)day=days_of_month;
364 4 key=0;
365 4 }
C51 COMPILER V7.06 TIMER 03/08/2006 13:20:05 PAGE 7
366 3 display_buffer[5]=16+day%10;
367 3 display_buffer[4]=day/10;
368 3 display_buffer[3]=16+month%10;
369 3 display_buffer[2]=month/10;
370 3 display_buffer[1]=16+year%10;
371 3 display_buffer[0]=year/10;
372 3 if(!display_on)
373 3 {
374 4 flicker_time++;
375 4 if(flicker_time>20){flicker_time=0;display_on=1;}
376 4 display_buffer[1]=DISPLAY_OFF;
377 4 display_buffer[0]=DISPLAY_OFF;
378 4 }
379 3 else
380 3 {
381 4 flicker_time++;
382 4 if(flicker_time>30){flicker_time=0;display_on=0;}
383 4 }
384 3 display(display_buffer);
385 3 break;
386 3 }
387 2 }
388 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1366 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 ----
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 + -