标题:
单片机pt2262无线遥控解码器制作源程序
[打印本页]
作者:
lgjdqm
时间:
2018-8-3 17:16
标题:
单片机pt2262无线遥控解码器制作源程序
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
uchar code dis1[] = {" 2262 CODE IS "};
void delay_1s(uchar);
typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef bit BOOL ;
sbit rs = P2^6 ;
sbit rw = P3^6 ;
sbit ep = P2^7 ;
delay(BYTE ms)
{ // 延时子程序
BYTE i;
while(ms--)
{
for(i = 0; i< 250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
BOOL lcd_bz()
{ // 测试LCD忙碌状态
BOOL result;
rs = 0;
rw = 1;
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
result = (BOOL)(P0 & 0x80);
ep = 0;
return result;
}
lcd_wcmd(BYTE cmd)
{ // 写入指令数据到LCD
while(lcd_bz());
rs = 0;
rw = 0;
ep = 0;
_nop_();
_nop_();
P0 = cmd;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
lcd_pos(BYTE pos)
{ //设定显示位置
lcd_wcmd(pos | 0x80);
}
lcd_wdat(BYTE dat)
{ //写入字符显示数据到LCD
while(lcd_bz());
rs = 1;
rw = 0;
ep = 0;
P0 = dat;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
lcd_init()
{ //LCD初始化设定
lcd_wcmd(0x38); //
delay(1);
lcd_wcmd(0x0c); //
delay(1);
lcd_wcmd(0x06); //
delay(1);
lcd_wcmd(0x01); //清除LCD的显示内容
delay(1);
}
bit T0Action;
bit Action;
bit RECEIVE; //接收标志
sbit P1_7=P1^1; //接收脚
sbit P3_5=P1^3; //发光二极管
void main()
{
uchar temp,data0,data1,counttime,i=0;
int time,time1,time2;
lcd_init(); // 初始化LCD
T0Action=0;
RECEIVE=0; //接收标志位
Action=0;
TMOD = 0x01; // 定时器0 工作方式1
TH0=0x00;
TL0=0x00;
P3_5=1;
lcd_pos(0x00);
while(dis1[i] != '\0')
{ // 显示字符ttnu.com
lcd_wdat(dis1[i]);
i++;
}
while(1)
{
do{P3_5=1;}while(P1_7==1);
if((P1_7==0) && (T0Action==0)) //等待低电平,低电平开始记时
{
TR0=0; TH0=0x00; TL0=0x00; TF0=0; TR0=1; T0Action=1;
while(1)
{
if((P1_7==1) && (T0Action==1))
{
TR0=0;
time=TH0*256+TL0; //记下低电平宽度时间
T0Action=0;
break;
}
}
}
if((time>9500) && (time<11500)) //检测同步码约11ms
{
counttime=0;
data0=0;
data1=0;
time=0;
RECEIVE=1; //检测到同步码时 置标志位 RECEIVE=1
P3_5=0; //绿发光二极管灯亮(调试用)
}
if(RECEIVE==1) //检测到同步码后开始解码
{
RECEIVE=0;
lcd_pos(0x42);
while(1)
{
do{}while(P1_7==1);
if((P1_7==0) && (T0Action==0)) //等待第一个低电平,一有低电平马上记时
{
TR0=0; T0Action=1; TH0=0x00; TL0=0x00; TF0=0; TR0=1;
while(1)
{
if((P1_7==1) && (T0Action==1))
{
TR0=0;
time=TH0*256+TL0; //记下第一个低电平宽度时间
T0Action=0;
TH0=0x00;TL0=0x00; TF0=0;TR0=1; //开始记高电平时间
break;
}
}
}
do{}while(P1_7==1);
if((P1_7==0) && (T0Action==0)) //等待第二个低电平,一有低电平马上记时
{
TR0=0;
time2=TH0*256+TL0; //记下一个高电平宽度时间
T0Action=1;
TH0=0x00; TL0=0x00; TF0=0; TR0=1;
while(1)
{
if((P1_7==1) && (T0Action==1))
{
TR0=0;
time1=TH0*256+TL0; //记下第二个低电平宽度时间
T0Action=0; break;
}
}
}
if((time<1500)) //判断两个低电平宽度时间是否相等,限时1500us
{
if(((time-time1)>=-600&&(time-time1)<=600) && (time>780) && (time<1150)) //低电平宽度时间
{
if((time2>210) && (time2<450)) //高电平宽度时间
lcd_wdat('0');temp=0x00; //0
}
if(((time-time1)>=-600&&(time-time1)<=600) && (time>210) && (time<450)) //低电平宽度时间
{
if((time2>780) && (time2<1150)) //高电平宽度时间
lcd_wdat('1');temp=0x01; //1
}
if((time>780) && (time<1150)&&(time1>210) && (time1<450))
lcd_wdat('f'); // f
counttime++;
if(counttime<=8) //开始接收前8位 地址码
data0=(data0<<1)|temp;
else if((counttime>8) && (counttime<=12)) //开始接收后4位 数据码
data1=(data1<<1)|temp;
if(counttime==12) // 第12位
{
Action=1;
break; //接收完毕,退出解码程序
}
}
}
复制代码
作者:
engcyh
时间:
2018-8-3 17:52
解码速度怎样啊?一直想做一个,可是速度都不理想
作者:
tieq1952
时间:
2018-8-4 07:25
谢谢分享!!!
作者:
水泡泡洗澡澡
时间:
2018-8-7 10:09
谢谢分享!
作者:
水泡泡洗澡澡
时间:
2018-8-7 10:10
不错的呢!
作者:
kelos3000
时间:
2018-8-7 11:35
不错的呢!
作者:
xmd1972
时间:
2018-8-7 12:41
是替代2262的意思吗
作者:
jefelee
时间:
2018-8-7 12:56
无线遥控程序..好东西
作者:
风158
时间:
2018-8-7 14:38
学习一下。
作者:
花生会出油
时间:
2018-8-8 16:53
学习了
作者:
HEIZI555
时间:
2018-8-9 15:29
2262 1527已应用生产很多,解码程序绝对给力,原创!
作者:
nczjt
时间:
2018-9-14 19:10
学习一下
作者:
耽溺于往昔
时间:
2018-9-15 09:06
大佬大佬,学习了!
作者:
ismeyu
时间:
2018-9-24 22:33
无线遥控程序..好东西学习一下
作者:
JasirJiang
时间:
2018-9-27 15:50
解码速度怎样啊?一直想做一个,可是速度都不理想
作者:
tianxing
时间:
2018-9-28 09:57
以前用过硬件解码,学习一下。
作者:
hufeihufei110
时间:
2018-9-28 11:06
好样地!那里弄来的啊!
作者:
252622979
时间:
2018-9-28 11:24
解码程序,学习一下。
作者:
馨雨
时间:
2018-9-28 19:39
学习学习
作者:
micyb00
时间:
2018-9-29 14:26
谢谢分享!
作者:
zxianyu
时间:
2018-10-15 23:19
好资料,谢谢分享!
作者:
bamboo小萌新
时间:
2018-10-16 08:35
有原理图或者实物图吗?
作者:
叶活
时间:
2018-10-16 12:47
没有图纸
作者:
sdxkw
时间:
2018-10-18 17:10
有电路图吗
作者:
lvlv99
时间:
2018-10-20 15:46
这可以,不是外中断
作者:
liuzhaoxin1020
时间:
2018-10-21 11:32
好文件,参考一下
作者:
wb8899
时间:
2018-10-23 13:01
解码容易,就是反应速度确实不理想,还有连按检测也做不好,有兴趣的可一起讨论下
作者:
15989468100
时间:
2018-10-24 11:46
为什么每次评论都被删除
作者:
yfpc2006
时间:
2018-11-28 10:55
wb8899 发表于 2018-10-23 13:01
解码容易,就是反应速度确实不理想,还有连按检测也做不好,有兴趣的可一起讨论下
我做过很多产品,可以一起探讨!
作者:
ygloo
时间:
2018-11-28 17:15
谢谢分享!!
作者:
sdsdzs
时间:
2019-1-16 00:48
解码程序,学习一下
作者:
千与千寻9527
时间:
2019-6-4 18:31
此程序试了试,解码每次都不一样,需要修改
作者:
ealoo
时间:
2019-6-24 15:08
能上原理图就好做了
作者:
honghongda
时间:
2019-6-25 14:31
厉害的呢!!
作者:
追求理想
时间:
2019-6-25 17:26
谢谢分享!!!
作者:
daniellew
时间:
2019-7-21 17:31
谢分享!!!
作者:
winkle
时间:
2019-7-21 20:24
正在学习无线遥控,很有帮助
作者:
winkle
时间:
2019-7-21 20:25
遥控距离和工作频率大概是多少呢
作者:
winkle
时间:
2019-7-21 20:26
谢谢楼主的分享
作者:
2592532754
时间:
2019-7-21 20:35
内容不错 值得学习
作者:
舔弄
时间:
2019-7-24 19:56
谢谢分享,很有用
作者:
丢丢的猫
时间:
2019-7-26 11:06
感谢分享!!!
作者:
李风888
时间:
2020-2-7 11:10
很好,学习一下
作者:
shijianzhicheng
时间:
2020-2-27 18:38
51有你更精彩
作者:
zdmjjp
时间:
2020-3-1 09:16
无线遥控程序..好东西,谢谢!
作者:
zxy2266
时间:
2020-3-1 12:09
谢谢分享,这个很有用
作者:
367069915
时间:
2020-3-13 07:47
这是基础程序,没有干扰究错
作者:
418854190
时间:
2020-4-29 14:02
好东西 抽空试试
作者:
418854190
时间:
2020-4-29 19:53
测试完了 可以解码 用的是stc12c5a60s2单片机 使用内部irc时钟 通电显示不全增加了延时就正常了 正在手绘电路板 单片机用贴片的 加了切换开关用来切换315M和433M
程序后面少了几个大括号 } 补上后就能正常编译了
作者:
zigongwanjun
时间:
2020-4-29 22:35
非常实用,学习了,了解了PT2262解码器。谢谢大侠。
作者:
swustlx86
时间:
2020-4-30 09:33
感谢分享 不知可以仿真吗?
作者:
ByanouQ
时间:
2020-4-30 16:48
谢谢分享
作者:
阿飞7812
时间:
2020-5-8 21:01
学习中,谢谢分享
作者:
dzltlgq
时间:
2020-10-21 13:58
据说汇编语言解码速度更快。距离更远
作者:
617617666
时间:
2021-7-28 09:20
是不是就不用2262了?
作者:
617617666
时间:
2021-7-28 09:23
这个有原理图吗
作者:
617617666
时间:
2021-7-28 09:38
这个有原理图吗
作者:
pq1972
时间:
2021-7-28 23:00
慢慢学习,什么时候,我也能写出这样的代码,加油
作者:
winsinzhao
时间:
2021-9-10 21:04
为什么我用这程序1602液晶屏显示不全
作者:
丝瓜侦探
时间:
2021-10-17 16:13
厉害!正在学习做解码,参考下!
作者:
eastwife
时间:
2021-10-21 09:25
有没有参考的硬件接收电路啊?
作者:
fj51hei
时间:
2021-10-21 10:22
这个解码怎么跟其他程序分摊时间
作者:
dzltlgq
时间:
2021-11-3 19:26
原理图PCB图影响解码效果
作者:
wang2000xx
时间:
2021-11-17 10:55
认真学习,虽然不懂!
作者:
searchtear
时间:
2022-1-24 23:07
我正在学习这方面的知识,值得学习
作者:
youlinys
时间:
2022-2-18 12:28
具有一定的实用意义,是单片机学习的好项目。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1