找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3031|回复: 5
打印 上一主题 下一主题
收起左侧

求教,315M无线学习型遥控问题

[复制链接]
跳转到指定楼层
楼主
ID:93227 发表于 2015-10-29 01:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做一个315M的无线学习型遥控,功能是能学习无线遥控器的按键功能,学习好后,发射出去可以实现所学遥控器的功能控制设备。无线接收我用的是外部中断来接收,但是程序写入单片机,运行时,一按学习键,马上就中断,我把超外差接收模块去掉按学习键时不会立即运行中断,接上就不正常,马上就中断,怀疑是不是干扰问题,请大神给看看如何解决?

/*********无线数据接收程序**************************/
void intt0(void) interrupt 0   //外部中断0服务程序
{
        EX0=0;
//        IT0=0;
        EA=0;

if(R_315M==0)
{
Delay1ms(100);    //延时程序
if(R_315M==1)
{
clear_buf();  //数据缓存清0
goto receive_end;
}

        receive_cnt=0;
        F_dat[receive_cnt]=0x0011; //315M标志  自定
        while(receive_cnt<250)
        {
                receive_cnt++;
                TR0=1;//启动定时器0
                while(R_315M==0);  //低电平
                TR0=0;
                F_dat[receive_cnt]=TH0*256+TL0;  //脉宽宽度测量
                receive_cnt++;
                TH0=0;
                TL0=0;
                TF0=0;
                TR0=1;
                while(R_315M==1)
                {
                        if(TF0==1)
                        {
                                goto receive_end;
                        }
                }
                TR0=0;
                F_dat[receive_cnt]=TH0*256+TL0;  //脉宽宽度测量
                TH0=0;
                TL0=0;
                TF0=0;
        }
}
        receive_end:
            if(F_dat[5]>=50)         //消除干扰
                {
                    TR0=0;
                    receive_OK=1;  //接收完毕标志
                        F_dat[receive_cnt]=0x0000;
                        receive_cnt=0;
                        TH0=0;
                        TL0=0;
                        TF0=0;
                }
                else
                {
                        clear_buf();  //数据缓存清0
                        receive_cnt=0;
                        TR0=0;
                        TH0=0;
                        TL0=0;
                        TF0=0;
                        EX0=1;
        //                IT0=1;
                        EA=1;
                }               
}
/*******************************************************/


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:93852 发表于 2015-10-30 12:50 | 只看该作者
本帖最后由 wlq19911021a 于 2015-10-30 12:54 编辑

太多不看,

一般是中断问题

或进入死胡同了(内部卡死,或纠结了)

楼主写的太多,太乱了,不看
不知楼主的红外通信过了没

没过去过一下,有现成的教程

手把手教程--比我们讲的好多了

那个过了,这个自然过
回复

使用道具 举报

板凳
ID:93227 发表于 2016-1-7 02:16 | 只看该作者
wlq19911021a 发表于 2015-10-30 12:50
太多不看,

一般是中断问题

无线比红外处理起来困难多了,主要是外部干扰比较多,现在问题我已经解决了!
回复

使用道具 举报

地板
ID:94579 发表于 2016-5-19 19:49 | 只看该作者
贴出来分享一下,老大
回复

使用道具 举报

5#
ID:122035 发表于 2016-5-19 20:34 | 只看该作者
有汇编语言的吗
回复

使用道具 举报

6#
ID:255706 发表于 2017-12-1 19:49 | 只看该作者
还不懂无线的数据解构,先来学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表