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

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

?? 048v2.c

?? 檢測設備是否具備高壓端口的控制程序 ,能實時上報設備端口的狀態
?? C
字號:
#include "stdio.h"
#include "reg51.h"
#include "ctype.h"
#include "absacc.h"

#define uchar unsigned char 
#define ACK 0X06                        /*  遙控肯定應答*/
#define NAK 0X15                        /*  遙控否定應答*/ 

#define COM8155 XBYTE[0x80f0]		/*定義8155命令口地址*/
#define PA8155 XBYTE[0x80f1]		/*定義8155 A口(段碼輸出)地址*/
#define PB8155 XBYTE[0x80f2]		/*定義8155 B口(位碼輸出)地址*/
#define PC8155 XBYTE[0x80f3]		/*定義8155 C口(位碼輸出)地址*/
#define DSSECOND XBYTE[0x4000]		/*定義DS12C887秒寄存器地址*/	
#define DSMINUTE XBYTE[0x4002]		/*定義DS12C887分寄存器地址*/
#define DSHOUR XBYTE[0x4004]		/*定義DS12C887時寄存器地址*/
#define DSDAY XBYTE[0x4007]			/*定義DS12C887日寄存器地址*/
#define DSMONTH XBYTE[0x4008]		/*定義DS12C887月寄存器地址*/
#define	DSYEAR XBYTE[0X4009]		/*定義DS12C887年寄存器地址*/
#define DSA	XBYTE[0x400A]			/*定義DS12C887 A寄存器地址*/
#define DSB XBYTE[0x400B]			/*定義DS12C887 B寄存器地址*/
#define DSD XBYTE[0x400D]			/*定義DS12C887 D寄存器地址*/
int bright;
uchar idata r_buf[15];				/*接收緩沖區*/
uchar idata t_buf[4];				/*發送緩沖區*/
sbit p1_7=P1^7;						/*WATCHDOG 清零脈沖輸出腳*/
bit flag;							/*接收完整一條命令中斷標志*/
int r_in,r_out,t_num,t_out,n;
bit r_full;

/*************************************************************************************************
* 		將每一位數值轉換為相應的數碼管顯示代碼,并送去8155的PA口顯示			*
*************************************************************************************************/
void getsegmentcode(int digitvalue)
{
	switch(digitvalue){
	case 0x00:
		PA8155=0xC0;
		break;
	case 0x01:
		PA8155=0xF9;
		break;
	case 0x02:
		PA8155=0xA4;
		break;
	case 0x03:
		PA8155=0xB0;
		break;
	case 0x04:
		PA8155=0x99;
		break;
	case 0x05:
		PA8155=0x92;
		break;
	case 0x06:
		PA8155=0x82;
		break;
	case 0x07:
		PA8155=0xF8;
		break;
	case 0x08:
		PA8155=0x80;
		break;
	case 0x09:
		PA8155=0x90;
		break;
	default:
		PA8155=0xff;
		break;
	}
}
/*************************************************************************************************
*	delay()延遲程序是用來產生每位顯示所需的時間						*
*	delay1()延遲程序是等待系統外圍器件進入穩定后再執行主程序的時間				*
*       delay2()用于片選信號的延遲處理                                                          *  
*************************************************************************************************/
void delay()
{
	int i,k;
	for(i=0;i<2;i++)
		for(k=0;k<10;k++){}
}

void delay2()
{
	int i,k;
	for(i=0;i<2;i++)
		for(k=0;k<18;k++){}
}

void delay1()
{
	int i,k;
	for(i=0;i<10;i++)
		for(k=0;k<50;k++){}
}


/*************************************************************************************************
*	串口發送程序,向上端程序發送數據或對收到命令的應答. t_buf[]為發送緩沖區			*
*************************************************************************************************/
void senddata(void)
{
	for(t_out=0;t_out<=t_num;t_out++){
		SBUF=t_buf[t_out];
		while(TI==0);
		TI=0;
	}
}
/*************************************************************************************************
*	處理查詢當前亮度值或修改當前亮度值的命令						*
*************************************************************************************************/
void processbright(void)
{
 switch(r_buf[2]){
	case '?':                                       			
		t_buf[0]=0x02;                          			
		t_buf[1]=bright;                        			
		t_buf[2]=0x03;                          			
		t_num=2;                                			
		senddata();                             			
		break;                                  			
	case '0':                                       			
		bright=0x30;P1=0X10;                    			
		t_buf[0]=0x06;t_num=0;senddata();break; 			
	case '1':                                       			
		bright=0x31;P1=0X11;                    			
		t_buf[0]=0x06;t_num=0;senddata();break; 			
	case '2':                                       			
		bright=0x32;P1=0X12;                    			
		t_buf[0]=0x06;t_num=0;senddata();break; 			
	case '3':                                       			
		bright=0x33;P1=0X13;                    			
		t_buf[0]=0x06;t_num=0;senddata();break; 			
	case '4':                                       			
		bright=0x34;P1=0X14;                    			
		t_buf[0]=0x06;t_num=0;senddata();break; 			
	case '5':                                       			
		bright=0x35;P1=0X15;                      			
		t_buf[0]=0x06;t_num=0;senddata();break;   			
	case '6':                                         			
		bright=0x36;P1=0X16;                      			
		t_buf[0]=0x06;t_num=0;senddata();break;   			
	case '7':                                         			
		bright=0x37;P1=0X17;                      			
		t_buf[0]=0x06;t_num=0;senddata();break;   			
	default:                                          			
		t_buf[0]=NAK;                            			
		t_num=0;                                  			
		break;                                    			
	}                                                 			
	                                                        	
}

/*************************************************************************************************        
        判斷r_buf()的值是否合法,返回0為不合法 ,yyh Add 2/2/2001                     
**************************************************************************************************/
int rbufOK(void)
{
	int i;
	for(i=2;i<=7;i++){	
		if((r_buf[i]&0x0f)>0x09) {
			t_buf[0]=NAK;                                   	
			t_num=0;                                         	
			senddata(); 
			return 0;   	
		}
	}	
	return 1;
}


/*************************************************************************************************
* 					處理修改日期的命令					*
*************************************************************************************************/
void processdate(void)
{
	if(rbufOK()==0) return;
	DSB=0X82;

	DSYEAR=((r_buf[2]<<4)&0xf0)|(r_buf[3]&0x0f);     
	DSMONTH=((r_buf[4]<<4)&0xf0)|(r_buf[5]&0x0f);    	
	DSDAY=((r_buf[6]<<4)&0xf0)|(r_buf[7]&0x0f);      	
	                                                 	
	DSB=0X02;                                        
	t_buf[0]=0x06;                                   	
	t_num=0;                                         	
	senddata();                                      	
		
}

/*************************************************************************************************
*					處理修改時間的命令					*
*************************************************************************************************/
void processtime(void)
{
	if(rbufOK()==0) return;
	DSB=0X82;

	DSHOUR=((r_buf[2]<<4)&0xf0)|(r_buf[3]&0x0f);          	
	DSMINUTE=((r_buf[4]<<4)&0xf0)|(r_buf[5]&0x0f);        	
	DSSECOND=((r_buf[6]<<4)&0xf0)|(r_buf[7]&0x0f);        	
	                                                      
	DSB=0X02;                                             	
	t_buf[0]=0x06;                                        	
	t_num=0;                                              	
	senddata();                                           	
}

/*************************************************************************************************
*			處理收到的命令,判斷是何種命令,并調用相關命令處理程序			*
*************************************************************************************************/

void processcommand(void)
{
	switch(r_buf[0]){
		case 0x02:
				
			switch(r_buf[1]){
				case 'b':
					processbright();						
					break;
				case 'd':
					processdate();
					break;
				case 't':
					processtime();
					break;
				default:
						t_buf[0]=NAK;
						t_num=0;
						senddata();
						break;
			}
		case ACK:
				break;
		default:
				t_buf[0]=NAK;
				t_num=0;
				senddata();
				break;
	}
}

/*************************************************************************************************
*					初始化程序						*
*************************************************************************************************/
void init()
{
	flag=0;					/*中斷標志*/
	
	COM8155=0x0f;				/*8155命令口編程為PA、PB、PC皆為輸出口*/
	TMOD=0x20;				/*設置4800波特率的定時器一及其初始值*/
	TL1=0xfa;TH1=0xfa;
	SCON=0x50;PCON=0x00;			/*工作于方式一10位異步收發方式*/
	TR1=1;					/*使定時器一開始工作*/
	bright=0x36;P1=0X16;           	/*設置亮度初始值*/
	IE=0x90;r_in=r_out=0;r_full=0;
	PA8155=0xFF;PB8155=0xFF;PC8155=0xFF;	
	ACC=DSD;				/*時鐘芯片初始化*/
	DSA=0x20;
	DSB=0x02;
	
}

/*************************************************************************************************
*					主程序							*
*************************************************************************************************/
void main(void)
{	
	int lsdvalue,msbvalue,f;

	delay1();
	init();
	
	while(1)
	{
		p1_7=1;				/*產生看門狗清零脈沖*/
		p1_7=1;
		p1_7=0;

		f=DSSECOND;			/*顯示時間程序開始*/
		lsdvalue=f&0x0f;;
		PB8155=0xFF;
		delay2();
		getsegmentcode(lsdvalue);
		PB8155=0xFE;
		delay();
		msbvalue=f>>4;
		PB8155=0xFF;
		delay2();
		getsegmentcode(msbvalue);
		PB8155=0xFD;
		delay();

		f=DSMINUTE;
		lsdvalue=f&0x0f;
		PB8155=0xFF;
		delay2();
		getsegmentcode(lsdvalue);		
		PB8155=0xFB;
		delay();
		msbvalue=f>>4;
		PB8155=0xFF;
		delay2();
		getsegmentcode(msbvalue);		
		PB8155=0xF7;
		delay();

		f=DSHOUR;
		lsdvalue=f&0x0f;
		PB8155=0xFF;
		delay2();
		getsegmentcode(lsdvalue);		
		PB8155=0xEF;
		delay();
		msbvalue=f>>4;
		PB8155=0xFF;
		delay2();
		getsegmentcode(msbvalue);		
		PB8155=0xDF;
		delay();
		PB8155=0xFF;	
			
		f=DSDAY;				/*顯示日期程序開始*/
		lsdvalue=f&0x0f;
		PC8155=0xFF;
		delay2();
		getsegmentcode(lsdvalue);
		PC8155=0xFE;
		delay();
		msbvalue=f>>4;
		PC8155=0xFF;
		delay2();
		getsegmentcode(msbvalue);
		PC8155=0xFD;
		delay();

		f=DSMONTH;
		lsdvalue=f&0x0f;
		PC8155=0xFF;
		delay2();
		getsegmentcode(lsdvalue);
		PC8155=0xFB;
		delay();
		msbvalue=f>>4;
		PC8155=0xFF;
		delay2();
		getsegmentcode(msbvalue);
		PC8155=0xF7;
		delay();

		f=DSYEAR;
		lsdvalue=f&0x0f;
		PC8155=0xFF;
		delay2();
		getsegmentcode(lsdvalue);
		PC8155=0xEF;
		delay();
		msbvalue=f>>4;
		PC8155=0xFF;
		delay2();
		getsegmentcode(msbvalue);
		PC8155=0xDF;
		delay();
		PC8155=0xFF;
		
		if(flag==1)
		{					/*判斷是否有中斷產生*/
			processcommand();
			flag=0;          
		}
	}
}

/*************************************************************************************************
*		串口接收中斷程序								*
*************************************************************************************************/
void serial() interrupt 4 using 1
{
	r_buf[r_in]=SBUF;
		RI=0;
	if(r_buf[r_in]==0x02 && r_in>0)	//先判斷楨頭
	{	
		int i;
		for(i=0;i<r_in;i++)
		{	
			r_buf[i]=0xff;	
		}
		r_buf[0]=r_buf[r_in];
		r_in=1;
		flag=0;
	}
	else if(r_buf[r_in]!=0x03 && r_buf[r_in]!=0x06)//再判斷楨尾
	{
		if(r_in > 0x0f)		//不會接收15個字節的數據
		{	
			t_buf[0]=0xff;
			t_num=0;
			senddata();

			r_in = 0;		//復位
			flag = 0;
			return;
		}
	
		r_in+=1;
	}
	else if((r_buf[r_in]==0x03) || (r_buf[r_in]==0x06)) 
	{
		r_in=0;
		flag=1;
	}
	else
	{
		r_in=0;
		flag=0;
	}
}
/*
	RI=0;

	if(SBUF==0x02 && r_in ==0)	//先判斷楨頭
	{
		r_buf[0]=SBUF;
		r_in=1;
	}
	else if(r_in > 0 && SBUF!=0x03 && SBUF!=0x06)//有效數據
	{
		if(r_in > 0x0f)		//不會接收15個字節的數據
		{	
			t_buf[0]=0xff;
			t_num=0;
			senddata();

			r_in = 0;		//復位
			flag = 0;
			return;
		}
		
		r_buf[r_in]=SBUF;
		r_in+=1;
	}
	else if((r_in > 0 && SBUF==0x03) || (SBUF==0x06)) //楨尾
	{
		r_in=0;
		flag=1;
	}
	else
	{
		r_in = 0;
		flag = 0;
	}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级片在线观看| 亚洲欧洲精品天堂一级| 精品久久一二三区| 亚洲日本va午夜在线电影| 日韩中文字幕91| 不卡影院免费观看| 日韩欧美亚洲另类制服综合在线 | 亚洲一区二区三区免费视频| 国产精品自拍毛片| 欧美美女一区二区在线观看| 中文字幕在线观看不卡视频| 精品在线亚洲视频| 欧美精品一二三区| 亚洲精品久久久蜜桃| 国产91综合一区在线观看| 欧美一区三区二区| 亚洲va韩国va欧美va| 91麻豆免费观看| 欧美激情一区三区| 国产一区二区三区日韩| 欧美一区二区在线看| 一二三四区精品视频| av在线一区二区| 欧美经典一区二区| 国产麻豆精品在线观看| www久久精品| 激情丁香综合五月| 日韩视频不卡中文| 午夜精品123| 欧美性猛交xxxxxx富婆| 亚洲人成网站精品片在线观看| 国产成人一区二区精品非洲| 精品国产亚洲一区二区三区在线观看| 日韩精品一级中文字幕精品视频免费观看 | 欧美va亚洲va香蕉在线 | 国产精品久久久久影视| 国产精品资源在线观看| 精品av久久707| 黑人巨大精品欧美黑白配亚洲| 欧美一级淫片007| 亚洲第一激情av| 欧美精三区欧美精三区| 五月激情六月综合| 日韩无一区二区| 激情五月婷婷综合| 国产欧美日本一区二区三区| 国产69精品久久久久777| 亚洲国产电影在线观看| caoporm超碰国产精品| 亚洲女女做受ⅹxx高潮| 欧日韩精品视频| 天堂蜜桃91精品| 日韩女优av电影在线观看| 国模少妇一区二区三区| 欧美高清在线视频| 日本韩国一区二区三区| 亚洲成人免费影院| 精品国产凹凸成av人导航| 国产精品综合一区二区三区| 国产精品国产三级国产aⅴ原创| 91麻豆精品一区二区三区| 亚洲五码中文字幕| 日韩精品一区二区在线观看| 国产成人免费视频| 亚洲精选视频免费看| 91精品国产综合久久香蕉的特点 | 国产精品一区二区你懂的| 亚洲欧美综合另类在线卡通| 色www精品视频在线观看| 丝瓜av网站精品一区二区| 欧美成人一级视频| 波波电影院一区二区三区| 一区二区三区欧美视频| 精品美女在线观看| 91视频在线观看免费| 蜜桃在线一区二区三区| 国产精品久久777777| 这里是久久伊人| 99精品视频中文字幕| 美女看a上一区| 亚洲天天做日日做天天谢日日欢| 在线不卡a资源高清| 9人人澡人人爽人人精品| 日韩经典中文字幕一区| 亚洲色图20p| 2020国产精品久久精品美国| 在线看一区二区| 国产成人精品网址| 日韩av网站在线观看| 亚洲人精品一区| 国产日韩欧美电影| 日韩午夜激情免费电影| 日本韩国欧美一区| 成人av资源站| 国产乱码精品1区2区3区| 天天影视涩香欲综合网| 亚洲视频小说图片| 日本一区二区在线不卡| 日韩视频在线一区二区| 欧美日韩激情一区二区| 日韩一区二区三区免费看| 在线亚洲精品福利网址导航| 成人国产亚洲欧美成人综合网| 久久草av在线| 奇米精品一区二区三区在线观看一| 亚洲裸体xxx| 亚洲欧美影音先锋| 国产精品你懂的在线欣赏| 2020国产精品| 精品粉嫩超白一线天av| 日韩一级高清毛片| 欧美精三区欧美精三区| 欧美精品自拍偷拍| 欧美日韩亚洲国产综合| 色狠狠av一区二区三区| 91免费国产在线观看| 不卡视频免费播放| av一区二区三区| 成人av网在线| eeuss鲁片一区二区三区在线看| 岛国精品一区二区| 丰满白嫩尤物一区二区| 国产成人8x视频一区二区| 粉嫩嫩av羞羞动漫久久久 | 国产日产欧美一区二区视频| 久久伊人中文字幕| 久久众筹精品私拍模特| 国产肉丝袜一区二区| 欧美高清一级片在线观看| 国产精品成人一区二区三区夜夜夜| 国产精品你懂的在线| 亚洲乱码国产乱码精品精98午夜 | 国产色爱av资源综合区| 国产午夜亚洲精品午夜鲁丝片| 国产亚洲婷婷免费| 中文字幕制服丝袜成人av | 麻豆91在线看| 国产成人精品www牛牛影视| 不卡电影免费在线播放一区| 97精品视频在线观看自产线路二| 色综合夜色一区| 在线成人高清不卡| 久久婷婷综合激情| 国产精品福利影院| 视频一区视频二区在线观看| 欧美久久久久久蜜桃| 日韩精品一区二区三区四区| 国产亚洲福利社区一区| 亚洲卡通欧美制服中文| 免费欧美在线视频| 不卡的av在线| 欧美一区国产二区| 国产精品女同互慰在线看| 午夜欧美一区二区三区在线播放| 黄色日韩三级电影| 91啪亚洲精品| 欧美成人video| 综合自拍亚洲综合图不卡区| 日本午夜精品一区二区三区电影 | 日韩欧美一区二区视频| 国产精品久久久久9999吃药| 日韩精品色哟哟| 成人h版在线观看| 欧美妇女性影城| 国产精品高清亚洲| 精品一区二区三区日韩| 91久久香蕉国产日韩欧美9色| 精品人在线二区三区| 亚洲久本草在线中文字幕| 久久99热这里只有精品| 欧美影院午夜播放| 中文字幕av资源一区| 免费精品视频最新在线| 91美女片黄在线观看91美女| 久久久久97国产精华液好用吗| 一区二区三区免费看视频| 国产成人免费在线视频| 日韩一区二区三区在线| 亚洲影视资源网| 99在线热播精品免费| 精品成a人在线观看| 91精品福利在线| 国产精品青草久久| 国内精品久久久久影院色| 777奇米四色成人影色区| 亚洲色图色小说| 成人毛片视频在线观看| 欧美tickling挠脚心丨vk| 亚洲3atv精品一区二区三区| 91首页免费视频| 国产精品电影院| 国产成人a级片| 337p日本欧洲亚洲大胆精品| 日本午夜一本久久久综合| 欧美视频在线不卡| 艳妇臀荡乳欲伦亚洲一区| 91免费看视频| 一区二区在线免费观看| av不卡在线播放| 亚洲欧洲精品天堂一级|