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

📄 bank0.c

📁 51 bank代码
💻 C
字号:
#include <option.h>
#include <SMI51.h>
#include <struct.h>
#include <local.h>
#include <local1.h>
#include <protyp.h>
#include <fusb.h>
#include <SDCMD.h>

#include <dsp.h>
#include <LCD.h>
#include <fat.h>
#include <ui.h>
#include <fm.h>

#include <usbsmi.c>

#include <HandleTempBlock.c>
#include <READCMD.C>
#include <WRITECMD.C>
#include <FLASHCMD.C>
#include <CARDPUB1.C>

void BackwardFile()
{
	if(gxRepeatMode<3)
	{
		if(gbDirMode&&(XB_FileType!=1))
		{
			gx16CurrentDirFileIndex--;
			if(gbPlayMode)
			{
				if(gx16CurrentDirFileIndex<gx16TotalSubDirInCurrentDir)
					gx16CurrentDirFileIndex=gx16TotalSubDirInCurrentDir+gx16TotalPlayFileInCurrentDir-1;
			}
			else
			{
				if(gx16CurrentDirFileIndex==0xffff) 
					gx16CurrentDirFileIndex=gx16TotalSubDirInCurrentDir+gx16TotalPlayFileInCurrentDir-1;
			}
		}
		else
		{
		    gx16PlayIndex--;
		    if(gx16PlayIndex==0xffff) 
		    	gx16PlayIndex=XW_TotalFile[XB_FileType]-1;
		}
	}
	else
		uiRandomSelectSong();
}

void SELFILE(BYTE dir)
{
	RampDownToMute();
    if (!XB_NoFile &&  (!gbPauseMode) )
    {
        if (dir)  BackwardFile();
        else      ForwardFile();

        SelPlayFile(SET_BIT1 | SET_BIT0);

        if (gbPlayMode)   
        {
        	if(XB_File_CurrentType==C_SubDir)
        	{
        		SET_PLAYMODE(C_FileSelectMode);
        		M_ClrDataFormatError;
        	}
        	else
        		MP3PlayStart();
        }
    }
}   

void ErrorMenu(BYTE k)
{  
    NowBufDirH=NowBufDirF=0;
    ClrMenuLayer();
    XB_MENULayer[0]=MenuLayer0_WaitKey;  
    BackLightOn();
    GUI_ShowMenu1(GUI_ERRORPAGE+k);
    SET_PLAYMODE(C_FileSelectMode);
}   

void GotoSelFileMode()
{
    if (XW_TotalFile[XB_FileType]) 
    	XB_NoFile=0;
    else                           
    	XB_NoFile=1;

    if (!XB_NoFile)
    {
    	lcmClearLCM();
        SelPlayFile(SET_BIT1 | SET_BIT0);
        SET_PLAYMODE(C_FileSelectMode);
    }
    else   NoFileProcess();
}

void InitMP3Play()
{
    XB_ABMode=0;
    ClrTimer();
    ALL_BUF_MOVX;
    NowBufDirH=0;
}

void NoFileProcess()
{
    LCM_xp=0;
    LCM_yp=1;   
    if (XB_DiskStatus & SET_BIT0)
        GUI_ShowMenu1(GUI_NOFILEPAGE);
    else
        GUI_ShowMenu1(GUI_NOPARTPAGE);
    gx16PlayIndex=0;
    uiUpdateMainDisplay(bit3);
    SET_PLAYMODE(C_NoFileStopMode);
}   

void debugOutputData(XBYTE* pData,WORD u16Length)
{
	XWORD u16TempCnt,u16Length0;
	
	u16Length0=u16Length;
	/*
    XSFR1 |= bit2;
	delayclk(50);
    if(PB_HOST[Key_Pad]!=0xff)
    {
    	M_SetDebug;
    }
    */
	P31=0;
	for(u16TempCnt=0;u16TempCnt<u16Length0;u16TempCnt++)
	{
		PB_FLASH[0x1e]=(BYTE)u16TempCnt;
		PB_FLASH[0x1e]=*pData;
		pData++;
	}
	
	if(PB_HOST[Key_Pad]!=0xff)
		while(PB_HOST[Key_Pad]!=0xff);
	
	if(M_ChkDebug)
	{
		while(PB_HOST[Key_Pad]==0xff);	//(J)wait key press
		while(PB_HOST[Key_Pad]!=0xff);	//(J)wait key release
	}
	XSFR1 &= ~bit2;
	P31=1;
}

CBYTE T_LanguageCode[]=
{
	  C_ENG,  C_GB2312, C_BIG5, C_ENG,
	  C_ENG,  C_ENG,    C_ENG,  C_ENG,
	  C_ENG,  C_ENG,    C_ENG,  C_ENG2, 
	  C_ENG2, C_ENG2,   C_Russ, C_JIS,
	  C_KSC,  C_Thai
};

void ProcessLanguageSet(BYTE lang)
{
	XB_ADJ_Language=lang;
    gx16LangMsgOffset=(WORD)lang*C_LanguageMenuMsgNum;
    gxUnicodeTabIndex=T_LanguageCode[XB_ADJ_Language];
    MOVESRAM_XX(gxarFileName,gxarFileNameBuf,128);	//(J)backup unicode filename
    if(gxarFileName[1]&1)
    {
    	Unicode2Big5(&gxarFileName[0]);
    }
    if(gbPlayMode)
	{
		if((XB_File_CurrentType==WMAFILE)&&M_ChkWithId3Tag&&(!M_ChkWithLyric))
		{
			MOVESRAM_XX(gxarWMATag,gxarWMATagBuf,128);
			Unicode2Big5(&gxarWMATag[0]);
		}
	}
}  

void InitDSPTypeROM(BYTE type)
{
    Disable_DSP(); 
    DSP_CLK_ALLON;

    switch (type)
    {
        case MP3FILE:
        	XB_NowDSPCode=0;
            Load_DSP();
            DSP_PMD_CLKOFF;
            WRITE_DSPIO(0x45,0x0000);   
            break;
            
        case WMAFILE:
        	XB_NowDSPCode=1;
            Load_DSP();
            break;
        
        case WMRFILE:
        	XB_NowDSPCode=3; 
        	Load_DSP();
            break;   
            
        case WAVFILE:
        	XB_NowDSPCode=2; 
            Load_DSP();
            BeforePlayingVoice();
            DSP_PMD_CLKOFF;
            break;
            
        case RECFILE:
        	XB_NowDSPCode=2;
            Load_DSP();
            BeforeRecordingVoice();
            DSP_PMD_CLKOFF;
            break; 
    } 
}

void Process_STOP()
{ 
    RampDownToMute();
    while (ReadDSP_DMA_CTRbit());
    Disable_DSP();
    SET_PLAYMODE(C_FileSelectMode);
    ClrMenuLayer();
    WRITE_DSPREG(0x27,0x00);
    RESET_BUF();
}
 

⌨️ 快捷键说明

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