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

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

?? test.c

?? 遙控燈系統
?? C
字號:
#include  <stdio.h>
#include <../philips/reg51f.h>
#include " sja1000.h "

#define HIGH    1
#define LOW     0

unsigned char Count = 0;
unsigned char Count1= 0;		//慢閃
unsigned char FramID[4] ;   //幀頭
unsigned char TXDData[8];	//發送的數據
unsigned char RXDData[8] ;	//接收的數據

unsigned char a[18]={0x55,0xaa,0x00,0x12,0x08,0x08,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00};
long  int  aa,bb;
long  int  chk;


sbit  mute=P2^5;			//消音
sbit  bell=P1^1;        //外接電鈴
sbit  ha=P2^6;          //蜂鳴器


//串行輸入信號控制腳
sbit DATp=P1^5;
sbit CLKp=P1^4;
sbit CTLp=P1^3;
unsigned char  bdata tData[2];           /* 數據暫存區 */

sbit   as1=tData[0]^0;					//按鈕狀態
sbit   as2=tData[0]^1;
sbit   as3=tData[0]^2;
sbit   as4=tData[0]^3;
sbit   as5=tData[0]^4;
sbit   as6=tData[0]^5;
sbit   as7=tData[0]^6;
sbit   as8=tData[0]^7;


sbit   ls1=tData[1]^7;				//燈的狀態
sbit   ls2=tData[1]^6;
sbit   ls3=tData[1]^5;
sbit   ls4=tData[1]^4;
sbit   ls5=tData[1]^3;
sbit   ls6=tData[1]^2;
sbit   ls7=tData[1]^1;
sbit   ls8=tData[1]^0;




sbit   led1=P3^3;     //指示燈狀態
sbit   led2=P3^4;
sbit   led3=P3^5;
sbit   led4=P2^0;
sbit   led5=P2^1;
sbit   led6=P2^2;
sbit   led7=P2^3;
sbit   led8=P2^4;

//若要改變發送順序,則可以改變diss,astate,lstate的字節順序
unsigned char  bdata  diss;     //消音狀態位
sbit    dis1=diss^7;
sbit    dis2=diss^6;
sbit    dis3=diss^5;
sbit    dis4=diss^4;
sbit    dis5=diss^3;
sbit    dis6=diss^2;
sbit    dis7=diss^1;
sbit    dis8=diss^0;



unsigned char bdata astate;    //按鈕延時判斷狀態位
sbit   ass1=astate^7;					
sbit   ass2=astate^6;
sbit   ass3=astate^5;
sbit   ass4=astate^4;
sbit   ass5=astate^3;
sbit   ass6=astate^2;
sbit   ass7=astate^1;
sbit   ass8=astate^0;

unsigned char bdata lstate;    //指示燈延時判斷狀態位
sbit   lss1=lstate^7;					
sbit   lss2=lstate^6;
sbit   lss3=lstate^5;
sbit   lss4=lstate^4;
sbit   lss5=lstate^3;
sbit   lss6=lstate^2;
sbit   lss7=lstate^1;
sbit   lss8=lstate^0;


unsigned char bdata DataIn;    /* 串行數據輸入 */
sbit IN2 = DataIn^0;

bit  flash,flashs;

void InitSJA( void );		//SJA初始化
void SEND( void );			//發送函數
void InitSYS( void );		//系統初始化



void ReadData(void)     					//串行讀數據
{
   unsigned char i,j;
   CLKp = HIGH;                        /* 時鐘線置高 */ 
   DATp = HIGH;                        /* 數據線置高 */ 
   CTLp = HIGH;                        /* 采樣數據   */ 
   CTLp = LOW;  
   CLKp = LOW;                         /* 時鐘線置低 */   
   for(j=0;j<2;j++)
   {
      for(i=0;i<8;i++)
      {  DataIn = DataIn<<1;           /* 數據讀入 一共8個  */     
         IN2 = DATp; 
         CLKp = HIGH;                  /* 時鐘翻轉          */       
         CLKp = LOW;                               
      }      
      tData[j] = DataIn;               /* 把數據存入暫存區  */ 
   }
}










void delay(unsigned int i)
{
     while(i--);    
}

//SJA1000初始化
void InitSJA( void )
{
	PX0 = PRIORITY_HIGH; /*設CAN 優先中斷 */
	IT0 = INTLEVELACT; 	/*中斷0 為電平激活 */
   EA = DISABLE; 			/*所有中斷禁能 */
   SJAIntEn = DISABLE; /*來自SJA100 的外部中斷禁能 */
	while((ModeControlReg & RM_RR_Bit)==ClrByte)
    {  
          /*其他位而不是復位模式/請求位沒有改變 */
           ModeControlReg = ModeControlReg|RM_RR_Bit;
    }	 	 	 	  

    ClockDivideReg = CANMode_Bit|CLKOff_Bit;/*PeliCan,同時關閉時鐘*/

	
	 /*定義驗收代碼和屏蔽 */
    AcceptCode0Reg = 0xaa;			
    AcceptCode1Reg = 0xaa;
    AcceptCode2Reg = 0xaa;
    AcceptCode3Reg = 0xaa;
    AccepMask0Reg  = 0x00;
    AccepMask1Reg  = 0x00;
    AccepMask2Reg  = 0x00;
    AccepMask3Reg  = 0x00;
 															
 	/*位頻率250Kbit/s@16MHz 總線被采樣一次 */
   BusTiming0Reg= 0x01;
   BusTiming1Reg= 0x1C;								 			 
   /*配置CAN 輸出TX0 懸空TX1 推挽正常輸出模式 */
   OutControlReg = Tx1Float|Tx0PshPull|NormalMode;

     do   /*等待直到RM_RR_Bit 清零 */
    {   
		  ModeControlReg = AFM_Bit; //進入工作模式,選擇單個驗收濾波器32位

     }while((ModeControlReg&RM_RR_Bit) != ClrByte);

    InterruptEnReg = RIE_Bit|BEIE_Bit|DOIE_Bit; /*SJA1000 的接收中斷使能 */
                                              /*SJA1000 的錯誤中斷使能 */
                                              /*SJA1000 的溢出中斷使能 */
    
    SJAIntEn = ENABLE; /*SJA1000 的外部中斷使能 */
    EA = ENABLE; /*所有中斷使能 */
}

//數據發送
void SEND(void)
{	
if(StatusReg&TBS_Bit==TBS_Bit);   //發送緩沖區釋放
  {
  		TxFramInFo = 	0x88;                 	/* 擴展幀 */																				
		TxBuffer1  = 	FramID[0];					//幀ID
		TxBuffer2  = 	FramID[1];
		TxBuffer3  = 	FramID[2];
		TxBuffer4  = 	FramID[3];
		TxBuffer5  = 	TXDData[0];					//發送的數據
		TxBuffer6  = 	TXDData[1];
		TxBuffer7  = 	TXDData[2];
		TxBuffer8  = 	TXDData[3];
		TxBuffer9  = 	TXDData[4];
		TxBuffer10 = 	TXDData[5];
		TxBuffer11 = 	TXDData[6];
		TxBuffer12 = 	TXDData[7];
		CommandReg = 	TR_Bit; 					/*置位發送請求位 */
 	}                 	
}




void   senddata(Uchar word)
{	    P=0;
       ACC=0;
  		 ACC=word;
		 TB8=!P;
		 SBUF=ACC;
		 while(TI==0);
		 TI=0;


}





void send_422(void)
{
	aa=0;
	bb=0;
   chk=0;
	a[12]=0xff-lstate;
	a[13]=0xff-astate;
	aa=a[0]+a[2]+a[4]+a[6]+a[8]+a[10]+a[12]+a[16];
	bb=a[1]+a[3]+a[5]+a[7]+a[9]+a[11]+a[13]+a[17];
   chk=(aa<<8)+bb;

	chk = (chk >> 16) + (chk & 0xffff);
	chk+=(chk>>16);
	a[15]=~chk;
	a[14]=~(chk>>8);


senddata(a[0]);
senddata(a[1]);
senddata(a[2]);
senddata(a[3]);
senddata(a[4]);
senddata(a[5]);
senddata(a[6]);
senddata(a[7]);
senddata(a[8]);
senddata(a[9]);
senddata(a[10]);
senddata(a[11]);
senddata(a[12]);
senddata(a[13]);
senddata(a[14]);
senddata(a[15]);
senddata(a[16]);
senddata(a[17]);

}	 
	













//系統初始化

void  InitSYS(void)
{       delay(1000);
    	TMOD=0x21;       		// 定時器1工作在模式2,自動再裝入的8位計數器
	                     	// 定時器0工作在模式1,16位計數器
    	ET0=1;           		// 開定時器0中斷
		TR0=1;           		// 啟動定時器0
		EXTRAMCtrReg=EXTRAM;	/* 低地址(0~128) 使用外部RAM     */
   	EA=1;

SCON=0xD0;      //方式3

TH1=0xf7;
TR1=1;
TI=1;
 				
PCON|=0X80;






	
}	

 //定時器0中斷程序
void Timer0_int( void ) interrupt 1          
{  static  unsigned char  c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17;    //計數用
   TR0=0;
	if( Count >= 7 )
	 { SEND();
		flash=!flash;    //快閃信號
		Count = 0;
	 } 
	 else Count++;

	if( Count1 >= 15 )
	 { 
		flashs=!flashs;	//慢閃信號
		Count1 = 0;
	 } 
	 else Count1++;


	if( Count == 7 )
send_422();






ReadData();
    if(as1)					//按鈕1
	 	{	c1++;
	 		if(c1>4)
	 			{ass1=1;c1=0;}
	 	}
	 else
	 	{ass1=0;c1=0;dis1=0;}

  if(as2)					//按鈕2
	 	{	c2++;
	 		if(c2>4)
	 			{ass2=1;c2=0;}
	 	}
	 else
	 	{ass2=0;c2=0;dis2=0;}

    if(as3)					//按鈕3
	 	{	c3++;
	 		if(c3>4)
	 			{ass3=1;c3=0;}
	 	}
	 else
	 	{ass3=0;c3=0;dis3=0;}


    if(as4)					//按鈕4
	 	{	c4++;
	 		if(c4>4)
	 			{ass4=1;c4=0;}
	 	}
	 else
	 	{ass4=0;c4=0;dis4=0;}

    if(as5)					//按鈕5
	 	{	c5++;
	 		if(c5>4)
	 			{ass5=1;c5=0;}
	 	}
	 else
	 	{ass5=0;c5=0;dis5=0;}


    if(as6)					//按鈕6
	 	{	c6++;
	 		if(c6>4)
	 			{ass6=1;c6=0;}
	 	}
	 else
	 	{ass6=0;c6=0;dis6=0;}



    if(as7)					//按鈕7
	 	{	c7++;
	 		if(c7>4)
	 			{ass7=1;c7=0;}
	 	}
	 else
	 	{ass7=0;c7=0;dis7=0;}

    if(as8)					//按鈕8
	 	{	c8++;
	 		if(c8>4)
	 			{ass8=1;c8=0;}
	 	}
	 else
	 	{ass8=0;c8=0;dis8=0;}


   if(ls1)					//指示燈1
	 	{	c9++;
	 		if(c9>4)
	 			{lss1=1;c9=0;}
	 	}
	 else
	 	{lss1=0;c9=0;}

  if(ls2)					//指示燈2
	 	{	c10++;
	 		if(c10>4)
	 			{lss2=1;c10=0;}
	 	}
	 else
	 	{lss2=0;c10=0;}

   if(ls3)					//指示燈3
	 	{	c11++;
	 		if(c11>4)
	 			{lss3=1;c11=0;}
	 	}
	 else
	 	{lss3=0;c11=0;}

   if(ls4)					//指示燈4
	 	{	c12++;
	 		if(c12>4)
	 			{lss4=1;c12=0;}
	 	}
	 else
	 	{lss4=0;c12=0;}

   if(ls5)					//指示燈5
	 	{	c13++;
	 		if(c13>4)
	 			{lss5=1;c13=0;}
	 	}
	 else
	 	{lss5=0;c13=0;}

   if(ls6)					//指示燈6
	 	{	c14++;
	 		if(c14>4)
	 			{lss6=1;c14=0;}
	 	}
	 else
	 	{lss6=0;c14=0;}

   if(ls7)					//指示燈7
	 	{	c15++;
	 		if(c15>4)
	 			{lss7=1;c15=0;}
	 	}
	 else
	 	{lss7=0;c15=0;}

   if(ls8)					//指示燈8
	 	{	c16++;
	 		if(c16>4)
	 			{lss8=1;c16=0;}
	 	}
	 else
	 	{lss8=0;c16=0;}


	if(!mute)
	{dis1=ass1;
	 dis2=ass2;
    dis3=ass3;
    dis4=ass4;
    dis5=ass5;
    dis6=ass6;
    dis7=ass7;
    dis8=ass8;

	}

if(astate!=(lstate|diss))   //蜂鳴器
{c17++;
  if(c17>2)
   {ha=flash;c17=3;bell=0;}
	}
else
{ha=1;bell=1;c17=0;}

   TR0=1;
   
}


/* CAN總線中斷子程序 */
void CANInt(void) interrupt 0
{
    /*從SJA1000 讀中斷寄存器的內容并臨時保存所有中斷標志被清除在PeliCAN 模式里
    接收中斷RI 被首先清除當給出釋放緩沖器命令時*/
	
   ET0 = DISABLE;                                     /* 定時器0 中斷禁能  */
   CANInterrupt = InterruptReg;
   CANState = StatusReg;

 if(BEI_BitVar )	
   	InitSJA();   


    /* 錯誤中斷處理 */
    if(EI_BitVar == YES)                        
    { 
      if((ModeControlReg&RM_RR_Bit) != ClrByte)
      {  
          ModeControlReg = ClrByte;                  /* 進入工作模式          */
          InterruptEnReg = RIE_Bit|EIE_Bit|DOIE_Bit; /*SJA1000 的接收中斷使能 */
                                                     /*SJA1000 的錯誤中斷使能 */
																	  /*SJA1000 的溢出中斷使能 */                                   
      }
    }

    /*檢查接收中斷和讀一個或所有接收到的信息 */
    if(RI_BitVar == YES)                             /*檢測到接收中斷         */    
       { /*從SJA1000 得到接收緩沖器的內容并將它存入控制器的內部存儲器*/
			RXDData[0]=RxBuffer5;
			RXDData[1]=RxBuffer6;
			RXDData[2]=RxBuffer7;
			RXDData[3]=RxBuffer8;
			RXDData[4]=RxBuffer9;
			RXDData[5]=RxBuffer10;
			RXDData[6]=RxBuffer11;
			RXDData[7]=RxBuffer12;      
         CommandReg = RRB_Bit;                     /* 釋放接收緩沖器     	*/
        }                  
          
    if(DOI_BitVar == YES )                      	/* 檢查數據是否溢出   	*/
        {
           CommandReg = CDO_Bit;                   /* 發清除數據溢出命令 	*/
        }
    
   		ET0 = ENABLE;                             /* 定時器0 中斷使能 		*/
}







void main( void )
{	
  	InitSYS();
	InitSJA();
	while( 1 )
	{
			FramID[0] = 0x04;			//幀ID
			FramID[1] = 0xb1;
			FramID[2] = 0xc0;
         FramID[3] = 0x00;

			TXDData[0] = 0xff-lstate;		//發送的數據
			TXDData[1] = 0xff-astate;
			TXDData[2] = 0x00;
			TXDData[3] = 0x00;
			TXDData[4] = 0x00;
			TXDData[5] = 0x00;
			TXDData[6] = 0x00;
			TXDData[7] = 0x00;

 
  

led1=!ass1|(!lss1&((flash&!dis1)|(flashs&dis1)));
led2=!ass2|(!lss2&((flash&!dis2)|(flashs&dis2)));
led3=!ass3|(!lss3&((flash&!dis3)|(flashs&dis3)));
led4=!ass4|(!lss4&((flash&!dis4)|(flashs&dis4)));
led5=!ass5|(!lss5&((flash&!dis5)|(flashs&dis5)));
led6=!ass6|(!lss6&((flash&!dis6)|(flashs&dis6)));
led7=!ass7|(!lss7&((flash&!dis7)|(flashs&dis7)));
led8=!ass8|(!lss8&((flash&!dis8)|(flashs&dis8)));
	
		}

	}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91富婆露脸刺激对白| www.亚洲国产| 亚洲精品中文在线影院| 精品国产精品一区二区夜夜嗨 | 99久久er热在这里只有精品15| 午夜久久久久久电影| 国产精品天美传媒沈樵| 91精品国产色综合久久不卡电影| 99麻豆久久久国产精品免费优播| 美女高潮久久久| 午夜不卡在线视频| 国产精品免费视频观看| 精品电影一区二区三区 | 欧美精品vⅰdeose4hd| av午夜精品一区二区三区| 经典三级在线一区| 人人超碰91尤物精品国产| 亚洲精品福利视频网站| 亚洲欧洲精品一区二区精品久久久 | 夜夜揉揉日日人人青青一国产精品| 国产无一区二区| 欧美xfplay| 日韩一区二区电影在线| 正在播放亚洲一区| 欧美日韩精品一区二区三区| 色网站国产精品| 99久久伊人网影院| 粉嫩av一区二区三区粉嫩| 国产乱子轮精品视频| 国内成人免费视频| 美腿丝袜亚洲一区| 免费在线看成人av| 天堂成人免费av电影一区| 亚洲激情一二三区| 亚洲一区二区三区四区的 | 亚洲成人免费影院| 午夜精品免费在线| 日韩国产在线观看| 另类小说图片综合网| 免费欧美在线视频| 国产一区二区在线看| 精品在线你懂的| 国产乱码精品一区二区三区av | 精品少妇一区二区三区在线播放| 日韩一区二区免费在线观看| 日韩精品影音先锋| 精品伦理精品一区| 国产午夜亚洲精品不卡| 中文字幕乱码亚洲精品一区| 中文字幕一区二区视频| 日韩毛片视频在线看| 一区二区在线观看不卡| 五月婷婷激情综合| 日韩avvvv在线播放| 麻豆精品在线观看| 国产成人亚洲综合a∨猫咪| 成人午夜视频在线| 在线精品视频免费观看| 欧美精品三级在线观看| 亚洲一区二区五区| 天天亚洲美女在线视频| 美国十次综合导航| 国产高清无密码一区二区三区| 成人av在线播放网址| 欧美亚洲综合另类| 日韩午夜激情免费电影| 精品福利在线导航| 亚洲三级在线观看| 首页综合国产亚洲丝袜| 国产精品综合二区| 色综合网站在线| 3d动漫精品啪啪| 国产精品国产三级国产a| 亚洲自拍欧美精品| 国产又黄又大久久| 色老汉一区二区三区| 日韩欧美国产系列| 国产精品传媒入口麻豆| 午夜精品福利久久久| 国产精品69久久久久水密桃| 欧美视频在线一区| 久久精品日产第一区二区三区高清版| 曰韩精品一区二区| 激情综合色播激情啊| 91一区在线观看| 欧美videossexotv100| 国产精品成人一区二区艾草 | 精品处破学生在线二十三| 亚洲国产高清不卡| 日韩精品电影在线观看| 99v久久综合狠狠综合久久| 7777精品久久久大香线蕉| 中文子幕无线码一区tr| 日本在线观看不卡视频| 色婷婷精品久久二区二区蜜臂av| 日韩欧美色综合| 亚洲一区在线视频| 东方欧美亚洲色图在线| 91精品国产综合久久福利软件| 亚洲天堂a在线| 国产成人啪免费观看软件| 91精品国产欧美日韩| 亚洲男人的天堂网| 成人不卡免费av| 精品国产一二三| 亚洲v中文字幕| 色婷婷综合久久久中文字幕| 国产精品三级久久久久三级| 麻豆91在线播放免费| 欧美日韩高清一区二区| 亚洲视频免费在线观看| 福利91精品一区二区三区| 精品欧美久久久| 青青青伊人色综合久久| 欧美天堂一区二区三区| 亚洲欧美日韩在线不卡| 成人污视频在线观看| 久久夜色精品一区| 免费人成精品欧美精品 | xnxx国产精品| 午夜国产不卡在线观看视频| 91老师片黄在线观看| 中文字幕在线视频一区| 国产jizzjizz一区二区| 国产视频亚洲色图| 国产伦精品一区二区三区免费迷| 精品美女一区二区| 国产在线一区观看| 精品国产91乱码一区二区三区 | 国产v综合v亚洲欧| 久久综合色综合88| 美女视频第一区二区三区免费观看网站| 欧美美女直播网站| 五月开心婷婷久久| 欧美久久久久久蜜桃| 日本va欧美va精品| 日韩精品在线网站| 国产一区中文字幕| 国产欧美一区二区精品忘忧草| 国产精品主播直播| 中文字幕电影一区| 成人h动漫精品| 一区二区三区欧美| 欧美日韩在线综合| 免费成人小视频| 久久综合九色综合欧美就去吻 | av在线一区二区| 亚洲精品成人少妇| 欧美精品自拍偷拍| 久久精品国产精品青草| 久久久久久麻豆| av一区二区三区在线| 亚洲成人动漫av| 精品久久久久久久一区二区蜜臀| 国产伦精品一区二区三区视频青涩| 国产欧美日韩在线| 99久久精品国产一区| 亚洲综合免费观看高清完整版| 欧美妇女性影城| 国产乱一区二区| 亚洲精品欧美综合四区| 91精品婷婷国产综合久久性色| 国内不卡的二区三区中文字幕| 国产精品久久久久久久久免费丝袜| 91麻豆国产香蕉久久精品| 日韩专区一卡二卡| 久久久www成人免费毛片麻豆| 91在线一区二区三区| 日本不卡一二三| 18欧美乱大交hd1984| 制服丝袜亚洲精品中文字幕| 国产·精品毛片| 亚洲高清免费视频| 久久久精品综合| 欧美日韩夫妻久久| 成人午夜电影久久影院| 午夜精品久久久久久久蜜桃app| 久久久777精品电影网影网| 在线观看精品一区| 国产精品888| 亚洲成a天堂v人片| 国产欧美一区二区在线| 欧美精品在线一区二区| 风间由美一区二区av101| 天堂午夜影视日韩欧美一区二区| 国产无遮挡一区二区三区毛片日本| 欧美在线播放高清精品| 国产精品1区2区3区在线观看| 亚洲综合久久av| 国产精品美女久久久久久久久| 宅男噜噜噜66一区二区66| 91丝袜高跟美女视频| 国产在线播放一区| 日韩国产欧美在线观看| 亚洲精品国产a| 国产精品―色哟哟| www国产精品av| 欧美一级视频精品观看| 91精品福利在线| 成人综合婷婷国产精品久久|