亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dispdled.c

?? 威望公司MP3 + USB MCU 的參考軟件
?? C
字號:

/*
1. Display content:
Song Index/Total counter, Long File Name,
Volumn, FM Channel, EQ Setting, PlayMode, U-Disk/SD, Play/Pause

2 Display Status(FSM)
Normal_Status:
Switch_Song_Status
Set_Volumn_Status
Set_FMCH_Status
Set_EQ_Status
Switch_USBSD_Status
Set_PlayPause_Status

Pick Songs/FMCH

開機(jī)畫面
*/
#include "utiltypedef.h"
#include "reg51.h"
#include "va4010reg.h"
#include "config.h"
#include "common.h"
#include "4010UI.h"
#include "halfm.h"
#include "hallcm.h"
#include "display.h"
#include "hali2c.h"
#include "halmp3dec.h"
#include "timer.h"
#include "halvol.h"
#include "halinfo.h"
#include "common.h"
#if (DIGITAL_SHOW == DIGITAL_SHOW_DLED )
#include "dispdled.h"
extern BYTE data bgDispGap;
static BYTE data DispStatus;
static BYTE data DispStatusChg;
BYTE bDigital[4] = {LED_NONE, LED_NONE, LED_NONE, LED_NONE};
static BYTE data bDigIdx =0;

BOOL data pauseplayflag = TRUE;/*amend 20071226 by majia*/
BOOL data flashflag = TRUE;
extern BYTE data flashtick;
static BYTE DledDigMap[] = {
	LED_0, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9
}; //, DOT_LED, 1_EXT_LED};

/*
|  | |  |  | |  | |
|  | |  |  | |  | |

||||||||||
||||||||||

*
*/


static void _DispHex2Dec(WORD wVal)
{

	BYTE data bRed;//, byStartX, byStartY;
	WORD data wDiv;
	WORD data  wVa;
	
	wDiv = wVal; //~DIGITAL_SHOW_MASK
	bDigIdx = 0;
	memclr(bDigital, sizeof(bDigital));

	wVa = 1000;
	do{
		bRed = wDiv/wVa;
		wDiv = wDiv%wVa;
		wVa /= 10;
		if((bDigIdx == 0) && (bRed == 0) && (wVa > 0)){
			continue;
		}
		
		bDigital[bDigIdx] = DledDigMap[bRed]; //Map the Decimal into DLED show
		bDigIdx++;
	}while(wVa > 0);
     if((mp3status==MP3STATUS_PAUSE)&&(pauseplayflag))/*amend 20071226 by majia*/
	                           bDigital[bDigIdx-1] = LED_NONE;
	

//	if(bDotFlag == TRUE)	ADD_DOT(bDigital[2]);


		
	return;
}

static void _halDispGapChk()
{
	BYTE bGap = DISP_VOLUMN_GAP;

	//if(DispStatus == DISP_NORMAL_STATUS){
	//	bGap =  8;
	//}
/*
	if((bgDispGap>bGap)&&(DispStatus!=DISP_NORMAL_STATUS)){
	//if(bgDispGap > bGap){
		if(irjumptype == IRJUMP_TYPE_PICKSONG){
			halIRPickSong();
		}else if(irjumptype == IRJUMP_TYPE_CHSET){
			halIRChSet();
		}else{		
			DispSetStatus(DISP_NORMAL_STATUS);
		}

		halIRClrJump();
		bgDispGap = 0;
	}	
*//*amend 20071226 by majia*/
if(bgDispGap>bGap){	 
	if(DispStatus!=DISP_NORMAL_STATUS){
		UartOutText("-I-:_halDispGapChk--3ms!NORMAL\r\n");
		if(irjumptype == IRJUMP_TYPE_PICKSONG){
			halIRPickSong();
		}else if(irjumptype == IRJUMP_TYPE_CHSET){
			halIRChSet();
		}else{
		       pauseplayflag = FALSE;
			DispSetStatus(DISP_NORMAL_STATUS);
		}
	   
		halIRClrJump();
		bgDispGap = 0;
	   }
       if((mp3status==MP3STATUS_PAUSE))
	 	{
	 	  UartOutText("-I-:_halDispGapChk--PauseStatus\r\n");
	 	  bgDispGap = 0;
		  DispSetStatus(DISP_NORMAL_STATUS);
		  pauseplayflag = FALSE;
	 	}
	}
	return;
}

static void _halDispIdx(void)
{
	//UartOutText("-I-:_halDispIdx\r\n");

	_DispHex2Dec(10*(Mp3SReq.swIdx));//NOTE: SWORD -> WORD??

	return;
}

static void _halDispVol()
{
	//UartOutText("-I-:_halDispVol\r\n");

	_DispHex2Dec(10*halVolGet());

#if 0
{
	BYTE i;

	for(i=0; i<bDigIdx; i++){
		UartOutText("-I-: bDigital[i]  0x\r\n");UartOutValue(bDigital[i], 2 );
	}
}
#endif	

	return;
}

static void _halDispFM()
{
	//UartOutText("-I-:_halDispFM\r\n");

	_DispHex2Dec(halFMGetFreq());
	return;
}

static void _halDispJump()
{
	//UartOutText("-I-:_halDispJump\r\n");

#if (IRCTRL_MODE == IRCTRL_MODE_DIGCTRL)	
	_DispHex2Dec(halIRGetJump());

	//NO dot is needed here.

#endif

	return;
}

static void _halDispSimp()
{
	UartOutText("-I-:_halDispSimp\r\n");
		
	if(DispStatus == DISP_EQ_STATUS){
		bDigital[0] = LED_E;
		bDigital[1] = DledDigMap[halEQGet()];
		bDigIdx = 3;
	}else{
		bDigital[0] = LED_E;
		bDigital[1] = LED_R;
		bDigIdx = 3;
	}
		
	return;
}

static void _halDispCtrlDig()
{
//	BYTE i;
#if (IRCTRL_MODE == IRCTRL_MODE_CTRLDIG)	
	WORD wTmp = halIRGetJump();

	//here we set

	//UartOutText("-I-:_halDispCtrlDig\r\n");
	
	if(wTmp > 0){
		if(irjumptype == IRJUMP_TYPE_CHSET)
			_DispHex2Dec(wTmp);
		else
			_DispHex2Dec(10*wTmp);
	}else{//wTmp == 0
		bDigIdx = 0;
		//UartOutText("----------ctrldig----------\r\n");
		//UartOutText("-I-bDigIdx\t");UartOutValue(bDigIdx, 2);	
	}
#endif

	return;
}

static void _halDispNoDev()
{
	//UartOutText("-I-:_halDispNoDev\r\n");

	_halDispFM();
	//_halDispIdx();

	return;
}

static void _halDispPause()
{
	//UartOutText("-I-:_halDispPause\r\n");
	//_halDispFM();
/*amend 20071226 by majia*///<
if(pauseplayflag)
 {
	_halDispIdx();
 }    
else
	
	_halDispFM();
  //<
	return;
}
static void _halDispNormal()
{

	//UartOutText("-I-:_halDispNormal\r\n");
	if(FSMState != FSMSTATE_INIT){ //No device
		_halDispNoDev();//Show some thing song idx/fm freq.
		return;
	}

	if((mp3status==MP3STATUS_PAUSE)&&(pauseplayflag)){ //Pause
	
		_halDispPause();
		//_halDispIdx();
		
		return;
	}

	if(mp3status==MP3STATUS_PLAY)
                   pauseplayflag =TRUE;
	//Normal Play	//Display fm ch
	_halDispFM();
      
	bgDispGap = 0;
       
	return;
}

//The functions in this table should not have parameters and return value for 8051 Platform.
static void (*DispHdMap[DISP_MAX_STATUS])(void) = {
	_halDispNormal, //Including NODEV, PAUSE, PLAY
	_halDispIdx,
	_halDispVol,
	_halDispFM,
	_halDispSimp, //EQ
	_halDispJump,
	_halDispSimp, //ERROR
	_halDispCtrlDig,	
};

//Check if the display status is changed.
BYTE _DispFMSCase(void)
{
	BYTE data bRet=FALSE;

	_halDispGapChk();

	if(DispStatusChg == TRUE){					
		DispStatusChg = FALSE;
		bRet=TRUE;
	}

	return bRet; //TRUE: Display, FALSE: No Display
}
/////////////////////API for DLED Display Module////////////////////////
void DispFSM(void)
{
	BYTE data bRet;	

	WDT = 0X1F;
	
	bRet = _DispFMSCase();//??????????????
	if(!bRet) 	//No display needed.
		return;
	
	//bDotFlag = FALSE;
	//gbFlashFlag = FALSE;
	
	DispHdMap[DispStatus](); 

	WDT = 0X1F;
	
	return;
}

//extern BYTE EQString[EQ_VALUE_MAX+1][6];
void DispInit(void) //This function should be done before any display operation
{
	//Init global variable
	DispStatus = DISP_NORMAL_STATUS;
	bgDispGap = 0;
	flashtick =0;
	DispStatusChg = FALSE;
	flashflag = TRUE;	
	DispSetStatus(DispStatus);
	return;
}

void DispSetStatus(BYTE bStatus)
{
	DispStatus = bStatus;
	DispStatusChg = TRUE; 

	bgDispGap = 0;

	return;
}

void DispReset(void)
{
	//DispStatus = DISP_IDLE_STATUS;
	//DispStatusChg = FALSE;
	
	return;
}

static void halModLED(BYTE Status){

	//add DOT flag for display Freq.
	if((Status == DISP_NORMAL_STATUS)||(Status == DISP_FMCH_STATUS))
		ADD_DOT(bDigital[bDigIdx-2]);
	else{//for WITLINK_070,show DIG 1,DIG 2,DIG 3 except for display Freq.
		if(Status == DISP_VOLUMN_STATUS)
			if(halVolGet() == 0){//when Vol==0
				bDigIdx = 2;
				bDigital[0] = LED_0;
			}
		if(!((Status == DISP_CTRLDIG_STATUS)&&(irjumptype == IRJUMP_TYPE_CHSET)))
			bDigital[bDigIdx-1] = LED_NONE;

	}	
	return;
}

void halDLEDISR(void)
{
	static BYTE data SegIdx = 0;

	DLED_SEG_OFF();
	
	halModLED(DispStatus);	
	
	if(bDigIdx == 0){
		return;
	}
	
	DLED_DATA(bDigital[SegIdx]);
	DLED_SEG_SEL(4-bDigIdx+SegIdx);
	
	//DelayMs(1);

	SegIdx++;
	if(SegIdx >= bDigIdx){
		SegIdx = 0;
	}
	return;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜久久久久久久久电影院 | 五月婷婷久久综合| 91美女精品福利| 欧美国产激情一区二区三区蜜月| 国产精品小仙女| 日本一区二区三区在线观看| 国产999精品久久| 国产精品麻豆99久久久久久| 成人午夜精品一区二区三区| 国产精品久久久久一区二区三区 | 波多野结衣欧美| 日韩美女久久久| 欧美日韩国产另类一区| 免费高清在线一区| 久久久久久久免费视频了| av在线不卡观看免费观看| 亚洲另类春色校园小说| 欧美日韩一级片在线观看| 日韩av中文字幕一区二区三区| 日韩欧美在线影院| 大桥未久av一区二区三区中文| 亚洲欧洲在线观看av| 欧美日韩黄视频| 久久66热偷产精品| 最新热久久免费视频| 精品视频一区二区不卡| 国产综合一区二区| 最新高清无码专区| 91精品福利在线一区二区三区| 国产麻豆精品视频| 亚洲小说春色综合另类电影| 日韩欧美精品在线| 91香蕉视频污在线| 美女脱光内衣内裤视频久久影院| 国产精品久久久久久久久免费樱桃 | 26uuu亚洲| 色婷婷亚洲综合| 人人精品人人爱| 亚洲乱码国产乱码精品精的特点| 日韩一级完整毛片| 91丨九色丨国产丨porny| 日产精品久久久久久久性色| 国产精品九色蝌蚪自拍| 日韩一区二区三区三四区视频在线观看| 国产成人精品亚洲777人妖| 亚洲大片精品永久免费| 亚洲国产精品av| 欧美一区二区观看视频| 色诱视频网站一区| 国产高清在线观看免费不卡| 亚洲一区国产视频| 欧美高清在线视频| 精品欧美乱码久久久久久1区2区| 色婷婷国产精品| 国产大陆亚洲精品国产| 全部av―极品视觉盛宴亚洲| 亚洲欧美色一区| 国产精品污网站| 26uuu精品一区二区| 欧美日韩在线播放一区| 91丨九色丨蝌蚪富婆spa| 国产传媒欧美日韩成人| 精品一区二区成人精品| 日日摸夜夜添夜夜添国产精品| 亚洲老妇xxxxxx| 国产精品久线观看视频| 国产欧美一区二区精品性色| 精品欧美久久久| 日韩欧美中文字幕一区| 欧美一区二区三区公司| 欧美精品在线一区二区三区| 色妹子一区二区| 99视频一区二区| av激情综合网| a在线欧美一区| 99久久久无码国产精品| 成人涩涩免费视频| 国产91精品一区二区麻豆网站| 精品一区二区三区的国产在线播放| 日本中文字幕一区二区有限公司| 一区二区激情视频| 天堂一区二区在线免费观看| 亚洲一区二区在线播放相泽| 亚洲欧美国产毛片在线| 亚洲精品视频一区| 亚洲午夜精品网| 亚洲一区二区三区在线播放| 亚洲国产综合人成综合网站| 亚洲永久免费视频| 午夜激情综合网| 另类的小说在线视频另类成人小视频在线 | 国产精品视频一二三| 国产精品成人免费精品自在线观看| 国产女主播视频一区二区| 国产欧美精品一区aⅴ影院| 国产精品全国免费观看高清| 1024国产精品| 亚洲电影第三页| 麻豆专区一区二区三区四区五区| 加勒比av一区二区| 成人综合在线网站| 91免费精品国自产拍在线不卡| 欧美性欧美巨大黑白大战| 欧美日本一区二区三区四区| 欧美一区二区精品| 久久精品一区二区| 亚洲欧美激情在线| 免费在线视频一区| 国产超碰在线一区| 欧美午夜电影网| 精品国产百合女同互慰| 136国产福利精品导航| 亚洲午夜电影在线| 国产九色sp调教91| 在线观看欧美精品| 精品国产三级电影在线观看| 国产婷婷一区二区| 亚洲二区视频在线| 国产精品99久久久| 欧美亚洲禁片免费| 久久综合国产精品| 亚洲影院免费观看| 国产精品77777| 欧美性色欧美a在线播放| 国产视频视频一区| 丝袜美腿亚洲色图| 99久久综合色| 精品免费视频.| 亚洲午夜久久久久久久久电影院 | 久久久三级国产网站| 亚洲欧美视频一区| 国产老女人精品毛片久久| 欧美色涩在线第一页| 国产欧美精品一区二区色综合| 香蕉成人伊视频在线观看| 国产a精品视频| 欧美一区二区二区| 亚洲欧美视频在线观看视频| 国产精品一区二区久激情瑜伽| 在线观看日韩av先锋影音电影院| 国产日韩欧美激情| 热久久一区二区| 欧美伊人精品成人久久综合97| 亚洲国产成人在线| 久久精品国产一区二区三区免费看| 色先锋aa成人| 国产精品国产三级国产专播品爱网| 另类调教123区| 7777精品伊人久久久大香线蕉完整版| 国产精品精品国产色婷婷| 激情图片小说一区| 91精品欧美一区二区三区综合在| 亚洲欧美色综合| 丁香一区二区三区| 久久久久亚洲蜜桃| 久久99精品国产| 欧美精品久久一区二区三区| 亚洲狼人国产精品| 91在线视频18| 国产精品三级av| 成人精品一区二区三区四区| 久久色视频免费观看| 日本女人一区二区三区| 欧美高清精品3d| 视频一区视频二区中文字幕| 欧美三级视频在线播放| 亚洲午夜免费视频| 欧美色欧美亚洲另类二区| 亚洲精品少妇30p| 91蜜桃视频在线| 亚洲激情一二三区| 91免费视频网址| 一区2区3区在线看| 在线亚洲欧美专区二区| 亚洲最大成人网4388xx| 91极品美女在线| 一区二区视频免费在线观看| 色婷婷亚洲一区二区三区| 亚洲美女视频在线观看| 色菇凉天天综合网| 亚洲成人在线免费| 欧美一区二区三区免费大片 | 亚洲午夜精品一区二区三区他趣| 色狠狠一区二区三区香蕉| 亚洲综合丝袜美腿| 91精品国产综合久久蜜臀| 韩国女主播一区| 国产精品女同互慰在线看 | 91麻豆国产香蕉久久精品| 亚洲午夜影视影院在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 精品国产一区二区三区四区四 | 国产成人av福利| 国产精品欧美久久久久一区二区| 波多野结衣亚洲一区| 亚洲一级在线观看| 日韩欧美一二区| av不卡在线播放| 日本va欧美va瓶| 国产精品久久久久久户外露出|