烽火社区
标题:
51 红外遥控解码 实验(二十二)
[打印本页]
作者:
aaaqqq999
时间:
2015-1-2 12:02 AM
谢谢
作者:
009952
时间:
2015-1-5 05:00 AM
顶啊
好啊
作者:
fuconghua2422
时间:
2015-1-17 08:30 AM
好好
作者:
win123
时间:
2015-2-15 08:03 AM
看看,嘿嘿
作者:
tuqiuxiangshu
时间:
2015-2-17 09:16 AM
http://bbs.ednchina.comhttp://bbs.ednchina.com/showtopic.aspx?id=57761
作者:
liuweihua08
时间:
2015-2-22 11:26 AM
学习的好资料,十分有用
作者:
zhaoliangedn
时间:
2015-2-27 12:34 PM
谢谢楼主
作者:
pjt123
时间:
2015-3-11 05:05 AM
好东西
作者:
撕雨
时间:
2015-3-12 10:44 AM
感谢楼主,我很需要的
作者:
apingzai
时间:
2015-3-18 01:55 AM
谢谢
希望有图
作者:
sjzm2009
时间:
2015-3-18 03:40 AM
飞
作者:
cki_924
时间:
2015-4-1 01:08 AM
51 红外遥控解码 实验(二十二)
作者:
lioujunsham
时间:
2015-4-8 10:53 AM
看看先,再次感谢
作者:
picq
时间:
2015-4-12 10:39 AM
谢谢楼主
作者:
wu527chenglong
时间:
2015-4-13 06:41 AM
第一个实验都现在的实验.由浅入深.帮你顶...
作者:
liuyongpengedn
时间:
2015-4-13 11:41 AM
参考参考!谢谢楼主!
作者:
403814351ppdz
时间:
2015-4-17 03:28 AM
看看是不是我想要的
作者:
小勇子
时间:
2015-4-17 03:55 AM
路过看看,谢谢!
作者:
chaoge__1982
时间:
2015-4-22 07:22 AM
学习
作者:
yangc85
时间:
2015-4-24 02:15 AM
好东西 看看
作者:
mengzhen
时间:
2015-4-27 10:25 AM
谢谢楼主
作者:
luoyangg
时间:
2015-4-28 08:13 AM
好贴!!下载试试!
作者:
wangyi4205
时间:
2015-5-1 07:45 AM
但愿是我想要的。。
作者:
正点原子
时间:
2015-5-11 08:19 AM
标题:
51 红外遥控解码 实验(二十二)
[attach]10045[/attach]
[attach]10045[/attach]
[attach]10045[/attach]
[attach]10045[/attach]
这个是通过红外遥控器控制单片机的实验,详情见
附件.
平台:FDR-1 51开发板
主程序代码:
/*11.0592MHz晶振*/
#include
#include"delay52.h"
#include"LCD1602_4.h"
sbit beep="P3"^7;
sbit inf="P3"^3;
sbit led1=P1^3;
uchar key_code=0;/*key_code:遥控键值*/
uint buf_key_code=0;/*键值暂存对应功能看主函数*/
uchar key_bit_count=0;/*键编码脉冲计数*/
uint count_T=0,buf_CT=0;/*count_T:定时器中断次数计数,buf_CT用来截获某一时间的count_T值以供判断*/
uchar common_code_count=0;/*前导码脉冲计数*/
uchar inf_status=0;/*inf_status:脉冲接收器所处的状态,0:无信号,1:前导码接收区,2:数据编码接收区*/
void main()
{
LCM1602_Init();
EA=1; //开全局中断
ET0=1; //开定时器0中断
TMOD=0x02;//T0设置为8位自动装载模式
TH0=0xCA; //自动装载值为202,中断间隔为50us
TL0=0xCA; //初值为202
IT1=1; //INT1为下降沿触发
EX1=1; //开外部中断
TR0=1; //启动定时器计数
while(1)
{
/*收到数字键则显示数字*/
if(key_code<10)
{
beep=0;//响蜂鸣器
//CLEARSCREEN;
LCM1602_write_string(0,0,"number:");
num(0,7,key_code);//其它数字和编码值相同,直接显示键值
LCM1602_write_string(1,0,"code:");
num(1,5,key_code);
key_code=255;//清键值
delayms(20);
beep=1;
}
/*收到功能键则显示相应的功能*/
else if(key_code<50)
{
beep=0;
// CLEARSCREEN;//清屏
switch(key_code)
{
case 22:LCM1602_write_string(0,9,"mute");break;
case 18:LCM1602_write_string(0,9,"power");break;
case 10:LCM1602_write_string(0,9,"--");break;
case 31:LCM1602_write_string(0,9,"s.sys");break;
case 15:LCM1602_write_string(0,9,"BASS");break;
case 27:LCM1602_write_string(0,9,"CALL");break;
case 11:LCM1602_write_string(0,9,"TV/AV");break;
case 25:LCM1602_write_string(0,9,"HOBBY");break;
case 26:LCM1602_write_string(0,9,"recall");break;
case 19:LCM1602_write_string(0,9,"CH+");break;
case 23:LCM1602_write_string(0,9,"CH-");break;
case 20:LCM1602_write_string(0,9,"VOL-");break;
case 16:LCM1602_write_string(0,9,"VOL+");break;
case 24:LCM1602_write_string(0,9,"MENU");break;
case 28:LCM1602_write_string(0,9,"SLEEP");break;
case 30:LCM1602_write_string(0,9,"PRE");break;
case 12:LCM1602_write_string(0,9,"SCAN");break;
}
LCM1602_write_string(0,0,"function:");
LCM1602_write_string(1,0,"code:");
num(1,5,key_code);
key_code=255;//清键值
delayms(30);
beep=1;
}
delayms(50);
}
}
void Time0(void) interrupt 1
{
count_T++;//周期累加
/*如果外部中断处于无信号区,则滤除前导宽脉冲中间的跳变毛刺*/
if(inf_status==0&&count_T<160)
{
EX1=0;
}
/*如果外部中断处于信号区,则滤除宽脉冲中间的跳变毛刺*/
else if((inf_status==1||inf_status==2)&&count_T<12)
{
EX1=0;
}
/*渡过上升沿后重新开放外部中断*/
else
{
EX1=1;
}
/*超过25ms,则锁定count_T值,等待下一次信号脉冲下降沿来解开*/
if(count_T>500)
{
inf_status=0;
count_T=600;
}
}
/***************************************************************
外部中断1,用于捕获红外脉冲信号
****************************************************************/
void int_1(void) interrupt 2
{
led1=0;
TR0=1;
if(count_T>15&&count_T<250)//如果信号合法,则捕进buf_CT,count_T清0,对下一个脉冲信号计时
{
buf_CT=count_T;
count_T=0;
}
delay10us(10);//延时100us以消除下降沿跳变抖动
if(inf==0)//INT1引脚稳定为低电平,则表示确实是信号,count_T重新计时,因上面延时了100us,故要补偿2次T0中断
{
count_T=2;
}
if(buf_CT>15&&buf_CT<250)//若收到的信号合法,则再进行以下的信号分析
{
if(inf_status==0)//若当前信号接收系统处于空闲状态,则标志进入前导码接收区
{
if(buf_CT>210&&buf_CT<250)//捕捉前导码
{
inf_status=1;//标志进入前导码接收区
buf_key_code=0;
key_bit_count=0;
buf_CT=0;
}
}
else if(inf_status==1)//前导码接收区(收到的脉冲全部忽略)
{
if((buf_CT>15&&buf_CT<25)||(buf_CT>32&&buf_CT<45))//脉冲接收
{
common_code_count++;//脉冲数计算
if(common_code_count>=26)//若收够了26个脉冲
{
inf_status=2;//则标志进入数据接收区
common_code_count=0;//脉冲计数清0
key_bit_count=0;
buf_key_code=0;
}
}
}
else if(inf_status==2)//数据接收区
{
if(buf_CT>15&&buf_CT<25)//窄脉冲接收
{
buf_key_code>>=1;//接收0
key_bit_count++;
}
else if(buf_CT>32&&buf_CT<45)//宽脉冲接收
{
buf_key_code>>=1;
buf_key_code|=0x80;//接收1
key_bit_count++;//数据脉冲数累加,一共有8个
}
if(key_bit_count>=8)//若收完8位个数据脉冲,则进行以下的处理
{
inf_status=0;//标志接收系统返回空闲状态
key_bit_count=0;
key_code=buf_key_code;
buf_key_code=0;
TR0=0;
count_T=600;
}
}
buf_CT=0;
}
led1=1;
EX1=1;
}
作者:
armtt6
时间:
2015-5-12 12:20 PM
好东西,十分感谢楼主的分享
作者:
ROMANU
时间:
2015-5-22 07:48 AM
111
作者:
hx2008
时间:
2015-5-26 11:58 AM
好东东,下个看看
谢谢楼主
作者:
溧水电子所
时间:
2015-5-28 11:21 AM
学习学习
作者:
hotfighter98
时间:
2015-5-29 01:03 AM
look look
作者:
yangzhen1001
时间:
2015-5-30 11:02 AM
谢谢分享
作者:
1226675458079
时间:
2015-5-31 03:23 AM
正好 呵呵 下了谢
作者:
cccshenlei
时间:
2015-6-1 08:52 AM
sddd
作者:
from深圳
时间:
2015-6-7 11:24 AM
引用:
原帖由 #4 pogulu 发表
感谢楼主分享! 正是需要的东东
但愿是我想要的。。
作者:
hwlee
时间:
2015-7-20 12:43 PM
好东东要学习一下
作者:
cccshenlei
时间:
2015-7-24 02:08 AM
aaa
作者:
1263255572752
时间:
2015-7-24 03:18 AM
非常好
作者:
黑曼巴蛇
时间:
2015-7-24 10:48 AM
好资料啊
我红外始终解码不成功
作者:
xiongfangzheng
时间:
2015-7-26 01:52 AM
支持,看看
作者:
沧海拾贝
时间:
2015-7-26 02:32 AM
但愿是我想要的。。
作者:
1237646624734
时间:
2015-7-26 04:49 AM
感谢分享!!!
作者:
liuweihua08
时间:
2015-7-26 06:50 AM
感谢楼主的分享
作者:
chen_jia_
时间:
2015-7-26 09:20 AM
看看咯
作者:
apingzai
时间:
2015-7-26 10:59 AM
谢谢,楼主
作者:
yangc85
时间:
2015-7-26 11:35 AM
看 看
作者:
tuqiuxiangshu
时间:
2015-7-26 01:33 PM
看看,应该不错
作者:
ywdr
时间:
2015-7-26 03:41 PM
好东西,顶上去!
作者:
tuqiuxiangshu
时间:
2015-7-26 04:34 PM
作者:
黑曼巴蛇
时间:
2015-7-26 05:57 PM
正在学解码的东西,谢谢楼主分享
作者:
wutongyeyu
时间:
2015-7-26 07:56 PM
看看
作者:
adofu2008
时间:
2015-7-26 10:07 PM
楼主没有说明是解什么协议的遥控码?
作者:
cki_924
时间:
2015-7-27 12:26 AM
东西绝对好 谢谢楼主 但要是能完全理解得费点功夫了 呵呵
作者:
SUNEASY
时间:
2015-7-27 03:06 AM
谢谢分享,楼主辛苦了
作者:
lioujunsham
时间:
2015-7-27 05:03 AM
真不错,正需要呢!
作者:
hendy2000
时间:
2015-7-27 07:05 AM
看看
作者:
jiaia
时间:
2015-7-27 08:43 AM
看看
作者:
zjy0121
时间:
2015-7-27 09:48 AM
不错 学习
作者:
chen_jia_
时间:
2015-7-27 11:03 AM
太好了
作者:
pjt123
时间:
2015-7-27 01:05 PM
好东西
作者:
dongxu
时间:
2015-7-27 02:18 PM
好东西,十分感谢楼主的分享
作者:
fuconghua2422
时间:
2015-7-27 04:35 PM
51 红外遥控解码 实验(二十二)
作者:
winglion181
时间:
2015-7-27 06:05 PM
顶顶顶顶顶
作者:
fuconghua2422
时间:
2015-7-27 07:40 PM
好!!!!!!!!!!!!!!
作者:
009952
时间:
2015-7-27 09:43 PM
正需要
作者:
1263255572752
时间:
2015-7-28 12:06 AM
但愿是我想要的。。
作者:
lioujunsham
时间:
2015-7-28 02:10 AM
谢谢分享
作者:
1237646624734
时间:
2015-7-28 04:25 AM
有空调试下,谢谢
作者:
SUNEASY
时间:
2015-7-28 05:07 AM
但愿是我想要的
作者:
剑邑
时间:
2015-7-28 08:06 AM
学习的好东西
作者:
dongxu
时间:
2015-7-28 09:21 AM
谢谢LZ.
作者:
wcj880126
时间:
2015-7-28 12:33 PM
文章给的许多数据值得借鉴。
作者:
chigaoyuan
时间:
2015-7-28 01:46 PM
我觉得挺不错的,要是能够补充遥控编码类型和程序主流程就更好了。但是确实是一篇好文,很容易就看懂了。
作者:
pfazhang
时间:
2015-7-28 02:05 PM
做解码
作者:
shotstar
时间:
2015-7-28 04:31 PM
下来学习一下
作者:
mengzhen
时间:
2015-7-28 06:00 PM
谢谢,看看。
作者:
wangyi4205
时间:
2015-7-28 06:57 PM
谢谢
作者:
honey1118
时间:
2015-7-28 09:41 PM
谢谢
作者:
wutongyeyu
时间:
2015-7-28 11:15 PM
就是他了!!谢谢哈!!
作者:
沧海拾贝
时间:
2015-7-29 01:40 AM
很贴近实用了!!
作者:
cki_924
时间:
2015-7-29 04:28 AM
分享之~~
作者:
1237646624734
时间:
2015-7-29 06:26 AM
谢谢楼主,哈哈
作者:
tuqiuxiangshu
时间:
2015-7-29 09:01 AM
好东西,楼主辛苦了!非常感谢提供这么好的学习资料
作者:
hotfighter98
时间:
2015-7-29 11:37 AM
下来看看!谢谢!
作者:
tuqiuxiangshu
时间:
2015-7-29 01:05 PM
谢谢楼主
作者:
fuconghua2422
时间:
2015-7-29 02:59 PM
谢谢楼主
作者:
黑曼巴蛇
时间:
2015-7-29 04:47 PM
谢谢楼主
作者:
yumuzi
时间:
2015-7-29 07:03 PM
cena
作者:
Creative2010pch
时间:
2015-7-29 08:22 PM
謝謝分享
作者:
剑邑
时间:
2015-7-29 10:20 PM
感谢分享
作者:
aaaqqq999
时间:
2015-7-30 12:30 AM
谢谢
作者:
luoyangg
时间:
2015-7-30 02:42 AM
thank you
作者:
xiongfangzheng
时间:
2015-7-30 05:03 AM
感谢楼主分享!!!!
作者:
pfazhang
时间:
2015-7-30 07:57 AM
谢谢
作者:
wutongyeyu
时间:
2015-7-30 08:57 AM
好的,我也要
作者:
luoyangg
时间:
2015-7-30 10:39 AM
太感谢啦
作者:
Earnshaw
时间:
2015-7-30 12:46 PM
感谢楼主分享! 正是需要的东东
作者:
adofu2008
时间:
2015-7-30 03:19 PM
呵呵,看看啊!
作者:
thl4508
时间:
2015-7-30 04:14 PM
dddddddddddddddddddddddddddd
作者:
hwlee
时间:
2015-7-30 05:27 PM
很有用 谢谢
作者:
hx2008
时间:
2015-7-30 06:58 PM
安安
作者:
1254123333830
时间:
2015-7-30 07:40 PM
不错,顶起来!有你们先行者,后面的人少走不少弯路!!!!!!
欢迎光临 烽火社区 (https://bbs.cnecport.com/)
Powered by Discuz! X3.2