收藏本站

开盘机音响技术网

 找回密码
 注册加入
查看: 8850|回复: 14
收起左侧

苹果遥控器+51系列单片机=红外控制STUDER录音机

[复制链接]
发表于 2012-2-18 12:29:14 | 显示全部楼层 |阅读模式

赶快注册并登录访问我们网站,呈现更多精彩内容!

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 6 c, W' O* O4 x# u; ?* f/ p
6 _1 l2 P" ~' v) _( _
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。% Z4 v9 d; t. h: I8 g5 F* _
0 m9 ^1 u, Q4 }* V  b2 Q5 l
说明:
+ X3 U* m% K$ e3 |2 ~5 c; J1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;$ W+ V0 S3 O5 B, u2 l# L% S0 y
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;6 y; L/ z$ B, K% Y, {

2 i1 A6 D( |& i% q/ B一、基本思路
4 r7 M; ~) X' u: L2 x使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。. `$ c7 b- E) Y6 Q( A: @4 P6 H

! K. m' W7 e* v9 p二、红外遥控器  B/ e+ Z. r, a; _
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。5 I' A- E" \" l- O9 y. D
Apple-Remote.jpg
4 n7 O2 h' N+ Y好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
1 c( _& h9 e# f' z* u Apple-Remote - 副本.jpg ; J+ B( X* N6 V) @+ A+ n8 s9 O# d
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:$ o6 s4 u: ^4 ?# x2 S/ a0 g
Apple-Remote - 副本.jpg 6 H0 a; W/ r9 `: ?/ Y6 ]. [. c

% v2 F" O% B5 Y( W6 z# Y# t三、红外编码' x& O$ p6 g/ }2 Q3 Q! `
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。1 Q0 I7 |. U/ ~: r* n
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。) J" `- I, N7 O& f% B$ V! V
后16位为控制码,主要用于实施具体的控制。
" z) I7 B( [  o这16位中高8位和低8位互为反码,以提高可靠度。3 G& F" F* O7 n5 ]1 y% O
7 M6 W" _1 V- ]8 I
以播放为例,其编码如下:. W4 V7 u# v$ v6 ^0 ?
00000000 00000000 01011100 00000000  F, b; i. q& C7 B- P" L4 i: a* h

. c0 s2 @" `; z0 R9 V. N你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。6 u0 R4 t4 I1 O/ \

7 S& N" L- g' P# W* R四、单片机系统8 z& y: z) g; @/ C) w/ H
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
$ w6 u7 K% @' o c51.png ) X: V8 U0 B3 \( I

4 J$ [$ H7 N' `/ ]: I电路很简单,功能如下:0 o; F$ |  H6 @) A# d
1、一个AT89S52单片机作为核心;- t: R8 X5 t4 Q3 r1 S
2、一个TL1838为红外接收头直接串行输出数据信号;
' C3 s1 T' H5 v$ a+ Y3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;8 W' E% _# }2 b* D- V; B$ L
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。6 c8 u# f: b3 l* Q; k7 A
/ N, S5 B& M( x$ I
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。# Z2 B% _. w! z* }7 r5 M1 ^

* }! u1 f4 S) F3 L
# L% N- r+ o4 s/ N五、控制软件5 |0 ~* I8 f, b; y+ b+ z. }
控制软件用汇编语言写,源程序如下:
3 d; u! k6 M/ D5 X, `+ ^# T     ORG 00H
. L7 i7 v3 X; ^0 |" F2 R+ e     LJMP MAIN
2 E3 S( V3 H& K, M& v     ORG 30H! P% @1 R; [: o3 Z1 |
MAIN:
$ c: d: H6 f2 D     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)! k% s* [5 k2 D7 T5 v! o
     MOV TMOD,#22H  ;22H$ K' |! i: }2 `8 X5 I( n* G
     MOV SCON,#40H  ;40H% m) l# Q+ X4 y4 K
     MOV TH1,#0FAH  ;F3H
! E0 t; T& M; r3 `9 s     MOV PCON,#80H
6 x* O) e2 O& g/ `: ]     SETB TR1
7 Y( ?9 C6 l5 D) N' cSTART:! i, v; b$ Y- X* a% I" u
     JB P3.7,$ ;遥控信号处理
5 \- j5 {7 D: ~3 O+ BSB:/ K# q3 H" D" |) ]* s; z
     MOV R4,#8   
, ]# L+ h% T% o- i8 U8 z) jSBA:, h" W( t  B' w$ V7 T. q
     MOV R5,#250# S. E; \1 l* v. T3 Y6 e
SBB:$ \! |! ^/ u1 @4 O5 y- q
     JB P3.7,SXB1
% K% I; C5 L+ m9 M% }: h' h     DJNZ R5,SBB
' h0 @- ?. d6 y) A     DJNZ R4,SBA
2 A7 c8 x. Z3 }1 O     MOV R4,#2
* Z! P4 P' M/ c, @- L     JMP SBC
. d: V1 l4 f# }8 {  dSXB1:; ~+ R$ J) H0 H
     MOV R5,#5& W0 E5 o1 N8 r
SXB2:              
( [% v; K% T  E2 r0 B     JNB P3.7,SBB" c- Q3 c% a- J! q3 U* ~
     DJNZ R5,SXB2
) k6 Y/ k& l0 {* y     JMP START- ~7 k; ?( n6 p# w* |
SBC:
& A: C; J7 d* c$ C$ H, Y- t     MOV R5,#250
1 b7 q7 s- e( v9 B2 G' eSB1:
$ o' A4 W: L: @, A" \     JB P3.7,SB2  
: Y7 e2 v* y7 s     DJNZ R5,SB1) D" ?* u# ~4 Z& N% f9 s9 i
DJNZ R4,SBC
" M5 q3 U: I: P+ r* b/ z     JMP START
; @4 w. |  @" o, Z  u: ^9 \- a5 RSB2:                 ' q( M2 c5 U/ |7 ?1 a
     MOV R5,#5  N) p2 V3 C. l- b* b
SB2_A:
# L. O' Y& u8 J. ?3 k2 V8 x     JNB P3.7,SB1! o& X5 F& \2 `
     DJNZ R5,SB2_A2 e- R/ m2 l# m4 C, G* N9 }3 h# J, g
     MOV R4,#3+ N$ V3 G- v% O* V2 G
SB2_1:
; \0 W4 A, U5 m# L* @5 R& q     MOV R5,#250& N# Q# @7 J  M0 N
SB3:                  
) u* k9 h4 ?5 j! D4 G0 Z     JNB P3.7,SXC% T+ n; I  u8 m/ X
     DJNZ R5,SB3
) s1 v% ~! G# w9 |0 N     DJNZ R4,SB2_1& W  E% m5 |( s& L
     MOV R4,#2
4 J! v4 y4 n) A, N3 T     JMP SB3_1
9 O! X. C0 G7 FSXC:                  & q  q# \5 T' K
     MOV R5,#5
7 }: X5 T7 J# M3 QSXC1:
" G0 G" Z: r! h) @+ y1 g5 d5 n$ x- Q     JB P3.7,SB3
9 l$ s0 u% A: |) X     DJNZ R5,SXC1
: z( t; v4 ?& d* X     JMP START! k4 Z* M- U* D: p6 P. t7 V
SB3_1:                 % ~0 j9 t* W+ ?3 W: y" y
     MOV R5,#250. a( z* _: o% o2 V
SB3_2:
. H# l* R5 g# ]! }+ D* Z3 D     JNB P3.7,SB4
  z- C. o4 I8 v/ y; d) E; S2 A2 G     DJNZ R5,SB3_20 t) b* o$ \) E! i
     DJNZ R4,SB3_1
$ E% t8 N  @2 N, U  q     JMP START9 Q- q2 W4 m* N( L2 M! S
SB4:                    / r7 c  M6 {% H- h6 W7 i4 _5 K
     MOV R5,#5! Z- Q  p% R. C8 D4 j+ V0 ^
SB4_1:
' Y! i* [% E: W8 ]( K! L     JB P3.7,SB3_2$ t. _1 y6 q0 x, w0 g- |
     DJNZ R5,SB4_1. T: A0 F  a* I+ h- s
     MOV R1,#1AH  
* ]: T. N* d& r1 D1 J. D     MOV R2,#4
0 Z5 F+ L, Y+ C1 vPP:  MOV R3,#8
5 B' _4 v5 z% q* B/ v; e& IJJJJ:
! {7 a! l  n: d) F; D" B% ]% X- g     MOV R5,#250
# u: b! W; }1 m+ u$ y# pJJJJ2:               
/ R( t6 J% h( ^4 s5 J* R     JB P3.7,JJJJ34 l0 ]7 X! d& r: o) o9 R
     DJNZ R5,JJJJ2; w# V5 T8 a/ I# b9 V* u
     JMP START: t+ z5 c& x8 t8 y: S
JJJJ3:1 R8 z) q: F2 f* v$ c' i* Q* e: \! T+ h
     LCALL YS1  
1 B1 B0 ^; y' Y' b: C, _     MOV C,P3.7   
! S6 Q4 N! u$ k2 y7 l- n     JNC UUU      
+ s2 N9 P- k  ]! k) Y& U( O     MOV R5,#250% @+ s% ~0 A/ z
JJJJ4:
$ ?; X9 i$ O1 {! o- I* c     JNB P3.7,UUU
6 r' g- h; R" ]9 V8 f    NOP: U( l+ N) s" z! G" M
     DJNZ R5,JJJJ4
2 C5 ]& s8 \" i# W, Y% M     JMP START! R3 |5 n* W2 A0 K0 f' F  e
UUU: MOV A,@R1  6 D: A8 H' V- V! A  R
     RRC A           ' V; p5 y, F2 I4 G
     MOV @R1,A      
& d& ^% }9 p2 B' v0 S8 k% _$ B     DJNZ R3,JJJJ   
1 j) e3 g3 e/ A: Q/ G* N     INC R1       3 R% Q0 M3 X$ S
     DJNZ R2,PP   3 t* G. b! U9 ?) s
* s) Z, G/ q4 d% D, R# F& R3 q
     MOV A,1AH 2 Q5 B) P' R1 W. |* ^0 v* F
     XRL A,#11101110B% d1 r/ j9 F" F# p
     JNZ EXIT
( z9 l) O' M& n. F/ `     MOV A,1BH 4 L7 \7 ?7 y3 O
     XRL A,#10000111B0 m6 x5 I, @5 E3 D* ~/ L: t
     JNZ EXIT % P. B4 T* I+ p0 c, A7 w
     LCALL YS3
# G! F% m4 z: ]4 w. S6 g6 M     MOV A,1DH
1 a: V1 `( d0 l" p     CJNE A,#10111100B,EXIT) _0 a* K) }8 U% V
     LCALL YS3$ u4 G! a( O1 m, v' N0 X
     CLR P2.6  " Q; P! G& b, G- X6 U9 g
     AJMP BIJIAO/ W- X/ M5 g+ U
   
0 U9 z- ?: ]% n* HAA:
. i2 J1 N9 Y' s, E5 b     MOV R1,#25
; L/ C4 s% k. N! hXX:
0 I1 l# Q! [7 Q) n- B     ACALL YS2
# ^4 S0 U0 K0 c! S: R7 C% E$ k     JNB P3.7,HH . m- b) }& R  f' a" t  W+ j& d5 I
     DJNZ R1,XX
) l& a( G% x' D* T# }EXIT:   
) S. N% F4 s9 |0 I( X6 Y1 D, N     AJMP START
" F2 I3 ?" y+ s# [" n   1 n4 n6 v5 M6 k7 M- o1 m: F1 ]
HH:
% H1 A$ b$ \7 x1 Y+ _     MOV R6,#4- S& e6 Y/ v" u* ]/ d
S:
+ a3 F: h* s8 `! j# H5 I     ACALL YS1
# [4 k" a$ k/ x2 U     JB P3.7,EXIT 3 Q) p  g& Q7 t/ W, s2 B# j
     DJNZ R6, S
1 Y! U" w# k$ l' y8 ?     JNB P3.7, $  
# J8 N; T8 F4 B/ ~- L" t* i     LCALL YS3- v  B7 L/ z, p* ^' Q5 i
     AJMP AA
) X+ O8 X( R- C/ o9 D+ J9 F) JBIJIAO:0 T( s- F0 d4 z! M
     MOV A,1CH + M( a0 [7 ?% u. O% b5 w8 e: Q
     CJNE A,#03H,N1  0 U  h4 V" v- J0 }" f
     MOV P0,#7EH   
+ a3 f' X- G7 P" D                     
: z! L3 b- x5 D  j* c6 S% v ;处理STUDERV录音机控制码
9 u$ g/ ?( L6 ~3 T' C2 pN1: ' \3 n' X8 i; K. L% C9 g" c
     CJNE A,#5FH,N2 ;播放键* R% @! w0 o. C* x3 c6 y) u
     MOV DPTR,#REP- l9 B5 I( x4 u
     ACALL SENDA
; L$ n- Y! M5 o: a% Y* R; e     ACALL YS4
: ^6 W* U- j7 n$ e+ H     MOV DPTR,#PLY
1 Y9 n( k' _$ Q3 }# I0 ~* _     ACALL SENDA
% B' I$ M$ {/ J8 B0 ?N2:
2 V. ]6 K( @4 ^4 l     CJNE A,#5CH,N3  ;停止键: C4 m1 t( z% c# k& N& P6 e' |
     MOV DPTR,#STP7 @8 G8 F9 s. {# c: o
     ACALL SENDA
! W/ a0 p" a" g5 Z8 A; D9 a5 XN3:
' J3 Z/ c/ k  p7 b     CJNE A,#06H,N4 ;快进键
; X1 N% E" y: R0 \3 t     MOV DPTR,#FWD) b2 ?7 `" _7 N2 I  {% U8 E/ t8 p; S
     ACALL SENDA
2 d7 ?1 `% n- _& L! ON4:" ]. |* l7 n' P! G. n! [
     CJNE A,#09H,N5  ;快倒键- V3 _+ K  \  i9 H5 _
     MOV DPTR,#RWD
% O+ J. V5 R5 D' |  N     ACALL SENDA
4 f- g% Y! J3 S0 i* S; gN5:
; |! i& s/ z$ h+ h      CJNE A,#0AH,N6  ;置零键8 C0 i: N8 X/ _; ~( v
      MOV DPTR,#RTM8 I3 ?: j" `( W, E% n- [
     ACALL SENDA
# {2 o, }8 M3 U, K5 WN6:
6 M; b) R  H- E" ~     CJNE A,#0CH,N7  ;定位到零键
0 C# z6 ^+ |2 k' V     MOV DPTR,#LZA
2 p' P, {3 b& {7 z: D' |8 j     ACALL SENDA2 Z; [" A8 x5 ]- M3 E
N7:/ t* g  Y! e' @0 ^7 |' C6 m
     AJMP AA! f; y1 K. K( x) C1 H$ o& o8 I
SENDA:
' x# R- [6 H" G+ N5 H  m. ?     CLR A
( o+ q" N/ ], k! X4 f     MOVC A,@A+DPTR/ R( y+ {: B" V' D+ U) m1 _4 Q$ t
     CJNE A,#'$',SENDB5 d5 |' w# c4 _7 `
     AJMP SENDC) q6 ]/ D3 Z% ]. H, v% r6 j+ D% ?% p
SENDB:
& ]1 T0 P; k$ k5 ~6 y$ P, U1 C4 T  A     MOV SBUF,A" O" t9 i$ ?6 T. t* u8 {
     JNB TI,$
& w' l4 I% K' T, P# e: V" e     CLR TI& q+ ]7 m) S" y2 {
     INC DPTR8 ?8 F6 k$ o) r. m9 l8 m* `
     AJMP SENDA
( ^/ B0 f  |% xSENDC:! `9 ~% U% z0 @: l  x
     RET, n1 K, [0 [4 C+ v$ T

/ W- w. a$ j" [9 `PLY:  db "PLY ",0dh,0ah,'$'
$ d3 @* ^- Y" L! {$ FSTP:  db "STP ",0dh,0ah,'$'- I! u. w% n9 J; [
FWD:  db "FWD ",0dh,0ah,'$'
( @- u9 B3 r- |" ORWD:  db "RWD ",0dh,0ah,'$'& W0 Z: o, n# \# z. h
RTM:  db "RTM ",0dh,0ah,'$'
& f" {) o) j, j9 s0 F+ v1 M+ ILZA:  db "LZA ",0dh,0ah,'$': k0 a/ P1 v9 e5 W" N  {
REP:  db "REP F ",0dh,0ah,'$'
) p9 }, H3 `" [/ m) g; I, j
" j3 v0 J! z8 `  t  J/ ]YS1:
7 f- s) y1 N" U6 G6 R$ ]8 ?( n+ L     MOV R4,#20, ^! ]: R  g1 U4 |. J4 d, c  N
D1:
* p) L; d; ?, C$ R2 x  @     MOV R5,#20
" N9 R2 e9 v) ?4 P: c; d- J( G( l     DJNZ R5,$
4 S. p& o, w/ r' }     DJNZ R4,D1  @! Z9 |) D8 j
     RET
7 ^6 G! `2 q, k& C7 a) ?/ R5 r% ?6 B, ^2 e4 `4 @
YS2:* g' T5 F& x( Z
     MOV R4,#10
1 F& i6 i6 ~1 x" p: B" B, B3 e. V5 oD2:
& ]4 P( c' ?; A! b2 Q9 ~0 T  G* c     MOV R5,#235
  M' H& _% W6 Y2 A& v) i7 N5 Y4 A     DJNZ R5,$
$ C& f/ @  C* t! z  A     DJNZ R4,D2) V7 i4 H, A6 U% c
     RET
9 R3 b; \# ~/ t8 D" W2 _5 z# x$ q' J& P- R; t3 `
YS3:
1 R$ I$ o% x, F     MOV R4,#2
7 o7 ?; d6 u* }6 a0 a* j  ND3:' L( {1 U6 K5 R5 i8 H9 y& O
     MOV R5,#248
. L  p) H0 V8 [. {8 {& }' a$ @     DJNZ R5,$
. W- O: \3 t# n% e* Y) k     DJNZ R4,D3
* T& ?% I1 g: `4 i- k; `     RET$ F( W, A6 [. B/ p) D/ }" b
2 s* F* @: k5 }3 [! Y) a' z! @2 T# @
YS4:# B8 n: y8 O2 @  X0 ?% K
     MOV R4,#200$ ?/ Z  K+ U, }. L# y7 ?1 P1 m4 t8 O
D4:! Q+ T% Y. C- Z! d
     MOV R5,#248) E* M3 @+ `& ~
     DJNZ R5,$* a" ~: f1 B: z5 M+ A/ f0 U/ ?# w) B" M* ?
     DJNZ R4,D39 }( F6 u) {, w: m0 |% y# P3 G: t
     RET8 h% S( }$ m0 y1 x% [" O- S" i4 d
     END; j& F3 b0 ~2 x  Z- K

' e+ u' u9 @3 Y/ {7 S9 R. w% E有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
1 Q- P) w% d. o" `+ a是不是很惬意,嗯!
) w7 x+ N1 x1 d6 \

评分

参与人数 4威望 +54 收起 理由
tempo + 10 原创性
木又 + 4 好技术,建议楼主做成品,赞一个
开盘机论坛 + 30 好资料,支持!
红灯记 + 10 好文章!

查看全部评分

发表于 2012-2-18 12:43:13 | 显示全部楼层
我准备试试{:4_214:}
 楼主| 发表于 2012-2-18 13:03:33 | 显示全部楼层
红灯记肯定没问题。
 楼主| 发表于 2012-2-18 16:54:48 | 显示全部楼层
最终的样子,有点简陋哈!2 b" _; A0 E: s# `2 x/ O
YK 005.JPG
0 }, S. T) e" M& ~( a: A
发表于 2012-2-18 18:25:45 | 显示全部楼层
这个很厉害,楼主令人佩服{:4_219:}
发表于 2012-2-18 20:30:22 | 显示全部楼层
发表于 2012-2-19 00:06:30 | 显示全部楼层
怎能長他人志氣?自己設計的就要站出來標示自己的創作,讓別人引頸為盼!!!{:4_213:}{:4_213:}{:4_213:}{:4_247:}
发表于 2012-2-19 00:45:50 | 显示全部楼层
洋为中用,真棒!我得试验下
  }5 u8 ^4 B9 `, j+ t
发表于 2012-2-19 09:00:40 | 显示全部楼层
厉害.......{:4_219:}
 楼主| 发表于 2012-2-19 10:01:48 | 显示全部楼层
其实也是不想破坏原机器的整体性,要不然就直接装录音机里面了,电源也好取。
发表于 2012-2-23 14:46:26 | 显示全部楼层
{:4_213:}{:4_213:}{:4_219:}
发表于 2012-2-23 15:27:13 | 显示全部楼层
有创新,值得学习{:4_219:}
发表于 2015-10-2 20:30:26 | 显示全部楼层
還有這一篇,找時間深入瞭解。
发表于 2015-10-5 13:32:58 来自手机 | 显示全部楼层
楼主计算机功底扎实啊,学习了。楼主是否熟悉过去计算机用的1/4吋525M的磁带机,是SCSI接口的的。
发表于 2015-10-6 11:14:18 | 显示全部楼层
zzrs 发表于 2012-2-18 16:54
" k; n) o( z3 \7 ~7 B最终的样子,有点简陋哈!
) `% B+ E# ~3 R! J( F
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

手机版|开盘机音响技术网 ( 桂ICP备20003207号-1  公安部备 45010302002201 客服:18077773618

GMT+8, 2026-2-18 16:39 , Processed in 0.126347 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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