收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
/ p; l6 f" o' ~: a, w5 p0 v; A$ A/ w
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。/ \6 P5 |6 `% A+ e

* r- a% U1 @: _8 Y6 u说明:8 ~2 p' O( n' h* u$ N4 x
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
/ p7 T7 i" D4 E2 x6 Q4 k2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
, b( Z$ {+ }! S' T
( R$ r, `! ~7 _, d+ f0 {一、基本思路
4 K) C! c- }( v: v使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。5 S5 E# z& P2 p/ o! h

( |' y! U; _: q# v二、红外遥控器
2 o) a- V! Y7 t/ y5 k9 h我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。5 p2 r' J, m9 X
Apple-Remote.jpg
2 E  e, m7 w9 C- i好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
; t! I8 C9 t& X Apple-Remote - 副本.jpg - p# k. A4 o- K: ?' ~# v
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:' O" g8 T% V. I5 b
Apple-Remote - 副本.jpg : ^  D/ d  n4 D4 N+ ]

; ?0 d' g4 B" ?1 h6 Q1 \三、红外编码. P7 k/ D  d3 |
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
" L; @; p/ P6 o/ {/ H3 ?前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
6 v4 _4 ]" \; p# `后16位为控制码,主要用于实施具体的控制。
( T5 J6 E( ]) p- k( W5 Z! `( k这16位中高8位和低8位互为反码,以提高可靠度。
* r% K! @% `( @9 N) I
# }! ]* X2 L9 l, ]3 X8 T6 x以播放为例,其编码如下:5 X, G7 ^9 [2 q4 A4 b2 b' s
00000000 00000000 01011100 00000000
- d( V$ E- k( s! {, O: \7 x! h0 V! V& ]# w
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
+ c' Y* Y1 x* q- b7 d" V# @4 b1 K0 X, L+ g6 O, u7 ^
四、单片机系统
; y6 S" `4 k& _+ X4 l
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
, \4 O* t  E5 |" G; }) S: u c51.png
% Q1 a: v- h1 ~ * U# q1 y. g  ?* J; c
电路很简单,功能如下:
7 o- Z" x2 s% l, d' x3 h1、一个AT89S52单片机作为核心;4 Z! ]9 V; f; K  D% Q8 A( H$ H
2、一个TL1838为红外接收头直接串行输出数据信号;
  X. g* D/ W; |( z& h/ c7 W3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;, {$ {, w# j- b2 v2 N. w1 e
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。6 f' X) {  Y8 n

( l% D' m- N4 S* G- o' X+ L关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。8 I. h2 |, n: @% `2 q+ i
, l" j$ {* `7 ^& m

0 M; I& z6 O5 N$ K: Q: r五、控制软件' [4 \; t  Q$ [9 t/ {5 r4 @
控制软件用汇编语言写,源程序如下:' U* E# p% i/ v+ d' @
     ORG 00H
2 a( b1 }- r" V% X3 r8 t     LJMP MAIN
- i+ y$ M" t4 q/ c0 ^     ORG 30H
4 e$ |5 C' I& g+ G4 lMAIN:1 v% [7 K4 [7 R. r7 l/ ~
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)& u) e4 P. b! P0 d7 Y$ \  P8 F
     MOV TMOD,#22H  ;22H/ g8 R1 }( q* o$ M
     MOV SCON,#40H  ;40H9 B7 v5 Z1 |$ i+ |4 P
     MOV TH1,#0FAH  ;F3H2 c2 x& D7 {3 _* O- k" `0 \  |
     MOV PCON,#80H' r+ o0 m+ D7 {+ k$ F) X" i
     SETB TR19 Q/ @& Q8 U. y* J- n
START:- j* P% G3 U% @6 _
     JB P3.7,$ ;遥控信号处理
. j/ S" Q, b# y" _* ESB:
3 _2 L4 b( p' C* k3 c8 A8 J     MOV R4,#8   
( Z+ K: n1 d: R( a: VSBA:0 }9 O: u; a  r! i* U
     MOV R5,#250) V# e  M, a/ Q3 ~$ V  @
SBB:3 U6 j$ Z6 B3 R- G
     JB P3.7,SXB1
# R- v, A/ A% f. S" A     DJNZ R5,SBB. ^( W$ l. Z3 {( `5 b% G
     DJNZ R4,SBA
+ Q$ j) F' ~; {$ B$ Y/ n     MOV R4,#2
5 r7 k. Z! e4 M4 S% r1 Y     JMP SBC
$ }) U( _5 J1 L& \5 Y* C8 p5 aSXB1:* K) U4 K2 v! F0 W
     MOV R5,#51 V, \9 B( E+ p3 S1 g: M, u9 k
SXB2:              
3 }% k( u/ f" Z, q, d, s7 f' r0 |( B     JNB P3.7,SBB
/ P& `; \: S6 q& F5 w     DJNZ R5,SXB2
; q/ ?7 g5 r- U     JMP START
& H: b  c1 r$ q! ]9 n1 f; MSBC:5 m4 U- k+ ^5 Q! ^
     MOV R5,#2507 ]5 J- q2 [7 u
SB1:5 ?1 `3 j  H  K" V
     JB P3.7,SB2  / I" F9 `6 [. n- C8 `& ]
     DJNZ R5,SB1
" u) O' H3 Z5 ^; D8 b( i DJNZ R4,SBC
8 P+ d1 G. I7 e  M# ]( Z5 w     JMP START1 j0 X4 H5 n  E, E  N. `
SB2:                 
$ G8 S  b' C5 w& p1 T% v% _+ }     MOV R5,#5" j/ Y( x1 L9 Z& Y; Z
SB2_A:# M6 ?: `4 i1 T- ]7 v5 M; r
     JNB P3.7,SB1
/ K- V& O1 S. b" e) C2 a8 W, s     DJNZ R5,SB2_A
" M( N% ~6 m, M0 J* D     MOV R4,#3
6 b* I* P' S" j  Q! a* |; VSB2_1:6 E4 |# E. R) e) w; |
     MOV R5,#2506 h" N% P' \3 t, u
SB3:                  / x* l4 k7 B. V7 }* {* k
     JNB P3.7,SXC; l' A; Q/ A" O' A  d4 C9 p
     DJNZ R5,SB3! j3 u% O. E. J7 V8 u9 ^
     DJNZ R4,SB2_1# M: v$ F$ M" P* D* {+ E- O" u
     MOV R4,#23 c% }; Y# q) y, b4 B8 T  Z
     JMP SB3_1% L+ v* b; m( X" B
SXC:                  7 j. N! ]* P& J  P
     MOV R5,#5
- ~; l% f3 @4 \, K4 U5 k+ ISXC1:6 R1 S6 J: c& d: Z" t
     JB P3.7,SB3  q+ ^3 y& [2 ?! \& A. z& [
     DJNZ R5,SXC1
" ~+ m+ ?6 |/ |; t& t+ Z     JMP START
: H) S- U6 O& a- ZSB3_1:                 
. l$ V5 ]$ |) K- a     MOV R5,#250
- \  M, ^2 [- P) m  ?! f; o/ gSB3_2:5 r% d# U  L4 _4 z& H2 k% t
     JNB P3.7,SB42 f, p% Y' `& u& i) m
     DJNZ R5,SB3_2
3 a1 a3 O1 \( k; S: M     DJNZ R4,SB3_1$ L# t9 A$ V. d
     JMP START3 E9 J* m# D" N$ R7 B! K  C# E
SB4:                    7 p1 \( j; G5 r
     MOV R5,#5. ?$ |4 N4 B+ y  ~1 c- O9 u
SB4_1:
3 _7 k8 ~( @  Q# L9 y; t     JB P3.7,SB3_2* y$ R0 }0 n1 L0 R  k, ~
     DJNZ R5,SB4_1
9 \% t: t! |1 U2 k6 J) ]     MOV R1,#1AH  
5 L. T+ D% a5 o% d     MOV R2,#4
+ M) W% o' v+ u& I! UPP:  MOV R3,#8
  M$ @" b" J0 l" n5 Z1 Y- g  XJJJJ:- L" T& ]; s6 o4 X0 r
     MOV R5,#250
  v0 t$ }% V* E9 F/ L* `/ o; rJJJJ2:                : c& e# a3 d% B
     JB P3.7,JJJJ3
8 _9 Q+ O, z' A# f9 B) r     DJNZ R5,JJJJ2/ d3 j0 A( d6 A) u) E* U  Z  ^
     JMP START! D) F* S6 F, d' H6 V: `5 u: w7 a8 A
JJJJ3:. T* `( p, [, r2 o. \( I2 N0 a  r
     LCALL YS1  0 p6 ?. y: [5 P( \6 g
     MOV C,P3.7   
0 s3 W7 P; w2 I' I     JNC UUU      8 w9 N# V( X1 q& Z/ i! f0 I8 c
     MOV R5,#250, `  u5 c5 Y' f5 e# ^0 y
JJJJ4:
9 E# q) ]" b) t& I# O2 y6 v' L6 ^9 u     JNB P3.7,UUU# O  v2 K' y" H/ w$ k. f- m
    NOP: U" j: j' O7 [" \* x+ y
     DJNZ R5,JJJJ4
9 f) u4 _$ ~7 m+ e, B0 a8 R- q     JMP START
3 i4 |; E9 ]0 u& l/ e* sUUU: MOV A,@R1  
" r: [+ ~/ C! L. w     RRC A           
; c. p! A7 P4 m6 u( J0 I     MOV @R1,A      
! h2 s1 e% @8 Q/ m( R" c. {     DJNZ R3,JJJJ   
: ]( [0 y3 K5 g0 R' y$ T, f     INC R1      
& u+ O) Q  ~+ U- I: M     DJNZ R2,PP   
7 |1 U+ @. v5 x
2 J( N0 f6 }5 j# R9 F" f     MOV A,1AH
3 [7 d7 b/ m0 w9 G& E  t0 T* \3 ~; o     XRL A,#11101110B2 m5 @$ c# I3 ?9 J& L  ~! |( y
     JNZ EXIT ( k( i0 l, E7 P* r7 m
     MOV A,1BH   [) h/ [/ N0 G* Z+ R% J1 N8 Q3 v/ R
     XRL A,#10000111B, B+ l- z" E8 l
     JNZ EXIT 3 y% @" R6 Y3 b& A( y" o8 d5 j
     LCALL YS35 k, R1 F% s2 N/ z
     MOV A,1DH
4 F& ]0 O( g' Y; e, T     CJNE A,#10111100B,EXIT
: I0 p  A% b$ k  t# A! v4 f' g     LCALL YS39 f. r' e! F. {5 x
     CLR P2.6  
- n, e9 o# g3 @9 {' y+ `     AJMP BIJIAO1 k0 U4 [9 P9 X$ ]
   1 X% z$ r; k" C) ^
AA:
1 U( T  a1 r' F% o     MOV R1,#25
8 q+ y# O) o. p) j2 x' P& iXX: ' p' `, \: t, \0 V8 Q8 d
     ACALL YS2
2 ~2 c1 \% M, y0 n     JNB P3.7,HH
" Y" e+ ~6 H: R( H$ R, D     DJNZ R1,XX
& ?. u% \1 M! |1 d* G7 A  gEXIT:   
4 n3 G/ N; Z8 U8 l     AJMP START
0 u5 G$ g. @! H0 ^- N9 W   
% b6 a# {0 d6 @: f1 I3 c$ M8 [HH:
/ E) C( P; [8 o: R7 l/ Z     MOV R6,#4- U( _/ u" m( e
S: - h, p3 s8 O* n* W
     ACALL YS1 " e  g: v# |/ k+ R& Q2 M
     JB P3.7,EXIT
- Y  ^) ?' i. u* ]& e2 L; z8 E# s     DJNZ R6, S . G6 K9 t- C$ L
     JNB P3.7, $  : l% c0 Y* ~! @
     LCALL YS3
4 d' u  N6 N8 K. E6 l     AJMP AA: @4 D0 F  L: ^  k" V0 B
BIJIAO:2 j' E2 K6 J; K
     MOV A,1CH . J9 J1 s! v/ O# i# {6 {
     CJNE A,#03H,N1    E2 f" _0 q& \" g5 I
     MOV P0,#7EH   
/ ~, |% y2 m% k8 i7 O                     
3 w) F( s3 C, s) e. q' H ;处理STUDERV录音机控制码1 o/ i3 @$ c" \3 X. M0 X$ N" G
N1: 1 z; d' s* x5 C/ M9 e6 s* j
     CJNE A,#5FH,N2 ;播放键8 Q6 R* G% O% f. ]! O  f/ L( [: N: t4 K
     MOV DPTR,#REP
' K# G0 I, P5 B$ M' \* d     ACALL SENDA- L3 _  k, d- V% [
     ACALL YS4. @- P' q# `4 F5 t7 R
     MOV DPTR,#PLY/ ^  h; ?# |: V2 p: O
     ACALL SENDA1 g3 @1 i$ D6 Z
N2:
! C& j9 M  `  Y  c     CJNE A,#5CH,N3  ;停止键
. E& @# B: Q' O8 A% K0 ?     MOV DPTR,#STP2 h6 g; s. c0 b* o& X& O. v
     ACALL SENDA
% E5 b. `6 U5 i0 `0 s+ zN3:
+ p5 s6 C( s1 s" B+ R7 g9 P     CJNE A,#06H,N4 ;快进键
: [2 M2 J0 a2 q     MOV DPTR,#FWD
4 `" [& q2 Q) l# Z3 r6 p. c9 D     ACALL SENDA( X8 c- L4 F7 ], k! S* {& b
N4:9 b. ^0 B: `6 E- F8 k8 F' M$ ^
     CJNE A,#09H,N5  ;快倒键
+ R" [! z2 i2 p     MOV DPTR,#RWD: f! o' t/ d1 N3 f. g+ _8 k
     ACALL SENDA# k# b+ ^& _& ?7 w/ V0 j
N5:
; g  g# h1 b! h% j6 Z8 ~      CJNE A,#0AH,N6  ;置零键. q+ d, @) D/ r- m
      MOV DPTR,#RTM4 W. ~0 W: T% `" i, A- S, m
     ACALL SENDA8 g6 g1 I+ g1 i9 l5 h& F9 i% c2 k
N6:
* O% m- d; a) d0 m  {" c0 }     CJNE A,#0CH,N7  ;定位到零键7 ~' |2 ~; Q/ ]/ U2 u+ o3 O
     MOV DPTR,#LZA
1 ~/ L7 o0 D; e     ACALL SENDA& Y3 _$ X  ~* L* t6 n# h1 R
N7:
0 M, o. E/ x; Z* N     AJMP AA
3 R" M5 |2 [( \" tSENDA:1 H" o7 w8 T( W) D4 y- t  e
     CLR A
* Z4 I  E4 g' J+ u! M% u% C     MOVC A,@A+DPTR# S; J, Z- ]9 i4 x% P
     CJNE A,#'$',SENDB
8 [6 V/ A5 n/ J* F4 D     AJMP SENDC
3 ^! g- J0 k1 x; h  xSENDB:
7 Z; p7 u- |1 A2 N4 ?7 x     MOV SBUF,A  P) X: v( z9 t
     JNB TI,$  B; ?8 R; N5 z
     CLR TI3 r7 e; L" F8 ^5 p3 O
     INC DPTR$ G* e5 g( o! Q$ J2 A  w% U, d
     AJMP SENDA+ [2 j2 Z1 `  E8 }, r
SENDC:3 P7 y* `2 p+ l
     RET# l5 ]9 P" L8 ~. P, y9 P+ z

5 K% M5 [; P/ TPLY:  db "PLY ",0dh,0ah,'$'
, E! }: `+ |& j4 k" P) ^( P  H7 G" bSTP:  db "STP ",0dh,0ah,'$'
1 f& l- \. W0 t0 T$ ~. c9 L7 AFWD:  db "FWD ",0dh,0ah,'$'5 q* F9 f1 y) P; W1 c
RWD:  db "RWD ",0dh,0ah,'$'* v3 ~: B2 c/ B
RTM:  db "RTM ",0dh,0ah,'$'
! n5 a. w: i% Z( DLZA:  db "LZA ",0dh,0ah,'$'0 f" Q' y9 |3 ]( o6 v: ]
REP:  db "REP F ",0dh,0ah,'$'
' A5 X1 N2 M% W* F4 m5 {! r" o2 g6 b/ t4 Q% N. T9 o. b0 I
YS1:0 t' \" ?! e$ q! B! p
     MOV R4,#20
- _1 ?. Y4 z0 m4 DD1:5 B) K! }6 ]$ r) X1 @  T
     MOV R5,#20& u( j8 _( N, F/ a
     DJNZ R5,$: S, {4 F) p% m: S; R) Y
     DJNZ R4,D1  Y6 \4 I: C  v
     RET( k3 @, R+ h+ t5 t
" x4 v9 ^8 x+ [" N
YS2:. y8 z6 D: h$ \/ q/ z/ p
     MOV R4,#104 h" R: p1 q6 L6 Z" K
D2:
9 {: T9 @; s! b( s4 ^+ q& g     MOV R5,#235/ X' J0 e1 f, V2 O2 v; C9 X
     DJNZ R5,$
6 P5 T- y, M3 L0 p     DJNZ R4,D2
3 S8 \7 y. ~& @     RET
3 N" o) a5 M  T" l2 d4 X, V+ S- ^* ?0 K7 H3 I
YS3:
* }, r( m. k. X1 C% K     MOV R4,#2
' ^1 p' E* g* \$ _. v  @- `D3:$ C) i0 j, Q! ?. p: Z4 p
     MOV R5,#248: T* M6 f0 ?' i1 ]+ {
     DJNZ R5,$9 ^8 U- _& h$ y: `+ c; q; Y
     DJNZ R4,D3
8 P, C& E$ s9 B& W4 g1 f+ d     RET% _, E+ d3 U6 m

1 k. @0 q; k2 @' w$ j2 L( AYS4:
' a$ b6 X+ c9 h& |6 W6 c% F4 k     MOV R4,#200# \! E) s$ w% I% }/ _
D4:
& P9 F8 r2 e2 }6 e$ _; A     MOV R5,#248
# M! l- X1 r( P9 [     DJNZ R5,$- N+ l4 x; `( C; B  m! `8 d; b
     DJNZ R4,D3
& Q, `8 r5 k: C2 m0 _: h, x     RET. X8 p; U" y) R5 O" y
     END
+ a- q" r( s& ]' ^5 G
  ~/ ~( X9 T/ R5 I( z4 B  B+ Y8 }有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
( ]1 `/ P/ l& m# D* o# F是不是很惬意,嗯!5 }- a  q5 K) h4 {$ w) a

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
4 a- ^* h, J! Q# ]# g YK 005.JPG
4 K& b$ e, u9 G: e) C! b0 W
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
8 m. [- r2 }& _( a8 f( k
发表于 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:546 T5 `' X  U* |$ c4 Q0 n
最终的样子,有点简陋哈!

6 q0 ^% H, ]. w5 G; q; Z这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-10-3 23:38 , Processed in 0.073416 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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