收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ! d% u( ^& G$ T% D

$ _& s8 o3 B8 B本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。3 x3 B8 L' q* o+ l
! x! E+ u0 P6 h6 V
说明:- ]3 G) q& e# a& J6 H) c  M# O) K
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
3 d2 O3 G9 E3 n8 Q( r! m, f% d2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;0 j3 d0 c( K' ?/ |9 a0 [
" @  q  v- a2 E6 v) D/ f
一、基本思路! L& U$ |2 s4 E& y- ?
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。/ x: @6 M" j8 [5 s5 i& x

1 J; j: _4 ^4 V) G二、红外遥控器+ u7 {4 n4 |  q. a
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
5 c) b2 w. e. X( Z4 n% X! k( S Apple-Remote.jpg % L- j9 j* N2 o) m$ g7 u
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
  X: U8 w5 @( j5 h# b. [ Apple-Remote - 副本.jpg 4 x3 U$ l" m, Y  n% Q
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
# f/ ~& t; Y$ q' Z/ ^ Apple-Remote - 副本.jpg
- D5 U3 G: Z, d. O
1 n  R4 Z; n+ U( i7 U& x  t; _三、红外编码9 g: ~  m# [& \
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。0 b4 p/ L& ]' z4 O, F
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。6 n/ [5 F7 l3 ]$ t- s7 \, e  x
后16位为控制码,主要用于实施具体的控制。
  c3 G1 a8 J% l6 _( H8 t& z# c这16位中高8位和低8位互为反码,以提高可靠度。
, x: {: L( F0 |: \
% n& d. e5 o( B3 f: M" y以播放为例,其编码如下:
: e) V& s& m, ~00000000 00000000 01011100 00000000
$ a5 A/ |3 K$ ^* r& o1 l
* f' G% v6 ?$ W/ z你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
2 {; G/ w5 |" z* z0 ^2 B( w7 I; S
$ G* c# q# F% D' d9 j" I四、单片机系统' P) c1 ?- F9 {* i# N- i" c7 e
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
" \! b% u7 a4 A c51.png 3 `0 n0 r, V. f+ [: \3 j& p+ I( u

) t  I4 b3 d8 @* K+ i电路很简单,功能如下:
7 _9 M, w& Z. u8 n% p1、一个AT89S52单片机作为核心;
6 V2 B1 E! o; Y7 n8 B/ y* x2、一个TL1838为红外接收头直接串行输出数据信号;
6 G$ c: s" O9 r3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;- ^5 B! G7 T3 w( c& v
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
  F+ ?( V; `$ @* _' _, S# v : i! s, v/ N9 O; w$ R
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
! B2 O8 D4 w& L; g4 ]
& N! n2 i9 U! T) N. X+ b' ~; ?* P6 Q* D; U& G! Y+ e2 q
五、控制软件9 `! f' [8 J" A) q. @# X
控制软件用汇编语言写,源程序如下:. R1 V3 s+ h1 V# h
     ORG 00H
+ T/ u5 q7 E  T/ c( g! t1 n     LJMP MAIN
& J$ v& C' u  f2 G3 o3 ^, l" W     ORG 30H
, k; }* T) C, A" I! i, G: `, K( NMAIN:0 {6 Y$ n/ `  r+ g
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
8 x3 e. i) X0 w, C# q6 i1 g     MOV TMOD,#22H  ;22H
+ w; V; |. o* A* k( G; F/ B6 j( J     MOV SCON,#40H  ;40H! M. X& n$ a4 U* M
     MOV TH1,#0FAH  ;F3H
0 m" f) L8 S" v) A$ X8 t9 o     MOV PCON,#80H8 C4 ^' E" \6 h+ V: C0 _  u
     SETB TR1
& I$ X5 I% k4 b4 u) G& M; cSTART:
7 X8 v3 C! a9 k: H- j# @* ~( C     JB P3.7,$ ;遥控信号处理7 ~: z1 a5 n" l4 I7 P6 e. G0 z
SB:
+ r! o+ u7 F8 }5 `- m" |5 ^     MOV R4,#8   
8 x$ z) Q/ @) eSBA:, @1 x: a& V/ C8 B$ N% K
     MOV R5,#250
: M- ^3 i/ ?+ ]$ E7 [' T0 qSBB:
  k4 Q, b7 |' G. o     JB P3.7,SXB1/ c" ]7 j9 A9 I' n; u
     DJNZ R5,SBB
3 y( h" a9 x1 R     DJNZ R4,SBA
) `5 V6 I$ c/ i3 E" ^, r% P4 f     MOV R4,#26 W" _6 a7 ~2 ~, ^# J3 ~
     JMP SBC
. u' X* |! n+ [7 OSXB1:
+ h' D1 O  Q: L3 i     MOV R5,#50 v  D1 P5 O: h& {$ x8 }
SXB2:              8 A8 h0 _4 M1 Y& m$ z
     JNB P3.7,SBB
1 ?' Z& o0 V3 }/ `     DJNZ R5,SXB2
5 C) y; H* t- a" m     JMP START
! P' G- o* A) o3 FSBC:
; j) s5 W1 W2 W; q. X0 ^     MOV R5,#250  C3 v5 `" B6 n: ]9 O% k& P
SB1:
! b. g" g/ |6 t( T/ G% e1 x     JB P3.7,SB2  : B* O5 @! C+ j
     DJNZ R5,SB1/ P% `0 P% T9 `8 {2 i& C
DJNZ R4,SBC8 V9 L4 a$ i0 S- X& t+ b0 ]
     JMP START
0 W4 b4 d* }' t8 p- a: `4 w# y7 sSB2:                 
2 }* y" y& {9 ?# B' s     MOV R5,#5
5 k- y4 d! M6 ZSB2_A:6 t7 F* _/ l3 Q# r
     JNB P3.7,SB1) m* }6 T2 N6 M6 g5 ?
     DJNZ R5,SB2_A
- N4 Q. U8 y7 j3 ?' _" M, |     MOV R4,#3' }, F1 Y# T9 G
SB2_1:
: W$ s* n, N; F' g2 d  X     MOV R5,#250
0 L& p' ?. B4 VSB3:                  
' ]4 k2 o5 O! G5 J9 r  W" ?3 E     JNB P3.7,SXC
) d* `/ W: r! N' w     DJNZ R5,SB3& H& }; D- U; }* @/ Q8 ^* O
     DJNZ R4,SB2_1* @- ~1 w% c8 C7 ^/ {0 d/ K# O$ S5 E) O
     MOV R4,#2% o& [! F  j  H) V' ?! Y; g
     JMP SB3_1# C7 v. a9 T) m; c- W! L
SXC:                  ( ~/ }$ F3 G: T& e
     MOV R5,#5
0 R  F, Y4 U' @9 \5 p( PSXC1:
, O* d# y' o# J     JB P3.7,SB31 @6 n$ g6 i$ j
     DJNZ R5,SXC1
- i5 [5 T  p9 H3 B. ^8 Y* L     JMP START
% _; o) j: f+ {9 \  A" Y2 qSB3_1:                 
! v0 @( v' n" z1 d" P     MOV R5,#250
( i% D2 V7 C, o' cSB3_2:
7 M  n: {! D" o( ~     JNB P3.7,SB44 f5 i- g( T% i% X  U% V
     DJNZ R5,SB3_2* q/ V' J6 m# [6 s/ c! I1 ~7 C" f
     DJNZ R4,SB3_1
# ?6 x2 y# t; s     JMP START
8 C7 j2 b+ f3 y! B5 MSB4:                    
. d4 O6 M1 C) V% n: B2 U3 p& B; X     MOV R5,#5
5 v$ h" t$ G, I& u3 b8 q' e% C# r9 sSB4_1:8 j& F8 {8 ~$ L5 k8 f0 H
     JB P3.7,SB3_23 o- j" X( K" T8 t$ |7 g
     DJNZ R5,SB4_1, w$ Q+ y9 n7 ^+ i( E2 A+ F
     MOV R1,#1AH  2 \) d- M0 `" [, M, K; L/ F6 ~
     MOV R2,#4
$ q! F1 T& X0 h3 y' C9 f1 x7 {- [1 wPP:  MOV R3,#89 N, Y  T" d, ~: R
JJJJ:4 `5 G  a" F2 R: Y( U1 H( X
     MOV R5,#250
: Z$ v, z0 K6 }" ?JJJJ2:               
3 }4 M9 e  C% D/ {0 \5 {0 @  @     JB P3.7,JJJJ34 ]: \8 b! C3 D$ E* Z
     DJNZ R5,JJJJ25 a% j, o8 P2 T  ]. k9 q
     JMP START
' h( ^5 t. \! o* UJJJJ3:, I5 |8 \6 j- r8 w' L
     LCALL YS1    J- x) n) k1 v: k4 n' u- T9 W" j
     MOV C,P3.7   
2 K) i: z; Q- {' k& Y* j     JNC UUU      
8 [7 z/ X- p: |  P     MOV R5,#250
/ A2 Y2 Q1 q4 pJJJJ4:
) K$ _1 B& ]$ |  C3 s0 g5 K) ~$ C. K, u0 a     JNB P3.7,UUU9 j1 `. U) N. r. m% L/ e+ j
    NOP
% }: a: Q5 B. q: O, o! x     DJNZ R5,JJJJ4
- G8 X2 ^9 y. q* e) a+ ~     JMP START
0 \/ V4 h; o% r7 zUUU: MOV A,@R1  ( C( z$ E/ a) G* ?( O9 K
     RRC A           . g( P: a! ?: b4 F5 d
     MOV @R1,A       ; h* o& ^/ t, |" H3 J
     DJNZ R3,JJJJ   " G; h6 m7 |1 M& X
     INC R1       9 p6 w  y; Y+ |5 A2 L" A
     DJNZ R2,PP   8 O# R( R7 Y! A- e

, e2 c+ p3 q  X5 J/ ]0 ^     MOV A,1AH
+ m; }: K, r2 M$ i     XRL A,#11101110B, G/ R/ V* T/ Q
     JNZ EXIT
$ }0 l% f  m& a: G* G     MOV A,1BH + e) Q% T8 j5 M. a
     XRL A,#10000111B; e1 b6 p" T  O! F9 k8 g' J! X! K- e
     JNZ EXIT + p6 R9 @$ K3 @
     LCALL YS3
# }) t. A' P/ E9 O" F* e+ I     MOV A,1DH * ~$ @& l: j' ?; z9 W( ?! I; W7 e
     CJNE A,#10111100B,EXIT
# U2 q+ d* ^; o) L6 Y% ^     LCALL YS3* m. |0 R2 T" \
     CLR P2.6  % ]* C. p% w" g( X  p9 R
     AJMP BIJIAO; T/ E5 t( Z% s- X2 U
   4 S& F- P& S: O% ~4 b
AA: * Q' E+ c. t5 ~$ J8 I
     MOV R1,#25* s' t( k: f! w& P" V
XX:
. a6 v- Y9 B2 h2 I     ACALL YS2
* L! y  e/ f/ d5 V( r     JNB P3.7,HH
  {, G$ {' B2 H8 g) k: T     DJNZ R1,XX
& S0 A% a, n; x  VEXIT:   
1 ?' N- l5 Y4 G' u" l: O     AJMP START
! F! O1 i. u1 l9 N6 U6 R   5 I0 c2 C0 R$ N( z* x
HH:
" K. `3 D# u' N( ^! X/ ?1 z5 N7 z     MOV R6,#4
) I# r* `# d/ o6 AS:
) K/ r) q: i- f- e# n+ z     ACALL YS1   @4 B8 L0 g  K1 q$ v" C/ V
     JB P3.7,EXIT
, L! s( v3 ~4 x3 _6 J; |     DJNZ R6, S
, l! }1 d% K$ U, B) h     JNB P3.7, $  0 \' ?0 s9 ?- q9 v8 _" e; x- E1 d
     LCALL YS3: M  G2 }6 c4 z1 O
     AJMP AA$ H0 R7 u  C  @' H
BIJIAO:1 ^& ^# U% Z: m- P; o7 m
     MOV A,1CH 5 M" j8 k6 e, R# V$ Q
     CJNE A,#03H,N1  
$ h) X& i% W+ @+ X" d7 c     MOV P0,#7EH    / y4 q+ R  J2 J4 k' b( o
                      2 N) {) B+ t) W- I3 Y. {
;处理STUDERV录音机控制码/ c( o6 L8 d& m# t. c/ R# r  W
N1:
9 {% S4 V7 P7 U# \- a: P5 N/ J; X     CJNE A,#5FH,N2 ;播放键
8 H' L9 E2 O$ K; A, o- @1 u     MOV DPTR,#REP
! D; E" [0 S" @, G4 d$ d2 D! B% R     ACALL SENDA
, ]& ^* C$ V- `. l: v: R# r8 ]     ACALL YS4
0 t: {4 W. e# r% y( p4 O     MOV DPTR,#PLY
+ i5 H; F0 S: K+ b! Z( ^     ACALL SENDA
& O) l- u4 V; v1 SN2:
( d( }3 I) R8 K7 Y& x     CJNE A,#5CH,N3  ;停止键. ~6 z/ x+ |& |
     MOV DPTR,#STP* }6 Y( }6 O9 S0 i& `
     ACALL SENDA3 u- `7 D1 A2 G; j. P
N3:
  ^% u/ \. M( ]  }/ Y     CJNE A,#06H,N4 ;快进键2 R) R/ _# k2 ^: v9 c
     MOV DPTR,#FWD, h0 {! K- g+ Z
     ACALL SENDA
; r% d" j/ c! b0 [N4:
- B  G8 a0 F+ w: ?1 Z     CJNE A,#09H,N5  ;快倒键$ Q& x' I; r5 s4 x
     MOV DPTR,#RWD
2 x6 y' {3 }6 e3 I" |9 [# W     ACALL SENDA
" q( j9 ~  d0 D, nN5:
6 Q) Q4 `" n/ n7 H" J. n' c      CJNE A,#0AH,N6  ;置零键
; h9 y* D) @3 r      MOV DPTR,#RTM2 |# n# R( ^* D3 E
     ACALL SENDA
9 S8 M" s8 s  k1 o% z* P# ^N6:' o6 U" e( D* s7 N0 L8 q) I
     CJNE A,#0CH,N7  ;定位到零键
" D3 `$ g4 {+ u$ p  s     MOV DPTR,#LZA
: t2 ~( V5 L. d) v( v     ACALL SENDA
3 Y" m4 i( y( R2 F. dN7:
% T" L# Q0 v) X  t, z     AJMP AA
' ^$ G* J5 N: zSENDA:
1 b2 q1 y* }) U0 a7 u1 U+ o- Y4 l' H     CLR A
4 H. M- [9 O  \2 N+ E" u, j     MOVC A,@A+DPTR
9 x. Z3 X: P% P% [4 h2 L     CJNE A,#'$',SENDB; [# _! b7 j! C5 Q; u, K
     AJMP SENDC
! w# y( `  e7 e5 O8 `$ i2 r$ rSENDB:$ O) i0 u, G$ n8 B6 ?, u. o( n
     MOV SBUF,A- [2 m) U+ x" b% {/ G
     JNB TI,$
9 D- ~# C0 j. m) C     CLR TI
5 |! Z: Y6 V$ l4 C# Q     INC DPTR
6 W* G9 S8 H/ s4 Z! C1 A     AJMP SENDA0 w$ B; c% d& _6 f4 O
SENDC:/ q2 p7 c6 A4 r+ G
     RET. ?. E5 u: b/ S) ~2 d
0 i% d$ I. m4 V1 Y. s# y+ ^
PLY:  db "PLY ",0dh,0ah,'$'
/ A# u- c% x! D3 W5 R  z/ `0 dSTP:  db "STP ",0dh,0ah,'$'
2 j& l+ d) d+ j* H$ |/ @1 QFWD:  db "FWD ",0dh,0ah,'$'2 q: J/ d- `; W1 p5 G' ?
RWD:  db "RWD ",0dh,0ah,'$'
/ W  e3 o# o" D* F8 J" P1 A5 YRTM:  db "RTM ",0dh,0ah,'$'" T% p: Y- E3 k. G
LZA:  db "LZA ",0dh,0ah,'$'
& m, ^; \4 G) l# q4 N- lREP:  db "REP F ",0dh,0ah,'$'% d( S% ~2 Q% a1 d% T3 s- i
$ B. f, n( R2 Z
YS1:- b' r: b# V/ N1 G
     MOV R4,#20% w! E4 x- H! M( `. L
D1:/ W1 M/ p. t# Q
     MOV R5,#20
) ^. j5 R9 q* n; ^7 e  v     DJNZ R5,$9 [; G- g& s- W' J0 A
     DJNZ R4,D17 x3 @! ]' b4 V/ g+ M' @4 y
     RET* T; n9 r, B7 [3 y& [" C
* [2 L( s, f) s1 x7 H0 ?- A3 _
YS2:
4 @& k/ N/ \8 Q     MOV R4,#10
: N+ ~3 C* X' Y6 I# i7 yD2:
  Q! d1 X& s8 k! G# J2 H' @     MOV R5,#235
: B' [5 H$ L5 ~  @2 r, b4 w     DJNZ R5,$
5 C) x5 j4 l( b, e     DJNZ R4,D29 N1 I5 |+ y  Z# U: ^! S8 a: ~! M# h
     RET
) N* M  t8 h* H  o4 {
; J; B" t0 Q% t' G0 {3 J" @YS3:, S6 j" n+ G7 q# N, J
     MOV R4,#2
4 T) [- x. U. {+ `2 _D3:, Q3 x) s7 B. G' u. O
     MOV R5,#248
/ q9 Y( m' u5 S3 y     DJNZ R5,$
4 p8 `" r9 U" C+ p2 L     DJNZ R4,D3% @& K, r- N9 N4 g
     RET1 R$ l# G/ N5 e7 u$ i  O
! Y+ B4 [$ I, T4 U
YS4:
& U" W( Q0 c( v) V     MOV R4,#200" j* v% ?8 R1 @* L* _  Y
D4:0 f/ R6 A, y+ l. G$ [6 j  f
     MOV R5,#248. C4 `4 ^  Z% N+ O6 G
     DJNZ R5,$& A3 I; l; J; {- |7 [
     DJNZ R4,D3
) q8 K% z- b  H1 f     RET
+ D2 y: Q3 m2 n& L  `: J     END
, t+ d: k5 \2 H' s) b
( M* D. N8 v' [有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。0 x# T& A/ Y" V8 U/ v: A4 }) c
是不是很惬意,嗯!
9 r" n( w9 o5 V' s2 |# q! o" z+ X

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!/ f5 M% t4 }8 M8 t; E
YK 005.JPG 0 }, t- n  k: a" 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 | 显示全部楼层
洋为中用,真棒!我得试验下
6 h& o  t; K% `: [2 d0 L8 j  O
发表于 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* D* @% X; u! _: Q* J5 _, b* g0 j! J
最终的样子,有点简陋哈!
% M! |' F3 S8 E1 w$ |
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-1-26 00:03 , Processed in 0.074811 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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