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

📄 mineon.lst

📁 image capture billing control system
💻 LST
📖 第 1 页 / 共 5 页
字号:
 333   3      			Play_Cnt=0;
 334   3      			Play_Block = File_Start_Block;
 335   3      			Total_Played_Blocks = 0;
 336   3      			return;
 337   3      		}
 338   2      	}
 339   1      }
 340          
 341          void Prev_Block_Search(Byte turn)
 342          {
 343   1      	Byte i;
 344   1      
 345   1      	for(i=0 ; i<turn ; i++)
 346   1      	{
 347   2      		Play_Block = FAT_Read(Play_Block, PREV_CHECK_LOCATION);
 348   2      		Total_Played_Blocks --;
 349   2      
 350   2      		if( (Play_Block==START_BLOCK) || (Play_Block>=Current_Flash_Mem_Blocks) )
 351   2      		{
 352   3      			Volume_Mute();
 353   3      			File_Num_Dec();
 354   3      			Play_Cnt=0;
 355   3      			Play_Block = File_Last_Block;
 356   3      			Total_Played_Blocks = File_Blocks-1;
 357   3      			return;
 358   3      		}
 359   2      	}
 360   1      }
 361          
 362          void Poll_Status()
 363          {
 364   1      
 365   1      	if(Hold)Yellow_On();
 366   1      	else	Yellow_Off();
 367   1      
 368   1      	switch (SystemStatus)
 369   1      	{
 370   2      		case STATUS_STOP:
 371   2      			Red_On();
 372   2      
 373   2      			break;
 374   2      
 375   2      		case STATUS_PLAY:
 376   2      			Green_On();
 377   2      
 378   2      			if(mmu_swappable)
 379   2      			{
 380   3      				if(Play_Cnt < 5)
 381   3      				{
 382   4      					Play_Cnt++;
 383   4      				}
 384   3      				else if(Play_Cnt == 5)
 385   3      				{
 386   4      					Play_Cnt++;
 387   4      					Volume_Adj();
 388   4      				}
 389   3      
C51 COMPILER V5.50,  MINEON                                                                06/03/01  11:32:07  PAGE 7   

 390   3      				if(Play_Page == 32)
 391   3      				{
 392   4      					Play_Page = 0;
 393   4      					if(RW_Enable|FF_Enable) 
 394   4      					{
 395   5      						Volume_Mute();
 396   5      						if(RW_Enable) Prev_Block_Search(10);	// case 128kbps : 1 sec = 1 block
 397   5      						else Next_Block_Search(10);
 398   5      						Status_Change(STATUS_PLAY);
 399   5      					}
 400   4      					else
 401   4      					{
 402   5      						Error = 0;
 403   5      						Next_Block_Search(1);
 404   5      						if(Error) return;
 405   5      						MMU_Reset();
 406   5      					}
 407   4      
 408   4      				}
 409   3      
 410   3      				if( (Play_Block == File_Last_Block)&&(Play_Page>=Last_Pages) )
 411   3      				{
 412   4      					Play_Page = 32;
 413   4      					return;
 414   4      				}
 415   3      
 416   3      				Flash_Mem_Read(Play_Block, Play_Page);
 417   3      				MP3_Enable();
 418   3      				Play_Page++;
 419   3      			}
 420   2      			break;
 421   2      
 422   2      		case STATUS_PAUSE:
 423   2      			Red_On();
 424   2      
 425   2      			break;
 426   2      
 427   2      		case STATUS_DOWNLOAD:
 428   2      			break;
 429   2      
 430   2      		default:
 431   2      			break;
 432   2      	}
 433   1      }
 434          
 435          void main(void)
 436          {
 437   1      	Bit a=0;
 438   1      	Byte i;
 439   1      
 440   1      // Port Configuration
 441   1      /*
 442   1      	00 : Open Drain
 443   1      	01 : High Impedance
 444   1      	10 : Internal Pull-Up
 445   1      	11 : Push Pull
 446   1      */
 447   1      
 448   1      	P0CfgA	= 0xFF;
 449   1      	P0CfgB	= 0x00;
 450   1      	P1CfgA	= 0xFF;
 451   1      	P1CfgB	= 0x00;
 452   1      
 453   1      	P2CfgA	= 0xFF;
 454   1      	P2CfgB	= 0x00;
 455   1      
C51 COMPILER V5.50,  MINEON                                                                06/03/01  11:32:07  PAGE 8   

 456   1      //	P3CfgA	= 0xFF;
 457   1      //	P3CfgB	= 0x00;
 458   1      	P3CfgA	= 0xFF;	// b'11101111'
 459   1      	P3CfgB	= 0x00;	// b'00000000'
 460   1      
 461   1      //	Freq_Ctrl=0;
 462   1      	Freq_12M();
 463   1      	Delay_100ms(1);
 464   1      
 465   1      	Yellow_Off();
 466   1      	Power_Check();
 467   1      	Battery_Check();
 468   1      	Green_Light(1,2);
 469   1      
 470   1      	smi_write_protect = 1;
 471   1      	SMC_In_Out=0;
 472   1      
 473   1      	Init_USB();
 474   1      	Init_IIC();
 475   1      	Init_EQ();
 476   1      	Init_Key();
 477   1      
 478   1      	Green_Light(1,2);
 479   1      
 480   1      	Status_Change(STATUS_STOP);
 481   1      
 482   1      	EX0 = 1;	// USB Interrupt enable
 483   1      	EX1	= 1;	// SMC Interrupt enable
 484   1      
 485   1      	EA = 1;	// Interrupt enable
 486   1      
 487   1      	if(a)
 488   1      	{
 489   2      		i=i;
 490   2      		Download_Byte();
 491   2      		Delay_10us(1);
 492   2      		Delay_100ms(3);
 493   2      		Delay_Sec(1);
 494   2      		Yellow_Light(1,3);
 495   2      		Red_Light(1,1);
 496   2      		Green_Light(1,1);
 497   2      	}
 498   1      
 499   1      	while(1)
 500   1      	{
 501   2      //		if(a){
 502   2      		Power_Check();
 503   2      		Battery_Check();
 504   2      		SMC_In_Out_Check();
 505   2      
 506   2      		Poll_USB();		// in usb.c
 507   2      //		}
 508   2      		Poll_Key();		// in key.c
 509   2      
 510   2      		Poll_Status();	// in mineon.c
 511   2      	}
 512   1      }
 513          
C51 COMPILER V5.50,  MINEON                                                                06/03/01  11:32:07  PAGE 9   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _Delay (BEGIN)
0000 7800    R     MOV     R0,#LOW j
0002 120000  E     LCALL   ?C?LSTPDATA
                                           ; SOURCE LINE # 8
                                           ; SOURCE LINE # 9
                                           ; SOURCE LINE # 11
0005 7800    R     MOV     R0,#LOW i
0007 120000  E     LCALL   ?C?LSTKPDATA
000A 00            DB      #00H
000B 00            DB      #00H
000C 00            DB      #00H
000D 00            DB      #00H
000E         ?C0001:
000E 7800    R     MOV     R0,#LOW j
0010 E2            MOVX    A,@R0
0011 FC            MOV     R4,A
0012 08            INC     R0
0013 E2            MOVX    A,@R0
0014 FD            MOV     R5,A
0015 08            INC     R0
0016 E2            MOVX    A,@R0
0017 FE            MOV     R6,A
0018 08            INC     R0
0019 E2            MOVX    A,@R0
001A FF            MOV     R7,A
001B 08            INC     R0
001C E2            MOVX    A,@R0
001D FB            MOV     R3,A
001E 08            INC     R0
001F E2            MOVX    A,@R0
0020 F9            MOV     R1,A
0021 08            INC     R0
0022 E2            MOVX    A,@R0
0023 FA            MOV     R2,A
0024 08            INC     R0
0025 E2            MOVX    A,@R0
0026 CB            XCH     A,R3
0027 F8            MOV     R0,A
0028 C3            CLR     C
0029 120000  E     LCALL   ?C?ULCMP
002C 5025          JNC     ?C0004
002E 7800    R     MOV     R0,#LOW i
0030 E2            MOVX    A,@R0
0031 FC            MOV     R4,A
0032 08            INC     R0
0033 E2            MOVX    A,@R0
0034 FD            MOV     R5,A
0035 08            INC     R0
0036 E2            MOVX    A,@R0
0037 FE            MOV     R6,A
0038 08            INC     R0
0039 E2            MOVX    A,@R0
003A 7A00          MOV     R2,#00H
003C 7900          MOV     R1,#00H
003E 7800          MOV     R0,#00H
0040 2401          ADD     A,#01H
0042 FF            MOV     R7,A
0043 EA            MOV     A,R2
0044 3E            ADDC    A,R6
0045 FE            MOV     R6,A
0046 E9            MOV     A,R1
0047 3D            ADDC    A,R5
0048 FD            MOV     R5,A
C51 COMPILER V5.50,  MINEON                                                                06/03/01  11:32:07  PAGE 10  

0049 E8            MOV     A,R0
004A 3C            ADDC    A,R4
004B FC            MOV     R4,A
004C 7800    R     MOV     R0,#LOW i
004E 120000  E     LCALL   ?C?LSTPDATA
0051 80BB          SJMP    ?C0001
                                           ; SOURCE LINE # 12
0053         ?C0004:
0053 22            RET     
             ; FUNCTION _Delay (END)

             ; FUNCTION _Delay_10us (BEGIN)
;---- Variable 'time' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
                                           ; SOURCE LINE # 19
;---- Variable 'j' assigned to Register 'R6' ----
0000 E4            CLR     A
0001 FE            MOV     R6,A
0002         ?C0005:
0002 EE            MOV     A,R6
0003 C3            CLR     C
0004 9F            SUBB    A,R7
0005 500A          JNC     ?C0011
                                           ; SOURCE LINE # 20
                                           ; SOURCE LINE # 21
;---- Variable 'i' assigned to Register 'R5' ----
0007 E4            CLR     A
0008 FD            MOV     R5,A
0009         ?C0008:
0009 0D            INC     R5
000A ED            MOV     A,R5
000B B406FB        CJNE    A,#06H,?C0008
                                           ; SOURCE LINE # 22
000E         ?C0007:
000E 0E            INC     R6
000F 80F1          SJMP    ?C0005
                                           ; SOURCE LINE # 23
0011         ?C0011:
0011 22            RET     
             ; FUNCTION _Delay_10us (END)

             ; FUNCTION Init_Timer1 (BEGIN)
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 42
0000 53890F        ANL     TMOD,#0FH
                                           ; SOURCE LINE # 43
0003 438910        ORL     TMOD,#010H
                                           ; SOURCE LINE # 44
0006 22            RET     
             ; FUNCTION Init_Timer1 (END)

             ; FUNCTION _Delay_10ms (BEGIN)
;---- Variable 'time' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
                                           ; SOURCE LINE # 49
0000 120000  R     LCALL   Init_Timer1
0003         ?C0013:
                                           ; SOURCE LINE # 51
0003 EF            MOV     A,R7
0004 6012          JZ      ?C0017
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
0006 758DB1        MOV     TH1,#0B1H
C51 COMPILER V5.50,  MINEON                                                                06/03/01  11:32:07  PAGE 11  

                                           ; SOURCE LINE # 54
0009 758BDF        MOV     TL1,#0DFH
                                           ; SOURCE LINE # 55
000C C28F          CLR     TF1
                                           ; SOURCE LINE # 56
000E D28E          SETB    TR1
0010         ?C0015:
                                           ; SOURCE LINE # 57
0010 308FFD        JNB     TF1,?C0015
0013         ?C0016:
                                           ; SOURCE LINE # 58
0013 C28E          CLR     TR1
                                           ; SOURCE LINE # 59
0015 1F            DEC     R7
                                           ; SOURCE LINE # 60
0016 80EB          SJMP    ?C0013
                                           ; SOURCE LINE # 61
0018         ?C0017:
0018 22            RET     
             ; FUNCTION _Delay_10ms (END)

             ; FUNCTION _Delay_100ms (BEGIN)
;---- Variable 'time' assigned to Register 'R6' ----
0000 AE07          MOV     R6,AR7
                                           ; SOURCE LINE # 63
                                           ; SOURCE LINE # 64
                                           ; SOURCE LINE # 65
0002 120000  R     LCALL   Init_Timer1

⌨️ 快捷键说明

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