收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ! k2 J( x. z$ p+ d) R1 N1 S" d

* k* k( L) R9 N$ o) [) d本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
8 s5 y( d9 Z" D) E9 o
0 v6 i  i  ]+ Q. M' K说明:
7 X5 ?6 a$ l( \0 k: f! N: P1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;+ I) t8 [5 b, L" h! t
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;' @) B% i9 x0 h) }6 v2 n- m

7 J* b" }  @$ G' k6 j一、基本思路5 m" ]' y% o" I/ J! n, H- X0 [. A4 W
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
6 ], M* q/ Y  k% n( \2 n
* q. E# i* N8 X0 r二、红外遥控器
% _2 K: Z* M! A+ {+ }$ T我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* z* \7 z) a3 B( s4 U
Apple-Remote.jpg
7 \% w+ O, L, v! Y# G好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。1 V, \2 x/ I8 E. d
Apple-Remote - 副本.jpg
! c) W9 y3 S5 z) r3 d. g* g4 d8 o# g在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
1 Y8 H# d& l) _8 b6 ^1 P% K Apple-Remote - 副本.jpg / ]4 X4 p, T  e0 @5 M; ^( I
- G" @  n$ U5 y- I6 U  K( I
三、红外编码8 W/ ~) w! r; z$ |
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。$ |9 a3 L$ T4 U! S
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。# |- Y. K/ v9 b) i
后16位为控制码,主要用于实施具体的控制。
  N( `! C- w/ J这16位中高8位和低8位互为反码,以提高可靠度。4 C. n' ?' {3 P: M' {! Z

# z% R. }' f1 j, W$ o* w- q% ]% [以播放为例,其编码如下:3 F# u1 S* N0 V9 r7 f5 u
00000000 00000000 01011100 00000000
9 s! u$ a- h4 r! a
. d7 p2 z& q& J5 j1 W你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。: N4 ]1 k6 {, @4 _

0 c. z; ~$ w% M) F7 H# i% V四、单片机系统
6 p/ ], x/ o. r3 V0 i2 r4 t0 Y9 ]! U6 o
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。: `6 K, ]2 `" d. v  H! e
c51.png ( m0 ~5 L# w/ C
: ~9 A" a  B2 K0 i5 S
电路很简单,功能如下:( \. M: E; e& U- d; Y/ J, h1 }
1、一个AT89S52单片机作为核心;$ M. S: _' @" o8 Y( h! `3 X6 Y
2、一个TL1838为红外接收头直接串行输出数据信号;
/ m5 K; [2 P8 D1 k% F3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
% v- [0 e% V  z3 z! b4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
" b: S% T9 s2 z% y3 O4 i
- w: V8 h5 X! \! U+ y1 S2 ]( Q4 Q关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
. L8 k) A% J% R
  X7 F9 t* ~3 v$ d; Y% _$ C
. \8 @1 h4 x1 U: `五、控制软件
% R0 m5 W6 T- s+ P! E  n$ P
控制软件用汇编语言写,源程序如下:
1 `- J# \% c& B, _( ^     ORG 00H- D  L& v; u8 _! B
     LJMP MAIN
* b: ?) D! a2 A: W     ORG 30H$ Y# ?' d( K7 l3 ], f& _3 H2 o
MAIN:: O1 f6 |3 a' D/ y. K% i
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
( _/ J5 |) F+ a4 z1 s' F" p+ k     MOV TMOD,#22H  ;22H
% B( p: O- I7 x& c) x0 D) ^& e     MOV SCON,#40H  ;40H
2 F' H9 @1 U0 }$ `$ i     MOV TH1,#0FAH  ;F3H
9 f8 |: h7 w; V7 x8 B) h4 ^# }4 j     MOV PCON,#80H+ f$ s+ n8 ^  Y5 p1 _
     SETB TR1
8 v1 a/ O0 O3 \- kSTART:
0 p+ K  \3 k) N2 h7 T/ ^) u     JB P3.7,$ ;遥控信号处理
6 g) I( f( A( Z" d/ S: N8 hSB:% ?& h+ R; n3 p* _* @8 U& q; F  L
     MOV R4,#8   
- a# R8 [0 ]& e. J) g" K' u! h! }SBA:
" U% a) _  l( F3 M3 t' o  b& a     MOV R5,#250! u1 q: g! {( c) ~
SBB:
0 t7 _$ T' x( h9 \: D9 Y     JB P3.7,SXB1( k3 Y, K$ X. v6 ]0 B% z# A0 B4 f
     DJNZ R5,SBB
& u6 Q) Y1 [& K7 l5 t; T     DJNZ R4,SBA  J; P: ?: o4 V! g
     MOV R4,#2
+ A  R) j2 t2 v( e& \5 m& T' K" Y     JMP SBC
' u. H2 s- b) M! T3 E1 v/ HSXB1:& F. t- _7 x7 K) ]
     MOV R5,#5
8 k8 N1 x6 S) G7 i0 c0 b9 jSXB2:              
. l6 q& ]. Y. K$ _+ K     JNB P3.7,SBB2 H3 {) Q- K0 M- r6 ?2 M2 p4 X7 O+ V
     DJNZ R5,SXB2
: ?& z* F# s) D/ ~  D& N     JMP START
3 k8 |6 Z. P1 ~6 q4 p2 HSBC:$ S" e- q( u" m- \! R4 L3 f
     MOV R5,#250
& w4 S: u5 Z1 T' |SB1:6 }0 A* V6 D" }  }* C
     JB P3.7,SB2  
/ Y! i" _/ i2 l& Y: x( L     DJNZ R5,SB10 u. l8 a( v$ P7 l
DJNZ R4,SBC) U$ n+ |& o  D% ?4 F
     JMP START
$ F3 I2 r! C3 q: t  d; Y! Q' qSB2:                 
0 @' O; a( j- Z$ r8 y2 a     MOV R5,#5. D3 N0 D+ k8 G
SB2_A:  [) n- N/ g% `
     JNB P3.7,SB1: g) K) D2 p2 }; U$ k( w; w+ R( y4 E
     DJNZ R5,SB2_A
- I" A* g! k! k. v. j. ]     MOV R4,#3
' E8 F3 T  p. O# P7 X9 X7 ?SB2_1:
; l3 M4 B9 E& F     MOV R5,#250  L" C0 \& j; P# S+ C
SB3:                  1 o( {; F1 s3 ?; y2 `
     JNB P3.7,SXC
: R, D) J- J  c3 Z     DJNZ R5,SB3
- U! I2 A* G4 \     DJNZ R4,SB2_1% g* r, }7 d; S2 N) o- e$ r
     MOV R4,#2
9 J/ p9 q2 E: l) _* Z$ f& m     JMP SB3_15 ~9 h8 I) m$ \+ Q
SXC:                  3 [( N& ], _' h6 {4 Q
     MOV R5,#5
6 o" c; _7 c. B" u' S* DSXC1:
! _4 ~& F8 \( i( T% v- j3 k     JB P3.7,SB3" o, @  \7 ^- x) x2 W
     DJNZ R5,SXC1* G" z- g9 m( ]7 {- _, ^' n
     JMP START
4 o0 ]9 o! w3 U: {1 d2 L' Q  q* OSB3_1:                 2 m0 f) ]: ]1 g- u; r5 Z
     MOV R5,#250
* O( D9 d- U; a. \; r# {SB3_2:6 M# J( _; A3 B0 A" B7 H6 h5 n# R) P
     JNB P3.7,SB40 q- ]* D4 H* S
     DJNZ R5,SB3_29 C0 J9 O  ~! |! t( Z0 B
     DJNZ R4,SB3_1
' h% [( f( J- Z( k9 h  l  m1 m     JMP START
( _5 _9 M1 x& T* lSB4:                    ) H2 p, v/ ]- o, |5 O9 W1 F
     MOV R5,#5
, ^" a+ K6 ]8 n' B7 V2 ~* QSB4_1:
: W2 t4 ]. L5 K; g6 v+ n     JB P3.7,SB3_2
$ p5 y2 c0 s: m# `     DJNZ R5,SB4_1, e. Q" j5 F; A% ?
     MOV R1,#1AH  
; F$ W% D: ]3 o  A     MOV R2,#40 a- h3 @" h) A
PP:  MOV R3,#87 v$ j' y' D4 ?
JJJJ:0 [, r% A6 {5 ?' @# V! n
     MOV R5,#250
7 f# j- Y$ z$ N4 ]8 w  c. uJJJJ2:               
" x3 K: \* Z0 t0 c) V% [$ r# J* X     JB P3.7,JJJJ3: ~5 j2 R* f8 A0 |( P
     DJNZ R5,JJJJ2, b( n' d/ J- ^8 E) R! }
     JMP START3 e+ G6 P) Y# j4 I! ~: @
JJJJ3:# O: l( |0 [+ F, d% J% b
     LCALL YS1  " ^  e! _  f5 T& N7 K
     MOV C,P3.7   
" [# p- M2 {: l& i9 J; i     JNC UUU      
7 V8 E! K- d1 L. }: a  J/ ]     MOV R5,#250
0 z1 H% @# o: lJJJJ4:3 Z! c) k0 h( G) Y7 N
     JNB P3.7,UUU
8 y  z/ H7 J( f- U* G( |; I1 n    NOP
7 J; b$ C! H! V( b8 s     DJNZ R5,JJJJ4
! n5 E$ x$ x; ?/ q$ I3 J" x     JMP START
8 Q" t' t0 e0 Z: {UUU: MOV A,@R1  
2 m/ g2 u1 H) O7 v     RRC A           * W8 W! J+ _: y( e) ?- p1 R/ C
     MOV @R1,A       ' A6 o5 Z: D, |0 L! ?
     DJNZ R3,JJJJ   4 N3 k# C/ P# ]# i3 D. _6 j4 _
     INC R1         Q2 l7 [* ?$ O' F& d
     DJNZ R2,PP   
% s% w6 u% k4 j0 s" o! t3 S! ^7 }" P& i, ?% h% s& ?" r
     MOV A,1AH
7 a( c4 x+ b5 l8 d/ A     XRL A,#11101110B
8 A9 L+ Y1 A% N, q9 o" U9 I     JNZ EXIT ! {3 w! i$ N5 D4 y
     MOV A,1BH
; x( u! |) q0 w9 @1 W2 S$ J3 H# J     XRL A,#10000111B% C$ r  s8 d7 Y* p! D( j
     JNZ EXIT
: s5 X' Q5 n8 C$ U) L# D     LCALL YS3
& P+ w- ]( b2 k2 F     MOV A,1DH 8 j/ t% m) t. \! H+ t4 B* J
     CJNE A,#10111100B,EXIT
: P! I  ~0 }  n) F     LCALL YS3
! _' ]; C) w/ ^# o, p. m     CLR P2.6  
" V" _& T5 ]  h6 ]     AJMP BIJIAO
' {$ m* a" }( `! Z6 J' L8 T   
& n' t4 e' t( `  t' N" E* T8 `6 ?AA:
5 [' C& D( l8 ~6 J     MOV R1,#25
, S$ }& k2 G" t4 |XX:
3 m$ y% G; z( C& u, f4 I( k' p2 l( N     ACALL YS2
) S+ W8 _0 ^  G1 o     JNB P3.7,HH 3 L/ b% w' p# H/ t7 _+ u
     DJNZ R1,XX8 D; e, t# y5 i2 s) ~" r7 B
EXIT:    % B5 X1 @; z, j1 o1 _
     AJMP START
# @; N! e$ k; O) v1 f   , N  n' o, {, s% j3 n& M0 K
HH:, S0 X" n# H! ~( W
     MOV R6,#4
1 X( {8 C2 r" N, m+ q9 `; ]S: * Z2 P  d% }" F! J6 q0 \
     ACALL YS1
0 ]) s/ I0 [$ H) f7 @- O9 m' x     JB P3.7,EXIT
  g, Y/ w! ?  F8 e" B; ?# ^     DJNZ R6, S 6 ^' ^  P& ^4 l  o1 Y7 _; ?+ }
     JNB P3.7, $  
6 x4 Y9 h2 x/ h) Z/ W* |     LCALL YS3
1 s# \7 o2 ^4 g) x     AJMP AA7 S5 {/ N4 k  `/ U6 Q
BIJIAO:7 u" d0 N* C+ w$ P3 @3 Z4 T+ r- _5 E
     MOV A,1CH 7 }* ~+ A; c5 n- E; p3 _
     CJNE A,#03H,N1  
8 j" l9 r  q" s/ @     MOV P0,#7EH   
) ]* C7 n1 y' y* h3 }$ \                     
+ M$ V# t9 z8 a+ O ;处理STUDERV录音机控制码$ }  p. B: h- V) c  A/ t: B% U) c
N1: " @# i: F/ |) Z) _" q: V1 o: C
     CJNE A,#5FH,N2 ;播放键
, s" y3 b0 }: y# I7 h0 J. h# I" x     MOV DPTR,#REP8 B" `* W4 y* B1 N. W8 g; r% i
     ACALL SENDA
% M/ }/ X5 ^+ a% H     ACALL YS4
- I+ D# h7 Z! j1 ~+ _$ A% o     MOV DPTR,#PLY6 r5 M6 h/ o8 q6 @
     ACALL SENDA& m& H+ I* W, B" ]( {1 e# ]
N2:3 l3 w5 Z" {9 [. {! c
     CJNE A,#5CH,N3  ;停止键
  s* o" {( g$ y: T% `     MOV DPTR,#STP# o- ~1 G1 {- H8 k+ j  L; C
     ACALL SENDA% z0 T7 U( u* c# k, j
N3:; N% w5 V2 z: O. O2 i* N
     CJNE A,#06H,N4 ;快进键$ d+ }5 Z! E9 a% \" G
     MOV DPTR,#FWD7 t& u" u/ d* r' K4 E+ i  _
     ACALL SENDA# G! f. H: ]% x
N4:' \/ g! [" @, c4 `# V% a
     CJNE A,#09H,N5  ;快倒键4 t6 `& I: Q% X* O0 B' S7 s/ o
     MOV DPTR,#RWD
5 g! _6 M/ G, C' d- Q     ACALL SENDA
. z+ m0 V7 ~1 N/ e( }N5:
8 L: w3 m% N& |6 f      CJNE A,#0AH,N6  ;置零键1 @7 h( s* ^8 [/ j: {0 P+ ^, T. x
      MOV DPTR,#RTM8 x1 W: S6 W6 R
     ACALL SENDA/ A- X. e+ f0 K0 s+ S) {
N6:
2 {# |/ M& N; k2 x6 Y9 r. f     CJNE A,#0CH,N7  ;定位到零键( l8 C) R9 x8 _! r, ]& y& q% z
     MOV DPTR,#LZA- p5 b' s! O, V8 j  t
     ACALL SENDA
" K2 p/ i. u) ^# A/ _- cN7:8 D8 v7 f) R( s5 d
     AJMP AA
" X( G, L( H. s( @3 ySENDA:8 U" f" X8 U: y
     CLR A& L" N. q* i- z2 C5 |
     MOVC A,@A+DPTR
$ z( p2 G* O4 X# X  l% }     CJNE A,#'$',SENDB9 e+ ~( Z9 [7 A5 w* R
     AJMP SENDC
. O4 Q% @& t0 p: f4 ]1 d. QSENDB:
. p4 f8 I. T- T! S     MOV SBUF,A
; I1 Z' o% R' u7 a! j. R     JNB TI,$( u0 {  s/ h8 @  _
     CLR TI
- ^! b1 m2 F% x( c0 y     INC DPTR
4 E- B7 l; s# K, }. V     AJMP SENDA+ _7 p6 j5 j- y9 F8 `* l2 Q0 |
SENDC:
, k1 I( E3 }3 t$ ~7 b7 J0 a     RET; {. S0 U2 C' [( O8 y4 Y

. V+ X" [8 l3 s* N) I: SPLY:  db "PLY ",0dh,0ah,'$'
; i- `2 Q" y, c3 f0 pSTP:  db "STP ",0dh,0ah,'$'8 D  X7 B$ Q. ]
FWD:  db "FWD ",0dh,0ah,'$'
$ P# u8 m+ v; Y! b: P- W, |RWD:  db "RWD ",0dh,0ah,'$'" {0 j" i; G% ], r) P
RTM:  db "RTM ",0dh,0ah,'$'
# R5 V( \4 O. }# B2 KLZA:  db "LZA ",0dh,0ah,'$'3 w% J1 w- x2 V3 r2 j* y5 y
REP:  db "REP F ",0dh,0ah,'$'
; j; u. Y2 p$ v
) p. M& Q; t9 b/ w2 lYS1:
* l& O$ L: R$ K# z/ X1 O. N     MOV R4,#20
' F$ O% @3 q1 i, @2 y' {1 yD1:
' h0 H+ s; O0 j. c  Z/ a1 m1 h4 x     MOV R5,#20
0 c9 x( N# i) Z" U7 e1 l5 d. M     DJNZ R5,$% [6 X7 g, D5 ^( K8 H; l+ k
     DJNZ R4,D1
, n; \0 ~1 }; Z     RET" _/ E$ {- s6 @2 d2 h

3 }  Q6 q0 l; o/ O8 IYS2:
, Q7 f% u% S1 h, ~. g& g     MOV R4,#10
. {2 u4 R8 v& R( qD2:
/ [9 m! E3 @4 @* ?8 h     MOV R5,#235% s! M6 _0 ^  ^* }% R$ E
     DJNZ R5,$
9 Q/ x9 a) Y: w  B' o" B5 p" ?* P% T     DJNZ R4,D2/ k" A7 }- {+ Z7 c5 l: I
     RET6 x0 b0 O0 o' p$ n- e

9 _# x: S+ P+ }  vYS3:
( H2 ]( m+ |0 o1 H* T% f7 s0 h     MOV R4,#2
) Q2 \: G* ~+ s) P: }0 ND3:
2 j/ o( \" t/ g4 c1 a0 v" \     MOV R5,#248
* |3 i. v5 s7 D! t8 e. k     DJNZ R5,$
; ]" M! v/ b, T5 D3 ]     DJNZ R4,D3! @/ k8 M- K8 t& C0 Y3 T$ G7 v! g1 q+ y
     RET7 i: r4 }7 C: a% `# P

- P  A. |" g, tYS4:+ u2 x5 B9 H7 F0 q# ^
     MOV R4,#200
% A/ U& Y# W% [% ED4:3 S/ E/ y' s- G! |
     MOV R5,#248
; r1 _  P% A* g$ _. ^     DJNZ R5,$
- p5 K* j, d* X, i5 {6 L' D     DJNZ R4,D3
! m7 x4 K- Z- G1 I( p4 G' A8 k+ I     RET, [$ o/ ~9 I6 x# W% W2 K; m, f( L
     END
: l# H! B# F& L$ D5 g# Z# _. \& S, B" D& @# \
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
: N, y* [+ a+ ~, d' q" o3 U+ O是不是很惬意,嗯!( |, X) v  N1 B# A' `/ z7 Z& 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 | 显示全部楼层
最终的样子,有点简陋哈!2 J! J4 l" j& v. V& }8 }, @
YK 005.JPG
  Y, ^/ H4 r$ r# }
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
9 E; O: _, y9 ]6 u3 S
发表于 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
5 q  ~5 E( L+ g# B1 Q$ `5 v最终的样子,有点简陋哈!

# {! e  ?2 c+ G. D这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-12-6 00:59 , Processed in 0.078712 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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