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

📄 main.lst

📁 一个用1602显示的多功能电子钟,内有实时时钟功能和温度显示功能!
💻 LST
📖 第 1 页 / 共 3 页
字号:
 198          void menu_select()
 199          {
 200   1        unsigned char key=0,temp1=0,temp2=0; 
 201   1        temp1=getch();
 202   1        temp2=sp2key_scan();
 203   1        if(temp1!=255)  
 204   1        {
 205   2           switch (temp1)                     //清除选中状态
 206   2               {
 207   3                case 12: PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu++;break;
*** WARNING C182 IN LINE 207 OF MAIN.C: pointer to different objects
 208   3                case 13: fun1=menu+1;break;                              //进入功能函数
 209   3                case 14:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu--;break;
*** WARNING C182 IN LINE 209 OF MAIN.C: pointer to different objects
 210   3                case 15:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu+=2;break; 
*** WARNING C182 IN LINE 210 OF MAIN.C: pointer to different objects
 211   3               }
 212   2               menu=menu%4;
 213   2               PutBMP2(menu*4+1,0,5, 32,bmp[menu],0); //将选中的功能函数反白
*** WARNING C182 IN LINE 213 OF MAIN.C: pointer to different objects
 214   2               beeping(12,20);
 215   2        }
 216   1        if(temp2!=255)
 217   1        {         
 218   2               switch(temp2)
 219   2               {
 220   3                case 8:                            
 221   3                case 2:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu+=2;break;  
*** WARNING C182 IN LINE 221 OF MAIN.C: pointer to different objects
 222   3                case 6:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu++;break;  
*** WARNING C182 IN LINE 222 OF MAIN.C: pointer to different objects
 223   3                case 4:PutBMP2(menu*4+1,0,5, 32,bmp[menu],1);menu--;break;                               
*** WARNING C182 IN LINE 223 OF MAIN.C: pointer to different objects
 224   3                case 48: fun1=menu+1;break;                    
 225   3               }        
 226   2                       menu=menu%4;
 227   2                       PutBMP2(menu*4+1,0,5, 32,bmp[menu],0);//将选中的功能函数反白 
*** WARNING C182 IN LINE 227 OF MAIN.C: pointer to different objects
 228   2                       test=temp2;
 229   2                       beeping(12,20);
 230   2        }      
 231   1        led_display(test); 
 232   1      }
 233           /*****************************************************************
C51 COMPILER V8.02   MAIN                                                                  11/12/2007 01:02:04 PAGE 5   

 234                              从键盘中获取二位数      
 235           ******************************************************************/
 236          unsigned char get_num()
 237          {          
 238   1              unsigned char q=0,temp=0,key2=0;  
 239   1              Location_xy_12864(2,2);
 240   1              while(1)
 241   1              {
 242   2                      key2=sp2key_scan(); 
 243   2                      if(key2<10)
 244   2                      {
 245   3                              q++;
 246   3                              if(q==1)temp+=key2*10;
 247   3                              if(q==2)temp+=key2; 
 248   3                              input(key_table[key2],q);
 249   3                              beeping(12,20);
 250   3                              delayms(100);
 251   3                              if(q==2)break;
 252   3                      }        
 253   2              }
 254   1              return temp;
 255   1      }
 256           /*************************************************************
 257                             时钟服务函数 
 258                                             包括:修改时间
 259                                                    定闹钟
 260                                                            开闹钟
 261                                                            关闹钟
 262           *************************************************************/
 263          void clockser()
 264          {
 265   1              unsigned  char key2=255,i=0,q=0,print[7];
 266   1              LcmClearTXT();
 267   1              PutStr(0,2,"service:");
 268   1              PutStr(1,0,"1.adjust timer");
 269   1              PutStr(2,0,"2.set ring");          
 270   1              while(1)
 271   1              {
 272   2                      
 273   2                      key2=sp2key_scan();
 274   2                      if(key2!=255)
 275   2                      {
 276   3                              
 277   3                              if(key_table[key2]=='1')
 278   3                              {       
 279   4                                      LcmClearTXT(); 
 280   4                                      PutStr(0,0,"hour");
 281   4                                      do
 282   4                                              {  
 283   5                                                      print[2]=get_num();
 284   5                                              }while(print[2]>24);
 285   4                                      LcmClearBMP();
 286   4                                      LcmClearTXT();     
 287   4                                      PutStr(0,0,"min");
 288   4                                      do
 289   4                                              {  
 290   5                                                      print[1]=get_num();
 291   5                                              }while(print[1]>60);
 292   4                                      LcmClearBMP();
 293   4                                      LcmClearTXT();  
 294   4                                      PutStr(0,0,"month");
 295   4                                      do
C51 COMPILER V8.02   MAIN                                                                  11/12/2007 01:02:04 PAGE 6   

 296   4                                              { 
 297   5                                                      print[4]=get_num();
 298   5                                              }while(print[4]>12);
 299   4                                      LcmClearBMP();
 300   4                                      LcmClearTXT(); 
 301   4                                      PutStr(0,0,"day");
 302   4                                      do
 303   4                                              {  
 304   5                                                      print[3]=get_num();
 305   5                                              }while(print[3]>24);
 306   4                                      LcmClearBMP();
 307   4                                      LcmClearTXT(); 
 308   4                                      PutStr(0,0,"year");
 309   4                                      do
 310   4                                              {  
 311   5                                                      print[6]=get_num();
 312   5                                              }while(print[7]>99);
 313   4                                      LcmClearBMP();
 314   4                                      LcmClearTXT(); 
 315   4                                      v_BurstW1302T(print);
 316   4                                      LcmClearBMP();
 317   4                                      return; 
 318   4                              }
 319   3                              if(key2==2)
 320   3                              {
 321   4                                      LcmClearTXT();
 322   4                                      PutStr(0,0,"1.adjust ring");
 323   4                                      PutStr(1,0,"2.open ring");
 324   4                                      PutStr(2,0,"3.close ring");
 325   4                                      while(1)
 326   4                                      {
 327   5                                              key2=sp2key_scan();
 328   5                                              if(key2!=255)
 329   5                                              {
 330   6                                                      if(key_table[key2]=='1')
 331   6                                                      {
 332   7                                                              LcmClearTXT();
 333   7                                                              PutStr(0,0,"hour:");
 334   7                                                              do
 335   7                                                                      {   
 336   8                                                                              print[2]=get_num();
 337   8                                                                      }while(print[2]>24);
 338   7                                                              LcmClearTXT(); 
 339   7                                                              PutStr(0,0,"min:");
 340   7                                                              do
 341   7                                                                      {        
 342   8                                                                              print[1]=get_num();
 343   8                                                                      }while(print[1]>60);
 344   7                                                              hour_sound=print[2];
 345   7                                                              minute_sound=print[1];
 346   7                                                              clock_flag=1;
 347   7                                                              LcmClearTXT();
 348   7                                                              LcmClearBMP();
 349   7                                                              return;
 350   7                                                      }
 351   6                                                      if(key_table[key2]=='2')
 352   6                                                      {
 353   7                                                              clock_flag=1;
 354   7                                                              LcmClearTXT();
 355   7                                                              PutStr(1,0,"ring opened");
 356   7                                                              delayms(1600);
 357   7                                                              LcmClearBMP();
C51 COMPILER V8.02   MAIN                                                                  11/12/2007 01:02:04 PAGE 7   

 358   7                                                              LcmClearTXT();
 359   7                                                              return;
 360   7                                                      }
 361   6                                                      if(key_table[key2]=='3')
 362   6                                                      {
 363   7                                                              clock_flag=0;
 364   7                                                              LcmClearTXT();
 365   7                                                              PutStr(1,0,"ring closed");
 366   7                                                              delayms(1500);
 367   7                                                              LcmClearBMP();
 368   7                                                              LcmClearTXT();
 369   7                                                              return;
 370   7                                                      }  
 371   6                                              }
 372   5                                      }
 373   4                              }
 374   3                      }   
 375   2              }        
 376   1      }
 377           /**************************************************************
 378                              ring  闹钟检测
 379           *****************************************************************/
 380          void ring()
 381          {
 382   1              if(clock_flag)
 383   1              {
 384   2                      if(reach_time())
 385   2                      {
 386   3                               Play_Song();
 387   3                               clock_flag=0;
 388   3                      } 
 389   2              } 
 390   1      }
 391            /********************************************************************
 392                               温度报警函数
 393            **********************************************************************/
 394          void warning()
 395          {       

⌨️ 快捷键说明

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