收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 9 a. Q8 o3 S5 f9 z& T# d* ]
1 h/ ~( W: n- H* O! v  Z) |* N4 ?( ^
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
: y" ^- J8 @5 y
. x0 V; A- Z  B4 w" C; V1 Y说明:
! l) b& r+ c3 {. T1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
1 `3 l" q1 {/ t% C4 J' l2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;. }- W$ [. Q- l3 [. k) v" i
+ n& C% g! J: `0 ~$ h+ s* `: l
一、基本思路( e! m2 g% o" Z+ @
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。( ?  [+ f2 p8 o+ m! d" I9 ?1 m) S

' o: o* {7 `) o( s9 N  D二、红外遥控器
: ?0 q) ~( k! ]" v3 q8 ^我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。2 f, b' f$ v/ B
Apple-Remote.jpg " c7 g$ n! Y* U) ~! C6 A' u
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
8 x; l8 C! q' i Apple-Remote - 副本.jpg ! @6 u! n0 D% H9 I9 @) _
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
" N  Y: l# j6 U3 u7 o Apple-Remote - 副本.jpg
+ A: E% X, n( l  n' V5 J
' x2 c) a/ N2 w5 M. n, d# \三、红外编码7 v) ~: Y; ~6 k  J- P
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。, I4 x" x; q9 q2 Y) Q9 |: @" O
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。9 `+ f6 s- B" k/ q9 Z  s: q
后16位为控制码,主要用于实施具体的控制。
$ T, W4 V7 O& o/ z这16位中高8位和低8位互为反码,以提高可靠度。3 T0 z; j9 Z3 W
7 y% {( J% ]6 }6 @' n+ ]
以播放为例,其编码如下:
" ?, t1 B. O& O4 \! q00000000 00000000 01011100 00000000: W0 l' q* S* t3 {
9 g  z) c- Q. O8 G' y, m
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。8 L: g; }" ^- R) z$ G+ b7 ?, n
9 O4 t5 I" O- u; J
四、单片机系统
) C6 m1 m! S5 j
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
$ D2 W/ m! }1 r6 m% ?0 d8 I c51.png * n$ \2 W: P- E7 x
/ }4 x  i& r  H: H: r' U
电路很简单,功能如下:9 c+ S" ?7 a3 g8 ~
1、一个AT89S52单片机作为核心;
: q9 X8 ~+ W  p: k: ^2、一个TL1838为红外接收头直接串行输出数据信号;# y- n, P7 }: Z4 z/ |9 a. Z: v
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
0 r( F. y4 ~$ A0 Y% I4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
* U, ^* ^9 B* p: y% o 1 f$ h% v8 Z9 u  k) K
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
3 ^, I/ q* o" Y- W+ _# k& H# S3 ~/ f' f+ R: e4 O
- o2 ?  L, l( C, F; j9 @  C8 S
五、控制软件0 N, Q" ]$ S- H+ c8 f$ s" W
控制软件用汇编语言写,源程序如下:
) s3 @7 _; A( T" z     ORG 00H* l' Q6 ~3 x; I6 \, ^- T4 Q' \: T
     LJMP MAIN
# J# C7 J$ A$ z5 T4 }7 O     ORG 30H
3 f+ O2 ]! s8 l1 d3 y9 Q7 M2 GMAIN:' s' f* K5 ?2 s! D! n  ~4 e
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)4 N$ g1 Y% i$ y1 e; x8 b2 C' R  U
     MOV TMOD,#22H  ;22H
/ J" e* W0 C! S# {' I# B" r  f     MOV SCON,#40H  ;40H
! f: b6 E, X6 w+ P0 ]7 N4 D) \+ v! B     MOV TH1,#0FAH  ;F3H0 Y9 j8 v# j4 y
     MOV PCON,#80H% N  {" i0 j) ]/ H# L
     SETB TR13 ?- S. s+ |# B2 X% @+ s
START:7 t2 T; t, Z' ]! j* g# p  H# y
     JB P3.7,$ ;遥控信号处理
% A' i! d1 A2 BSB:
% K0 `0 a/ T8 R: [6 l5 W" ^     MOV R4,#8    7 e/ C  N# i* o2 d: p
SBA:
5 w- j) f' ~6 \3 D% [9 B; X     MOV R5,#250
  ~* c* t# q/ ]; H: [2 wSBB:
: M5 j& N: X' Y  N( o5 E4 x     JB P3.7,SXB1
& L! I; c8 o+ F     DJNZ R5,SBB5 S* {) b/ q% v% I
     DJNZ R4,SBA+ d% P' O% D4 e$ S7 e! a$ b+ U# A
     MOV R4,#2  _- f3 B4 r, _8 N7 H
     JMP SBC$ e. s, I) ~9 E# m* \5 l
SXB1:. ~8 ?" b( f7 L6 ]* `5 Q
     MOV R5,#5* I2 d5 d/ Y) q; A7 Y# m5 j( v
SXB2:              + ?/ G1 S8 A5 M  s
     JNB P3.7,SBB; _% ]* v! c) L# M4 C$ J' Y
     DJNZ R5,SXB23 ?( c8 m# X/ k9 i  }9 q$ V
     JMP START( G0 V# p* ]% p
SBC:# \0 a  S# e' B1 H# q
     MOV R5,#250
! z* I  _* f$ Y0 Q) {SB1:
7 a8 B6 L5 ~, s8 k     JB P3.7,SB2  # x! L  m3 ]" V2 E# U
     DJNZ R5,SB1
; t0 S2 @& F: [  F& l0 [ DJNZ R4,SBC$ g1 z' @- Z- h5 P/ m0 @0 X, s' ^, @
     JMP START
/ z$ @  e9 Q" i) jSB2:                 
  }' T1 p/ v) @% m, T     MOV R5,#5
9 b* G5 d% Y4 s7 o# q4 n% Y' k4 bSB2_A:  Z! r( O8 d9 h4 F: |# L
     JNB P3.7,SB1, k0 |; m+ ?1 ~
     DJNZ R5,SB2_A5 G7 r! I' ^- C1 G- u$ _
     MOV R4,#3( c5 Z' S+ b( s+ Z; l" X* v& J
SB2_1:, J* Y+ [1 J5 g$ ^; L# {
     MOV R5,#250  X# a: b  @* C7 D# Y- G4 i5 l$ y' x
SB3:                  & @# G# g4 H4 T6 }4 x! F/ n1 s* {
     JNB P3.7,SXC( P; o) b( S/ f, C" d
     DJNZ R5,SB3
* {3 @& x5 k6 e     DJNZ R4,SB2_1# |/ `+ j5 j5 C0 B  N1 C) I7 p
     MOV R4,#26 d# t4 L% Y% Y4 E5 x
     JMP SB3_1
) x4 R) E! p! JSXC:                  + I! t% T' N" r4 k9 `$ h% _
     MOV R5,#5, I. E8 i! y- J8 `
SXC1:
* m$ y2 {7 l0 ~     JB P3.7,SB3
1 b7 P. T: f+ a# B/ Q     DJNZ R5,SXC1- d2 R$ o& i% Y
     JMP START
% j! }3 I, R3 R1 g+ @7 v4 [SB3_1:                 
3 W3 d5 N# o: f0 J1 A7 a     MOV R5,#250
4 E5 Z; b- Q( J5 Q; `7 wSB3_2:! e* V$ f0 E) X9 W' x6 ?. E
     JNB P3.7,SB48 ~( _4 ?& |& R) f, j
     DJNZ R5,SB3_2
' B, O) M: c) ]) _  o& E/ [     DJNZ R4,SB3_1
; V3 D$ i2 Q5 g     JMP START
4 x. A5 X. ?& o* k; SSB4:                    
- `) k4 T/ H$ ~: s3 U8 P     MOV R5,#5: ~/ W" }+ g+ M* A
SB4_1:$ p' D6 x+ Z: w, j  f
     JB P3.7,SB3_2& q& x3 d* \  Q5 f$ D
     DJNZ R5,SB4_1
3 B' t# ?; Q) t     MOV R1,#1AH  1 Y: ?" C6 P# g* v
     MOV R2,#4( l8 U8 [  ]. P/ S" c
PP:  MOV R3,#8
: i% W; p2 w6 t- v3 U' LJJJJ:
5 q8 e0 ?$ B7 {6 \6 S2 |8 P) o     MOV R5,#250
+ g* H+ S+ C- P# _9 ]) w, T/ KJJJJ2:               
& }& z4 q" u) F% b% j/ t  ~0 T     JB P3.7,JJJJ3
9 d% U5 o3 |' ?8 ]4 q1 e" A     DJNZ R5,JJJJ2
, N2 k! m$ y" ?+ U     JMP START
7 R4 H/ M' I* J4 \/ qJJJJ3:( h/ T/ c' f5 V% j
     LCALL YS1  8 U9 M0 s; j, Y( h
     MOV C,P3.7   * S5 n. S. z4 }6 x
     JNC UUU      
* `2 J8 Q6 n9 b$ `0 Z2 d     MOV R5,#250' e& l( c5 D; ~# T: x7 z6 w
JJJJ4:
- H4 Q  N6 \+ W& Y- }* G* K) ^     JNB P3.7,UUU
$ B1 k' u0 a4 d) J, p    NOP+ A2 F4 c' a" y1 m2 y8 \
     DJNZ R5,JJJJ4
$ m6 d2 o/ ~  Z2 B     JMP START! A- E2 A( X$ P; m9 K
UUU: MOV A,@R1  $ U; S  X; S6 D3 [: V( z: g. [
     RRC A           
5 O8 D& u, j: G8 V; `; U+ S5 w0 V     MOV @R1,A       1 f6 P3 a# J1 [( r0 d. a0 y% _# e
     DJNZ R3,JJJJ   
& v4 O2 ~! D3 s0 D  `5 g: }0 w     INC R1       1 z5 A' a+ C1 l) x3 S
     DJNZ R2,PP   ) h6 p7 F* g& g

; C+ e& I' Y9 Y; Y3 y     MOV A,1AH
( R8 U' y) V( a! P" ^     XRL A,#11101110B
# q" c7 M  w0 G0 V) x     JNZ EXIT ' {. t& w/ `! e3 r* d
     MOV A,1BH . j+ U5 k& Z) U( ]0 k
     XRL A,#10000111B4 R- |) g1 J) d9 Q3 W+ y( f+ Q
     JNZ EXIT
! f! D: V; m. R     LCALL YS3
( D% p7 h& k' Q% J& s& A     MOV A,1DH . g0 q2 q) X  b' l; O( U' L/ F
     CJNE A,#10111100B,EXIT3 r" N% ^( E# k# o& i& k4 M
     LCALL YS3) d0 J9 o& h  }" d2 u& d% _  `
     CLR P2.6  ; {; T% p/ @  d3 j
     AJMP BIJIAO0 x, I, g( I. q6 u4 T
   ; U" J% h- p# H! @2 d8 a" A
AA:
% h6 K9 l: F" u/ A1 G6 m1 G     MOV R1,#25
# B# w3 T7 q( p* ]6 {+ X" qXX: ; ]* w+ N) T. S' o4 z6 i
     ACALL YS2. _7 s) V5 I5 w' w4 d4 K* L
     JNB P3.7,HH
( Z+ f. m- F/ X0 @1 S4 r! j6 E, F     DJNZ R1,XX
' ^1 J" ]7 l; K# iEXIT:   
7 X# G' W) x+ J4 }- h8 g. X! R4 m     AJMP START
' p9 k. l# x9 F! k8 O  k+ s$ f   : V& t! W# Z. i5 Q1 h
HH:" a5 r. F( Q* B% ]2 \' ^
     MOV R6,#4- [5 B3 r; G8 c- K+ ^
S: 1 C1 c4 d7 M& z* _/ q  l3 v" n
     ACALL YS1 ' `4 ~: w' a- C$ i: g( k
     JB P3.7,EXIT
5 D6 i: j. v, e" q& B     DJNZ R6, S
' E/ i1 }$ S# I5 r/ E2 S' B- f9 B9 h$ q     JNB P3.7, $  
$ ^! n: W7 t5 x5 l     LCALL YS3
* e5 V5 f! J& l  y3 ~# }     AJMP AA
6 X0 e8 u7 I, K* k& c0 ]! LBIJIAO:
  E8 G; K. H, T2 x. J) X# _     MOV A,1CH 2 x4 _/ Q1 ?* U) C
     CJNE A,#03H,N1  $ q5 g5 g' l2 _* r. o/ X* p8 U
     MOV P0,#7EH    , @* Q# J1 H, |  [: |5 w
                      - e) c% J0 V: O$ F
;处理STUDERV录音机控制码; H, }0 Q  I/ u9 X3 @" O2 u) D( x
N1: + N0 F, [; m" j$ ?. A4 l; w
     CJNE A,#5FH,N2 ;播放键
3 r: j# }" [* n# Q     MOV DPTR,#REP4 c8 a/ N) o& g- w) k
     ACALL SENDA7 {+ |) z2 o" R7 y
     ACALL YS4
. L& E" [3 `( j# ^1 t; z/ L8 }     MOV DPTR,#PLY
$ |8 m) {) i+ _) F- {+ f     ACALL SENDA$ S0 B; I8 w( a* s% G* X! }
N2:! {$ `: U3 x2 ~. [- \6 ^
     CJNE A,#5CH,N3  ;停止键' l0 x: b: l& g# P: M" W/ P
     MOV DPTR,#STP
: T' c& J9 d2 C- m$ h) A     ACALL SENDA. \2 z% |6 H% T5 q8 v$ g
N3:
9 R7 a/ ]4 V& @4 e     CJNE A,#06H,N4 ;快进键6 C' s* w1 w! Y) H  B
     MOV DPTR,#FWD
% \5 ~! m. A  ~1 w$ N2 ?0 C     ACALL SENDA
  X0 `- I6 ]7 J) iN4:$ l9 m, K8 u$ p% C
     CJNE A,#09H,N5  ;快倒键7 G- ]! N) e; f' e4 u1 s1 j
     MOV DPTR,#RWD6 ?9 K* D% c" L8 m  l1 S; k
     ACALL SENDA
2 ]1 t7 O( L8 g) ]2 ~. @. RN5:
0 ~" `7 F& G9 a/ }      CJNE A,#0AH,N6  ;置零键2 ]  L$ t. M% {
      MOV DPTR,#RTM  o' n8 i" B" }# c) ^: k% u6 i5 _
     ACALL SENDA
. d) k  g# U( {0 oN6:
0 P9 Z; b( ?3 b) x" z) K     CJNE A,#0CH,N7  ;定位到零键# u' W. Z4 u4 M% p8 u' Z
     MOV DPTR,#LZA
5 R5 }2 k5 `7 d$ Z     ACALL SENDA
! p0 V, b/ i0 h' k2 E. tN7:$ r" F& W8 w1 f9 y) p
     AJMP AA. k2 k/ C8 w  ^8 D7 ~1 }) T
SENDA:
  w! c& a7 Y8 G. C1 s: C' y     CLR A" f1 H1 Y( [0 H0 Q  a; P* H
     MOVC A,@A+DPTR( o8 F# k# J, q6 p2 [
     CJNE A,#'$',SENDB
& J6 C+ }9 |1 P     AJMP SENDC# }4 t% p2 y, q
SENDB:' F$ b! G1 l5 T6 X" g/ y
     MOV SBUF,A# G) Z( |! _2 t+ j, h, {
     JNB TI,$. s* j" F; S+ k* o8 C
     CLR TI
  |! Y9 I. f( s: R( B* a0 j* ]     INC DPTR' ?$ f0 N' d9 C
     AJMP SENDA
# [7 @$ c8 L$ p0 W7 H- W8 Q) JSENDC:
5 F' R: u3 W0 j0 ~/ j     RET3 H# k6 ^2 v/ A2 W. ^  ?
7 V7 [' W1 j* ~" V, U
PLY:  db "PLY ",0dh,0ah,'$'" U& C$ o2 q, }) g) Y+ {) y4 t/ A0 y
STP:  db "STP ",0dh,0ah,'$'
+ D6 \- Y$ S: ^  o: V. {FWD:  db "FWD ",0dh,0ah,'$'  t' m$ m; v. |0 s/ i
RWD:  db "RWD ",0dh,0ah,'$'7 k1 K5 t, s% G4 e+ A  P
RTM:  db "RTM ",0dh,0ah,'$'- i* i* k6 H5 M! ]! i
LZA:  db "LZA ",0dh,0ah,'$'
8 X* ], w" _5 M1 n* \: `' n, aREP:  db "REP F ",0dh,0ah,'$'2 ^7 x* _; u$ p2 ?* t. D+ ~% e
/ _& s' o7 V+ d# I
YS1:
/ i& P9 J* \5 |' O& e1 ~& V2 v  K     MOV R4,#20
, c$ [  a  J1 u& u" AD1:& X. W* k. t4 u; \" C
     MOV R5,#205 Y: w6 J6 `' x$ N
     DJNZ R5,$
- A% c; G5 d4 v     DJNZ R4,D1
& C$ ^( H* P8 Z7 q: j  K     RET5 q' d+ r9 G$ P! j

: A/ W- [, H6 ~  G9 WYS2:/ l9 D" E7 {  [3 r
     MOV R4,#10
% h1 H+ W; {3 P1 g* j2 ID2:
. J) q% _' J5 [, E     MOV R5,#235! R& R. y# e. T
     DJNZ R5,$
. V6 e6 e! w- A     DJNZ R4,D2# O! y6 R4 `6 O7 G* ^
     RET( l. d, H# _* q8 Q, i$ F$ h

8 G6 b4 A3 r/ ~) w/ g0 dYS3:& U$ r# J+ Y$ A9 d& @) S4 H
     MOV R4,#2: H; l3 R2 p0 y& b& H9 q; N$ |5 b, i
D3:
4 _1 J6 O4 G$ t, o: m     MOV R5,#248
3 }, D* b+ T0 z  @" I     DJNZ R5,$
4 ?# H6 l+ y1 e. D9 n+ G& V     DJNZ R4,D38 V' ]( i4 ~- R! [% x0 @
     RET2 K6 A! }; m7 R6 D/ l

5 e3 I" A0 ]. MYS4:2 M5 x4 X% o5 f
     MOV R4,#2000 X$ b/ A' G4 W+ J/ i' ]
D4:7 u, s4 Z$ }, D" `% A2 o6 N9 S) @
     MOV R5,#248
6 o; Y, t# x/ H$ h( h) r. W: L     DJNZ R5,$
) E, @" \; O7 U1 W     DJNZ R4,D3
) ?& j/ z2 h/ d! G0 ^0 W     RET/ i6 t( u7 c9 H/ h! r6 I4 v) O
     END7 J# z8 c3 o% y

' P( B+ \+ U$ q( v# u. M有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。9 q  p7 G$ T' R. l; ]; f* f* z
是不是很惬意,嗯!& ~: x4 o, r. J+ H- o  m

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
' o& b1 ^  l$ p! l2 y: e  z. t9 [1 i YK 005.JPG
, w2 F* A/ \; o! [
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
, k# Y0 w$ k$ {0 `2 ]! a- \+ U
发表于 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
* J3 s) b1 r: N最终的样子,有点简陋哈!
7 i6 n$ \  @/ t/ w# E; R( ]. t7 o- \
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-3-10 20:33 , Processed in 0.073725 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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