收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 9 R- G0 |' t: s& U6 e- W2 K# k

, R( y3 a( l) S( H4 i本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。+ Y) e6 J' u% u: y1 q
8 |* P9 M2 U% B: z+ |+ R
说明:
+ r1 M/ U0 `6 r: I# Z) @9 k+ B1 }1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
8 z6 G% r! x& h; ]! d3 L# u2 b2 f2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
/ l, p, X- F) ~
; e) t: j1 L8 D# i一、基本思路
7 x# D# b6 M; D4 X: C; e8 _8 D使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。7 x- V# `! \3 y+ l/ a; n) d2 _

5 o  d& S# y; H+ j: n二、红外遥控器; t7 g  J+ ?' e. A0 H: H
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
# S' h5 W1 M8 ? Apple-Remote.jpg 1 ^1 \* l; M7 w* o
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
3 s; F1 |& x9 R/ l Apple-Remote - 副本.jpg
3 [5 \6 b8 W7 l在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
% f9 l/ w% f3 J% V3 `& Z Apple-Remote - 副本.jpg
$ a- |1 y1 K3 w" Z2 V6 w
9 N) L7 h& p6 v三、红外编码3 f8 U6 ]( q+ |; B
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。+ m- d( w$ F; b1 T
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。' O6 S, `# w" `4 ?/ w9 y1 N
后16位为控制码,主要用于实施具体的控制。
8 o0 y( Q7 }; o. o这16位中高8位和低8位互为反码,以提高可靠度。
* {2 v/ F3 q, k0 @
3 |! y8 j1 N5 K以播放为例,其编码如下:. u5 G: E( N4 p) z6 ]2 s
00000000 00000000 01011100 00000000
* _% \! }+ b/ v) c8 z0 k2 B  T" A/ d$ I: U: |% `# }
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。% i8 c+ R3 [+ [4 J
3 t3 n$ C& x- O8 V
四、单片机系统
/ X" k& ^. s& E% Q3 @0 |  |
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。' }6 [  d- j2 I& S6 x
c51.png
3 |- D  k! Z9 i$ p$ P" r0 m
0 W& n8 Y: Z8 k& p1 ?, m% s电路很简单,功能如下:& H, @/ _% a; B: k  ^1 {8 [+ U6 c. b
1、一个AT89S52单片机作为核心;
0 X4 l' X5 J2 |4 _2 a2、一个TL1838为红外接收头直接串行输出数据信号;
) [( F; {2 Q0 q; K3 A& B3 r; I7 ?* r3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
4 W! t* T% m: n9 _3 ~4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。* F0 c9 P: t( j  Y2 @' g

4 u) l/ ~- K* c1 U2 ~" I# ~" Q关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。; d9 ^7 y, j& Z  j. z8 J

. B, P' L$ V- r. g
$ j& I: y$ f2 n1 w: Z# o五、控制软件0 s. Q/ G& e7 P7 l2 ?
控制软件用汇编语言写,源程序如下:( Z5 |# q9 K+ T9 s' X
     ORG 00H- u$ O# D' k8 @
     LJMP MAIN
; t- @+ K+ J- S0 F: c     ORG 30H
1 j$ I! T$ h) G# y1 XMAIN:
! ^9 T  p  r( _: J     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
% N1 J  M* B/ U$ k) _/ N6 ?     MOV TMOD,#22H  ;22H
: _. O0 J+ J, }+ g     MOV SCON,#40H  ;40H
  o" j8 Z; j/ h* N' y3 L" r     MOV TH1,#0FAH  ;F3H
+ X' Z2 e+ Z/ _5 L- s$ Y5 h9 U     MOV PCON,#80H
9 S5 f: y$ H& F( q/ D: v; |     SETB TR1* B$ l; I( a0 t9 ]) Q, E
START:9 n6 m8 F) y1 g6 |# y3 N* e1 b7 C
     JB P3.7,$ ;遥控信号处理3 \, ^+ F7 i/ e: \6 P
SB:- n; A; A6 E3 M4 f+ r( C4 O" G. z% {
     MOV R4,#8    7 c, ~) y4 k6 v, n4 \& L6 l
SBA:
1 \! |0 L0 z* h5 B  i     MOV R5,#250" u$ W6 L: r, q: e
SBB:
( {4 l$ f0 g+ H) N2 D5 ?     JB P3.7,SXB1
8 m" A! D6 e* [5 x3 L: l% r     DJNZ R5,SBB
" [! B( o; N8 k" j8 x" \     DJNZ R4,SBA
4 H2 j0 @3 _8 q; i0 P! S3 a     MOV R4,#2
2 m& F5 u$ g8 A& C; t* q% I     JMP SBC
# [7 l, X% W3 O5 E( S. R2 @SXB1:& d4 V" k! A( d" Z0 H
     MOV R5,#5
- m8 S- S/ H3 v6 u8 Z; HSXB2:              
) m/ p& a% r8 I" n     JNB P3.7,SBB
+ G( e8 v1 u( c- I. b     DJNZ R5,SXB26 |1 s& r; g+ m
     JMP START% d! g& a- _3 V, Y% m
SBC:
- N) K1 M0 E! G. {     MOV R5,#2500 z& \2 b( D7 Y
SB1:6 ^. o) G/ L7 `7 Q% w0 N, g
     JB P3.7,SB2  ( h  V( o1 E6 A" p$ o6 P
     DJNZ R5,SB1& C4 l3 a1 q0 Z! P" H8 R- E
DJNZ R4,SBC1 j8 s( P& \4 ]4 W; J2 {
     JMP START
  h; p" N& q# y& U& a2 kSB2:                 
# \( |- y$ k3 H. N4 E     MOV R5,#5  J# R4 C- D% m/ n
SB2_A:
. B, k2 Q: q' M/ b; ?     JNB P3.7,SB1' N% n$ `: c+ \4 E8 d% h3 N/ d, o
     DJNZ R5,SB2_A
9 Z* z+ D  [- W3 o     MOV R4,#30 @! p: j2 l. T, o
SB2_1:
! N* b0 H. q: I% J     MOV R5,#250
3 V2 O- K1 Y! h+ q# v5 ySB3:                  . T& O5 f" i1 d- N( b9 Y: f
     JNB P3.7,SXC
6 I+ H5 `! j, B) ?6 ?$ r     DJNZ R5,SB3! o% L) K4 E' E0 X
     DJNZ R4,SB2_1
* l# N: j5 K. _     MOV R4,#2; |1 Q5 }) l/ @/ O
     JMP SB3_1
  p6 s9 k- o) p/ x+ m0 uSXC:                  " O- \% Z+ F( _! ?1 }
     MOV R5,#5
6 U: P- B$ g- T6 a) }, A8 E5 `: ^SXC1:: B: G2 }& Q% A; q; M7 J8 P2 ~
     JB P3.7,SB32 p1 V2 L* ]+ Y- m2 Z6 L
     DJNZ R5,SXC10 t. u' g# X6 X! @
     JMP START3 X0 _# A3 J7 z) c- a
SB3_1:                 
% c0 m' R1 X1 f  P' X+ H9 I! K     MOV R5,#250
5 r) k4 P) _/ `# PSB3_2:
+ N8 u# B) Y' j     JNB P3.7,SB4
# _1 j" C7 p* Q# k/ h8 h     DJNZ R5,SB3_2; x* t8 h& H2 Y
     DJNZ R4,SB3_1( ?2 t- C- h' {# p8 H
     JMP START9 K* m( k2 @; T6 o
SB4:                    
1 M: A# q& B1 h* @     MOV R5,#57 v% ~7 V+ l& X- Q
SB4_1:2 N8 Y' y2 t* Q6 j! ~
     JB P3.7,SB3_20 A1 Y1 I! X8 ]: t; I6 U
     DJNZ R5,SB4_1* S% i9 x4 x- l% V8 l
     MOV R1,#1AH  8 l; S  v! Q% |4 e+ n- |
     MOV R2,#4
% Y5 F9 h* \5 O. T0 ?: f- j( B! APP:  MOV R3,#8
8 e$ O( ~. c" j5 R# S% U) wJJJJ:  y- z) K: m5 N9 x
     MOV R5,#2506 K' Q) {8 E2 e: U* c0 K7 H* Y! A, g
JJJJ2:               
6 ?- `. c8 L& B* I7 o& |2 u     JB P3.7,JJJJ3" F" S. a: W( d5 m: @% c
     DJNZ R5,JJJJ26 T" E' U; ~# i- e9 S( s
     JMP START
* O) g4 D8 P9 b* dJJJJ3:
/ y# _# Z  k3 |5 F- [     LCALL YS1  
3 x5 g2 p5 l5 y# Z! @3 l% v     MOV C,P3.7   ( R/ ]4 l7 {+ D6 n# t
     JNC UUU      
1 ~! m5 A# b' _: I     MOV R5,#250. U5 {4 d( ^# U( b+ M
JJJJ4:
2 H( P6 E* e* n- U$ {0 k     JNB P3.7,UUU
# _1 m6 A' ^2 A0 D2 q% i* E  F/ ?( G    NOP/ `: @! Z" }5 t4 w1 O
     DJNZ R5,JJJJ47 a  K' R* d7 l  R: c" Y
     JMP START
5 ~/ A2 m7 M. iUUU: MOV A,@R1  / B$ c, }" r* W1 [# A
     RRC A           % H. z" y7 n6 E: V1 G
     MOV @R1,A      
1 W0 o  ~* Q+ T  L+ q. Y     DJNZ R3,JJJJ   
& ?; Q; Z. \1 d' s" v     INC R1      
8 \9 H8 m7 M, {. Z0 \     DJNZ R2,PP   ( C- ]  M3 c% |# x! w9 \& f
8 C5 k* Q' J' k
     MOV A,1AH   a! k: N5 C' A" O* L
     XRL A,#11101110B, c& }. x- \0 }5 S0 B. ?
     JNZ EXIT , u8 t; V7 |  p+ |8 G
     MOV A,1BH
1 M  t; Y% Z  p( o- v     XRL A,#10000111B
, I& k* k2 y7 }6 @     JNZ EXIT ; Q5 I+ d2 }. T$ J  c0 F' N+ o
     LCALL YS3. h  \0 Z; U4 G$ V' Z
     MOV A,1DH
& S) O& V# N. Y8 m  G     CJNE A,#10111100B,EXIT
% }2 T0 R% ?+ Z6 t2 S! a0 S     LCALL YS30 v7 `/ G/ r  w( Y
     CLR P2.6  
1 T$ s9 C- S2 k6 R     AJMP BIJIAO
0 P0 J2 D/ E+ v. P8 L3 n1 }% i5 w: Q   
# D- _' v) j  b" XAA: & Q* {, @( {4 U1 l' h- l
     MOV R1,#25
* V0 s8 Z: w4 I4 a% f/ Y# K. PXX:
$ g0 k6 d: T9 I& l$ p7 {6 y     ACALL YS2$ e/ j4 _% \* M/ \5 X# \9 Y& b
     JNB P3.7,HH # N: ^8 l* Q7 L  H1 Q. C/ [
     DJNZ R1,XX* o  S9 `* z5 ^% p& c
EXIT:    * O1 V2 j6 O* o+ h/ f3 L9 }
     AJMP START8 u5 ]: n; {$ S6 E/ N3 G
   
3 N( j0 O8 `0 n! Q/ PHH:
- ^( d: p9 Y. ]+ H     MOV R6,#47 c  e5 ^! i$ k: S9 x4 I
S: 2 E( Y' b, X+ k6 k
     ACALL YS1
* y/ P0 X3 `: k6 h     JB P3.7,EXIT
3 F9 j! d2 X" ?     DJNZ R6, S
9 P! i6 {; q& X% g     JNB P3.7, $  $ a! U9 C( ]6 F7 ]9 W. {8 x* Y
     LCALL YS3. P, G% _% m0 v& e" s
     AJMP AA
& i, M, Q) ?3 t2 SBIJIAO:
$ V% R: N5 E* A     MOV A,1CH 4 B- u' X6 _/ A6 x2 A
     CJNE A,#03H,N1  $ u, j9 [# H2 Z" c- T9 P
     MOV P0,#7EH   
$ [, j& l2 [: }& U: |7 S1 ?                      8 f: M; J* y3 ?$ |3 `# I+ R
;处理STUDERV录音机控制码
/ R" x5 b' s! c' m; t1 JN1:   J7 l  N& b6 e8 H8 v
     CJNE A,#5FH,N2 ;播放键9 l* D- B; b4 [4 R
     MOV DPTR,#REP
! ^* q# r* L* F6 [0 o# n) k     ACALL SENDA
- v8 j- |- x. \1 z2 c. |" e+ Z/ u     ACALL YS4$ b! v; s9 L3 q
     MOV DPTR,#PLY3 z8 l& g% Q$ s' F/ [  a1 w
     ACALL SENDA
6 C" X( f* B& K1 v: s  |1 RN2:
) x, J% t* M! z' Y6 e     CJNE A,#5CH,N3  ;停止键$ p( i8 N/ {$ m5 @5 L" d
     MOV DPTR,#STP' ]4 F! o& f6 R  q6 z# Y
     ACALL SENDA
3 _$ s: q0 S' N! t+ ]* ]. `# LN3:
! a6 y6 H1 x& g, T% X: ~     CJNE A,#06H,N4 ;快进键$ ^1 t6 d* B$ l# e, K% d& m8 a4 m
     MOV DPTR,#FWD  l* z* w$ Q8 l# h- T0 g
     ACALL SENDA
: N2 M2 G' u& V4 ON4:
) g4 r! q6 N+ ^: m" h1 ]$ O9 p     CJNE A,#09H,N5  ;快倒键2 t% y& o# o% d' @' ~2 ?0 b0 @( h7 y' O
     MOV DPTR,#RWD$ t. y# J3 w" L- Z8 Y* r# I7 @
     ACALL SENDA5 _" h0 K: s& F; S5 a1 m  N. A
N5:4 d7 \! y. Q; j1 |
      CJNE A,#0AH,N6  ;置零键, l) g: a6 P6 f/ [
      MOV DPTR,#RTM
/ ?  ~. F3 M& G( l' {0 q6 K, ?6 u     ACALL SENDA4 C, ?5 x$ s, L
N6:- D* e0 t+ I: H2 X' `" V. a) g- f
     CJNE A,#0CH,N7  ;定位到零键+ T$ D9 M( v7 v7 n& W1 a$ i
     MOV DPTR,#LZA
, I1 b' P6 W. Z! p! g     ACALL SENDA
5 Z4 M2 Y( P% d; ?N7:. w6 n9 E4 c5 B3 a/ t# _* d
     AJMP AA
  g& d) l6 \* F. ?SENDA:
; K# @% d; S- g8 C! O) e: Y     CLR A5 u. ]- a( b* W& U
     MOVC A,@A+DPTR2 J2 u2 s% i7 m- f
     CJNE A,#'$',SENDB# A# J5 ]# l' x3 v/ }1 r
     AJMP SENDC
% m2 {5 E& N( ]3 i+ ZSENDB:/ n9 G1 E  h' K- n8 p  E  W1 {0 b8 u
     MOV SBUF,A% d) d' v" V* ]7 J% V" j* J
     JNB TI,$
4 W9 H% m# @+ ~% L' H1 |     CLR TI( y. y; D$ |, A* y# `
     INC DPTR0 _9 K0 \% j2 T1 t; g9 f8 i1 [
     AJMP SENDA) ?9 W* V% A0 h0 j8 b; v" r3 o
SENDC:
" }/ m! r1 y- \" N" `# N' ^     RET7 U0 R+ X7 C. q4 S2 g1 C5 Z

7 X6 W" r; ~. A4 C6 g* LPLY:  db "PLY ",0dh,0ah,'$'
. [' n8 o4 f3 P* ^4 GSTP:  db "STP ",0dh,0ah,'$'
4 _% t: E. Q+ c$ P- V/ B# P: PFWD:  db "FWD ",0dh,0ah,'$'
* T$ P, q$ o& {5 ]# d. \; VRWD:  db "RWD ",0dh,0ah,'$'
/ P) [" p: D* DRTM:  db "RTM ",0dh,0ah,'$'
- y: E6 z3 D4 Z4 k) d. w( WLZA:  db "LZA ",0dh,0ah,'$'$ ?7 H. `- Y* d' J* t- m' S$ k3 w
REP:  db "REP F ",0dh,0ah,'$'
9 w  S; ^' u, O
9 ]) i: C( Q$ kYS1:
" J* C9 \+ f! M  c     MOV R4,#20
' K) ?* t6 y+ g' v* J+ L6 eD1:
; z, n" K' x' V     MOV R5,#20
0 |6 l6 C! f$ k6 v     DJNZ R5,$3 C' p) }1 h: |: z, v& K
     DJNZ R4,D1; I+ |. E& Z! w
     RET. j* t) ~: b. q7 @0 ^
7 H6 i8 W% f5 h( l. X9 y$ r9 M6 f
YS2:
4 C7 p" r4 g. a( O5 a     MOV R4,#107 O- K8 y! a5 u. h
D2:  x% @3 o3 x1 Q. V
     MOV R5,#235- }% c& k4 ^6 @0 }9 Z
     DJNZ R5,$
$ G+ k; `8 F; L+ _     DJNZ R4,D2) L9 J2 P% x3 P+ w( D2 ?
     RET6 e" E" D1 Z7 u% b5 n; y6 ^0 m4 x
$ L/ q4 ^8 t# z3 V$ C( L( [
YS3:7 a8 e, t- t1 U9 u9 V' a
     MOV R4,#2$ i* K9 Y0 Y; q! \. h5 Y
D3:
; }6 Q' I9 K# @% S' \( R     MOV R5,#2481 x2 |  P. q; F6 b2 `
     DJNZ R5,$
' X( _0 E( @' q0 q$ ]1 W2 a7 ?& b     DJNZ R4,D38 E3 g' W) \( m9 Y  t
     RET
& g4 @5 K, z. z( j6 u9 Y/ P7 C* Y* j0 J8 C5 {  I6 d: R: P0 ]2 l
YS4:
7 Q! i5 |& i# R' B' \; h     MOV R4,#200% L! R1 S0 ]  e
D4:
5 e  j8 X' @. g/ e     MOV R5,#2488 g+ h! N1 P: @6 p' K3 s/ k) n
     DJNZ R5,$+ @0 j; F6 k! d4 X; ]
     DJNZ R4,D3
' @7 \; i: {, G2 A3 P3 M9 Q     RET: {& y( {. |& W3 ]
     END! h3 x- T$ z2 e( m$ M5 x

2 }  Q# t2 A: i( S0 i* J有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。1 ]8 G5 N& o- s( s, E/ z
是不是很惬意,嗯!. b8 G( w4 a& ]6 ]0 K! H5 j

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
! ]% e0 m2 K# n  e( u YK 005.JPG
3 ^/ o0 j, r; z! ~8 e
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
1 G" M* ~9 [$ u( ^; v' ]+ P
发表于 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
+ m4 U; b" ?7 I3 D- Y7 A7 i0 H最终的样子,有点简陋哈!

1 ^" o3 m7 m5 f" q) p这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-6-28 19:56 , Processed in 0.362859 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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