📄 beepon.lst
字号:
282 2 {addr1=k*16+j;
283 3 LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8); // 置地址指针
284 3 LCD_WriteTCommand2(LCD_NOC_WR, dat);
285 3 dat=Matrixdate[i] ;
286 3 i++;}
287 2 }
288 1
289 1 display_date(datesz); //显示日期数字
290 1 /*********************显示日期:”end ********************************/
291 1
292 1 /*****************显示汉字“时间:”*****************************/
293 1 LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00); // 置地址指针
294 1
295 1 i=0;
296 1 dat=Matrixtime[i] ;
297 1 for(k=18;k<36;k++)
298 1 {for(j=0;j<5;j++)
299 2 {addr1=k*16+j;
300 3 LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8); // 置地址指针
301 3 LCD_WriteTCommand2(LCD_NOC_WR, dat);
302 3 dat=Matrixtime[i] ;
303 3 i++;}
304 2 }
305 1
306 1 display_time(timesz); //显示时间数字
307 1
308 1 /*********************显示“时间:”end ********************************/
309 1
310 1 /*****************显示汉字“速度:”*****************************/
311 1 LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00); // 置地址指针
312 1
313 1 i=0;
314 1 dat=Matrixspeed[i] ;
315 1 for(k=36;k<54;k++)
316 1 {for(j=0;j<5;j++)
317 2 {addr1=k*16+j;
318 3 LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8); // 置地址指针
319 3 LCD_WriteTCommand2(LCD_NOC_WR, dat);
320 3 dat=Matrixspeed[i] ;
321 3 i++;}
322 2 }
323 1 display_speed(speedsz); //显示速度数据
ARM COMPILER V2.32a, beepon 25/01/07 14:11:00 PAGE 6
324 1 /*********************显示“速度:”end ********************************/
325 1
326 1
327 1
328 1 /*****************显示km/h:”*****************************/
329 1
330 1 LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00); // 置地址指针
331 1
332 1 i=0;
333 1 dat=Matrixkmh[i] ;
334 1 for(k=36;k<54;k++)
335 1 {for(j=11;j<16;j++)
336 2 {addr1=k*16+j;
337 3 LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8); // 置地址指针
338 3 LCD_WriteTCommand2(LCD_NOC_WR, dat);
339 3 dat=Matrixkmh[i] ;
340 3 i++;}
341 2 }
342 1 /*********************显示km/h end ********************************/
343 1
344 1 /************测速及显示时间********************/
345 1
346 1
347 1 while(1)
348 1 { if(EXTINT==0x08)
349 2 {EXTINT=0x08; //采用外部中断计数
350 3 count=count++;}
351 2 if(T1IR==0x01)
352 2
353 2 {T1IR=0x01;
354 3 frequence=count;
355 3 count=0;
356 3
357 3
358 3 if (frequence<=250) //转换车速
359 3
360 3 { IOCLR0=IOCLR0|safe;
361 4
362 4 speed=(frequence*100)/250;
363 4
364 4
365 4 if (speed>=100) //车速值输出转换
366 4 {
367 5 speedsz[2]=speed/100;
368 5 temp=speed%100;
369 5 speedsz[1]=temp/10;
370 5 temp=temp%10;
371 5 speedsz[0]=temp;
372 5 }
373 4 else
374 4 {
375 5 speedsz[2]=0;
376 5 speedsz[1]=speed/10;
377 5 speedsz[0]=speed%10;
378 5 }
379 4
380 4
381 4 times=CTIME0;
382 4 dates=CTIME1;
383 4
384 4 m[0]=speed;
385 4 m[1]= (dates>>16)&0xFFF;
386 4 datesz[7]=2;
387 4 datesz[6]=0;
388 4 datesz[5]=0;
389 4 datesz[4]=7;
ARM COMPILER V2.32a, beepon 25/01/07 14:11:00 PAGE 7
390 4 m[2]=(dates>>8)&0x0F;
391 4
392 4 if(m[2]>=10)
393 4 {
394 5 datesz[3]=m[2]/10;
395 5 datesz[2]=m[2]%10;
396 5 }
397 4 else
398 4 { datesz[2]=m[2];
399 5 datesz[3]=0;}
400 4 m[3]= dates&0x1F;
401 4
402 4
403 4 if(m[3]>=10)
404 4 {
405 5 datesz[1]=m[3]/10;
406 5 datesz[0]=m[3]%10;
407 5 }
408 4 else
409 4 {
410 5 datesz[0]=m[3];
411 5 datesz[1]=0;
412 5 }
413 4 if((datesz[7]!=2)||(datesz[6]!=0)||(datesz[5]!=0)||(datesz[4]!=7)||(datesz[3]!=0)||(datesz[2]!=1)||(date
-sz[1]!=2)||(datesz[0]!=0))
414 4 {display_date(datesz); //显示日期数字
415 5 }
416 4 m[4]= (times>>16)&0x1F;
417 4 if(m[4]>=10)
418 4 {
419 5 timesz[5]=m[4]/10;
420 5 timesz[4]=m[4]%10;
421 5 }
422 4 else
423 4 {
424 5 timesz[4]=m[4];
425 5 timesz[5]=0;
426 5 }
427 4
428 4 m[5]= (times>>8)&0x3F;
429 4 if(m[5]>=10)
430 4 {
431 5 timesz[3]=m[5]/10;
432 5 timesz[2]=m[5]%10;
433 5 }
434 4 else
435 4 {
436 5 timesz[2]=m[5];
437 5 timesz[3]=0;
438 5 }
439 4 m[6]= times&0x3F;
440 4
441 4 if(m[6]>=10)
442 4 {
443 5 timesz[1]=m[6]/10;
444 5 timesz[0]=m[6]%10;
445 5 }
446 4 else
447 4 {
448 5 timesz[0]=m[6];
449 5 timesz[1]=0;
450 5 }
451 4 }
452 3 else
453 3 {
454 4 IOCLR0=IOCLR0|danger|BEEPCON;
ARM COMPILER V2.32a, beepon 25/01/07 14:11:00 PAGE 8
455 4 }
456 3 // 此处在调用错误显示程序
457 3
458 3
459 3 display_time(timesz); //显示时间数字
460 3 display_speed(speedsz); //显示速度数据
461 3 //display_date(datesz); //显示日期数字
462 3 //return (1);
463 3
464 3 }
465 2
466 2 }
467 1 return(1);
468 1 }
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496 /***********此注释程序为测试IO口程序*****************
497 IODIR0=0x00801800; //设置I/O为输出
498 //IODIR0=LCD_BL;
499
500 IOCLR0=LCD_BL;
501 DelayNs(10000);
502
503 for(i=0;i<5;i++)
504 {
505
506
507 IOCLR0=safe; //绿灯亮
508 DelayNs(3000);
509 IOSET0=safe ;
510 DelayNs(3000);
511 IOCLR0=safe; //绿灯亮
512 DelayNs(3000);
513 IOCLR0=danger; // 红灯亮
514
515 DelayNs(1000);
516 //IOSET0=BEEPCON; //BEEPCON=1
517 //DelayNs(10000);
518 //IOCLR0=BEEPCON; //BEEPCON=0
519 // DelayNs(10000);
520 IOSET0=safe ;
ARM COMPILER V2.32a, beepon 25/01/07 14:11:00 PAGE 9
521 DelayNs(3000);
522 IOSET0=danger;
523 DelayNs(3000);
524 IOSET0=LCD_BL;
525 DelayNs(10000);
526 }
527 return(0); ******************/
528
ARM COMPILER V2.32a, beepon 25/01/07 14:11:00 PAGE 10
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (LCD_Initialize?T)
EXTERN CODE16 (LCD_FillAll?T)
EXTERN CODE16 (DelayNs?T)
EXTERN CODE16 (LCD_WriteTCommand2?T)
EXTERN CODE16 (LCD_WriteTCommand3?T)
EXTERN CODE16 (display_date?T)
EXTERN CODE16 (display_time?T)
EXTERN CODE16 (display_speed?T)
EXTERN CODE16 (TimeInit?T)
EXTERN CODE16 (ClkInit?T)
EXTERN NUMBER (__startup)
EXTERN CODE16 (?C?SDIV?T)
EXTERN CODE16 (?C?UDIV?T)
*** PUBLICS:
PUBLIC DelayNs2?T
PUBLIC main
PUBLIC gui_disp_buf
PUBLIC count
PUBLIC frequence
*** DATA SEGMENT '?DT0?beepon':
00000000 frequence:
00000000 DS 2
00000002 gui_disp_buf:
00000002 DS 1024
00000402 count:
00000402 BEGIN_INIT
00000402 00 DB 0x0
00000403 END_INIT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -