找回密码
 注册
关于网站域名变更的通知
查看: 735|回复: 1
打印 上一主题 下一主题

51单片机学习:红外接收(对原子哥的ALIENTEK遥控器进行解码)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-15 13:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
51单片机学习:红外接收(对原子哥的ALIENTEK遥控器进行解码)
7 J* d% g% Y& A1 \( d. q, t
! V1 Y( ~& e( u( H% \8 n

) Q3 \! n4 s% W  {% z) j- A+ @8 {- c5 J2 |6 s- h+ |2 R8 R

. K+ b2 P/ S# ~, G6 A( P2 [正点原子的ALIENTEK遥控器
- m' V+ m* i3 L; ~4 e. }' B用户码00ff
; B- F' i) E; V; S8 f* w* s6 j+ ~16进制键值码表4 W5 S; R" z- j* ?
45    46    47" f8 v( Q: S+ v& O% m5 I6 [, O
44    40    43! H; v& H) T9 \* w7 I' \, E
07    15    09
1 l3 c. q6 H3 O+ q16    19    0d
$ r) Q% R! o2 ^! S# i& a0c    18    5e* G) Q; ~/ ]* J7 Q$ I0 ?
08    1c     5a
3 ~# C  S! K& E: l, a42    ☻     4a
. |# ~) v; A) l; W1 m0 Q# `6 a# ~3 n' T% j% f! v
+ T; I& Z# s: S# I6 A5 J
2 Z1 P! h5 G3 i: e- ~9 H4 V
; H, m3 t# k6 R5 Z0 v7 Z4 K5 R# d* R+ m
红外接收管  通用型即可
& b* Y4 g3 o, B7 a( N
# m% @6 a" [# ^5 i7 v* A( q! H0 @* R& {
6 M6 ?7 b; }" V& ]: b8 k# B. @% }0 _+ }0 g- y+ N5 L
---------------------------------------------------------------------------
3 U4 i" t. y1 u下面是类似的波形图,这个是网上找的,图片较大,缩小后看上去有些模糊,不过没关系,数据手册上一般都有& {9 J/ o$ W! c. W2 Z0 l
7 j; M- ^5 O6 n& s# {7 V: Z
' ]* h8 M4 s* u# J" Z
0 g8 y5 f6 m! _+ ~4 C4 j
遥控器在发射红外信号之前,我们的mcu已经开启了定时器
1 v% z/ K- k$ ~) z" ~在定时器中断函数中的全局变量irTimeCounts++ 一直在自加
0 D. i9 D* J1 S9 oirTimeCounts多长时间加一次? 或者说多长时间进入一次定时器中断函数呢?+ \: [' M3 \' O  G7 |0 r5 q2 n9 d
在方式2时,t=256*12/11059200 约为277.78us" Q( u" p: D5 B( q
============================================================, V! e, K' P. ^  E6 U
1.对于1.125ms的时间,timer0会中断1.125/t=4.05次 也就是要5次,算上各种误差,(顶多5次,至少4次)
! x; J. q6 Q" U9 ^4 r' B2.对于2.25ms 的时间,timer0会中断 2.25/t=8.1次, 也就是要9次,算上各种误差,(顶多9次,至少8次)9 o) \/ e, \( [" h& s/ X0 R
  对于这里的次数,比N次小一点,就是N次,比N次大一点,就是N+1次,因为不会有半次,
5 c- `. Z/ E) _( b- |! z  误差给它正负0.4次足够了,给了误差后再算次数,直接舍入就行' z& ^: v# q( t
那么我们就检测irTimeCounts的值,
! x: ]! Z' M: H* z2 O: F: A3 p如果小于6或7,那么接收到的数据为01 _$ D. X8 Q  \
如果大于6或7,那么接收到的数据为1+ a8 u* U. v( V$ B! }
从计算结果来看,我觉得0.56,1.125,2.25这些值的出现是比较合理的,: Q" Q7 H+ @! d' p; G" V
能有效避免由于器件误差和环境造成的数据误判,而且计算也方便
9 D5 Q% U' D0 _/ o& @! p& m

/ {. M- R, R. Q- i
0 g# K* G; T8 C2 r* O4 C/ T

  p2 q9 o: k  g+ x, w: k
  v2 J7 b3 |8 T# U) ^' t0 g
游客,如果您要查看本帖隐藏内容请回复

7 f* |2 T5 ~4 r

该用户从未签到

2#
发表于 2019-1-15 23:32 | 只看该作者
好东东,学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 10:20 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表