文档详情

pt2262解码程序-c语言含实测波形图-read.doc

发布:2018-06-02约2.25千字共4页下载文档
文本预览下载声明
PT2262?解码程序-C语言(含实测波形图)/blog/user1/8920/archives/2007/21552.html 图为我实测的波形图,PT2262一次发射4组相同的编码,每组码之间用同步码分开,考虑到用A4纸打印,每行只有一组码,共四行,第五行是把同步码单独切出来,方便看。 /****************************************************************************************** ??????? 项目名称:?????? 意大利无线门铃 ??????? 程序功能:?????? PT2262解码程序 ??????? 晶??? 振:?????? 4 MHz ??????? 作??? 者:????? 123mcu? ??????? 电子邮箱:????? 123mcu@163.com ??????? QQ????? :?????? 104076687 ??????? 日??? 期:?????? 2007-03-19 ??????? 版??? 本:?????? V1.0 ??????? ??????? PT2262震荡电阻为4.7M,如电阻不一样需改一下程序时间 ??????? 本程序是用来做无线收发所用,如果用于红外发光管请将震荡电阻改为430K-470K ??????? 当然程序里的时间也要改哦 ??????? 我的连接方法是将PT2262的数据输出端经过三极管反向后直接接到AT89C2051的P3.2, ??????? PT2262与AT89C2051同一个5V电源 ??????? PT2262是两个脉冲代表一位,我解码是将每个脉冲当成一位,宽的为1,窄的为0, ??????? 这样就是24位,解码结果放在receive[3]里 ??????? 本程序刚刚写完,用仿真器试解码结果没有问题,还没有接高频发射线路试, ??????? 先把它贴上来再说。 ??????? *******************************************************************************/ #i nclude reg51.h sbit RemPin? =?? P3^2? ; unsigned char receive[3]; void RemIn(void) interrupt 0 using 1 { ??? unsigned char i,j; ??? unsigned int temp; ?EA=0; ?TH0=0; ? ?TL0=0; ? ?while (!RemPin); //等待高电平 ??? TR0=1; ??? while (RemPin)? //等待低电平 ??????? if (TF0==1)? goto RemExit;??//超时就退出; ??? TR0=0; ??? temp=TH0; ??? temp=(temp8)+TL0; ??? if (temp6000 || temp4000)?? //判断同步码的宽度 ??? { ??????? temp=TH0; ??goto RemExit; ??? } //同步码检测成功 ??? for (i=0; i3; i++) //解 3*8=24 位码 ??? for (j=0; j8; j++) ??? { ??????? while (!RemPin);? //等待高电平 ??????? TH0=0; ? ??TL0=0; ??TR0=1; ??????? while (RemPin)? //等待低电平 ??????????? if (TF0==1)?goto RemExit;?//超时就退出 ??TR0=0; ??????? temp=TH0; ??????? temp=((temp8)+TL0); ? //????? /* ??????? if (temp400 temp600) ??????? { ??????????? receive[i]=receive[i]1; ??????????? receive[i]=receive[i]+1; //保存 1 ??????? } ??????? else if (temp100 temp234) ??????????? { ??????????????? receive[i]=receive[i]1;?? //保存0 ??????????? } ??????????? else goto RemExit; ??? } ??? temp=0;//在这里设置一个断点,运行到这里后看看receive里的三个字节数据就是解码的结果 ??? RemExit: ??? { ?
显示全部
相似文档