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

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

?? cw1.c

?? 實現無線控制功能
?? C
字號:
#include "iom32v.h"
#include "macros.h"
#define wuxian_js    PA3 //無線接收
#define power_led    PC6 //電源指示燈
#define study_key    PC1  //學習鍵
#define   UDRE  5	     //發送緩沖區為空
#define   DATA_REGISTER_EMPTY        (1<<UDRE)
#define  uchar  unsigned char
#define  ulong  unsigned long
ulong    count,count1;  //定時器2計數器
uchar    code[3],code1[3];
ulong data=0;
uchar forward[14]={0x00,0x7f,0x7f,0xff,0xff,0xfb,0x00,0x00,0x7f,
                    0xff,0xff,0xff,0xfd,0x00};
uchar back[14]={0x00,0x7f,0x7f,0xff,0xff,0xfd,0x00,0x00,0x7f,0xff,
                     0xff,0xff,0xfd,0x00};
uchar UP[7]={0xff,0x01,0x00,0x08,0x00,0x2f,0x38};
uchar DOWN[7]={0xff,0x01,0x00,0x10,0x00,0x2f,0x40};
uchar left[7]={0xff,0x01,0x00,0x04,0x3f,0x00,0x44}; 
uchar right[7]={0xff,0x01,0x00,0x02,0x3f,0x00,0x42};
uchar STOP[7]={0xff,0x01,0x00,0x00,0x00,0x00,0x01};
void delay_ms(void)                         //毫秒延時  
{     
     unsigned int i; 
     for (i=0;i<140;i++)  
          { 
          } 
} 

void delay_nms(unsigned int n)              //延時周期 
{ 
     unsigned int i; 
     for (i=0;i<n;i++) 
          { 
           delay_ms(); 
          } 
} 
void  port_init(void)
      {
	   PORTA = 0xff;
       DDRA  = 0x00;
       PORTB = 0x00;
       DDRB  = 0x00;
       PORTC = 0x01; //m103 output only
       DDRC  = 0x00;
       PORTD = 0x00;
       DDRD  = 0x00; 
	  }
void uart0_init(void)
      {
       UCSRB = 0x00; //disable while setting baud rate
       UCSRA = 0x00;
       UCSRC = BIT(URSEL) | 0x06;
       UBRRL = 0x67; //set baud rate lo6719
       UBRRH = 0x00; //set baud rate hi
       UCSRB = 0x08;
      }    
//發送單字節字符
void  uart_transmit_byte( unsigned char data)
     {
       while(!(UCSRA&DATA_REGISTER_EMPTY));
       UDR=data;
     }	
	 
//TIMER2 initialize - prescale:8
// desired value: 100uSec
// actual value: 100.000uSec (0.0%)
void timer2_init(void)
{
 TCCR2 = 0x00; //stop
 ASSR  = 0x00; //set async mode
 TCNT2 = 0xCE; //setup
 OCR2  = 0x32;
 TCCR2 = 0x02; //start
}

#pragma interrupt_handler timer2_ovf_isr:6
void timer2_ovf_isr(void)
{
 TCNT2 = 0xCE; //reload counter value
 if(count<65535){++count;}
 if(count1<65535){++count1;}
}  
//==============================================================================
void eeprom_writ(uchar dz,uchar sj) //寫EEPROM  
{
     CLI(); //清總中斷
	 while(EECR & (1<<EEWE)){;}
	 EEARH=0x00;
	 EEARL=dz;
	 EEDR=sj;
	 EECR |= (1<<EEMWE);
	 EECR |= (1<<EEWE);
     SEI();
}
//==============================================================================
uchar eeprom_read(uchar dz)     //讀EEPROM
{
    CLI(); //清總中斷
	while(EECR & (1<<EEWE)){;}
	EEARH=0x00;
	EEARL=dz;
	EECR |= (1<<EERE);
	SEI();
	return(EEDR); 
}  
void init_devices(void)
{
 //stop errant interrupts until set up
 CLI(); //disable all interrupts
 port_init();
 timer2_init();
 uart0_init();
 MCUCR = 0x00;
 GICR  = 0x00;
 TIMSK = 0x40; //timer interrupt sources
 SEI(); //re-enable interrupts
 //all peripherals are now initialized
}
uchar decode(void)
     {
	   uchar pin_var,i;
	   uchar flag=0;
	   signed char j;
	   ulong data=0;
	   count1=0;
	   DDRA&=~(1<<wuxian_js);PORTA|=(1<<wuxian_js);
	   while(1)
	       {
		    if(count1>250){return(0xff);}
		    pin_var=PINA&(1<<wuxian_js);
			if(flag==1){break;}
			while(pin_var==0)
			     {
				   count=0;
				   if(count1>250){return(0xff);}
				   while(1)
				   {
				     pin_var=PINA&(1<<wuxian_js);if(count1>250){return(0xff);}
					 if(pin_var!=0)
					 {
				        if((count>130)&&(count<155))  {flag=1;break;}
					    else  {flag=0;break;}
					 }	
				   }	
				   break;
				 }
				 if(flag==1) break;
			} 
			      
				   for(i=0;i<24;i++)
				       {
					      
					      count=0;
						  data<<=1;                       //數據左移
					      while (1)           //高位計數 
                            {   
							   pin_var=PINA&(1<<wuxian_js);
							   if(pin_var==0) {break;}
							   if(count>200)  return 0xff; 
							 }
							 if(count>1&&count<8)  data+=0;
							 else //if(count>13&&count<15)    
							  data|=1;
                            
							 count=0;
			              while(1)
			                {
    			             WDR();
				             pin_var=PINA&(1<<wuxian_js);
				             if(pin_var!=0){break;}
				             if(count>200)
    			               {
        			              return(0xff);
    			               }
			                } 
					   }	
			if(i==24)
			   {		   
				for(j=2;j>=0;j--)
				   {
				     code[j]=data;
					 data>>=8;
				   }  
			  }	   
		 return 1;	 	   		 
	 }
	 
	void ana_decode(void)
   {
	uchar key_var;
	uchar i,flag=0;
	uchar  code_buf[7];
	DDRC&=~(1<<study_key);PORTC|=(1<<study_key);
	key_var=PINC&(1<<study_key);
	if(key_var==0)
	   {
	      while(1)
		     {
	          while(1)
    		   {
    		       flag=decode();
				   if(flag==1)  {flag=0;break;}
    		   }
			   for(i=0;i<2;++i){code1[i]=code[i];}
			   while(1)
    		   {
    		       flag=decode();
				   if(flag==1)  {flag=0;break;}
			
    		   }
			   for(i=0;i<2;++i){if(code1[i]!=code[i]){break;}}
			   if(i==2){flag=1;break;}
	        }
			 if(flag==1)	
			    {    
				    for(i=0;i<2;++i)
    		           {
   				         eeprom_writ(i,code[i]);
   			            } 
				flag=0;	
				}	
			  return;	 
		}		  
	 flag=decode(); 
	 if(flag==1)
	    {
		     for(i=0;i<2;++i)
    		           {
   				         if(eeprom_read(i)!=code[i])  {flag=0xff;break;}
   			            } 
	        if(flag==1)	
	          {       
	             flag==0;
	             if(code[2]==0xc0)
				       {
					     for(i=0;i<14;i++)
                         {  
                          uart_transmit_byte(forward[i]);
                         }
					   }
			     else if(code[2]==0x30)
				       {
					     for(i=0;i<14;i++)
                         {  
                        uart_transmit_byte(back[i]);
                         }
					   }		   
	             else if(code[2]==0xf0)   //上
			           {
			          for(i=0;i<7;i++)
                         {  
                       uart_transmit_byte(UP[i]);
					       code_buf[i]=UP[i];
                         }
	                  }
			      else if(code[2]==0x0c)//下
			          {
			            for(i=0;i<7;i++)
                            {  
                              uart_transmit_byte(DOWN[i]);
							  code_buf[i]=DOWN[i];
                            }
			           }
			
    		      else if(code[2]==0xcc)//左
    		          {
			           for(i=0;i<7;i++)
                          {  
                            uart_transmit_byte(left[i]);
							code_buf[i]=left[i];
                          } 
    		         }
    		     else if(code[2]==0x3c)//右
    		         {
    		          for(i=0;i<7;i++)
                         {  
                          uart_transmit_byte(right[i]);
                         } 
						 code_buf[i]=right[i];
                     } 
					while(1)
					   {
					      flag=decode();
					      while(flag==0xff)
						       {
							     flag=0;
							     delay_nms(25);
								 flag=decode();
								 while(flag==0xff)
								      {
										for(i=0;i<7;i++) 
                                        uart_transmit_byte(STOP[i]);
										if(i==7)  {flag=1;break;}
									  }
								  if(flag==1)  {flag=0;return;}	  
							   }
							for(i=0;i<7;i++) 
                              uart_transmit_byte(code_buf[i]);   
					   }
		         }	
		  }
		   else if(flag==0xff)
                {
	              flag=0;
	           for(i=0;i<7;i++) 
                    uart_transmit_byte(STOP[i]);
	            }	  
  }   
void   main()
    {
	   init_devices();
	   //DDRA&=~(1<<wuxian_js);
	  // PORTA|=(1<<wuxian_js);
	   DDRD=0x02; 
	   //DDRC|=(1<<power_led);
	   //PORTC&=~(1<<power_led);
	   DDRA |=0x40;                      //485使能
       PORTA|=0x40;               // 
	  while(1)
	    {
		 ana_decode();
		}
	}	 
	 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产无毒不卡在线观看| 韩日精品视频一区| 日韩欧美国产三级电影视频| 风间由美一区二区三区在线观看| 亚洲综合一二区| 精品国产乱码久久久久久1区2区| 在线中文字幕不卡| 国产成人免费在线| 美腿丝袜亚洲一区| 亚洲国产精品一区二区久久恐怖片| 久久久99免费| 日韩一区二区精品在线观看| 色婷婷av一区二区| 成人免费视频视频| 精品一区二区av| 亚洲电影一区二区三区| 亚洲人被黑人高潮完整版| 久久久国产综合精品女国产盗摄| 欧美视频第二页| 91黄视频在线观看| 成人h动漫精品一区二| 国产一区二区精品久久| 麻豆视频观看网址久久| 天天综合日日夜夜精品| 亚洲另类在线视频| 亚洲欧洲精品一区二区三区| 久久精品亚洲国产奇米99| 日韩三级视频中文字幕| 69久久夜色精品国产69蝌蚪网| 99精品国产99久久久久久白柏| 国产精品亚洲视频| 极品少妇一区二区三区精品视频| 日韩电影免费在线| 午夜视频在线观看一区二区三区| 一区av在线播放| 亚洲欧美激情一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美大片日本大片免费观看| 欧美日韩一区二区在线视频| 欧美中文字幕亚洲一区二区va在线 | 一色屋精品亚洲香蕉网站| 久久久久国产成人精品亚洲午夜| 精品国产3级a| 久久久久高清精品| 日本一区二区三区免费乱视频| 久久久91精品国产一区二区三区| 精品美女一区二区三区| 精品999在线播放| 久久九九国产精品| 国产精品色在线| 亚洲欧美色图小说| 婷婷激情综合网| 奇米影视一区二区三区小说| 精品一区二区三区在线观看| 国产麻豆视频精品| 成人中文字幕电影| 91丨国产丨九色丨pron| 91激情五月电影| 欧美一区二区三区视频| 久久久久久久久久久久久夜| 国产精品第13页| 天堂va蜜桃一区二区三区 | 日本在线观看不卡视频| 日日骚欧美日韩| 精品午夜久久福利影院| 国产91精品露脸国语对白| 色综合久久天天| 9191国产精品| 国产亚洲精品免费| 亚洲日本va在线观看| 亚洲va国产va欧美va观看| 久草中文综合在线| 91一区一区三区| 91精品福利在线一区二区三区| 久久精品亚洲精品国产欧美| 亚洲欧美日韩精品久久久久| 日韩在线一区二区三区| 国产精品一区二区男女羞羞无遮挡| 成人午夜激情片| 欧美三级中文字| 久久日韩粉嫩一区二区三区| 亚洲人成在线播放网站岛国| 蜜桃视频一区二区| 91啪亚洲精品| 精品国产第一区二区三区观看体验| 亚洲欧美日韩在线不卡| 久久99最新地址| 欧美在线制服丝袜| 久久精品夜色噜噜亚洲a∨| 一区二区三区四区乱视频| 久久91精品久久久久久秒播| 94-欧美-setu| 久久奇米777| 视频一区免费在线观看| bt7086福利一区国产| 日韩片之四级片| 亚洲乱码国产乱码精品精可以看| 久久99在线观看| 欧美性高清videossexo| 久久精品人人做人人爽人人| 亚洲成人一二三| 91丨九色丨黑人外教| 久久久午夜电影| 日产国产欧美视频一区精品| 色婷婷综合久久久久中文一区二区| 久久综合精品国产一区二区三区 | 日本一区二区免费在线观看视频| 亚洲国产日韩一区二区| 成人黄动漫网站免费app| 日韩欧美区一区二| 亚洲国产一二三| 一本一道综合狠狠老| 国产精品欧美一级免费| 国产尤物一区二区在线| 欧美老人xxxx18| 亚洲天堂a在线| 成人av电影免费观看| 久久精品夜色噜噜亚洲a∨| 美女精品一区二区| 欧美欧美欧美欧美首页| 亚洲风情在线资源站| 色综合久久久久| 亚洲人成小说网站色在线 | 成人午夜精品在线| 久久久综合网站| 美国三级日本三级久久99| 欧美精品久久久久久久多人混战 | 亚洲精选一二三| 不卡一区二区三区四区| 欧美激情在线一区二区三区| 激情综合色播激情啊| 2020国产精品久久精品美国| 久久66热re国产| 久久久影视传媒| 国产一区二区三区av电影 | 亚洲成av人片在www色猫咪| 北岛玲一区二区三区四区| 国产丝袜在线精品| 国产成人av电影在线观看| 国产网站一区二区| 高清成人免费视频| 中文字幕日韩精品一区| eeuss鲁片一区二区三区| 亚洲欧美综合在线精品| 99久久国产综合精品女不卡| 亚洲欧美日韩人成在线播放| 欧洲在线/亚洲| 视频一区二区不卡| 日韩午夜在线观看| 国产综合久久久久影院| 国产日韩av一区| 色天天综合久久久久综合片| 亚洲国产欧美在线| 日韩一区二区三区四区| 国产精品一二三区在线| 国产精品美日韩| 欧美亚洲愉拍一区二区| 奇米影视在线99精品| 久久人人爽人人爽| 91丨九色porny丨蝌蚪| 亚洲成av人片在线观看无码| 欧美α欧美αv大片| 国产成人av一区二区| 亚洲精品日日夜夜| 制服视频三区第一页精品| 韩国成人精品a∨在线观看| 中文字幕二三区不卡| 欧美性做爰猛烈叫床潮| 免费成人av在线| 国产欧美精品一区| 欧美亚洲动漫精品| 激情成人综合网| 亚洲色大成网站www久久九九| 欧美天天综合网| 国产成人av一区二区| 亚洲成人综合视频| 国产亚洲va综合人人澡精品| 色噜噜久久综合| 狠狠色狠狠色综合| 亚洲女同一区二区| 日韩免费一区二区| 91亚洲精品乱码久久久久久蜜桃| 日本特黄久久久高潮| 中文字幕精品三区| 日韩一区二区三区免费观看| www.日韩av| 另类小说一区二区三区| 亚洲激情图片一区| 久久精品一级爱片| 91精品婷婷国产综合久久竹菊| 不卡视频一二三| 久久精品国产一区二区三区免费看| √…a在线天堂一区| 日韩精品一区在线观看| 日本高清不卡aⅴ免费网站| 国产中文字幕一区| 五月激情综合色| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品在线免费播放| 欧美日韩一区高清|