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

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

?? cmdproc.c

?? 這是一個(gè)模擬單片機(jī)與12887時(shí)鐘芯片的通信控制程序 可以對(duì)其設(shè)定時(shí)間年月 可以向芯片內(nèi)部ram寫和讀數(shù)據(jù)
?? C
字號(hào):
static char code menu[] = __DATE2__ " "__TIME__
   "\n"
	"調(diào)試程序\n"
   "+*************** Command proc 2005.07.22 VER1.00 **************+\n"
   "+ command -+ syntax -----+ function ---------------------------+\n"
   "| Read     | R adds      | read adds mem                       |\n"
   "| Write    | W adds:data | write adds mem with data            |\n"
   "| Display  | D           | display current measurement values  |\n"
   "| Set Time | T hh:mm:ss  | set time                            |\n"
   "| Swt Date | I mm:ss.ttt | set interval time                   |\n"
   "| Test     | Z xxxx:xx   | Test                                |\n"
   "| Fill Mem | C ?         | ?=(0,1)                             |\n"
   "+----------+-------------+-------------------------------------+\n";

#include <reg52.h>
#include <stdio.h>                       /* standard I/O .h-file              */
#include <absacc.h>           
#include <ctype.h>                       /* character functions               */

#define CNTLQ      0x11
#define CNTLS      0x13
#define DEL        0x7F
#define BACKSPACE  0x08
#define CR         0x0D
#define LF         0x0A

char code ERROR [] = "\n*** ERROR: %s\n";   /* ERROR message string in code   */
extern void set_time(unsigned char * buffer);
extern void set_date(unsigned char * buffer);
extern void disp_time(void);
extern void disp_date(void);

sbit Bell = P1^0;
sbit LcdPwrSw = P1^1;
sbit RS485Rec = P1^2;

void getline (unsigned char idata *line, unsigned char n)  
{
  	unsigned char cnt = 0;
  	unsigned char c;

//	RS485Rec = 0;
  	do
	{
    	if ((c = _getkey ()) == CR)  c = LF;    /* read character                 */
    	if (c == BACKSPACE  ||  c == DEL)  		/* process backspace              */
		{    
      		if (cnt != 0)  
			{            
        		cnt--;                              /* decrement count                */
        		line--;                             /* and line pointer               */

//				RS485Rec = 1;

        		putchar (0x08);                     /* echo backspace                 */
        		putchar (' ');
        		putchar (0x08);

			 	while(!TI);
//				RS485Rec = 0;
      		}
    	}
    	else if (c != CNTLQ && c != CNTLS)  		/* ignore Control S/Q             */
		{ 
//			RS485Rec = 1;
  
      		putchar ((char) (*line = c));         /* echo and store character       */
			while(!TI);
//			RS485Rec = 0;

      		line++;                               /* increment line pointer         */
      		cnt++;                                /* and count                      */
    	}
  	}while (cnt < n - 1  &&  c != LF);      /* check limit and line feed      */
  	*line = 0;                                /* mark end of string             */

//	RS485Rec = 1;

}

void InitSerialPort(void)
{
    SCON  = 0x50;				// SCON: mode 1, 8-bit UART, enable rcvr      		
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit reload        		
//    TH1   = 253;                // TH1:  reload value for 9600 baud @ 11.0592MHz   	
    TH1   = 250;                // TH1:  reload value for 9600 baud @ 22.1184MHz   	
  
    TR1   = 1;                  // TR1:  timer 1 run                          		
    TI    = 1;                  // TI:   set TI to send first char of UART    		
}

void Test(unsigned char * buffer)  
{
  	unsigned char args;                    /* number of arguments               */
	unsigned int iAdds;
	
  	args = sscanf (buffer, "%4x", &iAdds);
             
	if (args == EOF)  
	{
    	printf (ERROR, "INVALID ADDS FORMAT");
  	} 
  	else                                  /* if inputs valid then              */
	{
		printf ("Will Loop Adds=0x%04x\n",iAdds);
		while(1)
		{
			args=XBYTE[iAdds];
		}
 	}
}



void DispMem(unsigned char * buffer)  
{
  	unsigned char args,uData;                    /* number of arguments               */
	unsigned int iAdds;
	unsigned char i,Temp;

	
  	args = sscanf (buffer, "%4x", &iAdds);

               
	if (args == EOF)  
	{
    	printf (ERROR, "INVALID ADDS FORMAT");
  	} 
  	else                                  /* if inputs valid then              */
	{
//	   	printf ("%04d:%02bd\n",iAdds,uData);

		EA = 0;                             /* disable interrupts while          */
		Temp=(unsigned char)(iAdds&0x000f);
		iAdds=iAdds&0xfff0;

	 	printf ("%04hx:",iAdds);

   		for(i=0;i<Temp;i++)
		{
		 	printf ("   ");
		}

		for(i=Temp;i<16;i++)
		{
			uData = XBYTE[iAdds+i];
	    	printf ("%02bx ",uData);
		}
    	EA = 1;                             /* enable interrupts again           */
		printf("\n");
  	}
}

void WriteMem(unsigned char * buffer)  
{
  	unsigned char args,uData;                    /* number of arguments               */
	unsigned int iAdds;

  	args = sscanf (buffer, "%4x:%2bx",&iAdds,&uData);

	if (args < 2 ||  args == EOF)  
	{
    	printf (ERROR, "INVALID ADDS:DATA FORMAT");
  	} 
  	else                                  /* if inputs valid then              */
	{
   		EA = 0;                             /* disable interrupts while          */
		XBYTE[iAdds] = uData;
    	EA = 1;                             /* enable interrupts again           */
    	printf ("Write Mem OK!\n");
   	}
}

#define MemBaseAdds 0x4000

void ListRecord(unsigned char * buffer)
{
//  	unsigned char args,uHour,uMin;                    /* number of arguments               */
  	unsigned char args,uMonth,uDay;                    /* number of arguments               */
	unsigned int iAdds;

  	args = sscanf (buffer, "%2bu.%2bu",&uMonth,&uDay);

	if (args < 2 ||  args == EOF )  
	{
    	printf (ERROR, "INVALID MONTH.DAY FORMAT");
  	}
	
	if( (uMonth > 12) || (uDay > 31) )
	{
		printf("Month <=12 and Day <=31\n");
	}
  	else                                  /* if inputs valid then              */
	{
 		printf ("List Record--\n");
		printf("Time                               CH0  CH1  CH2  CH3  CH4  CH5  CH6  CH7\n");
		printf("%02bu.%02bu ",uMonth,uDay);
/*
		args = uMonth;
		uMonth >>= 4;
		uMonth *= 10;
		uMonth += args&0x0f;

		args = uDay;
		uDay >>= 4;
		uDay *= 10;
		uDay += args&0x0f;
*/
		iAdds = MemBaseAdds + (unsigned int)(uMonth*31*20) + (unsigned int)(uDay*20);
 		printf("(A=%04x Mon=%02bu Day=%02bu %02bx %02bx) ",iAdds,uMonth,uDay,XBYTE[iAdds],XBYTE[iAdds+1]);

		iAdds +=2;
		for(args=0;args<8;args++)
		{
			printf("%02bx%02bx ",XBYTE[iAdds+1+args*2],XBYTE[iAdds+args*2]);
		}
  	}

}


void FillMem(unsigned int iAdds,unsigned int iLength,unsigned char uData)
{
	unsigned int i;
	for(i=0;i<iLength;i++)
	{
		XBYTE[iAdds+i] = uData;
	}
} 


void Mem_Clear(unsigned char * buffer)
{
  	unsigned char args;                    /* number of arguments               */
	unsigned char uData;

  	args = sscanf (buffer, "%bu",&uData);

	if(args == EOF)  
	{
    	printf (ERROR, "INVALID ADDS:DATA FORMAT");
  	} 
	else
	{
		switch (uData)
		{
			case 0:
				FillMem(MemBaseAdds,0x2000,0x00);
				printf("FillMem(0x4000,0x2000,0x00)\n");
				break;

			case 1:
				FillMem(MemBaseAdds,0x2000,0x55);
				printf("FillMem(0x4000,0x2000,0x55)\n");
				break;

			default:
		    	printf (ERROR, "INVALID FORMAT");
				break;
		}
	}

}


void Mem_Fill(unsigned char * buffer)  
{
  	unsigned char args,uData;                    /* number of arguments               */
	unsigned int i,iAdds,iLen;

  	args = sscanf (buffer, "%4x %4x %2bx",&iAdds,&iLen,&uData);

	if (args < 3 ||  args == EOF)  
	{
    	printf (ERROR, "INVALID ADDS LEN DATA FORMAT");
  	} 
  	else                                  /* if inputs valid then              */
	{
   		EA = 0;                             /* disable interrupts while          */
		for(i=0;i<iLen;i++)
		{
  			XBYTE[iAdds+i] = uData;
    	}
		EA = 1;                             /* enable interrupts again           */
    	printf ("Write Mem OK!\n");
   	}
}




unsigned char code CmdStr[2][8]=
{
	{0x01,0xac,0x00,0x00,0x00,0x00,0x00,0x00},
	{0x02,0xac,0x00,0x00,0x00,0x00,0x00,0x00}
};

/*
void SentChar(unsigned char SentData)
{
	while(!TI);
	SBUF = SentData;
}
*/

/*
unsigned char xdata SendCmdBuf[11];
void SendCmdStr(void)
{
	unsigned char i;
	SendCmdBuf[0] = 0x5a;
	SendCmdBuf[10] = 0;
	for(i=0;i<10;i++)
	{
		SendCmdBuf[10]+=SendCmdBuf[i];
	}

	for(i=0;i<11;i++)
	{
		putchar(SendCmdBuf[i]);	
	}

}


void SendCmd(unsigned char *CmdStr)
{
	unsigned char i;
	SendCmdBuf[1]=0x01;
	for(i=2;i<10;i++)
	{
		SendCmdBuf[i]=*CmdStr;
		CmdStr++;
	}

	SendCmdStr();
}


unsigned char RecChar; 
bit GetOneChar(void)
{
	unsigned char RecCounter=0x7f;
	while(!RI)
	{
		if(RecCounter++)
			return 0;
	}
	RecChar = SBUF;
	return 1;
}

unsigned char xdata RecCmdBuf[11];
unsigned char RecCmdStr(void)
{
	unsigned char i;
	for(i=0;i<11;i++)
	{
		if( GetOneChar() )
		{
			RecCmdBuf[i]=RecChar;
			return 0;
		}
		else
		{
			return 1;	//Timeout error
		}
	}
}
*/

void Delay1s(void)
{
	unsigned int i,j;
	for(i=0;i<200;i++)
		for(j=0;j<1000;j++){};
}


/******************************************************************************/
/***************************      MAIN PROGRAM      ***************************/
/******************************************************************************/
void main(void)  								/* main entry for program      */
{                          
  	unsigned char idata cmdbuf [15];            /* command input buffer        */
  	unsigned char i;                            /* index for command buffer    */

	InitSerialPort();
	EA = 1;                                     /* global interrupt enable     */

	printf ( menu );                            /* display command menu        */
  	while(1)  									/* loop forever                */	
	{                                 
    	printf ("\nCmd: ");                    
   		getline (&cmdbuf[0], sizeof (cmdbuf));  /* input command line          */

	    for (i = 0; cmdbuf[i] != 0; i++)        /* convert to upper characters */
		{
      		cmdbuf[i] = toupper(cmdbuf[i]);
    	}

    	for (i = 0; cmdbuf[i] == ' '; i++);     /* skip front blanks                 */

    	switch (cmdbuf[i])                      /* proceed to command function */
		{
      		case 'R':                           /* Read circular Buffer        */
  				DispMem(&cmdbuf[i+1]);
                break;

      		case 'W':                           /* Read circular Buffer        */
  				WriteMem(&cmdbuf[i+1]);
                break;

	  		case 'T':                            /* Enter Current Time          */
		        set_time (&cmdbuf[i+1]);
        		break;

      		case 'I':                            /* Enter Interval Time         */
		        set_date (&cmdbuf[i+1]);
        		break;

      		case 'D':                            /* Display Command             */
        		disp_time();
        		break;

      		case 'S':                            /* Start Command               */
				disp_date();
      			break;

      		case 'Q':                            /* Quit Command                */
        		printf ("\a\n");
        		break;

      		case 'C':                            /* Clear Command               */
				printf("Cmd_c\n");
				Mem_Clear(&cmdbuf[i+1]);        		
				printf("Cmd_c End\n");
				break;

		    case 'F': 
				Mem_Fill(&cmdbuf[i+1]);
				printf("Mem_Fill Ok!\n");
				break;


      		case 'A':                            
				LcdPwrSw = 0;
				printf("LcdPwrSw = 0\n");
        		break;
			
      		case 'B':                            
				LcdPwrSw = 1;
				printf("LcdPwrSw = 1\n");
        		break;


      		case 'X':                            
				Bell = 0;
				RS485Rec = 0;
				Delay1s();
				RS485Rec = 1;
				printf("Bell = 0\n");
        		break;
			
      		case 'Y':                            
				Bell = 1;
				printf("Bell = 1\n");
        		break;


      		case 'Z':                            
		        Test(&cmdbuf[i+1]);
      			break;

      		case 'L':                            //list store record
		        ListRecord(&cmdbuf[i+1]);
      			break;



      		default:                             /* Error Handling              */
        		printf (ERROR, "UNKNOWN COMMAND");
        		printf (menu);                   /* display command menu        */
        		break;
		}
  	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品 日产精品 欧美精品| 麻豆精品视频在线| 欧美三级乱人伦电影| 亚洲国产成人av| 欧美日韩视频一区二区| 视频一区国产视频| 日韩欧美一区二区视频| 国内成人精品2018免费看| 国产亚洲污的网站| 99久久99久久久精品齐齐| 一区二区在线观看免费| 欧美高清精品3d| 久久av中文字幕片| 中文在线资源观看网站视频免费不卡 | 8v天堂国产在线一区二区| 喷水一区二区三区| 国产日本一区二区| 色综合婷婷久久| 日韩电影在线免费观看| 久久久久国产成人精品亚洲午夜| 成人午夜在线播放| 亚洲国产成人91porn| 91精品久久久久久蜜臀| 国产一区二区精品久久99| 中文字幕在线观看不卡| 欧美天堂一区二区三区| 韩国v欧美v亚洲v日本v| 国产精品不卡一区二区三区| 欧美色图免费看| 精品综合久久久久久8888| 中文字幕制服丝袜一区二区三区| 欧美日本一道本| 国产一区二区三区观看| 亚洲欧美一区二区三区极速播放 | 国产欧美日韩综合| 欧美系列亚洲系列| 国产一区二区福利视频| 一区二区三区蜜桃| 精品欧美一区二区久久| 91蜜桃在线观看| 麻豆91在线观看| 亚洲日本成人在线观看| 日韩午夜在线观看| 色综合一区二区三区| 精品亚洲免费视频| 亚洲一区二区成人在线观看| 国产亚洲欧美日韩日本| 欧美亚洲国产一区二区三区va | 久久青草国产手机看片福利盒子| 成人av一区二区三区| 亚洲gay无套男同| 欧美激情一区二区三区不卡| 国产丶欧美丶日本不卡视频| 午夜精品福利久久久| 国产日韩精品视频一区| 6080午夜不卡| 一本色道综合亚洲| 国产一区二区三区久久久| 亚洲妇熟xx妇色黄| 国产精品麻豆网站| 欧美精品一区二区三区高清aⅴ| 色激情天天射综合网| 国产风韵犹存在线视精品| 日韩电影在线看| 亚洲精品乱码久久久久久日本蜜臀| 337p粉嫩大胆噜噜噜噜噜91av| 欧美三级电影网| 国产成人精品综合在线观看| 青青草原综合久久大伊人精品优势 | 欧美激情综合网| 欧美成人一区二区三区片免费 | 亚洲成人免费影院| 国产精品久久久久久户外露出| 日韩欧美国产精品一区| 欧美三片在线视频观看 | 欧美在线free| 99综合影院在线| 国产综合色视频| 免费看日韩a级影片| 亚洲高清不卡在线观看| 亚洲视频小说图片| 国产精品网友自拍| 2021中文字幕一区亚洲| 欧美一区二区精品| 欧美精品久久99| 欧美性大战久久久久久久蜜臀 | 国产精品入口麻豆原神| 2020国产精品自拍| 欧美一区二视频| 欧美视频一区二区三区| 99精品久久只有精品| 成人永久免费视频| 国产高清在线精品| 国产麻豆9l精品三级站| 天天色天天爱天天射综合| 亚洲综合色网站| 亚洲激情av在线| 亚洲精品视频一区| 最新中文字幕一区二区三区 | 久久99精品久久久久| 日本午夜一本久久久综合| 亚洲一级二级三级在线免费观看| 亚洲精品欧美激情| 亚洲精品菠萝久久久久久久| 综合久久综合久久| 亚洲欧洲日韩av| 亚洲日本青草视频在线怡红院| 亚洲免费电影在线| 亚洲女性喷水在线观看一区| 亚洲伦在线观看| 一区二区三区在线免费播放| 亚洲欧美国产高清| 亚洲第一激情av| 肉丝袜脚交视频一区二区| 天堂蜜桃91精品| 秋霞影院一区二区| 久久不见久久见免费视频7 | 欧美在线视频不卡| 欧美日韩中文字幕一区| 欧美二区乱c少妇| 日韩一级免费一区| 精品国产区一区| 日本一区二区三区国色天香 | 中文成人av在线| 亚洲欧洲日韩女同| 亚洲午夜在线电影| 手机精品视频在线观看| 久久精品999| 国产成人一区二区精品非洲| 成人精品在线视频观看| fc2成人免费人成在线观看播放| 99国产精品久久久| 欧美图片一区二区三区| 日韩视频在线一区二区| 久久影院视频免费| 国产精品超碰97尤物18| 亚洲大尺度视频在线观看| 日本最新不卡在线| 国内精品伊人久久久久av一坑| 成人视屏免费看| 色噜噜夜夜夜综合网| 欧美精品成人一区二区三区四区| 日韩美女一区二区三区| 中文字幕av一区 二区| 亚洲一区二区三区影院| 美腿丝袜在线亚洲一区| 高清av一区二区| 欧美在线啊v一区| 亚洲精品一区二区三区99| 中文字幕中文字幕一区二区| 亚洲v精品v日韩v欧美v专区| 精品一区二区三区视频在线观看| 成人爽a毛片一区二区免费| 欧美午夜精品一区二区蜜桃 | 日韩一区二区三区观看| 久久久www成人免费毛片麻豆 | 久久亚洲一级片| 亚洲免费av高清| 毛片不卡一区二区| 不卡的av电影在线观看| 欧美日韩不卡一区二区| 久久精品视频一区二区| 一区二区免费视频| 韩国v欧美v亚洲v日本v| 在线视频国产一区| 久久综合资源网| 亚洲最大成人综合| 久久电影网电视剧免费观看| 99在线精品一区二区三区| 欧美一区二区久久| 亚洲欧美日韩在线播放| 精品亚洲porn| 欧美亚洲尤物久久| 中文字幕久久午夜不卡| 日韩成人一级大片| www.欧美.com| 日韩精品一区二区三区视频播放 | 成人av在线电影| 欧美一级理论性理论a| 国产精品嫩草影院com| 日韩av在线免费观看不卡| 成人丝袜18视频在线观看| 日韩女优视频免费观看| 一区二区三区在线影院| 国产一区二区不卡在线| 一本大道久久a久久综合| 久久人人超碰精品| 青青草视频一区| 色婷婷综合久色| 久久久一区二区三区| 亚洲国产日韩综合久久精品| 丁香五精品蜜臀久久久久99网站 | 国产黄色91视频| 日韩欧美综合一区| 亚洲美女淫视频| 国产精品羞羞答答xxdd| 欧美一级片在线| 亚洲一区二区三区四区在线| 成人一区二区三区中文字幕| 日韩丝袜情趣美女图片|