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

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

?? inandout.c

?? 前兩天一個朋友要我寫一個51例程
?? C
字號:
/*按鈕的輸入說明:
	1.按鈕只能是自復位按鈕,即按下接通,松開后即斷開
	2.按鈕編號24個,1-3為特殊功能按鈕,1代表總開關,
		總開關功能: 一只作為關閉所有輸出的回路使用,具體的使用過程是,
		             主開關按下時如果當前有工作的回路,則保存該當前的工作狀態,并將電源關閉
					 如果當前沒有任何工作的回路,則按照上次的保存打開工作的回路.


		 2代表調光第一路,3代表調光第二路,其他按鈕均可以設定

通過通訊設置按鈕與開關的對應模式
除前3個按鈕不可以設置外,其他的按鈕都可以設置: 具體設置方法如下
1. 	每個按鈕都可以設定3個對應的輸出繼電器.即一個按鈕可以對應3個輸出.
2.  輸出的的方法有多種,由以下組和的數字表示,組和結構如下所示順序
    
	按鈕編號(4-24)   按鈕所控制的輸出個數(1-3)
	輸出編號1(1-23)  輸出模式  附加參數1,附加參數2,附加參數3
	輸出編號2(1-23)  輸出模式  附加參數1,附加參數2,附加參數3	(如果按鈕所控制的輸出個數>=2,則具備該項)
	輸出編號3(1-23)  輸出模式  附加參數1,附加參數2,附加參數3	(如果按鈕所控制的輸出個數=3,則具備該項)
功能: 
1. 除上述的描述外,另外具備掉電存儲的功能,即停電前存儲當前的狀態,來電后,按照停電前的狀態接通外部回路
      該功能只針對即時打開的開關和調光的開關起作用,其他的特別是延時操作的開關不起作用.
2. 支持通信配置以上參數的功能,暫時不支持開關操作的通信命令,
3. 以上與通信相關的條款,由通信規約負責解析.
*/
#include <inandout.h>

#include <hardconfig.h>

#define	MaxButton	24
#define	MaxTest		10
sbit		OEN		=	P2^7;	
sbit		AL1		=	P2^5 ;
sbit		AL2		=	P2^6 ;
sbit		RL17	=	P2^4 ;
sbit		RL18	=	P2^3 ;
sbit		RL19	=	P2^2 ;
sbit		RL20	=	P2^1 ;
sbit		RL21	=	P2^0 ;
sbit		RL22	=	P1^5 ;
sbit		RL23	=	P1^6 ;

sbit		CS0		=	P3^7;	
sbit		CS1		=	P3^6 ;
sbit		CS2		=	P3^5 ;

sbit		ZMADJ1=	P1^0;
sbit		ZMADJ2=	P1^1 ;


uchar	bdata	IN1,IN2,IN3;
uchar	bdata	OUTREG1=0,OUTREG2=0;
uchar	ButtonCt[MaxButton+1];
sbit	RL1		=  OUTREG1^0;
sbit	RL2		=  OUTREG1^1;
sbit	RL3		=  OUTREG1^2;
sbit	RL4		=  OUTREG1^3;
sbit	RL5		=  OUTREG1^4;
sbit	RL6		=  OUTREG1^5;
sbit	RL7		=  OUTREG1^6;
sbit	RL8		=  OUTREG1^7;
sbit	RL9		=  OUTREG2^0;
sbit	RL10	=  OUTREG2^1;
sbit	RL11	=  OUTREG2^2;
sbit	RL12	=  OUTREG2^3;
sbit	RL13	=  OUTREG2^4;
sbit	RL14	=  OUTREG2^5;
sbit	RL15	=  OUTREG2^6;
sbit	RL16	=  OUTREG2^7;

sbit	Bt1		=	IN1^0; 
sbit	Bt2		=	IN1^1;
sbit	Bt3		=	IN1^2;
sbit	Bt4		=	IN1^3;
sbit	Bt5		=	IN1^4;
sbit	Bt6		=	IN1^5;
sbit	Bt7		=	IN1^6;
sbit	Bt8		=	IN1^7;
sbit	Bt9		=	IN2^0; 
sbit	Bt10	=	IN2^1;
sbit	Bt11	=	IN2^2;
sbit	Bt12	=	IN2^3;
sbit	Bt13	=	IN2^4;
sbit	Bt14	=	IN2^5;
sbit	Bt15	=	IN2^6;
sbit	Bt16	=	IN2^7;
sbit	Bt17	=	IN3^0; 
sbit	Bt18	=	IN3^1;
sbit	Bt19	=	IN3^2;
sbit	Bt20	=	IN3^3;
sbit	Bt21	=	IN3^4;
sbit	Bt22	=	IN3^5;
sbit	Bt23	=	IN3^6;
sbit	Bt24	=	IN3^7;
#define	DateBus	P0
//初始化輸出IO	,全部初始化為低電平(低電平即繼電器不工作)
void	GPIO_OUT_Config()
{
	AL1		=	0;
	AL2		=	0;
	DateBus	=	0;
	OEN		=	0;
	AL1		=	1;
	AL1		=	0;
	AL2		=	1;
	AL2		=	0;
	RL17	=	0;
	RL18	=	0;
	RL19	=	0;
	RL20	=	0;
	RL21	=	0;
	RL22	=	0;
	RL23	=	0;
	Disable_InputChip();	
}
void	ButtonDataConfig()
{
	uchar	iloop;
	for(iloop	=	0;iloop < MaxButton;iloop++)  
	{
		ButtonCt[iloop]	=	0;	
	}
}
/*輸出繼電器,參數Number代表第幾路,OnOff=0關,=1開*/
void	RelayOut(unsigned	char	Number,bit	OnOff)
{
	DisableInterrupt();
	switch(Number)
	{
		case	1:
			RL1		=	OnOff;
			DateBus	=	OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	2:
			RL2		=	OnOff;
			DateBus	=	OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	3:
			RL3		=	OnOff;
			DateBus	=	OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	4:
			RL4		=	OnOff;
			DateBus	=	OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	5:
			RL5=OnOff;
			DateBus=OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	6:
			RL6=OnOff;
			DateBus=OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	7:
			RL7=OnOff;
			DateBus=OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	8:
			RL8=OnOff;
			DateBus=OUTREG1;
			AL1=1;
			AL1=0;
			break;
		case	9:
			RL9=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	10:
			RL10=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	11:
			RL11=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	12:
			RL12=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	13:
			RL13=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	14:
			RL14=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	15:
			RL15=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	16:
			RL16=OnOff;
			DateBus=OUTREG2;
			AL2=1;
			AL2=0;
			break;
		case	17:
			RL17=OnOff;
			break;
		case	18:
			RL18=OnOff;
			break;
		case	19:
			RL19=OnOff;
			break;
		case	20:
			RL20=OnOff;
			break;
		case	21:
			RL21=OnOff;
			break;
		case	22:
			RL22=OnOff;
			break;
		case	23:
			RL23=OnOff;
			break;
		default:
			break;
	}
 	EnableInterrupt();
}
 /*按鈕檢測程序*/
void	task_ruputT1(void) interrupt 3 using 1
{
   DateBus=0xFF;
   Sel_InputChip_One();
   IN1=	DateBus;
   Sel_InputChip_Two();	
   IN2=	DateBus;
   Sel_InputChip_Three();	
   IN3=	DateBus;
   Disable_InputChip();
   /**/
   if((!Bt1)&&(ButtonCt[1]<MaxTest))
   {
   		ButtonCt[1]++;
   }
   else	if((!Bt4)&&(ButtonCt[4]<MaxTest))
   {
   		ButtonCt[4]++;
   }
   else	if((!Bt5)&&(ButtonCt[5]<MaxTest))
   {
   		ButtonCt[5]++;
   }
   else	if((!Bt6)&&(ButtonCt[6]<MaxTest))
   {
   		ButtonCt[6]++;
   }
   else	if((!Bt7)&&(ButtonCt[7]<MaxTest))
   {
   		ButtonCt[7]++;
   }
   else	if((!Bt8)&&(ButtonCt[8]<MaxTest))
   {
   		ButtonCt[8]++;
   }
   else	if((!Bt9)&&(ButtonCt[9]<MaxTest))
   {
   		ButtonCt[9]++;
   }
   else	if((!Bt10)&&(ButtonCt[10]<MaxTest))
   {
   		ButtonCt[10]++;
   }
   else	if((!Bt11)&&(ButtonCt[11]<MaxTest))
   {
   		ButtonCt[11]++;
   }
   else	if((!Bt12)&&(ButtonCt[12]<MaxTest))
   {
   		ButtonCt[12]++;
   }
   else	if((!Bt13)&&(ButtonCt[13]<MaxTest))
   {
   		ButtonCt[13]++;
   }
   else	if((!Bt14)&&(ButtonCt[14]<MaxTest))
   {
   		ButtonCt[14]++;
   }
   else	if((!Bt15)&&(ButtonCt[15]<MaxTest))
   {
   		ButtonCt[15]++;
   }
   else	if((!Bt16)&&(ButtonCt[16]<MaxTest))
   {
   		ButtonCt[16]++;
   }
   if((!Bt17)&&(ButtonCt[17]<MaxTest))
   {
   		ButtonCt[17]++;
   }
   else	if((!Bt18)&&(ButtonCt[18]<MaxTest))
   {
   		ButtonCt[18]++;
   }
   else	if((!Bt19)&&(ButtonCt[19]<MaxTest))
   {
   		ButtonCt[19]++;
   }
   else	if((!Bt20)&&(ButtonCt[20]<MaxTest))
   {
   		ButtonCt[20]++;
   }
   else	if((!Bt21)&&(ButtonCt[21]<MaxTest))
   {
   		ButtonCt[21]++;
   }
   else	if((!Bt22)&&(ButtonCt[22]<MaxTest))
   {
   		ButtonCt[22]++;
   }
   else	if((!Bt23)&&(ButtonCt[23]<MaxTest))
   {
   		ButtonCt[23]++;
   }
   else	if((!Bt24)&&(ButtonCt[24]<MaxTest))
   {
   		ButtonCt[24]++;
   }

}
/*設置照明調光PWM輸出函數*/
void	SetAdjLight()
{
	 if(!Bt2) 	ZMADJ1=0;
	 else		ZMADJ1=1;	
	 if(!Bt3) 	ZMADJ2=0;
	 else		ZMADJ2=1;
}
uchar	GetButton()
{
	uchar	buttonret=0;
	if(Bt1)
	{
		if((ButtonCt[1]>=MaxTest))	
		{
			buttonret= 	1;
		} 
		ButtonCt[1]=0; 
	}
	if(Bt4)
	{
		if((ButtonCt[4]>=MaxTest))	
		{
			buttonret= 	4;
		}  
		ButtonCt[4]=0;

	}
	if(Bt5)
	{
		if((ButtonCt[5]>=MaxTest))	
		{
			buttonret= 	5;
		} 
		ButtonCt[5]=0;

	}
	if(Bt6)
	{
		if((ButtonCt[6]>=MaxTest))	
		{
			buttonret= 	6;
		}
	
		ButtonCt[6]=0;
		
	}
	if(Bt7)
	{
		if((ButtonCt[7]>=MaxTest))	
		{
			buttonret= 	7;
		}
	
		ButtonCt[7]=0;	 	
	}
	if(Bt8)
	{
		if((ButtonCt[8]>=MaxTest))	
		{
			buttonret= 	8;
		}	
		ButtonCt[8]=0;
		
	}
	if(Bt9)
	{
		if((ButtonCt[9]>=MaxTest))	
		{
			buttonret= 	9;
		}
	
		ButtonCt[9]=0;	 	
	}

	if(Bt10)
	{
		if((ButtonCt[10]>=MaxTest))	
			buttonret= 	10;
		
	   	ButtonCt[10]=0;
		
	}
	if(Bt11)
	{
		if((ButtonCt[11]>=MaxTest))	
		{
			buttonret= 	11;
		}
	
		ButtonCt[11]=0;	
	}
	if(Bt12)
	{
		if((ButtonCt[12]>=MaxTest))	
		{
			buttonret= 	12;
		}	
		ButtonCt[12]=0;	
	}
	if(Bt13)
	{
		if((ButtonCt[13]>=MaxTest))	
		{
			buttonret= 	13;
		}	
		ButtonCt[13]=0;
	
	}
	if(Bt14)
	{
		if((ButtonCt[14]>=MaxTest))	
		{
			buttonret= 	14;
		}
		 ButtonCt[14]=0;
	
	}
	if(Bt15)
	{
		if((ButtonCt[15]>=MaxTest))	
		{
			buttonret= 	15;
		} 	
		ButtonCt[15]=0;
	
	}
	if(Bt16)
	{
		if((ButtonCt[16]>=MaxTest))	
		{
			buttonret= 	16;
		}	
		ButtonCt[16]=0;	 	
	}
	if(Bt17)
	{
		if((ButtonCt[17]>=MaxTest))	
		{
			buttonret= 	17;
		} 	
		ButtonCt[17]=0;		
	}
	if(Bt18)
	{
		if((ButtonCt[18]>=MaxTest))	
		{
			buttonret= 	18;
		} 	
		ButtonCt[18]=0;
	
	}
	if(Bt19)
	{
		if((ButtonCt[19]>=MaxTest))	
		{
			buttonret= 	19;
		} 
		ButtonCt[19]=0;
	
	}
	if(Bt20)
	{
		if((ButtonCt[20]>=MaxTest))	
		{
			buttonret= 	20;
		} 	
		ButtonCt[20]=0;
	
	}

	if(Bt21)
	{
		if((ButtonCt[21]>=MaxTest))	
		{
			buttonret= 	21;
		}
	
		ButtonCt[21]=0;	
	}
	if(Bt22)
	{
		if((ButtonCt[22]>=MaxTest))	
		{
			buttonret= 	22;
		} 	
		ButtonCt[22]=0;		
	}
	if(Bt23)
	{
		if((ButtonCt[23]>=MaxTest))	
		{
			buttonret= 	23;
		}	
		ButtonCt[23]=0;	
	}
	if(Bt24)
	{
		if((ButtonCt[24]>=MaxTest))	
		{
			buttonret= 	24;
		}		
		ButtonCt[24]=0;	
	} 

	return	buttonret;
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本在线一区| 亚洲成人手机在线| 午夜影院在线观看欧美| 国产露脸91国语对白| 色婷婷av一区| 国产女人18毛片水真多成人如厕| 亚洲mv在线观看| 91麻豆福利精品推荐| 日本一区二区三区国色天香| 首页国产欧美久久| 欧美午夜精品理论片a级按摩| 国产性色一区二区| 国内精品国产三级国产a久久| 欧美午夜精品理论片a级按摩| 亚洲日本一区二区| 成人永久免费视频| 国产欧美日韩在线观看| 麻豆91精品视频| 911精品国产一区二区在线| 亚洲男人的天堂在线aⅴ视频| 成人影视亚洲图片在线| 久久精品人人做人人爽97| 韩国视频一区二区| 欧美精品一区二区三区在线播放| 天堂一区二区在线| 91精品国产综合久久福利| 午夜欧美视频在线观看| 欧美日韩国产色站一区二区三区| 亚洲一区二区三区四区中文字幕| 在线精品视频免费播放| 一区二区三区国产精华| 欧美熟乱第一页| 水野朝阳av一区二区三区| 欧美精品在线观看播放| 蜜乳av一区二区三区| 日韩精品中文字幕一区| 久久成人av少妇免费| 精品久久一区二区三区| 国产一区二区三区免费观看| 久久久久久免费| 成人一级黄色片| 亚洲美女在线一区| 欧美三级电影在线观看| 激情亚洲综合在线| 国产日韩欧美一区二区三区综合| 国产不卡一区视频| 成人欧美一区二区三区视频网页| 91美女在线视频| 亚洲bt欧美bt精品777| 日韩一级二级三级| 高清beeg欧美| 亚洲激情av在线| 欧美一区二区三区视频| 国产一区视频导航| 亚洲日本va午夜在线电影| 欧美日韩精品欧美日韩精品| 国产原创一区二区| 亚洲欧美成aⅴ人在线观看| 91精品国产综合久久精品图片| 国内精品写真在线观看| 亚洲男人电影天堂| 精品久久免费看| 色综合久久久网| 美日韩黄色大片| 中文一区一区三区高中清不卡| 在线影视一区二区三区| 久久成人免费电影| 亚洲精品日产精品乱码不卡| 欧美成人女星排行榜| av电影在线观看不卡| 日本大胆欧美人术艺术动态| 午夜天堂影视香蕉久久| 久久免费电影网| 欧美私人免费视频| 成人动漫av在线| 捆绑调教美女网站视频一区| 国产精品第13页| 精品国精品国产尤物美女| 91性感美女视频| 国产一区二区h| 日韩影院精彩在线| 亚洲视频香蕉人妖| 久久综合色播五月| 欧美久久久久久蜜桃| 99久久国产综合精品女不卡 | 欧美三日本三级三级在线播放| 久久精品国产在热久久| 亚洲一区二区三区中文字幕在线| 国产三级精品在线| 日韩精品一区二区三区三区免费 | 欧美三级资源在线| 99久久国产免费看| 国产精品夜夜嗨| 蜜桃视频在线一区| 亚洲成a人片综合在线| 成人欧美一区二区三区视频网页| 精品国产乱码久久久久久老虎| 欧美日韩大陆在线| 国产精品天美传媒沈樵| 日韩免费一区二区| 欧美高清www午色夜在线视频| 91小视频免费观看| 北条麻妃一区二区三区| 国产精品91xxx| 一区二区欧美精品| 99久久综合国产精品| 国产精品自在在线| 国内精品国产成人国产三级粉色| 六月丁香婷婷色狠狠久久| 日韩在线卡一卡二| 日本不卡视频一二三区| 午夜电影一区二区三区| 亚洲h在线观看| 日韩电影在线一区二区| 日韩影院免费视频| 久久精品国产秦先生| 久久电影网站中文字幕| 国产一区二区三区在线观看精品| 国产在线视频不卡二| 国产一区二区三区在线观看精品| 国产一区二区三区美女| 国产成人av一区二区三区在线观看| 国产一区二区美女| 国产99精品视频| 91欧美一区二区| 欧美影视一区二区三区| 欧美一级久久久| 午夜激情一区二区三区| 久久久久久99精品| 国产精品久久久久久久久免费相片| 日本一区二区久久| 亚洲精品成人少妇| 日韩vs国产vs欧美| 国产激情一区二区三区四区| 成人精品国产福利| 欧美亚洲国产bt| 欧美成人精品3d动漫h| 日本一区二区三区视频视频| 亚洲精品videosex极品| 日本一区中文字幕| 成人免费看黄yyy456| 91精彩视频在线| 久久综合色综合88| 亚洲麻豆国产自偷在线| 久久精品国产99久久6| 成人国产在线观看| 欧美高清www午色夜在线视频| 国产午夜亚洲精品羞羞网站| 一级日本不卡的影视| 久久99热这里只有精品| 色综合久久88色综合天天免费| 欧美高清视频不卡网| 国产精品看片你懂得| 三级亚洲高清视频| 成人av在线播放网址| 欧美一三区三区四区免费在线看| 国产精品嫩草久久久久| 蜜臂av日日欢夜夜爽一区| 99国产一区二区三精品乱码| 欧美一区二区三区视频在线| 中文字幕人成不卡一区| 韩国女主播成人在线| 欧美怡红院视频| 亚洲欧美在线观看| 国产制服丝袜一区| 欧美日本免费一区二区三区| 中文字幕一区不卡| 国产一区欧美一区| 日韩一卡二卡三卡国产欧美| 一区二区三区中文字幕| 成人黄色网址在线观看| 精品美女在线播放| 欧美bbbbb| 欧美精品亚洲一区二区在线播放| 国产精品美女久久久久aⅴ国产馆| 美女在线视频一区| 欧美男女性生活在线直播观看| 综合欧美一区二区三区| 高清久久久久久| 欧美激情一区二区三区全黄| 久久成人羞羞网站| 欧美电影免费观看高清完整版在| 天堂成人国产精品一区| 在线亚洲免费视频| 一区二区三区视频在线观看| 国产69精品一区二区亚洲孕妇| 日韩三级.com| 免费的成人av| 日韩女优av电影| 麻豆精品一区二区综合av| 7777精品伊人久久久大香线蕉的| 亚洲综合男人的天堂| 欧美主播一区二区三区美女| 一区二区三区精密机械公司| 色偷偷久久人人79超碰人人澡| 1区2区3区欧美| 91美女片黄在线观看91美女| 亚洲色图制服诱惑| 欧美日韩一区二区欧美激情| 夜夜嗨av一区二区三区四季av |