这是一个用软件来解码pt2262信号的c51程序,经过测试是可以使用的,要注意接受模块要远离单片机的晶振 不然干扰太严重无法解码的 或者距离很近.

/*------------------------------------------------------------------------------

; Copyright (C) 2006 WangChanghong INTEGRATED PRODUCTS, INC.

; All rights reserved.

; MCU:AT89s52 ,晶体频率:12MHz

: 作者:汪长洪

: 时间:2006年08月01日

; 地点:威海

;----------------------------315M无线遥控解码程序------------------------------*/

#include

#define uchar unsigned char

#define uint unsigned int

/*---------------------------------变量列表------------------------------------*/

uchar ReadCode[3],GetCode;

/*---------------------------------函数列表------------------------------------*/

void delay_200(void); //200us精确延时

void delay_250(void); //250us精确延时

void delay_131(void); //131ms精确延时

void init(void); //初始化子程序

void INT0_intrupt(); //中断处理子程序(解码程序)

/*-----------------------------主程序入口--------------------------------------*/

main()

{

init();

while(1)

{

P2=~GetCode|0xf0;

}

}

/*---------------------------------初始化子程序--------------------------------*/

void init(void)

{

EA=1; //打开CPU总中断请求

EX0=1; //打开INT0中断请求

IT0=1; //设定INT0的触发方式为脉冲负边沿触发

}

/*-------------------------------200us精确延时---------------------------------*/

void delay_200(void)

{

uchar i,j;

for(i=0x05;i>0;i--)

for(j=0x12;j>0;j--);

}

/*-------------------------------250us精确延时---------------------------------*/

void delay_250(void)

{

uchar i,j;

for(i=0x05;i>0;i--)

for(j=0x17;j>0;j--);

}

/*-------------------------------131ms精确延时--------------------------------*/

void delay_131(void)

{

uchar i,j;

for(i=0xfe;i>0;i--)

for(j=0xfe;j>0;j--);

}

/*-------------------------外部中断0子程序(解码程序)---------------------------*/

void INT0_intrupt(void) interrupt 0 using 1

{

uchar i,j;

bit BitState_2;

EX0=0;

//找起始位//

for(i=0;i<50;i++);

if(P3_2==1) goto kk;

while(P3_2==0);

for(i=0;i<50;i++);

if(P3_2==0) goto kk;

delay_200();

if(P3_2==1) goto kk;

for(i=15;i>0;i--) //重复20次,检测在3750微秒内出现高电平就退出解码程序

{

delay_200();

if(P3_2==1) goto kk;

}

while(P3_2==0);

///接收数据///

for(j=0;j<3;j++)

{

for(i=0;i<8;i++)

{

delay_250();

BitState_2=P3_2;

ReadCode[j]=ReadCode[j]<<1;

ReadCode[j]=ReadCode[j]|BitState_2;

if(P3_2==1) while(P3_2==1);

while(P3_2==0);

}

}

校验及运算数据/

for(i=0;i<3;i++)

{

if((~(ReadCode[i]|0x55))&((ReadCode[i]&0x55)<<1)!=0x00) goto kk; //校验

}

GetCode=0x00;

for(i=0;i<8;i++)

{

GetCode |=((ReadCode[2]>>i)&(ReadCode[2]>>(i+1))&0x01<

}

//

delay_131();

delay_131();

delay_131();

delay_131();

kk:EX0=1;

}

2262 c语言软件解码,单片机解码315M的pt2262编码的c51程序相关推荐

  1. 红外接收器c语言软件,红外线遥控解码接收程序_C语言.doc

    红外线遥控解码接收程序_C语言.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 红外线遥控解码接收程序-C语言.txt铁饭碗 ...

  2. 51单片机和315M无线发射模块编码与解码

    发射编码部分 #include<reg52.h>   #define uchar unsigned char  sbit key0=P0^0;  sbit key1=P0^1;  sbit ...

  3. 单片机c语言 软件抗干扰,单片机软件抗干扰的几种常见方法

    在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活.节省硬件资源.可靠性好越来越受到重视.下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究. 1.软件抗干扰方法的研究 在工程实践 ...

  4. 热电偶单片机代码c语言,基于STC12C5A60S2单片机的恒温箱设计-LCD1602-热电偶(电路图+程序源码)...

    https://v.youku.com/v_show/id_XNDc2NzY1MDY2NA==.html?spm=a2hzp.8253869.0.0 2017-468.STC12C5A60S2恒温箱设 ...

  5. c51语言花样流水灯汇编程序,基于51单片机的各种花样的流水灯c51程序

    /*----------------------------------------------- 功能:流水灯对称移动闪烁(双闪烁) -------------------------------- ...

  6. c语言ddv_max,STC单片机自制贴片元件拆焊台MAX6675控温程序

    #include#define uchar unsigned char//只有256 #define uint unsigned int//有16位但占内存. #define ulong  unsig ...

  7. 语言 {软件开发概述}

    语言 {软件开发概述}; {编辑期,编译期,运行期} 定义 程序的3个阶段: . 编辑期: 在IDE里 写源代码; . 编译期: 源代码通过编译器变成了exe可执行文件 (二进制的); . 运行期: ...

  8. 万能遥控程序c语言,单片机解码万能红外遥控器C51程序

    使用方法:打开串口调试助手,设置为9600 bps 单片机这边用11.0592MHz的晶振,使用sm0038或者其他型号的红外接收头按下面的电路连接好,其中out直接与单片机的p3.2脚相连.按下遥控 ...

  9. 万能遥控程序c语言,单片机解码万能红外遥控器的C51程序

    使用方法:打开串口调试助手,设置为9600 bps 单片机这边用11.0592MHz的晶振,使用sm0038或者其他型号的红外接收头按下面的电路连接好,其中out直接与单片机的p3.2脚相连.按下遥控 ...

最新文章

  1. php地址后面拼接页码,php分页类尾部页码导航代码
  2. php联系mysql配置_php支持mysql配置
  3. Hibernate的主键生成器generator(zhuan)
  4. CRM How to configure text type to allow html editor
  5. 一道小学数学题引发的“纷争” 产科医生给出解答
  6. linux如何导入安装包,linux下安装pip以及导入第三方包
  7. Outlook2010新建域内Exchang邮箱的另一种方法
  8. Android开发教程1~3章笔记
  9. 中国产品在越南如何落地?
  10. SqlParameter的参数值为 null
  11. 物联网智慧校园建设系统源码
  12. Android蓝牙开发与串口蓝牙通讯
  13. 怎么样使用TextPad工具,其实没那么复杂!
  14. 定期产品如何用活期的方式展示——逼近算法
  15. 基于神经网络的图像分类,图像识别神经网络模型
  16. FFmpeg使用手册 - MP4的格式解析
  17. oracle 定义atp规则,ATP新积分规则详解
  18. 关于vue告警:Closing curly brace does not appear on the same line as the subsequent block
  19. uniapp 固定首行和固定列的表格
  20. 数据结构第二版(朱昌杰版)习题七答案

热门文章

  1. c#OpenCVSharp+Zxing识别条形码
  2. 2018山西中考计算机软件名称,山西省2018中考信息技术试题(含操作步骤)1-10题
  3. 印能捷服务器系统怎么装,Prinergy印能捷JTP全自动建立工具(32/64bit)
  4. linux下载minio
  5. Ubuntu-KCF/DSST算法无人机跟踪仿真/实物保姆级教程
  6. 揭秘得物客服IM全链路通信过程
  7. 飞思卡尔(一)电源模块
  8. Clutter为设备和开发增加了新酷元素
  9. Spark实现SVM模型
  10. Win10 局域网共享文件遇到的疑难杂症通用解决策略