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

📄 liwan.lst

📁 在学习proteus和单片机的时候积累的一些仿真例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
 237   1      	{
 238   2      		Mode_7();
 239   2      	}
 240   1      	else if(RunMode ==0x08)
 241   1      	{
C51 COMPILER V6.12  LIWAN                                                                  08/24/2007 16:40:41 PAGE 5   

 242   2      		Mode_8();
 243   2      	}
 244   1      }
 245          
 246          void Timer2(void) interrupt 5 using 3
 247          {
 248   1      	TF2 = 0; 	//中断标志清除( Timer2 必须软件清标志!)
 249   1      	if(++Timer0Count>=SystemSpeed)
 250   1      	{
 251   2      		Timer0Count = 0;
 252   2      		Timer0EventRun();
 253   2         	}
 254   1      }
 255          unsigned char MusicIndex = 0;
 256          void KeyDispose(unsigned char Key)
 257          {
 258   1      	if(Key&0x01)
 259   1      	{
 260   2      		LEDDirection = 1;
 261   2      		LEDIndex = 0;
 262   2      		LEDFlag = 1;
 263   2      		RunMode = (RunMode+1)%10;
 264   2      		Display(RunMode);
 265   2      		if(RunMode==0x09)
 266   2      			TR2 = 0;
 267   2      		else
 268   2      			TR2 = 1;
 269   2      	}
 270   1      	if(Key&0x02)
 271   1      	{
 272   2      		if(RunMode==0x09)
 273   2      		{
 274   3      			MusicIndex =(MusicIndex+MUSICNUMBER-1)%MUSICNUMBER;
 275   3      		}
 276   2      		else
 277   2      		{
 278   3      			if(SystemSpeedIndex>0)
 279   3      			{
 280   4      				--SystemSpeedIndex;
 281   4      				SetSpeed(SystemSpeedIndex);
 282   4      			}
 283   3      			else
 284   3      			{
 285   4      				LEDFlash(6);
 286   4      			}
 287   3      	 	}
 288   2      	}
 289   1      	if(Key&0x04)
 290   1      	{
 291   2      		if(RunMode==0x09)
 292   2      		{
 293   3      			MusicIndex =(MusicIndex+1)%MUSICNUMBER;
 294   3      		}
 295   2      		else
 296   2      		{
 297   3      			if(SystemSpeedIndex<28)
 298   3      			{
 299   4      				++SystemSpeedIndex;
 300   4      				SetSpeed(SystemSpeedIndex);
 301   4      			}
 302   3      			else
 303   3      			{
C51 COMPILER V6.12  LIWAN                                                                  08/24/2007 16:40:41 PAGE 6   

 304   4      				LEDFlash(6);
 305   4      			}
 306   3      	   	}
 307   2      	}	
 308   1      }
 309          //*****************************Music******************************************************
 310          //挥着翅膀的女孩
 311          unsigned char code Music_Girl[]={ 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,
 312                                            0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,
 313                                            0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,
 314                                            0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,
 315                                            0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,
 316                                            0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,
 317                                            0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,
 318                                            0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03,
 319                                            0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,
 320                                            0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02,
 321                                            0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
 322                                            0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
 323                                            0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
 324                                            0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,
 325                                            0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,
 326                                            0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
 327                                            0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
 328                                            0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
 329                                            0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,
 330                                            0x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03,
 331                                            0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x02, 0x17,0x03,
 332                                            0x15,0x17, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x18,0x03,
 333                                            0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E,
 334                                            0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03,
 335                                            0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,
 336                                            0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,
 337                                            0x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,
 338                                            0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,
 339                                            0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04,
 340                                            0x18,0x04, 0x18,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,
 341                                            0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03,
 342                                            0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03,
 343                                            0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,
 344                                            0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02,
 345                                            0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,
 346                                            0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0x00,0x00};
 347          //同一首歌
 348          unsigned char code Music_Same[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,
 349                                            0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,
 350                                            0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,
 351                                            0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,
 352                                            0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,
 353                                            0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,
 354                                            0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,
 355                                            0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,
 356                                            0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,
 357                                            0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,
 358                                            0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,
 359                                            0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,
 360                                            0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,
 361                                            0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02,
 362                                            0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,
 363                                            0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,
 364                                            0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,
 365                                            0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,
C51 COMPILER V6.12  LIWAN                                                                  08/24/2007 16:40:41 PAGE 7   

 366                                            0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,
 367                                            0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,
 368                                            0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,
 369                                            0x00,0x00 };
 370          //两只蝴蝶                                  
 371          unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
 372                                            0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,
 373                                            0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
 374                                            0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03,
 375                                            0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01,
 376                                            0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,
 377                                            0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01,
 378                                            0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
 379                                            0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,
 380                                            0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
 381                                            0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03,
 382                                            0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,
 383                                            0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,
 384                                            0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00,
 385                                            0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,
 386                                            0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03,
 387                                            0x16,0x0D, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03,
 388                                            0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03,
 389                                            0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,
 390                                            0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E,
 391                                            0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E,
 392                                            0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03,
 393                                            0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03,
 394                                            0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03,
 395                                            0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03,
 396                                            0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02,
 397                                            0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01,
 398                                            0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03,
 399                                            0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
 400                                            0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
 401                                            0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
 402                                            0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02,
 403                                            0x10,0x03, 0x15,0x00, 0x00,0x00 };
 404          //***********************************************************************************
 405          unsigned char * SelectMusic(unsigned char SoundIndex)
 406          {
 407   1      	unsigned char *MusicAddress = 0;
 408   1      	switch (SoundIndex)
 409   1      	{	
 410   2      		case 0x00:
 411   2      			MusicAddress = &Music_Girl[0];	//挥着翅膀的女孩		
 412   2      			break;
 413   2      		case 0x01:
 414   2      			MusicAddress = &Music_Same[0];	//同一首歌		
 415   2      			break;
 416   2      		case 0x02:
 417   2      			MusicAddress = &Music_Two[0];	//两只蝴蝶  
 418   2      			break;
 419   2      		case 0x03:
 420   2      			break;
 421   2      		case 0x04:
 422   2      			break;
 423   2      		case 0x05:
 424   2      			break;
 425   2      		case 0x06:
 426   2      			break;
 427   2      		case 0x07:
C51 COMPILER V6.12  LIWAN                                                                  08/24/2007 16:40:41 PAGE 8   

 428   2      			break;
 429   2      		case 0x08:
 430   2      			break;
 431   2      		case 0x09:
 432   2      			break;
 433   2      		default:break;
 434   2      	}
 435   1      	return MusicAddress;
 436   1      }
 437          
 438          void PlayMusic(void)
 439          {	
 440   1      	Delay1ms(200);
 441   1      	Play(SelectMusic(MusicIndex),0,3,360);
 442   1      }
 443          //***********************************************************************************
 444          main()
 445          {
 446   1      	unsigned char Key;
 447   1      	InitialCPU();
 448   1      	InitialSound();
 449   1      	InitialTimer2();
 450   1      
 451   1      	while(1)
 452   1      	{
 453   2      		Key = GetKey();
 454   2      		if(RunMode==0x09)
 455   2      		{
 456   3      			PlayMusic();
 457   3      		}
 458   2      		if(Key!=0x00)
 459   2      		{
 460   3      			KeyDispose(Key);
 461   3      		}
 462   2      	}
 463   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2146    ----
   CONSTANT SIZE    =   1013    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14      63
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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