51单片机解码433M程序

最近需要用到433M的单片机解码,上网搜了一下。大部分的程序都是基于定时器定时检测。感觉逻辑不够严谨。对于新手理解起来也比较困难。

查看EV1527手册

我是用的240K电阻。得到了每个数据宽度是1.29MS,每个数据宽度为16个LCK,每个LCK宽度大约为80us,

可以算出同步位的高电平时间大约为:320us,低电平持续时间为:9.9ms

数据1的高电平持续时间为:960us,  数据1的低电平持续时间为320us

数据0的高电平持续时间为:320us,数据0的低电平持续时间为960us。

已经知道了数据0和1还有同步信号的持续时间,我们来说一下思路

我首先开了一个us级的定时器,持续计数。不需要打开中断。

然后配置好对应的接收芯片的管脚。配置为外部中断。触发方式为上升沿,下降沿都触发。

在外部中断函数里面,记录当前定时器的计数值,然后清零计数器。

定义一个状态机

state = 0时:默认状态,检测是否为高电平。如果为高电平代表为上升沿,判断同步信号。

state = 1时:检测是否为低电平,如果为低电平,表示为下降沿,此时记录的时间为高电平的持续时间。判断是否符合同步信号的高电平时间要求。符合进入下一状态

state = 2时:检测管脚是否为高电平,如果为高电平,表示为上升沿,此时记录的时间为低电平持续时间。判断是否符合同步信号的低电平时间要求。符合进入接收状态。不符合,回到初始状态。

以此类推....具体可以看代码

//这里有优化。一搬同步信号只需要判断低电平持续时间就可以了。所以这个高电平范
51单片机是一种常见的单片机型号,它的优势在于性价比高、功能强大、易于编程和应用广泛。433m是一种无线通信频率,通常用于无线遥控、无线传输等应用。 要实现51单片机433m信号的解码,可以采用以下步骤: 1. 硬件连接:将433m模块与51单片机连接,一般使用IO口连接发送和接收数据,还需要连接供电和地线。 2. 程序设计:利用51单片机的编程能力来处理接收到的433m信号。首先,需要设置IO口的工作模式以及中断。接收到的433m信号会通过中断触发,将信号读入寄存器。 3. 信号解码:读取寄存器中的数据并解码,将其转化为具体的指令或数据。解码的方式取决于使用的遥控协议或通信协议。 4. 逻辑处理:根据解码得到的指令或数据进行相应的逻辑处理,例如控制开关、传输数据等。 5. 输出反馈:将处理后的结果通过LCD屏幕、LED灯或者其他输出方式反馈给用户。 需要注意的是,不同的无线遥控或传输协议有不同的解码方式,因此在编程时需要根据具体的协议来设计解码程序。另外,稳定的电源供应以及良好的信号接收与解码算法也是保证解码成功的关键因素。 综上所述,通过合理的硬件连接和程序设计,可以实现51单片机433m信号的解码。通过对解码后的信号进行逻辑处理和输出反馈,可以实现更多的应用需求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值