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