收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
, A  U: d( M* a2 k: u9 d! A% ^8 w7 A4 }4 Y5 I4 b" h+ k  C
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
6 N& I/ w5 y9 P9 R. o3 w0 L! Y1 B* N6 a0 F2 k
说明:2 Q5 O: {* L% V! P
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;; t5 t& R) ~' K. _
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
- c) w, v0 q5 H2 {
) x4 @' `/ W; u' ?一、基本思路
* z, _& z6 W  Z$ }  z& S0 L使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
! v4 q6 d; o5 S, r! e4 r) U$ `( b, c; t' s4 r  ]& X
二、红外遥控器% y3 B) P/ m* o; ]5 }+ u6 ^
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
) M! D* n! B, {/ z$ l" _+ f' [/ l Apple-Remote.jpg / L% \5 Z- Y1 ^8 R! @
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
% Z9 y6 c5 o3 V Apple-Remote - 副本.jpg
% H+ ~5 e! @& ]$ a, d在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
1 I% {2 N: ?* @$ ~8 p0 ?% G Apple-Remote - 副本.jpg
& a4 z; I, x' t2 [6 r. ~; U2 ^. C* l
三、红外编码
9 `- ~  c* k, B) ~% G/ F红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
1 l( \2 z$ d2 X) a+ G4 p; n前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
/ I& N+ c, y1 Z1 M后16位为控制码,主要用于实施具体的控制。- I3 w- v4 V  f/ d  Y& D
这16位中高8位和低8位互为反码,以提高可靠度。/ b' n6 m; V  r% K, @" {- g# Q
7 j( n1 G. T& a0 ~4 O
以播放为例,其编码如下:) N" @5 Y$ o" a
00000000 00000000 01011100 00000000
, L" y: _9 l' E7 A* R3 c! b, _! R7 V: q% D/ x9 R
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。" E' J; x' a& G# t! R0 ^7 F
& I- H; ^: E% b1 S" J/ B
四、单片机系统* `/ a4 S% s8 H; A* }8 e
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
3 @& K: ]% M7 a. P/ z: S! D c51.png
8 P6 a7 T! \) I3 |  p & G0 l* b2 ~" S
电路很简单,功能如下:% y8 y6 C) B: y! U* E
1、一个AT89S52单片机作为核心;7 R7 ?: i# o3 ]  F' M
2、一个TL1838为红外接收头直接串行输出数据信号;
0 Z" d$ E5 j4 k! @# @4 o4 Y3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;# S$ H2 x, u6 H* D9 E
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。5 b  [% v# X( J9 J
& U/ U0 r" O* g' E8 f2 }
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
$ D, c* F3 _, R( v
- i* s4 M1 e, S# n/ v
0 g! e. w3 R, B. _) a" {五、控制软件
: \0 D$ d& E9 t, u
控制软件用汇编语言写,源程序如下:
" Y2 J% N' N* }$ N5 j     ORG 00H
  M* s9 g0 w% V/ x. o* a8 a; ^     LJMP MAIN
: Q$ F# `  }1 u1 h, R% G     ORG 30H
! L, K; r( k2 s8 `% F1 FMAIN:# B* F! y4 h* J4 A  T6 k8 X
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)! T: O  m, X+ F
     MOV TMOD,#22H  ;22H
# U" @8 |& _5 F2 T  b# I# K     MOV SCON,#40H  ;40H  o2 ^5 r3 t- r; H3 N6 b' g: ]
     MOV TH1,#0FAH  ;F3H% L4 |: j" M- h  d2 L/ X
     MOV PCON,#80H9 x! X, M( x2 `! {7 z
     SETB TR15 d- a+ Y0 m! z! b  m9 a
START:. @7 b7 M; P7 D- j6 U
     JB P3.7,$ ;遥控信号处理0 ?$ r: L. H. I+ x' D1 I
SB:
$ N  \, m1 w& ~2 b! [" g% @8 R     MOV R4,#8    1 V/ h! c: v4 k; m" H" p1 Q! D
SBA:9 ^& r( r; E' b8 |% a
     MOV R5,#250
  N9 {- f1 J) g% v+ A* H2 USBB:
6 v, z7 l6 `) A     JB P3.7,SXB1, k5 K6 ?; `5 e
     DJNZ R5,SBB
5 c' H, P9 @3 Z     DJNZ R4,SBA
6 O8 M/ I. u8 o1 ?     MOV R4,#2. M; w) ?7 }, ^/ h) g9 F
     JMP SBC% w3 u9 r# n+ ~: a; H+ H6 Q" D2 f
SXB1:" v: E6 N; ~9 k' {9 |# \* ?
     MOV R5,#5+ R; d+ o0 B/ |$ x
SXB2:              
4 p8 M) x9 ^+ F     JNB P3.7,SBB
1 }( S' y" @' ?/ d  K     DJNZ R5,SXB2
- f1 K2 z. m  u" S" j     JMP START
) F3 k2 h6 x) XSBC:
* Z2 j( u: t8 c8 i     MOV R5,#250" F/ ?2 W7 c8 y, T
SB1:
0 M8 F/ [8 i# C     JB P3.7,SB2  - Y& Q9 d3 \. g& |* t
     DJNZ R5,SB17 H. Q1 L7 K& a4 t2 z( a
DJNZ R4,SBC
* _5 H! w0 V7 b; k: M     JMP START$ r: L7 Y+ g9 N. r( ]- ]
SB2:                 
6 }# L, B2 q3 a7 {* p) m' _$ E     MOV R5,#5
% \- q% d1 T& x2 B/ k1 ~8 BSB2_A:
- e7 z( c6 H" `; {4 m     JNB P3.7,SB11 e8 X1 i9 U' A3 e% ^7 S
     DJNZ R5,SB2_A
0 s6 S$ B1 z2 {/ ?  _     MOV R4,#33 J% _9 C5 C! x- u$ U9 m8 O, D
SB2_1:9 M2 m. n' [; e
     MOV R5,#250  O' F$ K5 F# r( R8 n  Q
SB3:                  3 C& }( p' p- c- g2 z9 W8 S1 b
     JNB P3.7,SXC6 X1 Z- Y/ }2 t1 R; K
     DJNZ R5,SB3
7 Q& D' G. e1 ~3 [( i     DJNZ R4,SB2_15 r: X9 o. \' `8 R
     MOV R4,#2
5 H( z2 [+ M  ^' J     JMP SB3_1
& n8 h1 k: N  [' u8 @2 {SXC:                  : y# y1 U% i: M$ ]4 G' _
     MOV R5,#57 h- ^: G! t" k" S
SXC1:: \# o( M0 ~6 S" [/ O- U9 A* g
     JB P3.7,SB3! U: e# E' o. }/ ?: g
     DJNZ R5,SXC12 w% }  H$ W* F& G/ I" t
     JMP START
+ W. Y* W& }$ l5 }SB3_1:                 & ~0 O( s7 f! m, X& a+ M) D
     MOV R5,#250; m" W2 Z( u; n2 j* B
SB3_2:9 p6 v: k8 O/ p0 R- W
     JNB P3.7,SB4- u  L. s7 d% @+ z
     DJNZ R5,SB3_2
9 ^' {. P/ ]! Y1 K$ ]7 H     DJNZ R4,SB3_1! L: y1 O( d. [& x8 s. [/ n
     JMP START
  @( Q- P( I" A- QSB4:                    
  ]' W6 ~* N: Z$ O+ E  Y0 Q     MOV R5,#5
6 X% W$ Y% ^$ i: j4 O5 A( B+ ?! aSB4_1:  ^  h4 c0 X5 j+ R- ?/ Y
     JB P3.7,SB3_2( E$ c$ D1 ?0 k8 ~0 ?# k
     DJNZ R5,SB4_1
# U6 j) T/ Y0 p2 ?     MOV R1,#1AH  
5 p& T4 g- q% k& x/ j     MOV R2,#4
4 A! s, f! L9 g" Q5 APP:  MOV R3,#80 R2 D, x- d% Q; t# g* F( k
JJJJ:
) _! W5 k- k- I5 s  L     MOV R5,#2501 R, N" G5 r# i/ i: Z
JJJJ2:                0 D: x: u! v8 W
     JB P3.7,JJJJ3
0 }" a* A* F0 J/ l) s" k) v     DJNZ R5,JJJJ2
* j/ w. t2 [& F$ ?2 F6 E5 |2 m1 ]     JMP START
+ b& @! e- o# f8 E+ }JJJJ3:+ t# Q1 b" R* `# d1 a+ j$ i
     LCALL YS1  
& W6 ~9 c, r* P( p; T     MOV C,P3.7   $ w' _1 K' e5 M1 D4 d
     JNC UUU      
/ X  ?: w2 Q' p2 U$ C     MOV R5,#250
# B& Y) g# F3 pJJJJ4:
- e2 g  ]5 [  C! |- h& k1 x) \     JNB P3.7,UUU) {9 d. s6 V' C
    NOP  Z( f7 t+ ~: R: Y
     DJNZ R5,JJJJ4# Q0 S) Y9 A9 t1 \. \- e+ L1 O. s
     JMP START
$ o) B$ O! W2 _! }. I- A0 s  ?UUU: MOV A,@R1  # J# ?. m% \& }% w9 V
     RRC A           
7 o; W2 d) u' i2 o" d3 E     MOV @R1,A       / I) O6 r: D( j8 T# y
     DJNZ R3,JJJJ   4 B, W. q. ]- G. ?3 C
     INC R1       5 W/ F& _+ t' U' c. E
     DJNZ R2,PP   2 x: w0 i0 v* |, H( P7 Q

% c* ^) x5 N2 E2 w0 C     MOV A,1AH & F; \+ b4 ?* U2 E1 M8 j
     XRL A,#11101110B4 q$ G" |  ?0 W+ ~: W0 P  O
     JNZ EXIT
9 I3 n) B7 s6 r6 q4 {& A5 s     MOV A,1BH
8 O/ r4 @' @/ @' O) Y" M/ c2 c     XRL A,#10000111B  K# r; b+ S' n  Q( [& B
     JNZ EXIT 2 f* X1 W( f4 M3 X1 O
     LCALL YS3
4 F9 n/ ~& w! h4 L1 w& n     MOV A,1DH - w* j+ L! T! _) g
     CJNE A,#10111100B,EXIT
7 t+ a3 A$ ?# u+ H9 Q. B     LCALL YS3
9 b7 u) Q- M3 S) @& w     CLR P2.6  / u( n! ?9 t0 r6 v  k$ F9 F' l
     AJMP BIJIAO
; x1 T* N, l8 j; a   
; l) I0 k  _  v+ tAA: + Z% y/ B& T6 l
     MOV R1,#25
5 z/ D5 r3 m/ O4 G# d3 e( J" dXX: 9 U9 }$ e' w: v7 X/ ]3 D, V! S9 H
     ACALL YS2' m1 ]! `: @: P& G3 D
     JNB P3.7,HH . C- e) q, N1 _, R5 F- W9 |" ]' w$ C
     DJNZ R1,XX6 d  A2 ?1 h) W( |4 ?
EXIT:   
, t# ~- U7 T9 C0 E  q3 x( F$ U     AJMP START
( Y0 |: P' n' j' Y1 u' p: d   
( d5 S3 f: t) W4 O2 b* J+ z4 `HH:
+ @( O: C/ t2 Y/ K- K* _. ~2 K  o     MOV R6,#4
4 J0 p- K8 j& F; e8 L( G0 _3 g$ [1 gS:
  G  b, \1 p8 V1 R     ACALL YS1 4 s+ ^- Z  c1 b# t
     JB P3.7,EXIT
; t+ S# s& ~$ H5 n     DJNZ R6, S
; k- B5 D6 J* s0 t7 H9 v     JNB P3.7, $  
/ A- f& j9 v( C  O+ {  ^/ n9 d     LCALL YS3
' x9 @0 {$ ]4 c' y1 p     AJMP AA7 A& s' S0 c: \
BIJIAO:
2 u- W2 u/ _7 D     MOV A,1CH ; L; L. n& m1 ]6 Y9 f' q
     CJNE A,#03H,N1  & ?# k; |4 r" J  U9 _
     MOV P0,#7EH    : q- ?3 s) k; S1 b; v% L
                      , [1 n) }& n: d9 c7 ?" k
;处理STUDERV录音机控制码4 b& ^9 d' _% L  o6 u6 e: _
N1:
# R! |4 N. x2 l. A2 h* `     CJNE A,#5FH,N2 ;播放键/ d( q$ V1 q+ v/ r: K! f
     MOV DPTR,#REP  \3 X- x, ^$ T3 p/ n# P
     ACALL SENDA$ Z& \4 h- K+ M* q; |# D0 a
     ACALL YS48 @) a# A& C3 V' A& g
     MOV DPTR,#PLY
) u3 z* o7 X$ A  A" B" h     ACALL SENDA/ o% [( B3 Y; a
N2:5 K' N! A& c9 o- O
     CJNE A,#5CH,N3  ;停止键# t  j/ A' E( ]5 C* c/ B8 \
     MOV DPTR,#STP
4 Y$ `- E; H/ O! c     ACALL SENDA
6 n! N: J! n4 W( _N3:6 k# y  q: D/ q6 x7 P# L
     CJNE A,#06H,N4 ;快进键  y$ `0 L. I9 ]8 j
     MOV DPTR,#FWD. y2 A- [0 }! o7 D+ s. I% j
     ACALL SENDA
' h$ Z. p/ f& g, ON4:
2 r% W7 e" r( g# t' y: B) \7 Z     CJNE A,#09H,N5  ;快倒键. k* V& x% T. I7 n+ F  T7 o( ~9 E# u
     MOV DPTR,#RWD2 k0 ~( D% |" [0 k7 \% n+ ?
     ACALL SENDA' \# d; D1 X& D7 t8 Y
N5:
- W) _" A6 r! J5 U      CJNE A,#0AH,N6  ;置零键
' u8 X2 w( o5 ~0 |. G      MOV DPTR,#RTM# b& `5 ]0 t% H7 n$ C
     ACALL SENDA
/ K% T. Q/ O$ V1 X5 EN6:
) o  c0 s6 t' P5 P* G2 F     CJNE A,#0CH,N7  ;定位到零键# U" x0 `5 M$ X- [! i) y
     MOV DPTR,#LZA
% {1 `8 C4 [6 u( m: }' i( E1 Q     ACALL SENDA9 y  u& C- D# u9 _& k0 E+ l* ^
N7:0 S/ k0 {' A4 s
     AJMP AA
; s, F$ X) E* C# r- d$ b2 a9 ESENDA:
% m5 j3 w& j0 P     CLR A
% a# c- c: t8 j     MOVC A,@A+DPTR
# H+ q2 t3 u# \" l8 z  E' l; \& a3 `/ ?     CJNE A,#'$',SENDB. k- l4 v4 D8 Y/ C: g: Q
     AJMP SENDC
7 _- E  s% u! `1 N2 rSENDB:/ p, n; X2 O1 K- f" {
     MOV SBUF,A+ z2 g) b# c" e$ `, L) v2 C
     JNB TI,$
. {5 W0 R1 i7 P' K     CLR TI7 k7 g4 R0 w- X/ b
     INC DPTR7 [, Y. Z- C/ S
     AJMP SENDA
* G# {7 ?' s: b8 \( U  F  PSENDC:1 F$ k0 }2 }4 H" e4 Y# B
     RET
; r8 p( D: ~, f( X& y( G9 F4 v6 H
$ B) C$ M+ @' ^PLY:  db "PLY ",0dh,0ah,'$'
6 f4 T/ }$ C; m9 J9 t, ^" P  zSTP:  db "STP ",0dh,0ah,'$'& E+ y+ ?* k: N7 c  ~7 f
FWD:  db "FWD ",0dh,0ah,'$'; A# D: @" Q# D& L3 ~
RWD:  db "RWD ",0dh,0ah,'$'
6 p1 i$ ~& v2 z( h+ HRTM:  db "RTM ",0dh,0ah,'$'+ S# z' M% ?: d' K
LZA:  db "LZA ",0dh,0ah,'$'9 L, y8 K# z3 m. z7 ?
REP:  db "REP F ",0dh,0ah,'$'
  B) |5 V$ |% f, O9 Y6 ]
) V6 ~0 E9 P- X* v( Q- jYS1:. Y8 S& Q7 {2 m3 A0 P' [2 p
     MOV R4,#20
  S( }+ N& d8 M* F1 l: M; SD1:
+ n( O' N( ]6 B     MOV R5,#20  M$ p6 S8 L) q1 b) W' b
     DJNZ R5,$# b7 H: x  G( r
     DJNZ R4,D1
7 e2 b, d" L) g  ^/ z" S2 t     RET, C' V5 D& Y) y0 p* z" k; q( `+ x2 g

( \7 D% M8 |" T% |# w( hYS2:: |5 q( G' g0 a# O! `1 L
     MOV R4,#10: r7 f7 P+ O2 F" U
D2:7 g$ G4 Q: K1 b$ e4 I
     MOV R5,#235
4 L- a( H! I% Z: {" D" V     DJNZ R5,$
+ H' ~' ~  O4 ^; N( z* H+ R- S     DJNZ R4,D29 S1 h: t; J* w5 @3 w$ P" {
     RET
5 F& J6 R' v" o& V/ M1 Y
" h7 y2 w( ]& \4 s& j0 W" NYS3:
. F! F1 k0 T- j! A9 b7 r     MOV R4,#2
# A, ~; _, O7 sD3:7 `0 u" X( t6 |) V! @  `) T2 [
     MOV R5,#248
; E. N, p2 C9 y" N0 E: R- J- |     DJNZ R5,$/ o4 o  \' [' r' M5 q/ K
     DJNZ R4,D3
4 n( j9 X6 v! k3 X1 B5 Y! h/ h     RET7 U! u( O" S( l  V  p3 G

6 G3 p1 @4 f4 h$ N5 E3 k3 X! B! wYS4:' A2 r, Z' {6 `" W2 X5 ?* d8 [
     MOV R4,#200! B1 U  j) S* |! R
D4:
2 O+ p: M; `( c: d     MOV R5,#248% ^" Z5 s5 S/ g' j8 F5 a1 U
     DJNZ R5,$6 g& N. C( D- e/ G0 U: c
     DJNZ R4,D3
+ x; n9 f+ c* U4 w" p     RET5 V+ Q( Y$ O* i. v! L+ {% B
     END
) Y5 ?+ d! K* s+ D: e
0 c! A5 v8 m# }' H! d3 q' j有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。) j( R0 z7 `' e/ R# b
是不是很惬意,嗯!
) p+ @* a4 S" D5 P; _0 W9 D3 R

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
* T" H- ~3 g) K4 c. Y  d# D YK 005.JPG . m; b- J; Z! @, \2 h2 h0 s' C0 [
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下; _# h' e! `; Y7 T0 E
发表于 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
" d# U( q1 q5 b9 z$ k最终的样子,有点简陋哈!
5 z9 d% q+ |- b/ n+ L
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-7-7 01:16 , Processed in 0.290483 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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