RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用遠(yuǎn)-R1接收模塊解碼EV1527的C代碼

airX嵌入式 ? 來源:airX嵌入式 ? 作者:airX嵌入式 ? 2022-12-12 09:37 ? 次閱讀

《《《《《正文》》》》》

《EV1527 幀結(jié)構(gòu)》

EV1527 每幀數(shù)據(jù)由同步碼和 24 位的數(shù)據(jù)碼組成,數(shù)據(jù)碼又分為地址碼(20 位)和按鍵碼(4 位)。以 433Mhz EV1527 遙控器為例,遙控波形如下。

9936cbce-7801-11ed-8abf-dac502259ad0.png

bit0:400us 高電平+800us 低電平 bit1:1ms 高電平+200us 低電平 同步碼(黑色線條部分):高電平 400us+低電平 9ms。 地址碼(橙色線條部分):20 個數(shù)據(jù)位,共 24ms。 按鍵碼(紅色線條部分):4 個數(shù)據(jù)位,共 4.8ms。

《解碼原理》

同步碼和 bit1、bit0 的低電平持續(xù)時間都不一樣。通過定時器計(jì)算低電平時間來判斷同步碼、bit1、bit0。

《遠(yuǎn)-R1 解碼代碼》

設(shè)置一個 50us 中斷一次的定時器,每次中斷調(diào)用 soft_count()函數(shù)。修改后面的數(shù)值就可以在其他不同的模塊上用.

#define _start_us_min 160
#define _start_us_max 200
#define _num0_us_min 10
#define _num0_us_max 20
#define _num1_us_min 0
#define _num1_us_max 8

.h 文件

#ifndef _SOFT_DECODE_
#define _SOFT_DECODE_
#include "N76E003.h"
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
//50us
#define _start_us_min 160
#define _start_us_max 200
#define _num0_us_min 10
#define _num0_us_max 20
#define _num1_us_min 0
#define _num1_us_max 8
extern uchar IR_Key;
extern uchar Temp_addrl;
extern uchar Temp_addrh;
extern uchar Address_l;
extern uchar Address_h;
extern uint RF_Value_Cnt;
extern uint release_key;
extern bit IR_OVER;
void soft_count();
void soft_decode();
#endif

.c 文件

#include "SOFT_DECODE.h"
sbit RF_Dat = P1^7; //接收引腳
ulong RF_data;
uchar Temp_addrl,Temp_addrh,Address_l,Address_h;//地址碼
uchar cntint,IR_Key; //接收位數(shù)據(jù)的個數(shù),數(shù)據(jù)
bit start_flag=0,IR_OVER; //檢測到碼頭 start_flag 置 1,反之置 0,接收完一組數(shù)據(jù)
后 IR_OVER 置 1,反之清 0
bit Jump_flag; //電平跳變標(biāo)志
uint release_key; //松手計(jì)數(shù)
uint Low; //低電平計(jì)數(shù)
uint RF_Value_Cnt; //長按計(jì)數(shù)
/**----------------------------------------------------------------------------
------------------**
**函數(shù)名 :低電平脈寬測量函數(shù)
**功能說明:計(jì)算低電平時間(LOW),50us 調(diào)用一次
**----------------------------------------------------------------------------
------------------**/ 
void soft_count()//接收碼計(jì)數(shù)函數(shù)
{
if(RF_Dat==0) //低電平
{
Low++;
if(Jump_flag)Jump_flag=0; //Jump_flag 由 0→1 代表 低→高 跳變
}
else if(RF_Dat==1) //高電平
{
if(!Jump_flag)
{
Jump_flag=1; //Jump_flag 由 1→0 代表 高→低 跳變
soft_decode();
Low=0;
}
}
}
/**----------------------------------------------------------------------------
------------------**
**函數(shù)名 :解碼函數(shù)
**----------------------------------------------------------------------------
------------------**/ 
void soft_decode()//接收碼處理函數(shù)
{
// uchar i;
if(start_flag==0)
{
if(( Low > _start_us_min ) && ( Low < _start_us_max )) // 同 步
碼
{
start_flag=1;
cntint=0;//數(shù)據(jù)長度
IR_Key=0;
RF_data=0;
LED=1;
}
else 
{
// LED=!LED;//1khz
RF_Value_Cnt=0;
// long_key_flag=0;
release_key++;
if(release_key>500)release_key=500;
}
}
else if((start_flag==1)&&(cntint<24))
{
if(( Low > _num0_us_min ) && ( Low < _num0_us_max )) //
數(shù)據(jù) 0 700us
{
RF_data=RF_data<<1;
cntint++;
}
else if(( Low > _num1_us_min ) && ( Low < _num1_us_max )) //
數(shù)據(jù) 1 120-200us
{
RF_data=RF_data<<1;
RF_data|=1;
cntint++;
}
else 
{
start_flag=0;
cntint=0;
}
}
if(cntint==24)
{
release_key=0;
RF_Value_Cnt++;
if(RF_Value_Cnt>500)RF_Value_Cnt=500;
cntint=0;
start_flag=0;
IR_Key=RF_data&0x0000000f; //取 4 位數(shù)據(jù)
Temp_addrl=(RF_data>>4)&0x000000ff; //地址共 20 位,只取 16 位。
Temp_addrh=(RF_data>>12)&0x000000ff;
IR_OVER=1;
 }
}

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C代碼
    +關(guān)注

    關(guān)注

    1

    文章

    89

    瀏覽量

    14297
  • 幀結(jié)構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    10662
  • eV1527
    +關(guān)注

    關(guān)注

    2

    文章

    9

    瀏覽量

    25718

原文標(biāo)題:用遠(yuǎn)-R1 接收模塊解碼 EV1527 的C代碼

文章出處:【微信號:airX嵌入式,微信公眾號:airX嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    無線編碼IC EV1527怎么預(yù)燒內(nèi)碼?

    無線編碼IC EV1527怎么預(yù)燒內(nèi)碼?知道的請?jiān)敿?xì)說明一下。謝謝?。。?/div>
    發(fā)表于 06-29 11:58

    請問單片機(jī)解碼433MHZ EV1527學(xué)習(xí)型編碼ic 學(xué)習(xí)功能如何用程序?qū)崿F(xiàn)?

    目前我在做一個51單片機(jī)解碼433Mhz模塊EV1527學(xué)習(xí)型編碼IC,不知道如何學(xué)習(xí)對碼?
    發(fā)表于 09-09 15:04

    基于STM32和hs1527、ev1527、rt1527、fp1527的無線接收解碼程序

    ???1527的數(shù)據(jù)幀結(jié)構(gòu)無線遙控的編碼,從編碼類型上來說,分為2類,一類是固定碼,也就是編碼芯片的地址是不變的,芯片型號以 hs1527ev1527、rt1527、fp
    發(fā)表于 07-18 15:04

    基于STM32和hs1527ev1527、rt1527、fp1527的無線接收解碼程序

    ???1527的數(shù)據(jù)幀結(jié)構(gòu)無線遙控的編碼,從編碼類型上來說,分為2類,一類是固定碼,也就是編碼芯片的地址是不變的,芯片型號以 hs1527ev1527、rt1527、fp
    發(fā)表于 07-18 15:05

    SYN480R模塊解碼EV1527該怎樣去使用呢

    1. EV1527幀結(jié)構(gòu)EV1527 每幀數(shù)據(jù)由同步碼和24位的數(shù)據(jù)碼組成,數(shù)據(jù)碼又分為地址碼(20位)和按鍵碼(4位)。以我手頭上的433Mhz的EV1527遙控器為例,遙控波形如下
    發(fā)表于 01-12 08:03

    如何解決ev1527信號頻率的問題?

    如何解決ev1527信號頻率的問題?
    發(fā)表于 02-28 07:49

    EV1527射頻模塊調(diào)試過程分享

    容易,要做好卻很難。剛開始在本地找了一家射頻模組供應(yīng)商,根據(jù)他們的建議設(shè)計(jì),做了一版PCB,后來發(fā)現(xiàn)收發(fā)距離尤其是穿墻能力不行,當(dāng)然,這里是直接EV1527協(xié)議,在單片機(jī)上實(shí)現(xiàn)起來還是比較容易
    發(fā)表于 02-28 09:19

    eV1527學(xué)習(xí)碼編碼IC

    eV1527是一片由CMOS設(shè)計(jì)制造的可預(yù)燒內(nèi)碼的學(xué)習(xí)碼編碼IC,由軟件解碼;內(nèi)碼共有20個位元可預(yù)燒1048576組(220)內(nèi)碼組合,降低使用上編碼重復(fù)的機(jī)率。
    發(fā)表于 07-11 15:35 ?465次下載
    <b class='flag-5'>eV1527</b>學(xué)習(xí)碼編碼IC

    EV1527解碼資料

    有關(guān)ev1527解碼資料,可供參考參考,內(nèi)有其詳解,有需要可下載。
    發(fā)表于 05-13 16:40 ?246次下載

    ev1527,pt2262,upd6122等編解碼

    ev1527,pt2262,upd6122等編解碼,紅外等資料。
    發(fā)表于 10-13 18:00 ?0次下載

    基于EV1527編碼芯片的應(yīng)用及其解碼方法

    基于EV1527編碼芯片的應(yīng)用及其解碼方法
    發(fā)表于 10-31 08:16 ?340次下載
    基于<b class='flag-5'>EV1527</b>編碼芯片的應(yīng)用及其<b class='flag-5'>解碼</b>方法

    Ev1527的pic單片機(jī)軟件接收解碼程序

    Ev1527的pic單片機(jī)軟件接收解碼程序
    發(fā)表于 02-27 16:57 ?89次下載

    基于51單片機(jī)的無線遙控編碼程序EV1527

    基于51單片機(jī)的無線遙控編碼程序EV1527
    發(fā)表于 07-30 10:26 ?252次下載

    ev1527、pt2262等433/315MHZ芯片stc單片機(jī)解碼,含源程序

    ev1527、pt2262等433/315MHZ芯片stc15w204s-sop8單片機(jī)解碼,含源程序硬件介紹:軟件介紹:單片機(jī)引腳定義:解碼原理:主要
    發(fā)表于 11-21 17:06 ?195次下載
    <b class='flag-5'>ev1527</b>、pt2262等433/315MHZ芯片<b class='flag-5'>用</b>stc單片機(jī)<b class='flag-5'>解碼</b>,含源程序

    10分鐘掌握EV1527無線模塊解碼

    一、上圖這種常規(guī)的 433Mhz 無線模塊,發(fā)射端一般 PT2262/EV1527/PT2240/HCS301編碼。如果選擇 PT2262,接收端則直接搭配 2272,匹配好振蕩電阻
    的頭像 發(fā)表于 12-12 09:34 ?4.2w次閱讀
    RM新时代网站-首页