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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jbwait.c

?? 電話PSTN線路上FSK處理軟件。。。。。。。。。
?? C
?? 第 1 頁 / 共 4 頁
字號:

void DispTalk(uint iTalkPointer)					//顯示查詢話單
{
    byte i;
    memset(&aLargeBuf,0,20);
	memcpy(&aDataBuf,&aNumBuf,16);
   	if(fDispTalkPointer){							//是否顯示話單序列號
   		for(i=10;i>3;i--)
   			aNumBuf[i]=aNumBuf[i-4];
   		if(aNumBuf[4]==0x0d)
   			aNumBuf[4]=0x0c;	
   		i=0;	
   		aNumBuf[i++]=iTalkPointer/100;  
   		aNumBuf[i++]=(iTalkPointer/10)%10;  
   		aNumBuf[i++]=iTalkPointer%10;  
   		aNumBuf[i++]=0x0d;  
   	}	
    pReadNumber=10;
    DispNum(LargeLcd);
	memcpy(&aNumBuf,&aDataBuf,16);
	if(iTotalTime!=0){
    	DispTime(iTotalTime);
    	DispCharge(lTotalTariff,1);
    	DispCharge(lTotalTariff,2);
    }	
    pReadNumber=pWriteNumber=0;    
}        

void DispBillTime(void)
{
//	bool fFlag=0;
//	if((aLargeBuf[0]&0x08)==0x08)
//		fFlag=1;
	memset(aLargeBuf,0,20);
	aLargeBuf[0]|=aLCDSegment[aCallTime[MONTH]>>4];
//	if(fFlag)
//		aLargeBuf[0]|=0x08;
	aLargeBuf[1]=aLCDSegment[aCallTime[MONTH]&0x0f];
	aLargeBuf[2]=0x20;
	aLargeBuf[3]=aLCDSegment[aCallTime[DAY]>>4];
	aLargeBuf[4]=aLCDSegment[aCallTime[DAY]&0x0f];
	aLargeBuf[5]=0;
	aLargeBuf[6]=aLCDSegment[aCallTime[HOUR]>>4];
	aLargeBuf[7]=aLCDSegment[aCallTime[HOUR]&0x0f];
	aLargeBuf[8]=0x20;
	aLargeBuf[9]=aLCDSegment[aCallTime[MINUTE]>>4];
	aLargeBuf[10]=aLCDSegment[aCallTime[MINUTE]&0x0f];
	DispOut();
}	
   
/*********************************************************************** 
* 
*
*       函 數 名:	SaveDayTotal 
*   	說	  明:	將日分項合計值寫入到ROM中的存儲區域 
* 
* 
* 
***********************************************************************/ 

void WriteDayTotal(void)
{   
    byte i;
    byte bTemp;
    AutoReadPara(78);
    bParaByte++;
    if(bParaByte>2){
    	if(fWorkMode)
	    	iAddress=PARA_00;
    	else
	    	iAddress=PARA_200;
    	ReadBytes(1,4);
    	iAddress-=4;								//恢復到原來的值
    	if(aParaBuf[2]!=0){
    		memset(aParaBuf,0,4);
    		WriteData(1,iAddress,4,&aParaBuf);
    	}	
    	bParaByte=0;
    }	
   	AutoWritePara(78);
	Page(6);	
	if((aUserRTCBuf[MONTH]==XBYTE[0xc02c])	//防止因某種原因導致重復寫日分項
		&&(aUserRTCBuf[DAY]==XBYTE[0xc02d])){
		Page(5);
		return;
	}							
	iAddress=PARA_75;
	if(!fWorkMode){
		iAddress++;							//若工作在老模式,則不取年
		iAddress++;
	}	
    for(i=0;i<21;i++){
    	Page(6);
    	bTemp=XBYTE[iAddress++];			//將日分項合計值填入到緩沖區aDataBuf中
    	Page(5);
    	aDataBuf[i]=bTemp;
    }
   	
    Page(6);
    i=XBYTE[PARA_71];						//取出日分項合計指針
    if(fWorkMode){
    	if(i>31)
    		i=0;
    	iAddress=NEW_DAYTOTAL_ADDR+(uint)(i*21);		//new mode
    	iPaNeNum=21;
    	if(++i>31)
    		i=0;
    }		
    else{
    	if(i>14)
    		i=0;
    	iAddress=OLD_DAYTOTAL_ADDR+(uint)(i*16);		//old mode
    	iPaNeNum=16;
    	if(++i>14)
    		i=0;
    }
    XBYTE[PARA_71]=i;    					//更新日分項合計指針
    Page(5);
    GeneralWriteData(iAddress);
    Page(6);
    XBYTE[0xc02a]=aUserRTCBuf[YEARH];
    XBYTE[0xc02b]=aUserRTCBuf[YEARL];
    XBYTE[0xc02c]=aUserRTCBuf[MONTH];
    XBYTE[0xc02d]=aUserRTCBuf[DAY];
    for(i=0,iAddress=0xc02e;i<17;i++,iAddress++)
        XBYTE[iAddress]=0;

	XBYTE[DateAddress]=aUserRTCBuf[YEARL];
	if((XBYTE[DateAddress+2]!=aUserRTCBuf[DAY])||
		(XBYTE[DateAddress+2]>0x31)){
		XBYTE[DateAddress+2]=aUserRTCBuf[DAY];
		for(i=0,iAddress=TodayIDDAddress;i<15;i++){
			XBYTE[iAddress+i]=0x00;
		}
	}
	if((XBYTE[DateAddress+1]!=aUserRTCBuf[MONTH])||
		(XBYTE[DateAddress+1]>0x12)){
		XBYTE[DateAddress+1]=aUserRTCBuf[MONTH];
		for(i=0,iAddress=MonthIDDAddress;i<15;i++){
			XBYTE[iAddress+i]=0x00;
		}
	}
	Page(5);
}        

void DispCurrentTime(void) 
{ 
    byte aTemp[4];
    WaitRTC();  
    Page(6);
    aTemp[0]=aLCDSegment[aRTCTime[4]>>4]; 
    aTemp[1]=aLCDSegment[aRTCTime[4]&0x0f]; 
    aTemp[2]=aLCDSegment[aRTCTime[2]>>4]; 
    aTemp[3]=aLCDSegment[aRTCTime[2]&0x0f]; 
    Page(5);
    aSmallBuf[0]&=0x08;
    aSmallBuf[1]&=0x08;
    aSmallBuf[0]|=aTemp[0];
    aSmallBuf[1]|=aTemp[1];
    aSmallBuf[3]=aTemp[2];
    aSmallBuf[4]=aTemp[3];

    aLargeBuf[6]=aTemp[0];
    aLargeBuf[7]=aTemp[1];
    aLargeBuf[9]=aTemp[2];
    aLargeBuf[10]=aTemp[3];
    
}  
// End function: DispCurrentTime()	
    
/*************************************************************
*
*
*	Function:	在大顯示屏最頂上一行左邊顯示通話次數,
*				右邊顯示話費累計值
*
*
***************************************************************/    
void DispTotal(byte bPage,bool fPlus3)
{
	byte i;
	ReadBytes(bPage,2);
	iTotalTime=iParaWord;
	ReadBytes(bPage,3);
	lTotalTariff=lParaLWord;
	if(fPlus3&&(!fWorkMode)){			
		for(i=0;i<3;i++){
			ReadBytes(bPage,3);
			lTotalTariff+=lParaLWord;
		}	
	}		
	DispCharge(iTotalTime,3);
	DispCharge(lTotalTariff,0);
}		        

/**************************************************************
*
*		顯示日分項合計值的月、日
*		使用aNumBuf[]作為緩存
*
**************************************************************/
    
void DispMD(byte bPage)
{
    byte i,j;
    Page(bPage);
    aNumBuf[0]=aLCDSegment[XBYTE[iAddress]>>4];	    //顯示日期
	aNumBuf[1]=aLCDSegment[XBYTE[iAddress]&0x0f];
	aNumBuf[2]=0x20;
	aNumBuf[3]=aLCDSegment[XBYTE[iAddress+1]>>4];
	aNumBuf[4]=aLCDSegment[XBYTE[iAddress+1]&0x0f];
	Page(5);
	for(i=19,j=0;j<5;i--,j++)
		aLargeBuf[i]=aNumBuf[j];
}	

byte ReadByte(uint iAddr,byte bPage)
{
	byte i;
	Page(bPage);
	i=XBYTE[iAddr];
	Page(5);
	return(i);
}	

void ReadBytes(byte bPage,byte bNum)
{
	byte i;
	Page(bPage);
	switch(bNum){
		case 1:
			bParaByte=XBYTE[iAddress];
			break;
			
		case 2:
			iParaWord=(uint)((XBYTE[iAddress])*256)
					 +XBYTE[iAddress+1];
			break;
			
		case 3:
			lParaLWord=(ulint)((XBYTE[iAddress])*65536)
					  +(ulint)((XBYTE[iAddress+1])*256)
					  +XBYTE[iAddress+2];
			break;
						
		default:
			for(i=0;i<bNum;i++)
				aParaBuf[i]=XBYTE[iAddress+i];
			break;
	}			
	iAddress+=bNum;	
	Page(5);
}	

void WriteOut(uint iAddr,byte bData)
{
	Page(6);
	XBYTE[iAddr]=bData;
	Page(5);
}	

void Open(byte bWhich)
{
	OutBuf|=bWhich;
	WriteOut(OUT_CE,OutBuf);
}	

void Close(byte bWhich)
{
	OutBuf&=~bWhich;
	WriteOut(OUT_CE,OutBuf);
}	

bool KeyProcess(void)
{
	InBuf=ReadByte(IN_CE,6)&0xf0;
	if(bEnterFlag==0x69){
		bEnterFlag=0x00;
		return FALSE;
	}	
	bStatusWord=S_SERVICE;
	switch(InBuf){
		case K1:	// Display All Lcd Segment
			DispAllSegment();
			break;
		
		case K2:	// Call PC
			EX0=1;
			bStatusWord=S_SERIALCOMM;
			return TRUE;
			
		case K3:	// Clear Total Accumulate Data
			ClrStatData();
			break;
/*		
			EX0=1;						// 打開秒中斷
			bStatusWord=S_SERVICE;
			return TRUE;
*/		
		
		case K4:	// Display Software Version & Adjust Print Format
			DispVersion();
			break;
		
		case K12:	// Send All Data via Serial Port
			DispComm(0);
			SendAll(0);
			ExitUart();
			break;
		
		case K13:	// Send All Data & Clear Internal Ram
			DispComm(1);
			SendAll(1);
			ExitUart();
			break;
			
		case K23:	// Send Clock Data			
			DispComm(2);
			SendClock();
			ExitUart();
			break;
		
		case K14:	// Receive Data via Serial Port
			DispComm(3);
			RecvAll();
			if(bDlpReason!=0) return TRUE;	// 轉入串口程序下載過程	
			ExitUart();
			break;
			
		case K24: 	// Set Old Adjust Control Parameter
			SetControlParameter();
			DispOK(3);	
			break;
			
		case K34:	// Renew Password for Clr Total Data
			if(!InPutPassWord(2))
				DispErrorCode();
			else
				DispOK(3);	
			break;
			
		case K124:	// Input SSd Password & Set SSd Control Parameter
			SetSSd();
			break;
		
		case K123:	// Adjust Print Move Distance
			SetPrnPaper();
			break;
			
		default:
			bStatusWord=S_HARDWAREINIT;	
			bEnterFlag=0x00;
			return FALSE;	
	}		
	bStatusWord=S_HARDWAREINIT;
	return TRUE;
}

byte code aCommCode[][3]={"SA ","SAC","SC ","RD "};

void DispComm(byte bNum)
{
	memcpy(&aLargeBuf,&aCommCode[bNum],3);
	if(bNum!=3)
		aLargeBuf[10]=bNum+48;
	ConvertCode();
	DispSymbol(LARGE_COMM);
}	

void SetPrnPaper(void)
{
	aLargeBuf[0]='P';
	aLargeBuf[1]='R';
	aLargeBuf[2]='N';
	aLargeBuf[3]='-';
	ConvertCode();
	AutoReadPara(73);
	while(1){
		IDLE;
		aLargeBuf[4]=aLCDSegment[bParaByte/100];
		aLargeBuf[5]=aLCDSegment[(bParaByte%100)/10];
		aLargeBuf[6]=aLCDSegment[bParaByte%10];
		DispOut();
		if(fKey){
			fKey=0;
			switch(bKeyBuf){
				case K1:
					cbKey=10;
					AutoWritePara(73);
					TestPrinter();
					AutoReadPara(73);
					break;

				case K2:
					if(cbKey>199)
						cbKey=180;
					bParaByte--;
					break;
				
				case K3:
					if(cbKey>199)
						cbKey=180;
					bParaByte++;
					break;
					
				case K4:
					AutoWritePara(73);
					DispOK(3);
					return;
					
			}
		}
	}
}						


						
byte code aSSd[3][3]={"SSD","XJ ","ZJ "};				// SSd Data
byte code aSSdLocation[3]={0x04,0x10,0x80};				// location of the control word
byte code aOldCont[][3]={"FDD","No","BhY","FPU","cDY"};	//
byte code aOldContLoc[]={0x01,0x02,0x08,0x20,0x40};
byte code aNewCont[][3]={"FDD","No","BhY","FPU","cDY"};	//
byte code aNewContLoc[]={0x01,0x02,0x04,0x08,0x10};
byte code aOnOff[2][4]={"-oFF","-oN "};

void SetSSd(void)
{
	if(fWorkMode)
		return;
	if(!InPutPassWord(3)){
		DispErrorCode();
		return;
	}
	AutoReadPara(51);
	SetParameter(3,SSD);
	AutoWritePara(51);
	DispOK(3);
}	


void SetControlParameter(void)
{
	byte bTemp=0;
	if(fWorkMode){
		AutoReadPara(46);
		if(bParaByte!=0)
			bTemp|=0x01;
		AutoReadPara(45);
		if(bParaByte!=0)
			bTemp|=0x02;
		AutoReadPara(44);
		if(bParaByte!=0)
			bTemp|=0x04;
		AutoReadPara(43);
		if(bParaByte!=0)
			bTemp|=0x08;
		AutoReadPara(31);
		if(iParaWord!=400)
			bTemp|=0x10;
		bParaByte=bTemp;	
		SetParameter(5,NEW_CONTROL_PARA);
		bTemp=bParaByte;
		if((bTemp&0x01)!=0)		
			bParaByte=1;
		else
			bParaByte=0;
		AutoWritePara(46);
		if((bTemp&0x02)!=0)		
			bParaByte=1;
		else
			bParaByte=0;
		AutoWritePara(45);
		if((bTemp&0x04)!=0)		
			bParaByte=1;
		else
			bParaByte=0;
		AutoWritePara(44);
		if((bTemp&0x08)!=0)		
			bParaByte=1;
		else
			bParaByte=0;
		AutoWritePara(43);
		if((bTemp&0x10)!=0)		
			iParaWord=320;
		else
			iParaWord=400;
		AutoWritePara(31);
	}
	else{	
		AutoReadPara(51);
		SetParameter(5,OLD_CONTROL_PARA);
		AutoWritePara(51);
	}		
}	

void SetParameter(byte bLen,byte bWhich)
{
	bool fFirstKey=0;
	byte bTemp;
	byte bStatus=0;
	byte bOnOff;	
	byte code *p;
	while(1){
		switch(bWhich){
			case SSD:
				p=&aSSd[bStatus];
				bTemp=aSSdLocation[bStatus];	//location of the control word
				break;
				
			case OLD_CONTROL_PARA:
				p=&aOldCont[bStatus];
				bTemp=aOldContLoc[bStatus];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费小视频| 在线播放亚洲一区| 国产日韩精品一区二区三区| 韩国毛片一区二区三区| 欧美精品一区二区蜜臀亚洲| 久久成人免费电影| 中文子幕无线码一区tr| av电影在线不卡| 一区二区三区91| 91精品国产高清一区二区三区蜜臀| 日韩电影免费在线看| 精品处破学生在线二十三| 国产suv精品一区二区6| 亚洲精品视频免费看| 精品视频1区2区3区| 麻豆精品一区二区av白丝在线 | 成人免费高清在线观看| 中文字幕中文字幕一区二区| 91精品福利在线| 麻豆一区二区在线| 国产精品久久久久久久久免费桃花 | youjizz久久| 午夜影视日本亚洲欧洲精品| 精品国产乱码久久久久久浪潮| 高清成人免费视频| 亚洲午夜日本在线观看| 久久网站最新地址| 色婷婷综合久久久久中文一区二区| 视频一区二区三区中文字幕| 国产亚洲欧美日韩日本| 在线观看欧美黄色| 国产在线精品一区二区夜色| 亚洲图片另类小说| 精品国产91久久久久久久妲己| 99精品黄色片免费大全| 久久精品国产第一区二区三区| 国产精品乱码妇女bbbb| 欧美一级日韩免费不卡| 91色综合久久久久婷婷| 久久精品国产免费看久久精品| 中文字幕不卡在线观看| 日韩视频一区二区三区在线播放| 99久久夜色精品国产网站| 久久精品噜噜噜成人88aⅴ| 亚洲丝袜另类动漫二区| 久久亚洲私人国产精品va媚药| 在线视频国内一区二区| 国产成人在线视频网址| 日韩avvvv在线播放| 亚洲黄一区二区三区| 久久精品视频网| 在线综合视频播放| 色狠狠色噜噜噜综合网| 成人国产精品免费观看动漫| 久久电影国产免费久久电影| 偷拍亚洲欧洲综合| 亚洲国产综合色| 一区二区在线观看视频 | 欧美色图天堂网| eeuss鲁片一区二区三区在线观看| 美女精品自拍一二三四| 亚洲一区欧美一区| 亚洲色图19p| 国产精品美女久久福利网站| 久久亚洲精品小早川怜子| 欧美一区二区在线视频| 欧美日韩精品一区视频| 91九色最新地址| 色综合天天狠狠| 97se亚洲国产综合自在线不卡| 国产成人在线视频网站| 狠狠色丁香婷婷综合| 日本欧美在线观看| 日韩精品1区2区3区| 五月激情综合网| 亚洲国产成人av网| 亚洲尤物在线视频观看| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品入口麻豆原神| 国产日韩欧美a| 中文乱码免费一区二区| 亚洲欧美在线视频观看| 亚洲欧洲精品天堂一级| 亚洲欧美一区二区三区久本道91 | 欧美一区二区三区在线观看| 欧美群妇大交群的观看方式| 欧美精品久久久久久久多人混战| 欧美美女视频在线观看| 91麻豆精品国产91久久久使用方法| 精品视频资源站| 欧美一级久久久久久久大片| 精品免费日韩av| 国产日韩欧美精品一区| 中文字幕日韩av资源站| 一区二区三区四区不卡在线| 亚洲午夜激情网站| 免费在线观看日韩欧美| 韩国理伦片一区二区三区在线播放 | 国产精品一区二区三区四区| 国产成人自拍在线| 在线观看视频一区二区| 777a∨成人精品桃花网| 精品欧美一区二区三区精品久久| 久久久久久久免费视频了| 国产精品国产精品国产专区不蜜| 亚洲一区中文在线| 久久精品久久精品| 成人综合在线观看| 欧美日韩一级大片网址| 26uuu国产在线精品一区二区| 国产午夜亚洲精品不卡| 洋洋成人永久网站入口| 免费一级片91| 99久久夜色精品国产网站| 欧美精品久久久久久久多人混战 | 久久99久久99小草精品免视看| 国产盗摄视频一区二区三区| 色婷婷精品大在线视频| 精品国一区二区三区| 最好看的中文字幕久久| 三级成人在线视频| 成人亚洲一区二区一| 欧美网站大全在线观看| 久久久久久久久久看片| 亚洲国产精品尤物yw在线观看| 激情成人综合网| 欧美午夜电影一区| 国产精品视频一二三区| 日韩黄色片在线观看| av中文字幕一区| xf在线a精品一区二区视频网站| 亚洲天堂久久久久久久| 精品夜夜嗨av一区二区三区| 日本精品视频一区二区| 国产日韩一级二级三级| 日本美女一区二区三区视频| 色综合久久天天综合网| 久久久蜜桃精品| 日韩福利电影在线观看| 91蜜桃网址入口| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲高清中文字幕| 成人精品鲁一区一区二区| 日韩欧美国产综合在线一区二区三区| 亚洲激情六月丁香| 成人免费电影视频| 2欧美一区二区三区在线观看视频| 亚洲一区二区黄色| 国产大陆a不卡| 精品国产sm最大网站| 日本不卡免费在线视频| 欧美日韩综合色| 一区二区视频在线| av电影在线观看不卡| 久久婷婷综合激情| 精品制服美女丁香| 日韩欧美色综合| 美女视频黄 久久| 欧美精品欧美精品系列| 亚洲影院久久精品| 色噜噜狠狠色综合中国| 亚洲人精品一区| proumb性欧美在线观看| 欧美—级在线免费片| 国产成人免费视频精品含羞草妖精| 欧美不卡一二三| 捆绑调教一区二区三区| 日韩欧美一区在线| 麻豆精品一区二区三区| 日韩女优av电影| 韩国av一区二区三区| 欧美精品一区二区蜜臀亚洲| 国产一区二区三区美女| 欧美精品一区二区精品网| 国产麻豆一精品一av一免费| 欧美变态凌虐bdsm| 国产精一品亚洲二区在线视频| 久久亚洲一区二区三区明星换脸| 国产电影精品久久禁18| 国产精品久久久久久户外露出| 波多野结衣91| 一区二区三区在线播放| 欧美日韩一区二区三区不卡| 日韩av一区二区三区| 精品国产免费视频| 国产精品亚洲午夜一区二区三区| 国产蜜臀av在线一区二区三区| 成人免费观看视频| 亚洲午夜精品在线| 日韩欧美一级二级三级久久久| 国产精品一区二区三区99| 国产精品高潮久久久久无| 在线观看91精品国产入口| 亚洲制服丝袜av| 精品国产乱子伦一区| 99国产欧美久久久精品| 青青草精品视频| 中文字幕乱码日本亚洲一区二区| av一区二区三区四区| 午夜国产精品一区|