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

📄 dy1clock.lst

📁 《爱上单片机》_单片机学习必备
💻 LST
📖 第 1 页 / 共 2 页
字号:
 201          
 202          void turn(uchar i){
 203   1      			switch (i){//		
 204   2      				case 1://			
 205   2      					display1();		
 206   2      					break;//		
 207   2      				case 2://			
 208   2      					display2();		
 209   2      					break;//		
 210   2      				case 3://			
 211   2      					display3();		
 212   2      					break;//		
 213   2      				case 4://			
 214   2      					display4();		
 215   2      					break;//		
 216   2      				case 5://			
 217   2      					display5();		
 218   2      					break;//		
 219   2      				case 6://			
 220   2      					display6();		
 221   2      					break;//		
 222   2      				case 7://			
 223   2      					display7();		
 224   2      					break;//		
 225   2      				case 8://			
 226   2      					display8();		
 227   2      					break;//		
 228   2      				case 9://			
 229   2      					display9();		
 230   2      					break;//		
 231   2      				case 0://			
 232   2      					display0();		
 233   2      					break;//		
 234   2      			}
 235   1      }
 236          /**********************************************************************************************/	
 237            
 238          void main(void){   
 239   1          TMOD = 0x11;         // 定时/计数器0,1工作于方式1   
 240   1          TH0 = 0xd8;          // 预置定时常数55536(d8f0),产生10ms时基信号   
 241   1          TL0 = 0xf0;   
C51 COMPILER V6.12  DY1CLOCK                                                               04/27/2009 00:06:27 PAGE 5   

 242   1          EA = 1;              // 开总中断   
 243   1          ET0 = 1;             // 定时/计数器0允许中断   
 244   1          TR0 = 1;             // 开闭定时/计数器0   
 245   1      while(1){
 246   2      
 247   2      unsigned char a,b;
 248   2      
 249   2      if(MENU == 0){	         
 250   3      	 ledh = 1;				
 251   3      	 SP_DIS = 150;
 252   3           turn(hou/10);
 253   3      	 delay_P2();
 254   3      	 displayN();
 255   3      	 delay_P2();
 256   3      	 turn(hou%10);
 257   3      	 delay_P2();
 258   3      	 displayN();
 259   3      	 delay_P2();
 260   3      	 ledh = 0;
 261   3      	 delay_P2();
 262   3      	 ledh = 1;
 263   3      	 delay_P2();
 264   3           turn(min/10);
 265   3      	 delay_P2();
 266   3      	 displayN();
 267   3      	 delay_P2();
 268   3      	 turn(min%10);
 269   3      	 delay_P2();
 270   3      	 displayN();
 271   3      
 272   3      	 delay_ms(7000);
 273   3      	 if(key1 == 0 && key2 == 1){			
 274   4      		delay_ms(20);//去抖
 275   4      		if(key1 == 0 && key2 == 1){
 276   5      			MENU = 1;
 277   5      			while(key1 == 0 || key2 == 0){ ledh = 0; }
 278   5      		}
 279   4      	}     
 280   3      }
 281   2      /**********************************************************************************************/	
 282   2      
 283   2      if(MENU == 1){
 284   3      	SP_DIS = 1;
 285   3      	turn(hou/10);
 286   3      	displayN2();
 287   3      	if(key1 == 0 && key2 == 1){	
 288   4      		delay_ms(20);//去抖
 289   4      		if(key1 == 0 && key2 == 1){
 290   5      			MENU = 2;
 291   5      		}
 292   4      	}
 293   3      	if(key2 == 0 && key1 == 1){	
 294   4      		delay_ms(20);//去抖
 295   4      		if(key2 == 0 && key1 == 1){
 296   5      			a = hou/10;
 297   5      			b = hou%10;
 298   5      			a++;
 299   5      			if(a > 2){
 300   6      				a = 0;
 301   6      			}
 302   5      			hou = a*10 + b;
 303   5      		}
C51 COMPILER V6.12  DY1CLOCK                                                               04/27/2009 00:06:27 PAGE 6   

 304   4      	}
 305   3      	while(key1 == 0 || key2 == 0){ }
 306   3      }
 307   2      /**********************************************************************************************/	
 308   2      
 309   2      if(MENU == 2){
 310   3      	ledh = 0;
 311   3      	turn(hou%10);
 312   3      	displayN2();
 313   3      	if(key1 == 0 && key2 == 1){	
 314   4      		delay_ms(20);//去抖
 315   4      		if(key1 == 0 && key2 == 1){
 316   5      			MENU = 3;
 317   5      		}
 318   4      	}
 319   3      	if(key2 == 0 && key1 == 1){	
 320   4      		delay_ms(20);//去抖
 321   4      		if(key2 == 0 && key1 == 1){
 322   5      			a = hou/10;
 323   5      			b = hou%10;
 324   5      			b++;
 325   5      			if(b > 9){
 326   6      				b = 0;
 327   6      			}
 328   5      			if(a > 1){
 329   6      				if(b > 3){
 330   7      					b = 0;
 331   7      				}
 332   6      			}
 333   5      			hou = a*10 + b;
 334   5      		}
 335   4      	}
 336   3      	while(key1 == 0 || key2 == 0){ }
 337   3      }   
 338   2      /**********************************************************************************************/	
 339   2      
 340   2      if(MENU == 3){
 341   3      	ledh = 0;
 342   3      	turn(min/10);
 343   3      	displayN2();
 344   3      	if(key1 == 0 && key2 == 1){	
 345   4      		delay_ms(20);//去抖
 346   4      		if(key1 == 0 && key2 == 1){
 347   5      			MENU = 4;
 348   5      		}
 349   4      	}
 350   3      	if(key2 == 0 && key1 == 1){	
 351   4      		delay_ms(20);//去抖
 352   4      		if(key2 == 0 && key1 == 1){
 353   5      			a = min/10;
 354   5      			b = min%10;
 355   5      			a++;
 356   5      			if(a > 5){
 357   6      				a = 0;
 358   6      			}
 359   5      			min = a*10 + b;
 360   5      		}
 361   4      	}
 362   3      	while(key1 == 0 || key2 == 0){ }
 363   3      }   
 364   2      /**********************************************************************************************/	
 365   2      
C51 COMPILER V6.12  DY1CLOCK                                                               04/27/2009 00:06:27 PAGE 7   

 366   2      if(MENU == 4){
 367   3      	ledh = 0;
 368   3      	turn(min%10);
 369   3      	displayN2();
 370   3      	if(key1 == 0 && key2 == 1){	
 371   4      		delay_ms(20);//去抖
 372   4      		if(key1 == 0 && key2 == 1){
 373   5      			MENU = 0;
 374   5      		}
 375   4      	}
 376   3      	if(key2 == 0 && key1 == 1){	
 377   4      		delay_ms(20);//去抖
 378   4      		if(key2 == 0 && key1 == 1){
 379   5      			a = min/10;
 380   5      			b = min%10;
 381   5      			b++;
 382   5      			if(b > 9){
 383   6      				b = 0;
 384   6      			}
 385   5      			min = a*10 + b;
 386   5      			sec = 0;//调时完成后把秒清0
 387   5      		}
 388   4      	}
 389   3      	while(key1 == 0 || key2 == 0){ }
 390   3      }
 391   2      }      
 392   1      }   
 393          /**********************************************************************************************/	
 394             


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1245    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       2
   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 + -