收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ! r; H" A; {/ {4 m

5 {% a) I6 Y9 a5 T  O本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
. u2 l7 Z: Q0 w/ g) d
1 Q4 ]( ]1 J+ A: t' K! V* Z  F说明:
& \1 A  B5 @/ q3 W0 S- s( r1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;: B2 C% |( n) {, Q0 Q2 Q5 V
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;) X+ L9 L! O. @0 _. u+ {. n3 w, G+ P
+ @- o9 O! n7 [" y4 T- t0 r
一、基本思路) j/ e; G" _5 Z4 @& R  _
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
5 B& i" _! v% M0 e! [4 |  b5 g- p  R- ]7 n
二、红外遥控器
, x& u/ s7 A: p7 u( f( H我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。  O- [- [; ~5 b0 w  Q
Apple-Remote.jpg
: B: P7 p& x5 A$ V* U好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。% U- d5 S/ W! U  m  c, J; d: [; o
Apple-Remote - 副本.jpg 3 {% M! S% d6 L
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:$ \* J7 K2 d7 S  h. z
Apple-Remote - 副本.jpg
( p# D4 F$ b$ D- C9 {) z% G- B7 y+ f; {
三、红外编码" b- s  ~  D2 l+ q2 a
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
! j) q/ B8 Q: w& y6 S" v前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
+ \0 L( O& h0 B% T1 b- |后16位为控制码,主要用于实施具体的控制。2 l" V" T7 E5 [1 J7 m
这16位中高8位和低8位互为反码,以提高可靠度。/ i' x  Y2 q" i" n, p) ~
( [6 j5 h" ?+ R8 @
以播放为例,其编码如下:
  [9 I, D! N7 O' S5 y: K00000000 00000000 01011100 00000000
& v0 Q8 u1 m- z* m# _& D( r5 l1 N0 W, Y9 v5 @0 M
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
2 _  E9 o9 c6 f+ E- k$ d  g; Z4 r7 A% Q* Z
四、单片机系统
) h' R2 N. \, E6 f# n
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。. L8 I8 t7 s4 t' K7 A# [5 B2 e0 u
c51.png
" g8 H% t! ?8 E- ~. g , ?( J* \! U8 s7 J! M1 S$ J
电路很简单,功能如下:
: T0 B$ D' W% `' I- f3 l0 E- b8 x1、一个AT89S52单片机作为核心;
' e/ k: k# D  I. A2、一个TL1838为红外接收头直接串行输出数据信号;
) Y: W6 h' o* E: H$ i, \/ Z3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ Z$ v5 D( `, ~: S( |. i" Y4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
' r4 E* K# B: k/ {$ K 2 ~+ q5 O7 O: K. g9 h- w& f
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。% _1 A3 x/ d" T

9 p% S& \4 t: [7 w/ B7 U& Y( C. Y% V2 t% W: I9 r% M
五、控制软件5 e- N2 [! N/ f' `& R% T
控制软件用汇编语言写,源程序如下:
9 Z+ O  U3 U7 D% W     ORG 00H
* O9 ^8 a0 r$ Y( U9 Q" K) q     LJMP MAIN
: U( t: v5 _% h' q, E# D* p" @; c3 Q     ORG 30H/ v6 ~) Z, ^/ e
MAIN:
1 f" {! g( F* Q1 \  B     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
' x" T* j% v9 G+ d2 y) P" D     MOV TMOD,#22H  ;22H1 U) b5 C( y9 c  V, i  J
     MOV SCON,#40H  ;40H
- p$ m  Y! n2 `& W     MOV TH1,#0FAH  ;F3H/ \# V" H3 f; r$ D/ W; Q; W. k: \
     MOV PCON,#80H
1 b/ Y9 Z+ l) V/ T  C( P& |1 x     SETB TR1
8 G0 H! W/ ?- s2 w5 ASTART:! H* {; s$ J& V2 M6 {
     JB P3.7,$ ;遥控信号处理+ N2 u  V; M% i3 A- Y
SB:
& {% U: a  B6 k: l/ H     MOV R4,#8   
; Z4 Q4 ]2 @& W1 t5 B7 G+ b2 CSBA:) n: [) U6 U  C. G  F  l: \, g/ J& K
     MOV R5,#250. ~3 x4 {3 G9 \7 n3 f2 K, j
SBB:
5 o% s  K3 P) ~( W     JB P3.7,SXB1, N$ X" c( F) [# M1 u$ m. v
     DJNZ R5,SBB
" a% H7 @) D5 S) s     DJNZ R4,SBA
, H7 P1 c5 d% ^: g: q1 E     MOV R4,#27 F0 @1 D, x8 {) P4 H* A( A9 S
     JMP SBC
8 U& ^  A. R5 q* G! DSXB1:. x0 @6 i; @) G/ v
     MOV R5,#5  h2 C/ f2 {( Q
SXB2:              " A2 U0 v! R5 ?2 v6 P$ ~
     JNB P3.7,SBB; l6 ^' c* j* y& f
     DJNZ R5,SXB2: t2 Y2 \/ C# W' [! o! ?, |! [( Y
     JMP START7 |0 C1 O; ?: ^9 D, ^
SBC:- b7 [6 |& e8 D' ~
     MOV R5,#250
. d/ t' J7 ~  k1 x  JSB1:0 z1 H6 @3 J# E' H
     JB P3.7,SB2    J, K) n4 @1 [
     DJNZ R5,SB12 o, j! @3 d0 ]& E9 |0 S7 f
DJNZ R4,SBC
$ `( @1 e% c1 `+ s+ ]4 A- r/ S     JMP START
# Q9 {% F; u2 L; ], P! n* ]SB2:                 
+ P3 I7 v  u* [, ]5 @- y     MOV R5,#5
( A' ?8 k3 }% A4 GSB2_A:
6 l5 @/ y, q; {6 ^! M  N8 O1 Q; x8 a& K     JNB P3.7,SB13 D  N- l& a9 Z4 j
     DJNZ R5,SB2_A5 j% b. R* T+ L% p
     MOV R4,#3
' _& A# p, \" ESB2_1:
# U" f: H( i7 \2 J6 o2 R8 l5 ?     MOV R5,#250  Y8 r1 T5 Z+ P
SB3:                  2 v% ?% u8 G/ G6 H9 t0 l/ x
     JNB P3.7,SXC
2 M  Y# U, U9 n7 H( `     DJNZ R5,SB3
2 D: H/ j' q! r' N1 I     DJNZ R4,SB2_1/ e! G" b0 Z; |- p
     MOV R4,#2
0 M; h" [2 @- y/ F- S     JMP SB3_1, f) _: k3 P1 Z. U2 O$ N
SXC:                  
2 C! B! L/ h1 Y& w     MOV R5,#55 o6 P- [# W; n0 m3 v
SXC1:& Z. B& c* \0 N" E
     JB P3.7,SB3
" {" r. x7 d+ B     DJNZ R5,SXC1* O2 K) C, d  B, S, x* N
     JMP START
& p; \8 H# x" c5 fSB3_1:                   L: Z% A4 \" P" x
     MOV R5,#250: |) A$ M3 v& i0 ~/ a! y" \
SB3_2:3 @. V& X: B! r  v. i
     JNB P3.7,SB4" U2 e0 m4 q8 U! Q5 ^% l0 O/ ^
     DJNZ R5,SB3_2
, I# j0 V' F  V( T% h: K9 \     DJNZ R4,SB3_1
5 ^; _  \( `! O% z     JMP START. E4 ]  I( R+ a  e- c
SB4:                    + C' ~/ I9 h9 y" {6 n% }% X
     MOV R5,#5
. D. I5 q3 @+ ?$ E3 Q! W0 q) n: I( rSB4_1:' k5 F  S; M$ m- I: h
     JB P3.7,SB3_26 `. x9 z; A! k$ m% {. p
     DJNZ R5,SB4_1
7 \* B  z! G; Z, g/ w     MOV R1,#1AH  
* l' J' X' @; x% H     MOV R2,#4
! T9 l+ L; _1 g1 @1 M, L( LPP:  MOV R3,#84 V  P4 d( A+ i2 Z
JJJJ:
8 p$ V9 H: D' M     MOV R5,#2508 k5 q0 x. H. F( p4 v1 U
JJJJ2:               
/ \1 C: l8 q( a# i6 U, q     JB P3.7,JJJJ3' S# R. n5 u' a% w* |
     DJNZ R5,JJJJ2# r/ m: _5 S/ q3 c
     JMP START
1 u, d% ?7 |" u1 eJJJJ3:
" i, P/ N% J/ M& M1 Y     LCALL YS1  
- B* }$ P9 s% A& W* o4 [3 \     MOV C,P3.7   + M. t  D8 ~- T- Y7 J( V4 R
     JNC UUU      + u% h5 C0 _( x- S* ]
     MOV R5,#250
$ x9 }2 A: }" j0 ~% bJJJJ4:
/ ]6 C' i. n0 f     JNB P3.7,UUU
3 g6 O8 T' Z3 u2 q5 j    NOP! Y  k9 Y/ l1 a! [
     DJNZ R5,JJJJ4; s3 R1 w) L2 i1 Y; h
     JMP START. G6 B+ c4 d4 M
UUU: MOV A,@R1  + Q( K$ O4 ?  t9 |
     RRC A           3 A, D3 J4 r& w2 v
     MOV @R1,A       / W; F, d) }* E6 ~: C) Z
     DJNZ R3,JJJJ   7 A- C9 g+ V9 O) y+ \+ e/ I) B2 y2 D4 Q
     INC R1      
  T3 _/ [1 {3 v6 |' w; y  A     DJNZ R2,PP   $ ?# y( c( B# L/ b0 b1 T( C# |& j

3 Z& w8 ]/ L5 n1 |, l     MOV A,1AH
0 n, G) D$ }7 e2 Q+ m. F" n$ ?     XRL A,#11101110B
2 X; ?6 N" e) a+ }- O     JNZ EXIT
3 T6 C9 I$ K$ ]0 j2 h, I     MOV A,1BH ; o" Z; j1 L# T0 z2 {* O& _; |
     XRL A,#10000111B
" b+ p- R8 J( \4 G# P1 ~/ `     JNZ EXIT + _8 l; E( @' b* M$ O; u# j
     LCALL YS3' k- b/ R9 l* |% |% e2 T5 x1 h
     MOV A,1DH ( e1 A4 ?8 d! |
     CJNE A,#10111100B,EXIT
2 U! j1 l4 y% s; U8 v; ~     LCALL YS3
) d6 D; w  \6 B/ H     CLR P2.6  ; w9 H/ Z" c# i) U1 j
     AJMP BIJIAO
5 z9 E& e7 o3 g+ p! z     x: a4 \( h: i  V' I
AA:
5 J: P9 y0 r+ a. C/ C  z     MOV R1,#25
0 v. i, _: c4 `# Q$ y$ a! jXX: , F) H, c" l' l' \/ I, a
     ACALL YS2
! u( G) d% H/ T' ]8 w) h  S5 z     JNB P3.7,HH
) @' F  x7 d$ t( N     DJNZ R1,XX
/ u1 y! S6 K/ d# w% cEXIT:    ; g$ `0 x& u1 ]4 |1 _6 l
     AJMP START
: M6 ]( \7 V" s. U   7 ~4 i! m- {8 F! F! V# s; k- _0 z6 a
HH:
: R' {' L* t& E1 f     MOV R6,#4
/ G" j. y" C6 d! Q) hS: $ P: r4 Q3 F7 y! q) f# X
     ACALL YS1 7 e! e, }5 o/ @* `9 B, K
     JB P3.7,EXIT & O# c2 w  [) }' o( h4 k
     DJNZ R6, S
) _# `  Y' n6 t# _. ?2 M. y     JNB P3.7, $  
) y3 e# s1 H  G. |- N  [4 I: \, a     LCALL YS3
. @9 ]  K7 a- g0 J     AJMP AA6 s7 ~' P5 g4 s1 ~1 O
BIJIAO:7 [8 o% Z' _+ W
     MOV A,1CH 6 W8 T% X; h9 W( }1 ~
     CJNE A,#03H,N1  
3 @: A' m: `: c0 L     MOV P0,#7EH    2 _  G! D& h* ~) b+ X5 k" u; G
                      1 e) }4 a' R+ x/ \6 L
;处理STUDERV录音机控制码. _, @$ ?: V( s; s( Q
N1:
5 _9 z2 T- Z  U     CJNE A,#5FH,N2 ;播放键4 J) |  u) J- x: L$ q2 F
     MOV DPTR,#REP
- f$ I+ ~5 \/ N4 u7 |; h& L8 \     ACALL SENDA' g6 u, X$ V7 O" ^) W2 l6 F
     ACALL YS4
* A/ l& w7 ]. l( Q- V; x     MOV DPTR,#PLY9 ^' C1 W6 O* }% i1 s* I3 T. e
     ACALL SENDA
, @2 K" j, f$ b  XN2:1 v# ~, @6 f) C6 C7 Q* A  W9 h' c
     CJNE A,#5CH,N3  ;停止键' r8 {4 {+ o& N$ Q+ n. q
     MOV DPTR,#STP
: K4 F+ t$ V, L0 a" C     ACALL SENDA
. a: ]1 q. l$ ^- j- [# p# {! v* Z! nN3:, q4 ^6 B- a0 G! ~( P
     CJNE A,#06H,N4 ;快进键3 c4 L2 s8 _; @4 y" F% S8 ^
     MOV DPTR,#FWD; U( B% x7 M) z: R' j# }9 j
     ACALL SENDA
, \" v: v* f1 ON4:+ X+ I2 z2 U9 b
     CJNE A,#09H,N5  ;快倒键1 Q: q/ n, k9 H# Y; L& Z0 l! a
     MOV DPTR,#RWD3 j+ t; Q+ |4 |: R
     ACALL SENDA$ Q3 g- y) e3 V0 X# ?$ b
N5:! G! W8 O  \+ {; J0 S5 E
      CJNE A,#0AH,N6  ;置零键
3 w" R- Q; r9 ]$ _      MOV DPTR,#RTM
0 w/ r' @; u; g9 s     ACALL SENDA
. V7 U, t2 ]8 Y* FN6:
7 A. y7 o4 w+ a6 u0 k( o+ T     CJNE A,#0CH,N7  ;定位到零键
0 e1 E8 W  ?/ w0 m) V" @- ]& P     MOV DPTR,#LZA. ?# o0 n0 ~+ B! t6 a* j
     ACALL SENDA
& `' P& T4 l+ E" a2 f1 rN7:
# x: a* @+ l8 b) c" h     AJMP AA( G+ x; s" s, i, s; ?! L9 g
SENDA:
  |6 y: M+ s2 Q  P/ o     CLR A
# ^2 I' Y& o# s9 b     MOVC A,@A+DPTR
  K& X& n# X5 P     CJNE A,#'$',SENDB+ H& G2 g9 l* Y# r0 U! D* J3 b
     AJMP SENDC' k" K, c; d6 _/ o; L
SENDB:
  p* _5 S9 H) [5 a     MOV SBUF,A
9 M" T% ?2 u: b' F9 V! s     JNB TI,$
1 N$ H& O, y3 n0 S! j, ^     CLR TI4 r+ A6 h% y; M6 X7 }, H) U
     INC DPTR
, q6 z5 B" O( w9 p6 t) x     AJMP SENDA; a2 t" D$ G- O+ A' P, ], k3 {; Q- L
SENDC:
, T. w8 `& H& `) u% z& H0 w, l; w% j     RET
. p' c$ ]. w4 V1 g2 F3 d/ O2 l; H8 |& q1 p# f
PLY:  db "PLY ",0dh,0ah,'$'! U7 L# V5 i- p2 d. e# Z4 M
STP:  db "STP ",0dh,0ah,'$'5 T5 }2 O- }& a6 [* N$ a! N
FWD:  db "FWD ",0dh,0ah,'$'
; B( {; V0 r/ ~& @; A! F% z8 sRWD:  db "RWD ",0dh,0ah,'$') y& k1 I; d1 a* X
RTM:  db "RTM ",0dh,0ah,'$'2 D# g8 O0 l% K" m2 e: T2 `! q# o
LZA:  db "LZA ",0dh,0ah,'$'
3 S' x5 P8 M+ ZREP:  db "REP F ",0dh,0ah,'$'& A, j. S. t" R7 t0 E/ J

! e  p6 N& _1 u7 M+ RYS1:
' ~+ A7 q" t7 D; d$ E3 g6 N     MOV R4,#203 A, J+ ?# c3 u" a
D1:2 M; y! w& U5 h9 J9 E* g
     MOV R5,#20
1 H( T8 x$ u  z# |" m  N/ T     DJNZ R5,$7 o. _% _! D  c' s( i, d
     DJNZ R4,D1( ^( S+ O/ q8 G
     RET
: a4 X9 k4 J( U, R! A6 e* M  @
9 A8 {/ B8 E* r# Z) NYS2:, U. O3 q) @% i- R( a' z, U
     MOV R4,#10
( V8 [" h4 s$ f; ?' }D2:
0 ~( d1 Z! a: \% r/ s7 X     MOV R5,#235& u$ K8 b% {' a: }. |2 P3 o
     DJNZ R5,$* i- ^# ~/ k1 Y7 {( f
     DJNZ R4,D2
5 G3 ~" A' ?0 `6 O5 d, O0 O% Z" U     RET
* ^& f  A$ g) [  h; S
! w+ G" h; Q8 UYS3:4 a9 \& t7 w& r1 J3 ?
     MOV R4,#2& L" l! g% z4 H3 }  r" b' G2 T9 a  `
D3:
1 b- A) K/ b& B& G5 \8 V7 Y     MOV R5,#248$ ?- y+ T* A5 n0 O/ W1 [
     DJNZ R5,$
6 n9 B5 f  E2 l+ O. N; h* K( s     DJNZ R4,D3
0 t  }6 s, z# d     RET+ i+ M. X6 i: U
0 V1 @: p0 e/ y" Q! Q
YS4:! Z3 s- x9 e. d  e+ z1 L! f
     MOV R4,#200
- E) ^  p( J3 G: `: I' ?& m4 ID4:! i9 ?" m5 B$ ]
     MOV R5,#2488 |7 g" t1 v: n# W
     DJNZ R5,$+ ~3 w( T" k! B* h9 c" H
     DJNZ R4,D3
" [2 ~7 g* H/ |% ]     RET
+ s# W7 ~  y8 a! {, Q+ V     END$ L# ?$ n  l; y# c( ^

% S0 X* H0 J8 _/ n6 y' \! w有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。) j1 ^9 A! L& L& d* j
是不是很惬意,嗯!$ O# y& r# p* Z" L5 ]& 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 | 显示全部楼层
最终的样子,有点简陋哈!
2 r) p/ M) b! _$ J  U( a# R0 A: A. k# d YK 005.JPG
: ^4 p! X; B( t  N9 m+ [
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下; f  _" f5 |2 ^) v7 @
发表于 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:547 ]. I% g$ u# u2 q8 V
最终的样子,有点简陋哈!
( @' l9 m" x, s2 m/ ]
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-3-31 02:22 , Processed in 0.083749 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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