⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.lst

📁 一个有关电子时钟的单片机程序,可显示年月日,以及小时,分秒,可以手动修改时间.
💻 LST
📖 第 1 页 / 共 3 页
字号:
 575   4                      time.hour=23;
 576   4                      
 577   4                      k=0;a=1;
 578   4                      delay(500);
 579   4                      time_to_display_data_buff();
 580   4            
 581   4              display2();   
 582   4            
 583   4                      
 584   4                      
 585   4              
 586   4                      }
 587   3                  
 588   3           else if(key==0x06)         //键盘6更改分钟+
 589   3               {lc_write(0x01);
 590   4               lc_write(0x0f);
 591   4               time.minute++;
 592   4               if(time.minute==60)
 593   4               time.minute=0;
 594   4               k=0;a=1;
 595   4               delay(500);
 596   4               time_to_display_data_buff();
 597   4            
 598   4                      display2();   
 599   4            
 600   4               
 601   4               }
 602   3               
 603   3                else if(key==0x12)         //键盘6更改分钟-
 604   3               {lc_write(0x01);
 605   4               lc_write(0x0f);
C51 COMPILER V8.02   TIME                                                                  08/22/2007 19:41:21 PAGE 11  

 606   4               time.minute--;
 607   4               if(time.minute==-1)
 608   4               time.minute=59;
 609   4               k=0;a=1;
 610   4               delay(500);
 611   4               time_to_display_data_buff();
 612   4            
 613   4                      display2();   
 614   4            
 615   4               
 616   4               }
 617   3               else if(key==0x07)         //键盘7更改秒+
 618   3               {lc_write(0x01);
 619   4               lc_write(0x0f);
 620   4               time.second++;
 621   4               if(time.second==60)
 622   4               time.second=0;
 623   4               k=0;a=1;
 624   4               delay(500);
 625   4               time_to_display_data_buff();
 626   4            
 627   4                      display2();   
 628   4            
 629   4              
 630   4               
 631   4               }
 632   3               
 633   3                else if(key==0x13)         //键盘7更改秒-
 634   3               {lc_write(0x01);
 635   4               lc_write(0x0f);
 636   4               time.second--;
 637   4               if(time.second==-1)
 638   4               time.second=59;
 639   4               k=0;a=1;
 640   4               delay(500);
 641   4               time_to_display_data_buff();
 642   4            
 643   4                      display2();   
 644   4            
 645   4              
 646   4               
 647   4               }
 648   3              /* else if(key==0x04)         //键盘4更改星期
 649   3               {lc_write(0x01);
 650   3               lc_write(0x0f);
 651   3               time.week++;
 652   3               if(time.week==8)
 653   3               time.week=1;
 654   3               k=0;a=1;
 655   3               delay(500);
 656   3               time_to_display_data_buff();
 657   3            
 658   3                       display2();   
 659   3            
 660   3              
 661   3               
 662   3               }*/
 663   3               else if(key==0x08)     //键盘8恢复时钟
 664   3               {a=0;k=0;
 665   4               lc_write(0x0c);
 666   4              
 667   4               }
C51 COMPILER V8.02   TIME                                                                  08/22/2007 19:41:21 PAGE 12  

 668   3      
 669   3      
 670   3      /*
 671   3       else if (key==0x09) //键盘9闹钟开,小时+
 672   3                       {
 673   3                       lc_write(0x01);
 674   3               lc_write(0x0f);
 675   3                       
 676   3                       
 677   3                       clockon=1;
 678   3      
 679   3                      k=0;
 680   3                      a=1;
 681   3                      clock.hour++;
 682   3                      if(clock.hour==24)
 683   3                      clock.hour=0;
 684   3              
 685   3              
 686   3                       display_data_buff[0]=clock.hour/10;
 687   3        display_data_buff[1]=clock.hour%10;
 688   3        display_data_buff[2]=clock.minute/10;
 689   3        display_data_buff[3]=clock.minute%10;
 690   3      display_code_buff[0]=display_code[display_data_buff[0]]; 
 691   3      display_code_buff[1]=display_code[display_data_buff[1]]; 
 692   3      display_code_buff[2]=display_code[display_data_buff[2]]; 
 693   3      display_code_buff[3]=display_code[display_data_buff[3]]; 
 694   3      
 695   3         ld_write(0x20);  //空白
 696   3         lc_write(0x40);   //闹钟符号
 697   3        
 698   3                                      ld_write(display_code_buff[0]);
 699   3                                      ld_write(display_code_buff[1]);
 700   3                      ld_write(0x3a);           //显示:
 701   3                                      ld_write(display_code_buff[2]);
 702   3                                      ld_write(display_code_buff[3]);
 703   3      
 704   3       }
 705   3          else if (key==0x0a) //键盘9闹钟开,分钟+
 706   3                       {
 707   3                       lc_write(0x01);
 708   3               lc_write(0x0f);
 709   3                       
 710   3                       clockon=1;
 711   3                      k=0;
 712   3                      a=1;
 713   3                      clock.minute++;
 714   3                      if(clock.minute==60)
 715   3                      clock.minute=0;
 716   3              
 717   3              
 718   3                       display_data_buff[0]=clock.hour/10;
 719   3        display_data_buff[1]=clock.hour%10;
 720   3        display_data_buff[2]=clock.minute/10;
 721   3        display_data_buff[3]=clock.minute%10;
 722   3      display_code_buff[0]=display_code[display_data_buff[0]]; 
 723   3      display_code_buff[1]=display_code[display_data_buff[1]]; 
 724   3      display_code_buff[2]=display_code[display_data_buff[2]]; 
 725   3      display_code_buff[3]=display_code[display_data_buff[3]]; 
 726   3      
 727   3         ld_write(0x20);  //空白
 728   3         lc_write(0x40);   //闹钟符号
 729   3        
C51 COMPILER V8.02   TIME                                                                  08/22/2007 19:41:21 PAGE 13  

 730   3                                      ld_write(display_code_buff[0]);
 731   3                                      ld_write(display_code_buff[1]);
 732   3                      ld_write(0x3a);           //显示:
 733   3                                      ld_write(display_code_buff[2]);
 734   3                                      ld_write(display_code_buff[3]);
 735   3      
 736   3       }
 737   3        else if(key==0x0b)     //键盘11关闹钟
 738   3               {a=1;k=0;clockon=0;
 739   3               lc_write(0x01);
 740   3               delay(500);
 741   3               lc_write(0x0c);
 742   3               ld_write(0x20);
 743   3               ld_write(0x20);
 744   3               ld_write(0x20);
 745   3               ld_write(0x4f);
 746   3               ld_write(0x46);
 747   3               ld_write(0x46);
 748   3      
 749   3               }
 750   3              
 751   3      
 752   3      */
 753   3      
 754   3      
 755   3      
 756   3      
 757   3      else {}
 758   3              }
 759   2          else if(a==0)            
 760   2              {
 761   3              
 762   3              
 763   3               TMOD=0X01;
 764   3                TR0=1;
 765   3                    TH0=(65536-50000)/256;
 766   3                    TL0=(65536-50000)%256;    //????
 767   3                     do{}while(!TF0);
 768   3                      display();
 769   3                        TF0=0;
 770   3              }
 771   2        else {}
 772   2         }
 773   1      }
 774          
 775          
C51 COMPILER V8.02   TIME                                                                  08/22/2007 19:41:21 PAGE 14  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


display_code_buff. . . . . . . . . . .  PUBLIC   DATA   ARRAY    0000H  15
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
CR . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FEH  1
DR . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FFH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
CW . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FCH  1
DW . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FDH  1
flag . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0000H  2
display2 . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
time . . . . . . . . . . . . . . . . .  PUBLIC   DATA   STRUCT   000FH  8
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
_lc_write. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
_ld_write. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
_?ix1000 . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    000AH  24
key. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0017H  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
lc_read. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
dp_data_to_dp_code_buff. . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
time_to_display_data_buff. . . . . . .  PUBLIC   CODE   PROC     0000H  -----
keyboard . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  j. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  w. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
f. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0018H  2
g. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      001AH  2
readbf . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
_jinwei. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  d. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0000H  2
k. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      001CH  2
js_week. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
  n. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0002H  2
  year . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0002H  2
  month. . . . . . . . . . . . . . . .  AUTO     DATA   INT      0000H  2
  day. . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0002H  2
  a1 . . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0004H  24
time_str . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  year . . . . . . . . . . . . . . . .  MEMBER   -----  CHAR     0000H  1
  month. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  day. . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
C51 COMPILER V8.02   TIME                                                                  08/22/2007 19:41:21 PAGE 15  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  hour . . . . . . . . . . . . . . . .  MEMBER   -----  CHAR     0003H  1
  minute . . . . . . . . . . . . . . .  MEMBER   -----  CHAR     0004H  1
  second . . . . . . . . . . . . . . .  MEMBER   -----  CHAR     0005H  1
  second20 . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  week . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
clockon. . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      001EH  2
inttilcs . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
display_code . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  10
display. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
display_data_buff. . . . . . . . . . .  PUBLIC   DATA   ARRAY    0020H  15


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1970    ----
   CONSTANT SIZE    =     34    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     47      34
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  7 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -