导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:请教怎样用单片机实现红外遥控常用的载波频率为38[树叉]

 *第2170篇: C51编程:请教怎样用单片机实现红外遥控常用的载波频率为38kHz并用串行数据发射调制它?

  
楼 主:树叉 2002年1月28日14:27
 C51编程:请教怎样用单片机实现红外遥控常用的载波频率为38kHz并用串行数据发射调制它?
怎样用单片机实现红外遥控常用的载波频率为38kHz并用串行数据发射调制它?如何用串口
实现?用一般的I/O口可以实现吗?他的原理是怎样的? 
  
2楼:dirty 2002年1月28日14:49
 去找新兵试试
  
3楼:《农民运动讲习所》所长 2002年1月28日15:05
 有现成的IC,带38K。
  
4楼:cxd_8848 2002年1月30日10:14
 请问所长:IC型号?
  
5楼:CHY 2002年1月28日20:11
 我是这样做的
发高电平时,每隔26us CPL一下I/O口;发低电平时I/O口为0
  
6楼:新兵 2002年1月30日17:02
 好几天不来了,详细聊几句
   首先在AT89C2051最小系统基础外加一红外发射管一红外接收头就够了,发射+连VCC,-
连PXY像网友CHY兄那样,每26US,CPL PXY一次,就产生38K载波,因未调制这时红外头还
无输出,如果用300-600B的方波去“与”38K(ASK调制),红外头将输出你的控制信息,
当然调制也是由软件来完成的,这可比用硬件简单多了!这是发方做的事。

接收呢?!一种方法是把接收头输出接INX,再取反接另一INX,共同测高电平脉宽和低电平
脉宽,再平均判断是当单个高低脉冲还是N个连码。此法优点是码长任意,容错能力强,但
多占一条口线,多一非门,而且编程较麻烦!

我采用的方法:让红外接收头冒充“串口发送器”接AT89C2051-RXD,即让串口自己去接
收,只用几条初始程序就够了,建议600B,8,1 MODE 3,但千万别望了发方必须按收方的
格式每次假悻悻的发一“起始位”和跟一“停止位”。为防止发射常通,不发送时可别望了
加一条 SETB PXY,顺便说一下弄好了收发总程序量会少于50条。

                               

  
7楼:dirty 2002年1月30日21:25
 热炒热卖菜鸟做作业
我试了能传12米,感谢各位大虾,实验中我发现时钟最好为24MHZ,而且是每13US(定时26
次)取反一次,否者为19KHZ左右。
  
8楼:Tv668 2002年2月1日11:11
 能给您做的源程序我参考一下吗?
能给您做的源程序我参考一下吗?
  
9楼:dirty 2002年2月1日13:52
 见笑了2*AT89C2051/24M
 发送:
ks:mov tmod,#22h
mov a,#01010101b
mov th0,#230
mov tl0,#230
mov r3,#80
setb tr0
fsqs:mov r3,#160  ; 发起始位
here:jnb tf0,here   ;`13US
clr tf0
cpl p3.7          ;出38k
djnz r3,here     ;发完起始位
lf:mov r3,#80    ;发8位数开始
mov r4,#8
rlc a
jc bfs       ;0发1不发
here1:jnb tf0,here1
clr tf0
cpl p3.7
djnz r3,here1
djnz r4,lf   ;8位发完?
ftzw:setb p3.7;发停止位
mov r3,#160
here2:jnb tf0,here2
clr tf0
djnz r3,here2
ljmp fsqs   ;连发01010101
bfs:setb p3.7 ;发1
here3:jnb tf0,here3
clr tf0
djnz r3,here3
djnz r4,lf
ljmp ftzw 
end
接收编的太差,不好意思还是大虾自己。。。。。。。
  
10楼:Tv668 2002年2月1日14:28
 不好意思,我想看的正是接收部分.请赐教!
不好意思,我想看的正是接收部分.请赐教!我是个货真价实的菜鸟.
  
11楼:ALP 2002年2月1日15:02
 請教guest﹕->
遙控器發送數據是否是38K方波載波?我的遙控器上的IC是M708。THANKS.
  
12楼:新兵 2002年2月3日17:49
 谢谢大家的信任,在2000年度大学生电子制作竞赛中已有相近的题目,遥控板一般均采用39K + -2K的方波调制,一帧一般为32位。 GUEST的程序我看了是按串行方式1编的,波特哟1000B,如需
 接收我可以编一个,不过新兵有点好为人师。
  
13楼:Tv668 2002年2月4日15:13
 请赐教! 

>>>>>>对该主题发表你的看法

本主题贴数13,分页: [第1页]


[上一篇主题]:硬件:还有一个问题:在91C111的burst model中,一个时钟周期完成一次数据读写

[下一篇主题]:硬件:请问老古:我发现在同步总线方式中,91c111是在时钟上升沿读写数据,而68360是在时钟下降