微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
您好, 登录| 注册|

单片机替代2272解码

  • 2020-03-25 13:42
  • wangbo0227

    LV.0
  • 1021

    浏览

  • 0

    回复

  • 0

    获赞

  •   这几天用到很老的固定吗解码,有用到的么 ,为什么我感觉我写的程序好复杂啊 ;

    void exint0() interrupt 0       //INT0中断入口
    {
    static bit flag_start=0;
    static u8 temp_pl=0; 
    //TR0=0;  //经过测试定时器0使用不自动重装模式之后不用再频繁开关定时器
    EX0 = 0; //执行中断里面的程序的时候关闭外部中断防止里面数据没有处理完外部中断就进来
    //sum=ace*65536+TH0*256+TL0;
    sum=TH0*256+TL0;
    TH0=0;
    TL0=0;
    ace=0;
    //TR0=1;
    
    test=~test;
    	if((ap==1)&&(sum>14000)&&(sum<16000))
    	{
    		temp2=sum;
    		flag_start=1;
    		ap=2;
    		cp=0;
    		pl=temp_pl;
    		temp_pl=0;
    	}
    	if((ap==0)&&(sum>14000)&&(sum<16000))
    	{
    	    temp1=sum;
    	   	ap=1;
    			temp_pl=0;
    	}
    	temp_pl++;
    	if(temp_pl==60)
    	{
    		temp_pl=0;
    		temp1=temp2=0;
    		ap=0;
    	}
    if((flag_start==1)&&(cp==48)){ ccap[47]=sum/((temp2+temp1)>>8);cp=0;flag_start=0;ap=0;test1=~test1;}
    if((flag_start==1)&&(cp==47)){ ccap[46]=sum/((temp2+temp1)>>8);cp=48;test1=~test1;}	
    if((flag_start==1)&&(cp==46)){ ccap[45]=sum/((temp2+temp1)>>8);cp=47;test1=~test1;}	
    if((flag_start==1)&&(cp==45)){ ccap[44]=sum/((temp2+temp1)>>8);cp=46;test1=~test1;}	
    if((flag_start==1)&&(cp==44)){ ccap[43]=sum/((temp2+temp1)>>8);cp=45;test1=~test1;}	
    if((flag_start==1)&&(cp==43)){ ccap[42]=sum/((temp2+temp1)>>8);cp=44;test1=~test1;}	

    大概思路就是,找到两次间隔小于两个周期的同步脉冲,然后就开始逐个解码收到的;然后在处理

    同是电子工程师,请一定不要吝啬你的赞!

    0人已赞

    编辑 举报

    LV.1

    4249224

    2477242

    50

    349788

    说说你的看法

  • LV.

    @

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    取消
    发送
  • 现在还没有回复呢,说说你的想法

    现在还没有回复呢,说说你的想法

    全部回复(0)

    现在还没有回复呢,说说你的想法

  • 回复

  • 收藏

  • 点赞

  • 举报有害信息

  • 已超出发布时间24小时,无法编辑与删除
    关于我们 联系方法 广告服务 会议服务 电子星球APP 网站地图 不良信息举报 热线:400-003-2006
    © 2002-2023 Netbroad(网博互动)公司版权所有 津ICP备 11006234号-2 联网备案号:12010402000747 增值电信业务经营许可证:津B2-20120058