日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]紅外編碼分類:紅外遙控器采用單總線通信方式,紅外常用的編碼:NEC Protocol 的PWM(脈沖寬度調(diào)制)Philips RC-5 Protocol 的PPM(脈沖位置調(diào)制)。NEC協(xié)議特征:8位地址和8位指令長度地址和命令2次傳輸(確??煽啃裕㏄

紅外編碼分類:

紅外遙控器采用單總線通信方式,紅外常用的編碼:

NEC Protocol 的PWM(脈沖寬度調(diào)制)

Philips RC-5 Protocol 的PPM(脈沖位置調(diào)制)。

NEC協(xié)議特征:

8位地址和8位指令長度

地址和命令2次傳輸(確??煽啃裕?/p>

PWM脈沖寬度調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1”

載波頻率為38Khz

位時間為1.125ms或2.25ms

NEC碼位定義 :

遙控器發(fā)送:
邏輯1:2.25ms(560us脈沖+1680us低電平)
邏輯0:1.125ms(560us脈沖+560us低電平)

接收頭接收:
遙控接收頭在收到脈沖的時候為低電平
邏輯1:560us低+1680us高
邏輯0:560us低+560us高

NEC遙控器指令格式 :

NEC遙控指令的數(shù)據(jù)格式為:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。

同步碼:同步碼由一個9ms的低電平和一個4.5ms的高電平組成。地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。采用反碼是為了增加傳輸?shù)目煽啃裕捎糜谛r灒?/p>

其地址碼為0,控制碼為21??梢钥吹皆?00ms之后,我們還收到了幾個脈沖,這是NEC碼規(guī)定的連發(fā)碼(由9ms低電平+2.5m高電平+0.56ms低電平+97.94ms高電平組成),如果在一幀數(shù)據(jù)發(fā)送完畢之后,按鍵仍然沒有放開,則發(fā)射重復(fù)碼,即連發(fā)碼,可以通過統(tǒng)計連發(fā)碼的次數(shù)來標(biāo)記按鍵按下的長短/次數(shù)。

CODE:
#include"remote.h"#include"delay.h"#include"usart.h"http://紅外遙控初始化//設(shè)置IO以及定時器4的輸入捕獲voidRemote_Init(void){GPIO_InitTypeDefGPIO_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_ICInitTypeDefTIM_ICInitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能PORTB時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//TIM4時鐘使能GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;//PB9輸入GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//上拉輸入GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_9);//初始化GPIOB.9TIM_TimeBaseStructure.TIM_Period=10000;//設(shè)定計數(shù)器自動重裝值最大10ms溢出TIM_TimeBaseStructure.TIM_Prescaler=(72-1);//預(yù)分頻器,1M的計數(shù)頻率,1us加1.TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;//設(shè)置時鐘分割:TDTS=Tck_timTIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//TIM向上計數(shù)模式TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);//根據(jù)指定的參數(shù)初始化TIMxTIM_ICInitStructure.TIM_Channel=TIM_Channel_4;//選擇輸入端IC4映射到TI4上TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;//上升沿捕獲TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;//配置輸入分頻,不分頻TIM_ICInitStructure.TIM_ICFilter=0x03;//IC4F=0011配置輸入濾波器8個定時器時鐘周期濾波TIM_ICInit(TIM4,&TIM_ICInitStructure);//初始化定時器輸入捕獲通道TIM_Cmd(TIM4,ENABLE);//使能定時器4NVIC_InitStructure.NVIC_IRQChannel=TIM4_IRQn;//TIM3中斷NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//先占優(yōu)先級0級NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;//從優(yōu)先級3級NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//IRQ通道被使能NVIC_Init(&NVIC_InitStructure);//根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器TIM_ITConfig(TIM4,TIM_IT_Update|TIM_IT_CC4,ENABLE);//允許更新中斷,允許CC4IE捕獲中斷}//遙控器接收狀態(tài)//[7]:收到了引導(dǎo)碼標(biāo)志//[6]:得到了一個按鍵的所有信息//[5]:保留//[4]:標(biāo)記上升沿是否已經(jīng)被捕獲//[3:0]:溢出計時器u8RmtSta=0;u16Dval;//下降沿時計數(shù)器的值u32RmtRec=0;//紅外接收到的數(shù)據(jù)u8RmtCnt=0;//按鍵按下的次數(shù)//定時器4中斷服務(wù)程序voidTIM4_IRQHandler(void){//更新中斷,計數(shù)器溢出if(TIM_GetITStatus(TIM4,TIM_IT_Update)!=RESET){if(RmtSta&0x80)//上次有數(shù)據(jù)被接收到了,如果已經(jīng)接受到了引導(dǎo)碼,為了區(qū)分同步嗎和連發(fā)碼{RmtSta&=~0X10;//取消上升沿已經(jīng)被捕獲標(biāo)記if((RmtSta&0X0F)==0X00)RmtSta|=1<<6;//標(biāo)記已經(jīng)完成一次按鍵的鍵值信息采集if((RmtSta&0X0F)<14)RmtSta++;else{//RmtSta&=~(1<<7);//清空引導(dǎo)標(biāo)識RmtSta&=0XF0;//清空計數(shù)器}}}//捕獲中斷if(TIM_GetITStatus(TIM4,TIM_IT_CC4)!=RESET){if(RDATA)//上升沿捕獲{TIM_OC4PolarityConfig(TIM4,TIM_ICPolarity_Falling);//CC4P=1設(shè)置為下降沿捕獲TIM_SetCounter(TIM4,0);//清空定時器值RmtSta|=0X10;//標(biāo)記上升沿已經(jīng)被捕獲}else//下降沿捕獲{Dval=TIM_GetCapture4(TIM4);//讀取CCR4也可以清CC4IF標(biāo)志位TIM_OC4PolarityConfig(TIM4,TIM_ICPolarity_Rising);//CC4P=0設(shè)置為上升沿捕獲if(RmtSta&0X10)//完成一次高電平捕獲{if(RmtSta&0X80)//接收到了引導(dǎo)碼{if(Dval>300&&Dval<800)//560為標(biāo)準(zhǔn)值,560us{RmtRec<<=1;//左移一位.RmtRec|=0;//接收到0}elseif(Dval>1400&&Dval<1800)//1680為標(biāo)準(zhǔn)值,1680us{RmtRec<<=1;//左移一位.RmtRec|=1;//接收到1}elseif(Dval>2200&&Dval<2600)//得到按鍵鍵值增加的信息2500為標(biāo)準(zhǔn)值2.5ms{RmtCnt++;//按鍵次數(shù)增加1次RmtSta&=0XF0;//清空計時器}}elseif(Dval>4200&&Dval<4700)//4500為標(biāo)準(zhǔn)值4.5ms{RmtSta|=1<<7;//標(biāo)記成功接收到了引導(dǎo)碼RmtCnt=0;//清除按鍵次數(shù)計數(shù)器}}RmtSta&=~(1<<4);//對第5位清零,也就是清楚上升沿被捕獲}}TIM_ClearITPendingBit(TIM4,TIM_IT_Update|TIM_IT_CC4);}//處理紅外鍵盤//返回值://0,沒有任何按鍵按下//其他,按下的按鍵鍵值.u8Remote_Scan(void){u8sta=0;u8t1,t2;if(RmtSta&(1<<6))//得到一個按鍵的所有信息了,有按鍵按下{t1=RmtRec>>24;//得到地址碼t2=(RmtRec>>16)&0xff;//得到地址反碼if((t1==(u8)~t2)&&t1==REMOTE_ID)//檢驗遙控識別碼(ID)及地址,地址飯嗎和地址嗎相反并且地址碼=0{t1=RmtRec>>8;//按鍵碼t2=RmtRec;//按鍵飯嗎if(t1==(u8)~t2)sta=t1;//鍵值正確}if((sta==0)||((RmtSta&0X80)==0))//按鍵數(shù)據(jù)錯誤/遙控已經(jīng)沒有按下了{RmtSta&=~(1<<6);//清除接收到有效按鍵標(biāo)識RmtCnt=0;//清除按鍵次數(shù)計數(shù)器}}returnsta;}

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

為增進大家對無線遙控開關(guān)的認識,本文將對無線遙控開關(guān)的原理、種類、配對方法等內(nèi)容予以介紹。

關(guān)鍵字: 遙控 指數(shù) 紅外遙控

為增進大家對紅外遙控的認識,本文將對紅外遙控的特點以及紅外遙控和藍牙遙控之間的區(qū)別予以介紹。

關(guān)鍵字: 遙控 指數(shù) 紅外遙控

為增進大家對紅外遙控的認識,本文將對紅外遙控編碼技術(shù)、紅外遙控解碼技術(shù)予以介紹。

關(guān)鍵字: 遙控 指數(shù) 紅外遙控

在紅外遙控技術(shù)領(lǐng)域,紅外自學(xué)習(xí)芯片和紅外編解碼芯片扮演著重要角色,它們各自具備獨特的功能與特性,廣泛應(yīng)用于不同場景。理解這兩種芯片的區(qū)別,對于優(yōu)化紅外遙控系統(tǒng)設(shè)計、拓展應(yīng)用范圍具有關(guān)鍵意義。

關(guān)鍵字: 紅外遙控 自學(xué)習(xí)芯片 編解碼芯片

隨著科技的發(fā)展,無線遙控開關(guān)被廣泛的使用,無線遙控開關(guān)是采用高科技的射頻識別技術(shù)設(shè)計制作,用無線遙控開關(guān)設(shè)備控制各類燈飾、家電、門、窗簾等家居用品,是一種新型智能化開關(guān),可對室內(nèi)燈具、家電等進行無線控制,操作簡單方便,性...

關(guān)鍵字: 無線遙控開關(guān) 紅外遙控

摘 要 :萬能空調(diào)遙控器的核心是學(xué)習(xí)模式,即利用紅外模塊接收、識別、存儲信號,再調(diào)用發(fā)射信號。學(xué)習(xí)的實質(zhì)就是記錄下學(xué)習(xí)對象的紅外編碼,記錄高低電平各自持續(xù)的時間長度,需要時將其發(fā)射出來。識別記錄紅外編碼信號可使用直接記錄...

關(guān)鍵字: 萬能遙控器 學(xué)習(xí)算法 紅外遙控 單片機 紅外編碼 PWM PPM

摘要:以搭建的湖南農(nóng)業(yè)農(nóng)村信息化鄉(xiāng)村廣播項目為基礎(chǔ),利用紅外遙控與亞音頻率通信技術(shù)設(shè)計了一款基于STC單片機的無線廣播控制設(shè)備。此設(shè)備由手持紅外發(fā)射、紅外接收、音量控制、系統(tǒng)處理、存儲、蜂鳴器、音頻輸入輸出接口及亞音信號...

關(guān)鍵字: 紅外遙控 亞音系統(tǒng) 農(nóng)村無線廣播 STC單片機

1、編碼格式   現(xiàn)有的紅外遙控包括兩種方式:PWM(脈沖寬度調(diào)制)和PPM(脈沖位置調(diào)制)。   兩種形式編碼的代表分別為NEC和PHILIPS的RC-5、RC-6以及將來的RC-7。   PWM

關(guān)鍵字: 編碼 紅外遙控

目錄: 涉及知識點 一體化紅外接收頭VS1838B簡介 應(yīng)用場景 編碼標(biāo)準(zhǔn) 數(shù)據(jù)處理流程 結(jié)果展示 接線 鍵碼值輸出 紅外遙控功能,因其電路簡單,控制方便,在電子制作和畢業(yè)設(shè)計中常常使用。 涉及知識點 GPIO中斷接收...

關(guān)鍵字: 紅外遙控 遙控功能

隨著家用電器、視聽產(chǎn)品的普及,紅外線遙控器已被廣泛使用在各種類型的家電產(chǎn)品上(如遙控開關(guān)、智能開關(guān)等)。其具有體積小、抗干擾能力強、功耗低、功能強、成本低等特點,在工業(yè)設(shè)備中也得到廣泛應(yīng)用。 一般而言,一個通用的紅外遙控...

關(guān)鍵字: 編碼 解碼 紅外遙控
關(guān)閉