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

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

?? gpsall.c

?? GPS接收機模塊的解碼,采用51系列單片機編程
?? C
?? 第 1 頁 / 共 3 頁
字號:
		Datalcm = X;			/*命令輸出到數據口 */
		Elcm = 1;_nop_();Elcm = 0;	/*讀入到LCM*/
	}

/********************************************************/
/* 分區操作允許等待,返回時保留分區選擇狀態		*/
/********************************************************/
void lcdbusyL(void)
	{
        CS1LCM = 0;		/*CLR	CS1		*/
        CS2LCM = 0;		/*SETB	CS2		*/
       // CS3LCM = 1;		/*SETB	CS3		*/
	wtcom();		/* waitting for enable	*/
	}

void lcdbusyM(void)
	{
        CS1LCM = 1;		/*SETB	CS1		*/
        CS2LCM = 0;		/*CLR	CS2		*/
       // CS3LCM = 1;		/*SETB	CS3		*/
	wtcom();		/* waitting for enable	*/
	}

void lcdbusyR(void)
	{
        CS1LCM = 0;		/*SETB	CS1		*/
        CS2LCM = 1;		/*SETB	CS2		*/
       // CS3LCM = 0;		/*CLR	CS3		*/
	wtcom();		/* waitting for enable	*/
	}

void wtcom(void)
	{
	Dilcm = 0;		/*CLR	DI		*/
	Rwlcm = 1;		/*SETB	RW		*/
    Datalcm = 0xFF;		/*MOV	DATA_LCM,#0FFH  */
	Elcm  = 1;_nop_();		
    while(Datalcm & Lcdbusy);
      	Elcm  = 0;
	}

/********************************************************/
/*根據設定的坐標數據,定位LCM上的下一個操作單元位置	*/
/********************************************************/
void Locatexy(void)
	{
	unsigned char  x,y;
	switch (col&0xc0)		/*  col.and.0xC0	*/
		{			/*條件分支執行		*/
		case 0:		{lcdbusyL();break;}	/*左區	*/
		case 0x40:	{lcdbusyM();break;}	/*中區	*/
		case 0x80:	{lcdbusyR();break;}	/*右區	*/
		}
	x = col&0x3F|SETX;		/*  col.and.0x3f.or.setx	*/
	y = row&0x07|SETY;		/*  row.and.0x07.or.sety	*/
		wtcom();		/*  waitting for enable		*/
		Dilcm = 0;			/*CLR	DI	*/
		Rwlcm = 0;			/*CLR	RW	*/
		Datalcm = y;			/*MOV	P0,Y	*/
		Elcm = 1;_nop_();Elcm = 0;
		wtcom();		/*  waitting for enable		*/
		Dilcm = 0;			/*CLR	DI	*/
		Rwlcm = 0;			/*CLR	RW	*/
		Datalcm = x;			/*MOV	P0,X	*/
		Elcm = 1;_nop_();Elcm = 0;
	}

/********************************/
/*液晶屏初始化			*/
/********************************/

void Lcminit(void)
	{
		cbyte = DISPOFF;	/*關閉顯示屏	*/
		WrcmdL(cbyte);
		WrcmdM(cbyte);
		WrcmdR(cbyte);
		cbyte = DISPON;		/*打開顯示屏	*/
		WrcmdL(cbyte);
		WrcmdM(cbyte);
		WrcmdR(cbyte);
		cbyte = DISPFIRST;	/*定義顯示起始行為零	*/
		WrcmdL(cbyte);
		WrcmdM(cbyte);
		WrcmdR(cbyte);
		Lcmcls();
		col=0;		/*清屏		*/
		row=0;
		Locatexy();
		L_RSET = 1;
	}
/********************************/
/* 延時				*/
/********************************/
void Delay(uchar MS)
	{
		uchar us,usn;
		while(MS!=0)
			{ usn = 4;
				while(usn!=0)
					{
						us=0xf0;
						while (us!=0){us--;};
						usn--;
					}
				MS--;
			}
	}
/****************************************
 ---------  延時函數 ,大約1MS.-----------
 ****************************************
void DELAY(uint z)
{
    uchar data l;
    while((z--)>0)
    {
       for(l=0;l<31;l++)    RestWatchdog();   //125 _nop_(); 
    }
}	*/

/**************************************************************
 ---------------鍵盤掃描程序,返回按下的鍵值代碼----------------
 -- 有鍵按下返回鍵值代碼,無鍵按下返回0,有鍵但沒松開返回0XFF --
 **************************************************************/

uchar Key_Press(bit b) //按鍵掃描程序
 //b=0/沒鍵按下跳出;b=1/等待按鍵
{
     uchar data i,key,j=1,d;
     //RetKey=0xff;
     key=0x3f;

A0:	 d=0xc0&P1;
	 P1=0x07|d;			//置三列為低,三行為高
     //P2=0;            // 查詢有無按鍵按下   
     _nop_();
     _nop_();
     key=0x3f&P1;	   //屏蔽掉高兩位
	 //key=P0;
     if(key==7 )
		{ 				 //  無鍵按下 
		   if(b==1)	goto A0;
KP:        RetKey=NoKeyPress; KeyStatus=Up;
           goto ENDKPONE;
     	}
     else
		{            
           for(d=0;d<250;d++)     RestWatchdog();   /*  254  */
           TR0=0;
           ET0=0;
           key=0x3f&P1;
           if(key==7)  goto KP;    /* 除去因抖動引起的錯誤按鍵信息  */
          	 		   
		   RetKey=ScanKey();    /*有鍵按下*/
	      }                
ENDKPONE:
     return(RetKey);
}

uchar   ScanKey(void)
{
      uchar data i,key,d,j=0,a[3]={0x37,0x2f,0x1f};
      //P1=0xf8;
      //key=P1;
           for(i=0;i<3;i++)
			{   d=0xc0&P1;		  // 掃描哪個按鍵按下
				P1=a[i]|d;	   	 // 列掃描
                key=7&P1;	  //屏蔽掉高五位
                if(key!=7)
					{
                      //j=i*3;   //j behalf column
                      for(i=0;i<3;i++)
						{  /*       行掃描   */                         
                           if(key%2==0) break;
                           key=key>>1;
                    	}
                    key=j+i*3;                 /*   按鍵的行列值之和  */
                	TranDataBy232(key);
					OpeningBeep(1);
					goto ENDKP1;
             	  }
		      j++;
		      RestWatchdog();
	     }
		
ENDKP1:  return(key);
}

void   RestWatchdog(void)
{
    _nop_();
    _nop_();
    _nop_();
}
/*======顯示開機界面======================*/
void DispFirstmenu(void)
{
 	col=0;
	row=2;
	Putstr(STR1,10);	/*第二行字符輸出,12字節	*/
	//Putstr(STR4,24);
	//col=0;
	//row=4;
	//Putstr(STR3,30);	/*第三行字符輸出,24字節	*/
	col=0;
	row=6;
	Hzflag=1;
	Putstr(STR1,12);	/*第四行字符輸出,12字節	*/
}
/*======顯示主菜單======================*/
void DispMainmenu(void)
{
	Lcmcls();
	col=0;
	row=0;
	Putstr(STR2,24);     /*第一行字符輸出,12字節	*/	
	col=0;
	row=2;
	Putstr(STR3,24);	/*第二行字符輸出,12字節	*/
	col=0;
	row=4;
	Putstr(STR4,30);	/*第三行字符輸出,24字節	*/
}
//======ready or return menu=========
void RdyorRetMenu(void)
{
    col=0;
	row=6;
	Putstr(STR7,24);     /*第四行字符輸出,12字節	*/
}

//======顯示單點測量界面=============
void DispPointMenu(void)
{
    col=0;
	row=0;
	Putstr(STR6,24);     /*第一行字符輸出,12字節	*/
    RdyorRetMenu();

}
void PointMeasure(void)
{
	Lcmcls();
	DispPointMenu();
	RetKey=0xff;
	while(1)
	{
		FlashGreenled(1);
		Key_Press(0);
		if (RetKey==5)
			{
			 RecvToBuf();
			 col=2;
		  	 row=4;
			 Putstr(ComBuf,22);
			 RetKey=0xff;
			}
		if(RetKey==8)
		{RetKey=0xff; return;}
	}
}
//=====與OEM板通訊測試=============
void ComTest(void)
{
  Lcmcls();
  RdyorRetMenu();
  while(1)
	{
		FlashGreenled(1);
		Key_Press(0);
		if (RetKey==5)
			{
			 RecvToBuf();
			 col=0;
		  	 row=2;
			 if(uc0==Error)
			  Putstr(STR0,24);
			 else
			  Putstr(STR0,24);
			  RetKey=0xff;
			}
		if(RetKey==8)
		{RetKey=0xff; return;}
	}

}
void Mainmenu(void)
{
 	DispMainmenu();
	Putstr(STR5,24);	/*第四行字符輸出,12字節	*/
	while(1)
	{
	 Lcmclsline(4);
	 Key_Press(0);
	 switch(RetKey){
         case Tab1:   			//Point Measurement
                PointMeasure();
				DispMainmenu();                                                                                                   
                break;
         case Tab2:   			//Length Measurement
                //LengthMeasure();
				DispMainmenu();  
                break;
         case Tab3:  			//Area Measurement
		        //AreaMeasure();
				DispMainmenu();
                break;
         case Tab4: 			 //Set
		        ComTest();
				DispMainmenu();
                break;
                   
         default: break;
					   
              }
	 col=0;
	 row=6;
	 Putstr(STR5,24);	/*第四行字符輸出,12字節	*/
	}
}
/*****************************************************
 -------從串行端口發送一字節數據------
 *****************************************************/
void TranDataBy232(uchar d)
{
   SBUF=d;
   while(TI==0) RestWatchdog();
   TI=0;
}
/*****************************************************
 -------從串行端口接收一字節數據,并存入UC0變量中------
 *****************************************************/
void   RcvDataBy232(void)
{
    counter=0;
    do{
        counter++;
        RestWatchdog();
        if(counter>0x6ff)
        { 
			uc0=Error;
			goto rete1;}   // 1fff 
          RestWatchdog();
      }   while(RI==0);
    uc0=SBUF;
rete1:  RI=0;
}
/***********************************************************************
 -- 從機接收主機按如下命令格式發送來的信息,數據保存至UN.COMBUF緩沖區中:
 -- 包頭(10):(1,$) + G(1) + P(1) + R(1) +M(1) +C(1)+, + 數據 +*(1) + Checksum(2)
 -- 數據(56):UTC(6)+,(1)+VorA(1)+,(1)+緯度(9)+,(1)+N(1)+,(1)+經度(10)+,(1)+E(1)+,(1)+其它(22);
 ***********************************************************************/
void RecvToBuf(void)
{
    uchar data i;
    uint  data pp,tempint;
    RcvDataBy232();
    if(uc0!=0x24)
		{  uc0=0xff;  goto ret1; }        /* 不是包頭$ */
    RcvDataBy232();
	if(uc0!=0x47)
		{  uc0=0xff;  goto ret1; }        /* 識別G */
    RcvDataBy232();
	if(uc0!=0x50)
		{  uc0=0xff;  goto ret1; }        /* 識別P */
    RcvDataBy232();
	if(uc0!='R')
		{  uc0=0xff;  goto ret1; }        /* 識別R */
    RcvDataBy232();
	if(uc0!='M')
		{  uc0=0xff;  goto ret1; }        /* 識別M */
    RcvDataBy232();
	if(uc0!='C')
		{  uc0=0xff;  goto ret1; }        /* 識別C */
	for (i=0;i<8;i++)
		 RcvDataBy232();				 //接收UTC時間和2個,號
	//pp=0xaa;                          /* 清校驗和 */
    RcvDataBy232();
    if(uc0!='A')
		{  uc0=0xff;  goto ret1; }  //接收拉收機狀態標志位 A:有效定位V:無效   
	//pp=pp+uc0;
    RcvDataBy232(); //接收","
	//pp=pp+uc0;
    //RcvDataBy232(); pp=pp+uc0;
    //Slen=uc0;
    for(i=0;i<22;i++){		 //接收緯度和經度
        RcvDataBy232();
        ComBuf[i]=uc0;	  //將ASCII轉換成DEC
	   //pp+=uc0;                  
    }

	RcvDataBy232();                   /*  接收校驗和 */
    tempint=0;
    tempint=(uint)(uc0*256);
    RcvDataBy232();
    tempint=tempint+uc0;

    if(tempint==pp){                  /*  效驗和相同 */
//        SBUF=OK;
        //TranDataBy232();
        //fini=1;
    }
    else{                             /*  如果接收效驗和不相同,則回送失敗信息給主機  */
        SBUF=Error;
       // TranDataBy232();
        //fini=0;
    }
ret1: _nop_();
}
/***********************************************************************
 -- 從機向主機發送數據,數據已存在UN.COMBUF緩沖區中:
 -- 包頭(1,0xAA) + 命令(1) + 長度(1) + 數據 + Checksum(1)
 ***********************************************************************/
void SendBuf(uchar order,uchar len) 
{
  uchar data i;
  uint  data CheSum;
  ulong l=0;
  do{
        do{
            SBUF=0xaa;
            //TranDataBy232();
            RcvDataBy232();
        } while(uc0!=0xbb);     /*  等待主機回送準備好 0XBB  */
        SBUF=order;             /*  發送命令句柄  */
       // TranDataBy232();
        CheSum=order;           /*  初始化校驗和  */
        SBUF=len;               /*  發送數據長度  */
        //TranDataBy232();
        CheSum+=len;
        for(i=0;i<len;i++){     /*  發送數據  */
//            SBUF=Un.ComBuf[i];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久不见久久见免费视频1| 99久久精品国产麻豆演员表| 成人黄色免费短视频| 欧美一级在线视频| 亚洲欧美福利一区二区| 国产一区二区不卡在线| 欧美日韩在线播放三区四区| 中文字幕中文乱码欧美一区二区| 日韩精品国产精品| 欧洲一区在线电影| 国产精品国产三级国产aⅴ原创| 老司机精品视频在线| 欧美另类z0zxhd电影| 亚洲美女在线国产| 99久久综合狠狠综合久久| 久久久精品黄色| 久久精品99久久久| 7777女厕盗摄久久久| 午夜国产精品一区| 欧美三级在线播放| 亚洲码国产岛国毛片在线| 成人免费视频一区| 欧美国产精品专区| 国产成人午夜高潮毛片| 亚洲精品一区二区三区在线观看| 久久福利资源站| 亚洲精品一线二线三线无人区| 激情五月婷婷综合网| 精品福利一区二区三区免费视频| 久久99深爱久久99精品| 欧美一级日韩免费不卡| 老司机精品视频导航| 精品剧情v国产在线观看在线| 美女视频黄 久久| 精品国产电影一区二区| 国产成人在线视频网站| 亚洲国产精品av| 91亚洲永久精品| 亚洲主播在线播放| 6080日韩午夜伦伦午夜伦| 青青草原综合久久大伊人精品优势| 51精品秘密在线观看| 免费观看日韩av| 欧美极品少妇xxxxⅹ高跟鞋| 91亚洲精品久久久蜜桃网站| 一区二区三区波多野结衣在线观看| 欧美日韩精品一区二区三区| 免费视频一区二区| 久久蜜桃av一区精品变态类天堂 | 国产99久久久国产精品潘金网站| 久久夜色精品国产噜噜av| 国产传媒欧美日韩成人| 中文字幕日韩精品一区| 在线观看视频91| 日本不卡不码高清免费观看| 久久婷婷一区二区三区| 大美女一区二区三区| 亚洲免费观看视频| 91麻豆精品国产无毒不卡在线观看| 美国三级日本三级久久99| 国产欧美日韩视频一区二区| 色噜噜久久综合| 另类欧美日韩国产在线| 亚洲欧美综合网| 日韩欧美色电影| 不卡的av中国片| 午夜精品在线看| 久久婷婷色综合| 欧美在线一二三四区| 久久99精品久久久| 国产精品国产三级国产普通话99| 欧美久久久久久久久| 国产宾馆实践打屁股91| 一级精品视频在线观看宜春院| 日韩精品一区二区三区视频播放| 成人一级片在线观看| 奇米色一区二区三区四区| 日本一区二区视频在线| 91精品国产综合久久福利| 成人国产在线观看| 久久精品国产秦先生| 亚洲色图在线看| 国产欧美视频在线观看| 日韩一级大片在线观看| 在线亚洲欧美专区二区| 夫妻av一区二区| 七七婷婷婷婷精品国产| 尤物在线观看一区| 日本一区二区视频在线观看| 日韩免费视频一区二区| 欧美日韩一区久久| 一本一道波多野结衣一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲成人中文在线| 一区二区三区在线观看视频| 日本一区二区高清| 2023国产精华国产精品| 日韩三级视频在线看| 7777精品久久久大香线蕉| 日本乱人伦aⅴ精品| 91免费在线视频观看| 福利电影一区二区| 国产成人精品在线看| 国产在线精品不卡| 国产一区二区三区在线看麻豆| 男女激情视频一区| 日韩成人免费在线| 麻豆精品一区二区| 青椒成人免费视频| 麻豆久久一区二区| 久久99精品国产麻豆不卡| 日本亚洲一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 天天操天天干天天综合网| 亚洲成人久久影院| 亚洲高清免费视频| 日韩国产欧美在线播放| 丝袜美腿一区二区三区| 免费在线欧美视频| 国产麻豆精品一区二区| 国产精品原创巨作av| 国产成a人无v码亚洲福利| 成人黄色网址在线观看| 色婷婷香蕉在线一区二区| 欧美在线观看一二区| 555www色欧美视频| 精品日韩一区二区三区免费视频| 久久综合久久综合亚洲| 亚洲国产高清在线观看视频| 国产精品久久免费看| 亚洲色图在线视频| 日韩精品视频网| 国产麻豆91精品| 91女厕偷拍女厕偷拍高清| 欧美日韩极品在线观看一区| 欧美电影免费观看完整版| 久久精品视频在线看| 成人免费视频在线观看| 午夜精品一区二区三区免费视频 | 国产成人精品免费一区二区| av男人天堂一区| 欧美日韩精品一区二区三区| 久久这里只精品最新地址| 亚洲欧洲美洲综合色网| 午夜精品在线看| 成人小视频免费观看| 欧美亚洲国产一区二区三区 | 国产一区二区在线视频| av中文字幕在线不卡| 91精品国产综合久久小美女| 国产午夜精品一区二区三区嫩草| 一区二区三区欧美视频| 一本色道久久综合亚洲精品按摩| 欧美日韩国产中文| 国产亚洲欧洲一区高清在线观看| 一区二区日韩av| 国产尤物一区二区| 欧美高清视频在线高清观看mv色露露十八| 精品国产一区二区三区久久影院 | 麻豆成人综合网| 91尤物视频在线观看| 欧美va在线播放| 一区二区在线看| 国产成人自拍网| 日韩午夜小视频| 夜夜操天天操亚洲| 国产成人在线看| 精品国产亚洲在线| 亚洲一区国产视频| 成人手机电影网| 精品成人一区二区三区| 亚洲午夜激情av| 99久久久国产精品免费蜜臀| 日韩精品一区国产麻豆| 亚洲成人免费看| 欧美在线视频全部完| 国产精品免费看片| 国产成人高清在线| 欧美一区二区三区不卡| 亚洲一区在线视频| 99re6这里只有精品视频在线观看| 久久这里都是精品| 精品一区二区三区在线播放| 欧美三级电影在线看| 亚洲女厕所小便bbb| 成人免费视频播放| 久久精品视频网| 国产成人精品亚洲午夜麻豆| 日韩免费观看高清完整版| 日韩国产高清影视| 在线这里只有精品| 亚洲精品免费播放| 色婷婷国产精品久久包臀| 国产三级精品三级| 国产成人精品亚洲777人妖| 久久久久久久国产精品影院| 国产一区中文字幕| 久久久国产一区二区三区四区小说 | 麻豆成人久久精品二区三区红 | 在线影院国内精品|