收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ; z% h8 B* X% m- ^9 k* X' q* N8 h4 k
0 [# N8 i4 D$ r$ `6 y+ j3 p" D, y
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
9 k! I1 c* S. o! }" S6 k
% o8 B! g9 x" X' P% T. u说明:
6 e7 o( ~7 Q  c: E! R1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
6 t2 T8 N- @+ p7 D0 [0 s2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;2 G1 L+ A  C* |0 \" K

  l8 h0 Y9 W9 b* G% T一、基本思路
, s4 Q- `- u8 @/ H使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。: u* g4 \# i$ v

# L6 a% _% O; j, x% o二、红外遥控器0 M$ B* L8 R) k3 B# N
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
% c+ x! E, k4 n% s$ s( u2 b  t, g4 K Apple-Remote.jpg
* a( N9 q& l( z( I6 h4 C+ W好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。. q) T, Z9 |& O. _6 J
Apple-Remote - 副本.jpg
2 e+ y3 ]! k, w, T6 w在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
# C. f0 P, l( t+ k& h9 n Apple-Remote - 副本.jpg
  N2 {7 ~" T* [4 @/ L. B( U
1 C; h: q+ ~$ h0 j8 y+ k* A三、红外编码
; E6 x( H/ e5 ]红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( `& A. n8 J- `/ ]7 Q
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
% h2 D( a$ R; P0 p后16位为控制码,主要用于实施具体的控制。
0 M- k$ b1 r1 @/ W: t这16位中高8位和低8位互为反码,以提高可靠度。5 S# G3 b$ ^+ C: z/ [1 \
9 a2 d1 b, r! h& ~9 x9 m
以播放为例,其编码如下:
1 R3 h, H* c, ^( p& O; c1 g00000000 00000000 01011100 00000000
( z1 A; e2 b/ _+ `$ T: ]1 F. V6 R- |! Z& R! B) a
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。( [& ^1 M% n$ _

. H* {* n- e) B& q3 V& g4 N四、单片机系统
& P. j. z& J. j6 Y5 `
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。/ Y" _( q0 R: K, Y  Q
c51.png # U; G+ z7 B+ W0 _1 }
4 @5 z3 g" V: B$ P7 i* i
电路很简单,功能如下:1 G* W' i  `* O( h# ]! l& l, L
1、一个AT89S52单片机作为核心;
5 Z0 M4 H7 _% c, T7 |6 m2、一个TL1838为红外接收头直接串行输出数据信号;3 U/ `# |3 J7 F8 {4 X
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ [$ C  E3 l+ v/ {( l3 l4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。( T2 y% Z, n- K+ B1 M$ O0 V

$ `9 q, C, q! ?. k/ R" L关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
* m* B% ?3 @  T5 `9 B0 G9 ~. p- q* V! r7 m3 X

/ l% I( h0 v7 U- [% p5 N五、控制软件6 z, ?) i# E, g/ }  F* `3 S
控制软件用汇编语言写,源程序如下:
& Y' y# G9 }0 z  b. T- H     ORG 00H
# A3 k# y5 u- d* c$ R0 U3 q0 M, `     LJMP MAIN
7 i$ v2 M2 O2 Z1 n! z: Y     ORG 30H5 K6 g5 ~3 d$ q3 V  k
MAIN:; h1 k; w8 S6 Y! h3 ]' A: U! ?
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)8 Y3 c4 K! @$ L' u! k
     MOV TMOD,#22H  ;22H
" u, p/ K  w4 s/ v7 B+ k' z8 O     MOV SCON,#40H  ;40H8 {& _- \5 V8 @
     MOV TH1,#0FAH  ;F3H8 f) \8 |; I+ [% r  P0 x
     MOV PCON,#80H
7 Z9 J1 G% J3 q- @     SETB TR1, U* p' G. B1 G& l# T
START:9 }) y" _+ w. g0 \! s) o. G; t
     JB P3.7,$ ;遥控信号处理
2 N* \" Q! y3 D0 h0 T, RSB:
6 M; s2 |7 y$ y# x% N     MOV R4,#8    : v7 `9 h9 y2 p7 V5 q$ E/ F  w3 B
SBA:
3 l7 i$ E" e9 F4 _: ^     MOV R5,#2509 z: [+ k! f  i. {: H
SBB:- F8 C1 {. p8 M: w+ K! N! E
     JB P3.7,SXB1
; K& \+ v/ n& r. _4 g1 A+ s     DJNZ R5,SBB
" E" W, O* I, b7 {. ?     DJNZ R4,SBA
) z4 C4 w2 R! h! R3 L     MOV R4,#23 [4 _' A. ^' k" P4 V$ C
     JMP SBC
, ~; J, l. {8 {9 o! [: d9 A: d# W2 h! GSXB1:- u0 \) W  I0 h/ Y! q2 t' V
     MOV R5,#5/ V/ }" Y5 T" V, C
SXB2:              & `  i7 y! _$ Z; N
     JNB P3.7,SBB
( Q! d  k' f- G: f( L     DJNZ R5,SXB2; A3 \) G$ T) l) _/ x# V! Z
     JMP START8 j* A! d/ W0 e
SBC:! G4 F5 i- ]! v
     MOV R5,#250  e/ i: I# x! N6 A  J; K
SB1:
( y( Q' l- w5 @9 E! Y: ?' o8 I' ^     JB P3.7,SB2  ; s: k; z3 _+ w% z; h# K
     DJNZ R5,SB1
4 z  p) k) J; T( i1 b+ W DJNZ R4,SBC0 S0 G! U# m- K  W' _
     JMP START
* R. P+ y* s' B, u# M. |# _SB2:                 # r0 V/ ], j% n
     MOV R5,#5
0 {) x1 V7 m" cSB2_A:
; `9 |  g4 k$ i8 u9 J! q     JNB P3.7,SB14 I8 E) m+ S$ k
     DJNZ R5,SB2_A% k) T/ y: V1 O% V
     MOV R4,#3
/ V, P* w$ r/ L: k5 OSB2_1:
. Y' \2 c1 K4 c" b     MOV R5,#250; F; G3 R8 M; M: X# f( o( t' s2 K- g/ u; G
SB3:                  
( A8 _$ o! n- @$ G; W     JNB P3.7,SXC7 I* Y! P+ j: c  c4 U
     DJNZ R5,SB3
0 Y/ V, [2 x7 U6 s     DJNZ R4,SB2_18 J- ?& ]9 v% [2 ]1 v9 Z, v2 V
     MOV R4,#2- Y) W2 e" R7 A( `0 l3 S, a3 ]  d
     JMP SB3_1
3 k( n- N  Z" }: D5 pSXC:                  
. C3 ~* u2 V, C, k  b6 O! s     MOV R5,#5
/ O: {; d5 {& y% N9 K( \6 J6 OSXC1:
. U5 _$ {) \# I& i+ p9 w: m     JB P3.7,SB3. i4 i5 i* p; y
     DJNZ R5,SXC17 ?( `9 @$ c3 ^, V. X
     JMP START9 J$ {* p6 G$ i, P1 _. q
SB3_1:                 " v" n7 P# Y3 g7 Z# x. c
     MOV R5,#250
( W' G/ b, ?9 c& J3 O! ?9 @8 hSB3_2:
+ X+ @& r3 l6 a     JNB P3.7,SB4
, o: Q' v; E/ R6 Q; K     DJNZ R5,SB3_2" S* Z* f! M' |: X
     DJNZ R4,SB3_1
. p, F1 O  N8 u) z     JMP START# H, g2 Q3 O7 H, b5 h1 @, H& ?
SB4:                    3 C! u8 l5 ]: ~: }( @5 \% A- o
     MOV R5,#5& w8 N+ D! p0 j; l
SB4_1:
% _8 c: S  u7 N, y# g: e. g     JB P3.7,SB3_2+ Z- p" b) M  k
     DJNZ R5,SB4_1
& [( j; _: ]/ `0 ?3 n     MOV R1,#1AH  % Y- w) D0 \. L6 T. O
     MOV R2,#43 y7 C% O* k; `/ I2 ~9 C3 Q
PP:  MOV R3,#8
2 W. f9 Y: E% \5 z! RJJJJ:, K3 N- y# |/ F
     MOV R5,#250
/ R4 q6 h/ v+ `! J& dJJJJ2:                7 f& [# L' s: f' r. e# o( u; N
     JB P3.7,JJJJ3* B- J& W: Y6 Y3 g7 L
     DJNZ R5,JJJJ2
5 B! I% N. y9 q& b. ^/ e/ g     JMP START+ \! X. Q0 v* H
JJJJ3:9 `& B" y/ k& ]! C
     LCALL YS1  , [; M4 K) p; }; s7 z+ n
     MOV C,P3.7   
3 a. d. }8 y* V' B     JNC UUU      
  w5 l) t. E' q% I+ Z! K  F, D" o+ l5 M     MOV R5,#250$ l9 p3 E- R! w) f4 _5 H# V
JJJJ4:( N+ S& q! Y0 W: l
     JNB P3.7,UUU
/ W* `+ w/ d- Y- I6 Y5 B7 m  n, d    NOP
2 P9 O0 U- A. ~7 O! _     DJNZ R5,JJJJ4
- ^4 i) M4 r5 A7 ~/ j/ h4 t( @     JMP START  s" l% ~$ G, [9 E
UUU: MOV A,@R1  
5 o. t! b6 r5 A6 |9 P! A     RRC A           + c; d( ~. y, v. w. [3 n. B
     MOV @R1,A      
5 M$ r3 _5 s1 u     DJNZ R3,JJJJ   
4 t# x4 B2 I) Q5 c) K     INC R1       ( V  q' ?5 T( [" l& Q" t
     DJNZ R2,PP   
  ~. r7 }. B! N7 I8 i+ k: B8 {/ C- ~4 e
     MOV A,1AH 8 x5 w2 r$ ?; j6 u3 `9 q% }
     XRL A,#11101110B+ o& P, l! a0 Q) z1 O5 I. }
     JNZ EXIT 9 N5 P/ ?  D( R5 A3 W- Z' i
     MOV A,1BH
% X0 Q" y% K* J: z; N) j, G     XRL A,#10000111B: g2 W. t6 x$ G9 ^3 L& T
     JNZ EXIT
7 Q3 P8 p, S+ P: Q# Z. l: |' c     LCALL YS3
. C6 }3 g3 i' i3 V; f- E     MOV A,1DH
6 B5 C' h3 Z' J. b: z$ J7 D     CJNE A,#10111100B,EXIT
# g) Z3 Q  F7 @2 x: G& K. d     LCALL YS3
! B1 i, c, \$ W- K5 X4 X, K     CLR P2.6  # ]; W( ~9 |1 I) d& D2 l
     AJMP BIJIAO' ], \6 @5 R" b' M  u
   
/ m: _, |! W- H6 d3 J8 k- NAA:
, C" t; o" r+ r) r4 g" W7 C     MOV R1,#251 P7 x8 h# F* @% U2 L% \
XX:
$ C5 x9 h- M, E* S5 z     ACALL YS2
# `( B$ m% r! ]5 l/ s) A1 ?" c     JNB P3.7,HH ) }% ~: z9 }# g& ~
     DJNZ R1,XX
! E' ~2 U4 Q8 w$ a  l# e$ DEXIT:    ! N4 o3 ~- b2 N6 \& s. X5 H$ b/ H3 x
     AJMP START( S4 p& c- D6 w2 n4 ^. \' i5 X( z
   
' ~) y- L: i' z0 Q7 k- oHH:
( y- C8 c% v7 o$ o3 h     MOV R6,#4, p" e& x) k. ]/ K* V! [  a+ P
S:
7 ~7 R9 \  K; j( b9 i7 c: x- V; F     ACALL YS1
# c% z' ?  c: @9 g- f     JB P3.7,EXIT + k/ X! l1 X8 P; n! z
     DJNZ R6, S 0 T% S3 g/ _' `* T- [
     JNB P3.7, $  0 E5 i, T2 T: K( n6 Q& V* @2 G
     LCALL YS3' k/ i" }/ l- k& o. o* T4 Y2 l4 d1 Q
     AJMP AA% S# I6 Q2 ~; j7 I
BIJIAO:
, i, S1 T( _5 O- o6 M: y     MOV A,1CH
5 p: U- r2 C3 w; E0 Z     CJNE A,#03H,N1  
3 g% `7 j1 B  @     MOV P0,#7EH   
5 v+ j- K) l3 ]7 |1 @3 w& j                      ; w0 ?+ h; M# W; S0 y3 R, F
;处理STUDERV录音机控制码
+ t+ I  E! b6 ^. M- ^N1:
7 H* f+ X3 H8 D9 c     CJNE A,#5FH,N2 ;播放键/ b. r- G( B- V/ a- I
     MOV DPTR,#REP% Q) C* C! _( c" {& D. \) r
     ACALL SENDA. A6 _8 w& n8 T: ?; ~5 {
     ACALL YS4
7 V, H0 m* D- v5 A4 L3 W  F5 J# H     MOV DPTR,#PLY
; J( H, o) W  E5 h     ACALL SENDA0 s% t( o; u) J) S( @7 C
N2:
) @& L( }5 H4 j2 b1 x* n. G     CJNE A,#5CH,N3  ;停止键4 B0 ^  y& e$ W9 r
     MOV DPTR,#STP
; D) [3 r7 I8 H3 r2 S2 D     ACALL SENDA
$ a3 C5 l. M5 L0 TN3:
$ \4 G4 q! p: E+ f: V     CJNE A,#06H,N4 ;快进键0 S9 Z- l4 z% M9 @5 f- `4 U7 c
     MOV DPTR,#FWD
7 N' e/ V8 Z( w8 L     ACALL SENDA/ \. N2 C4 N6 |3 p( x: _
N4:
& j0 a5 j9 q! B% A     CJNE A,#09H,N5  ;快倒键. m( b( ~% `, A2 @9 d2 q
     MOV DPTR,#RWD0 f- u( ^7 F* F" m9 S+ Z0 A; s) {' Q3 S
     ACALL SENDA
" k" t7 M6 b" K5 R; ~N5:; f" J8 p1 h1 t. l% A8 J
      CJNE A,#0AH,N6  ;置零键
1 V# O: W6 t: K      MOV DPTR,#RTM
0 E2 z$ f3 u  F4 J     ACALL SENDA
  ]  Y/ J+ M2 j2 pN6:7 \- f) ]' m5 u3 l/ x. \
     CJNE A,#0CH,N7  ;定位到零键
4 o0 e4 ^/ ^* H" X2 b+ K' _     MOV DPTR,#LZA
" ^) A1 K: p3 j+ t. v     ACALL SENDA6 o% U; n9 ]# ?* t+ `# j, {
N7:
& g7 y# e) S* T4 `     AJMP AA
4 g: |/ c* J* A% XSENDA:9 x# ?! e% ^2 q$ [7 p# z
     CLR A
9 }: L3 X6 m$ W: s1 Z     MOVC A,@A+DPTR
8 i3 E3 j: F" x8 ^0 u     CJNE A,#'$',SENDB, @1 h) @3 E1 O! R7 B1 u: r
     AJMP SENDC) U. g9 f# r  X( J; c3 y/ ^
SENDB:2 ?6 v; Z: M7 N5 [0 u
     MOV SBUF,A: l. L) C& p7 O
     JNB TI,$/ t" |# f% j% P9 i
     CLR TI* T; ?5 W' A0 k6 J/ c/ N1 Z
     INC DPTR% J: R; i* `; V+ S8 f- ?% X
     AJMP SENDA
$ A; K4 X) A4 c- l* oSENDC:
; {: ~# m; m; H  _     RET: e# O" I/ a* g/ T" h) U

9 s" h: x, ?% lPLY:  db "PLY ",0dh,0ah,'$'6 _8 X; ~! J  A3 O3 e
STP:  db "STP ",0dh,0ah,'$'& M  z5 r: ?  @$ k4 }( `% ?: ~
FWD:  db "FWD ",0dh,0ah,'$'$ q% y- M3 J3 O4 Y8 ]# Z3 V' m
RWD:  db "RWD ",0dh,0ah,'$'
# N5 ]( m4 c: J' A; LRTM:  db "RTM ",0dh,0ah,'$'$ f; d) i* a3 G5 ~$ e. [4 J1 f' C
LZA:  db "LZA ",0dh,0ah,'$') g* e: h6 E0 w. K8 R
REP:  db "REP F ",0dh,0ah,'$'& B9 I8 i! p8 J) {
, W1 w4 r) q6 Y' r) c
YS1:1 k/ V7 Q7 Y; V( |
     MOV R4,#20
: Q4 p' R9 i* qD1:
1 u; o' C9 }  a8 [4 H# T1 `     MOV R5,#20
; i3 T+ y: D; p$ F     DJNZ R5,$
, H) H4 n) I, M- ^     DJNZ R4,D1& _5 l( M/ B# C1 Q4 G3 O; W
     RET
# j& ?8 _( f% f, E2 L! N: ^
: t- X( _) a6 A& XYS2:
$ \' E" X, ]0 h; g* B/ z$ _: t( v     MOV R4,#10
" C, Q$ W4 X" |D2:$ u3 I6 {) x& u& m
     MOV R5,#235
; E1 g( R& j% u  ]: [     DJNZ R5,$& D7 V1 [$ E- n% p4 ?' U
     DJNZ R4,D2
# Y9 w$ I0 N" Q; R3 G  y     RET  _6 R1 p8 v  E/ i1 }- Y/ M6 N
" t4 f% Z) C) B8 L1 w
YS3:. W. K7 S' A0 x' R
     MOV R4,#2
+ v' s  P) t8 Q! ~* U/ _( t7 mD3:- L# o. D, v! }* r/ R5 y% V: n- x0 O
     MOV R5,#248- Q5 |; T. s, P6 {( g" O( {
     DJNZ R5,$4 y& {! }9 N7 A2 g  s5 ^/ q- y' c
     DJNZ R4,D3* ?' M# Q( b% }9 A, |; t6 k
     RET$ B& v' A. O  v2 T

- l0 ?( v/ M" L, ]YS4:
1 u' i; M; D( t3 S8 h     MOV R4,#200
3 X7 s( s: q* p7 O. b$ U% lD4:
* {7 j2 s" q4 h2 U  H( ]; k3 z     MOV R5,#248
" J7 C, R( F8 R     DJNZ R5,$5 f+ H7 q4 v; H
     DJNZ R4,D3
& h- s4 i) x& e5 ?& Q     RET$ P- t- R& \8 _3 X; \0 V, ?
     END
3 i. ?7 t4 i3 p0 B1 d
7 k& S7 o$ \, x% @5 k6 V* i有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。/ m7 v5 T* q& k$ q8 G
是不是很惬意,嗯!; c6 R* H4 J8 C* h

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!  u# b- U3 h: S( L- D* s  g
YK 005.JPG 1 O$ v/ f: E6 F. x- d! }$ 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 | 显示全部楼层
洋为中用,真棒!我得试验下
. n" X3 i0 d: w+ ^" s# h
发表于 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:548 s2 e4 O' r& z: J% X' f! ^& C
最终的样子,有点简陋哈!
1 }, r6 H) T3 l! T' ^
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-10-19 05:42 , Processed in 0.134147 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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