收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
- B* }  q9 t8 K( B6 C& o
$ S2 D1 q. s& o! |9 m本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。' c( n( h. i- x( s. ~  W, z" {* Y

" p* i* [- o* {5 W说明:- q9 \# d& C' Y1 C) V7 @
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;1 o. m" [$ h( D6 K; }
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
6 i8 M: J$ s: {* m2 l1 M& b, y8 P% H
一、基本思路
: R" v. u9 v  l$ R. N+ J使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。8 }* S3 v+ m( n  X' k/ t( V

5 C  O9 _: ~9 w/ M  e, [  T二、红外遥控器$ q- @5 C. j# J/ C+ t# S* H
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* s5 I: \; Q3 `. N4 X+ t% p5 Z( D
Apple-Remote.jpg ! Y6 c" M# x6 B/ I
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。$ ~% V+ ~/ v! Q( |$ g% A
Apple-Remote - 副本.jpg
6 A0 V+ c( d& k在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:+ L& @5 K, n7 ]" s3 J
Apple-Remote - 副本.jpg ( K; z6 B1 F4 w3 f( Q' @
+ ~8 Z3 C  U' V, a! c! E% J' _: N
三、红外编码7 ^) l, B4 L5 z/ Y9 J. A# {
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
' Z, L  r* }6 w1 i# J5 U前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
* F4 _% L6 w7 B% H* O! f8 G  `1 {后16位为控制码,主要用于实施具体的控制。1 O( R5 n0 p; V! _; H! ^
这16位中高8位和低8位互为反码,以提高可靠度。& |* S# z& |; u; I# n% f. c

* n' a$ r7 U; A- O以播放为例,其编码如下:; ]' O  @4 X9 S0 |& V, `
00000000 00000000 01011100 00000000
' s. p. P  c2 z6 k& \, ^' t; z% W+ d' @1 m1 a. P/ s3 |
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。8 V, a7 s% ^  w

! |. x5 _) Q3 I: b+ c5 E; G' W! S% a四、单片机系统2 ^5 {" m) S4 K- K
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。4 _/ s, S+ w+ k5 t5 `
c51.png
1 _) y( R: F  g + p, x' K$ j) n; g/ j) A# D
电路很简单,功能如下:
/ b' `  B$ H8 Y. g' \1、一个AT89S52单片机作为核心;
  C. W8 k, R4 p5 w0 ~2、一个TL1838为红外接收头直接串行输出数据信号;' k* w3 O: ^9 P% C0 C$ q. [8 k9 i' X
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;, y+ y  o, r1 b6 Z0 W0 Z
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。0 k( @8 r- r* C/ s( L( B$ d; P

  ]6 O, T: [. \+ {& T7 Y关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
0 g9 K0 G( B0 Q1 A) D9 a5 V9 r, j. _

% v2 N3 F, s; D5 K0 ~五、控制软件9 b. l) `4 V8 ^+ D8 y& x3 C# c
控制软件用汇编语言写,源程序如下:3 W7 Y! d% I# r$ I; Q
     ORG 00H
* v  D' `$ n5 w7 c( f     LJMP MAIN
) v" R. F/ [& f( ?5 q, m- y     ORG 30H) x5 ^( V0 R. r- X% m0 ^: p
MAIN:* I  I8 v$ ?6 N, x+ }$ Q
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)) }8 R* ^! m6 ~' r2 {
     MOV TMOD,#22H  ;22H- D3 H" d: n/ S6 g, s3 O9 D8 D
     MOV SCON,#40H  ;40H
6 d5 x2 T8 K- N+ }) D     MOV TH1,#0FAH  ;F3H
; c3 H/ K0 U  K5 ~5 Z7 V" x     MOV PCON,#80H* J8 R  i8 c# c1 {
     SETB TR1) c1 n8 r4 V( I# |/ v3 |2 r  f& T
START:; N; @4 T6 w7 S) S8 H3 d8 ^
     JB P3.7,$ ;遥控信号处理6 R; r* z" |- W  s
SB:
6 G' G9 ^, W8 ^0 P: c& R     MOV R4,#8   
) Q4 o+ D7 I2 ?9 ^6 F, z; oSBA:& ?0 X, Z; m) e" v( o0 [
     MOV R5,#250
: V; _$ w" ~. KSBB:. X8 F! [$ z) ?; f: X
     JB P3.7,SXB1$ d! p: B/ \9 g2 [4 F: I/ k
     DJNZ R5,SBB
' @8 H. g1 C( S1 e     DJNZ R4,SBA4 G2 e% J; C- L: N" x
     MOV R4,#2' @, P' g/ `6 P8 Q% z4 E
     JMP SBC/ G* p5 \. V" @; K$ B
SXB1:) b, y- y- G$ T+ r  F& k/ G
     MOV R5,#5
3 j* \5 S: z) G4 p5 a# S  a3 lSXB2:              9 P4 r2 W2 F4 D
     JNB P3.7,SBB8 w0 V) o. q& E4 Z5 N5 @
     DJNZ R5,SXB2
# {, I/ J9 L" e. t7 O     JMP START: E- a8 r- m3 [' h- r& F% y* T
SBC:& i# J8 M) s9 G7 l* p1 o
     MOV R5,#2506 I8 a$ _. H1 |0 E* t
SB1:! o" T% U- Q+ \! r" s  F) n
     JB P3.7,SB2  ! u: V$ H6 K! G2 x( k
     DJNZ R5,SB1
( ^( k$ R4 P: P8 |' ?1 Q. h DJNZ R4,SBC8 {! `: |5 e) O
     JMP START
4 G. z6 F- q3 j' X- c: }5 i4 pSB2:                 
0 W  [  E+ p, f5 G     MOV R5,#5) f2 A, a; i  U- s
SB2_A:  n2 _* h: k# W: s' @
     JNB P3.7,SB1
9 U& t4 V; k3 E' K2 R     DJNZ R5,SB2_A: T% [7 `* x" f
     MOV R4,#3
& V/ F" Z* y* g1 |SB2_1:, U& Z+ H5 D: [
     MOV R5,#250
4 W# ]& Z' R  _( {+ dSB3:                  2 z" G. N9 d9 K* i4 @
     JNB P3.7,SXC' W% R1 N! I/ k9 Y
     DJNZ R5,SB3
' q4 r5 Q4 p4 j' d1 J! ~     DJNZ R4,SB2_1; p0 s6 Z+ N& f
     MOV R4,#25 @8 j! J6 f, r3 N! u: n" T* G: A
     JMP SB3_19 n4 M" z0 a0 G: Z+ @4 T& B
SXC:                  
) G; b* A% Q% s" o     MOV R5,#5- H: x2 t9 J- `0 |0 U
SXC1:
' f5 T5 _. }9 Q- s7 K) ]+ E5 R     JB P3.7,SB32 ]* Q  m& _/ L
     DJNZ R5,SXC1, L& k) b0 ]6 c) Y, p, ?
     JMP START' w4 x9 {# W- R' S$ F
SB3_1:                 ! Y% }9 a  `# G; I: o
     MOV R5,#250- E. A6 R* a2 x% R) a# @9 D
SB3_2:
* c% B; ?% e' [     JNB P3.7,SB4
  _7 _  G) T7 {2 b+ D3 m& V     DJNZ R5,SB3_2# x# F& j  p9 n/ ~
     DJNZ R4,SB3_1
  a  m: V4 u+ y9 Q     JMP START7 Y* n8 i  [# _! Y
SB4:                    2 W1 b( C; B3 }9 N$ O$ Y; W
     MOV R5,#5
) S* T& T: a; I6 H& sSB4_1:
& @. q) A; [; _* o     JB P3.7,SB3_2; P; f' B" {% y) B( ]  z
     DJNZ R5,SB4_1, j! X- Y! E! K1 K% p5 {; v, n, L
     MOV R1,#1AH  
! a* C9 }* _- x$ F" Q5 I8 o     MOV R2,#4
* S7 o: Q' i, N' F; qPP:  MOV R3,#8: O( w3 q6 F. V* Y" ]+ m
JJJJ:
0 d5 E6 D* S! h0 a$ W     MOV R5,#250
. U. v/ m. d- OJJJJ2:               
+ L& w% j$ {2 h0 T- K  W     JB P3.7,JJJJ31 x6 P7 t$ ]& V
     DJNZ R5,JJJJ26 e8 a. U' a( X0 P# y+ ~/ v
     JMP START
% b$ {7 u: P1 V( ]9 @. V' dJJJJ3:" d# g. I  R/ P5 I7 a. h
     LCALL YS1  7 i" A  R2 m& d+ a3 e& P
     MOV C,P3.7   
7 m3 T- @+ r9 F& V! ^4 g! F! ?     JNC UUU      
& V+ `4 J/ L0 g* ]  r  x3 ^     MOV R5,#2502 y6 D# F$ z$ ]3 }7 j2 C' z
JJJJ4:
) u/ c4 X$ \7 }* R' S  g* }     JNB P3.7,UUU+ }. R" F. }8 L
    NOP8 |4 u5 J" W( L  B* m9 Q
     DJNZ R5,JJJJ4
4 T6 f* _8 Q. ]  f/ G$ p& e8 h     JMP START9 z6 X; q  T& ?% d( v5 F6 e# G
UUU: MOV A,@R1  
7 u1 M4 {8 H5 c; H; |2 ^: S/ Z+ q     RRC A           / S- W5 q* F5 L  l! M
     MOV @R1,A      
; Y- F' b, ?% T     DJNZ R3,JJJJ   / }/ x& }& H8 S: n5 R6 n& `
     INC R1      
; ?% I; |  `$ ^$ J8 h$ E     DJNZ R2,PP   
& q" E( ?- B  z( P
  h$ U/ q% x4 r     MOV A,1AH 5 z6 G7 ?- s3 O  q3 X
     XRL A,#11101110B8 I0 Z4 W. A% E: c) F
     JNZ EXIT
: I8 D% l7 t( ?+ w; O) f1 k# n2 O3 s     MOV A,1BH
9 O  b7 Q) @. L, W( i6 w( V/ G+ J     XRL A,#10000111B
# ]) H( W6 V/ u& u7 D     JNZ EXIT - {4 f* t! y  y2 W
     LCALL YS3
6 s, M: G7 D8 }1 j  B0 y     MOV A,1DH + g' Y- {3 E0 F: g) L
     CJNE A,#10111100B,EXIT* y/ A! b( ]! Q6 ^. u- r6 s
     LCALL YS3
- a4 m$ W6 I8 p# p8 f& s, g; R     CLR P2.6  
0 T- I& j. |. z; _     AJMP BIJIAO, b7 `; \' Z# |1 L5 E: m
   * _) u9 f. L0 `, |5 N8 d
AA: 6 l. q: t8 S7 p9 c9 P& f8 `" @/ X
     MOV R1,#25. ~( j2 Y$ Y5 K
XX:
, u. m) u  o( V/ Z& i6 l     ACALL YS2/ o! L/ [6 \8 D
     JNB P3.7,HH ; f( z0 [# ]) a* B6 F
     DJNZ R1,XX
5 E2 q7 C. P: YEXIT:   
4 o9 S9 M! u4 |     AJMP START, f9 Z& j7 @6 q' J
   
7 f4 I6 y& O$ b5 y1 ?* ~$ oHH:
: G% x2 j4 a6 b1 J     MOV R6,#4
4 l+ ~; B4 u* ^7 uS:
- L  A0 l" H6 W" N4 Q% s9 v     ACALL YS1 8 [5 A2 P9 H2 ~) p
     JB P3.7,EXIT
+ w5 n  H* s& c' S' r     DJNZ R6, S
6 K8 `$ ~3 g% n+ {" w$ h     JNB P3.7, $  $ c+ C6 R" }# m* b4 K' w' Q& K
     LCALL YS3
6 L9 `* k3 r6 [1 A# @! N' E     AJMP AA: @  w# f7 o2 g, M, [4 n9 ?
BIJIAO:" p6 U1 H) t. n1 j, ~) F
     MOV A,1CH . v0 ]( ]; f5 H: n
     CJNE A,#03H,N1  
) F$ B& Q) i0 u/ P* B& ~) L     MOV P0,#7EH   
1 U9 D9 ]5 S- N& k" }- [                      6 y6 C! h9 D5 [$ `. h. E" K
;处理STUDERV录音机控制码
8 V# p: J# I3 y- K  `! i2 ?! @N1:
/ H0 f0 r1 i4 ~% `+ l* N! ?# N9 a7 W     CJNE A,#5FH,N2 ;播放键
# ]8 S# g# a0 u) H, ?" [4 I4 S     MOV DPTR,#REP% c) r0 X% m9 j- C0 ?$ q  ?
     ACALL SENDA
# F! d" ?. O! B& O$ G- M: \# l- w     ACALL YS43 |' c4 a; m: y2 v; D
     MOV DPTR,#PLY
0 I+ S. {" g, i, \     ACALL SENDA/ o4 W6 p7 |. F, P" X* A
N2:7 b4 W) N* P6 @: v, C# Y
     CJNE A,#5CH,N3  ;停止键
1 D9 t3 P# }1 V5 L     MOV DPTR,#STP
) M8 p2 u3 p3 ?7 }# C: f+ Y     ACALL SENDA
7 z$ _7 T5 V, H* x' X& H: ]N3:
* V; `) b3 v& S- I     CJNE A,#06H,N4 ;快进键& N: n3 V6 g9 J
     MOV DPTR,#FWD- I! J& t! @4 [" N+ i  j. L
     ACALL SENDA
) ]4 L0 a) ^' l* v0 S; }. sN4:
+ |% G' K# G9 t( L8 W" M     CJNE A,#09H,N5  ;快倒键& J+ m, q+ R, c, t+ ?& i; s/ `6 N
     MOV DPTR,#RWD! A1 K, i1 `8 b* {2 x" W4 `" ~) f
     ACALL SENDA" w4 w% R6 `& U: K0 Y
N5:
4 R9 J4 G; ]7 @4 Y7 X& V4 l3 V/ b      CJNE A,#0AH,N6  ;置零键9 u8 G4 {4 w: G+ ]
      MOV DPTR,#RTM3 O3 V3 r+ c4 q; b. h
     ACALL SENDA
7 x; {1 X% O, ?4 O1 |+ _N6:
; U/ h" A) x( E8 h     CJNE A,#0CH,N7  ;定位到零键" Q( n' y0 y* G. G2 v
     MOV DPTR,#LZA+ n& Z/ e: a  e
     ACALL SENDA
8 `5 k; Q! f5 B! t5 ~N7:  _& k- p$ h6 D/ r' F
     AJMP AA
5 j2 `; [0 l: y1 Z5 fSENDA:8 p/ a7 c' h8 s* y+ Y+ g1 M. _/ f
     CLR A. t+ D" @2 `9 |& W5 Z
     MOVC A,@A+DPTR# {. L" T& ~, O* C, l7 D
     CJNE A,#'$',SENDB
9 w/ z; Z9 W/ g3 B     AJMP SENDC
9 \  w0 }9 R( b; FSENDB:6 m+ R! p  ?; K5 M7 u' ^
     MOV SBUF,A
0 F; o4 z5 n) k     JNB TI,$7 Q7 `: S% {4 l0 I- _  v9 {
     CLR TI
$ r$ L; I, g! p     INC DPTR
2 @1 h& @/ q% {% h& R     AJMP SENDA
! V3 T4 ~0 B- x$ Z% p2 sSENDC:
6 \# M  C7 Q, F9 }' _5 l     RET
4 ]& R3 e$ X4 @* H: V
! W8 H' n- }8 n2 o- KPLY:  db "PLY ",0dh,0ah,'$'1 T$ t% }5 O5 p% F$ K
STP:  db "STP ",0dh,0ah,'$'
- Z0 I: E3 ?4 c8 O+ g' N1 rFWD:  db "FWD ",0dh,0ah,'$'
# Q, I+ r" Q3 i6 O1 IRWD:  db "RWD ",0dh,0ah,'$'' s6 j& a9 f/ N
RTM:  db "RTM ",0dh,0ah,'$'
8 C; e+ D( w+ o$ n% N. \* TLZA:  db "LZA ",0dh,0ah,'$'- M$ d5 F& L0 D8 ], H) X
REP:  db "REP F ",0dh,0ah,'$'/ @7 t: O! i! k5 M4 Q& W7 |. O

/ \! W5 V  g7 Z2 y, |1 x  hYS1:
, B" ~7 J. e0 f) w     MOV R4,#205 i+ P  g. Z  O4 t% r2 n6 _. ]
D1:
& B$ r' e9 |/ {2 N     MOV R5,#20* n* {8 g! V- A8 [
     DJNZ R5,$/ B- H1 B3 u( Y8 R0 A5 M
     DJNZ R4,D1
8 Q" f7 b% v6 L: E5 l     RET
" ~% f8 e6 _, ]. s& L- \7 V4 K* x. b3 ~7 g, u9 B- ]0 b, r
YS2:
0 n5 c9 Y% V5 l* K     MOV R4,#10# C0 Y) X' b% O# J/ x
D2:* A- w3 u8 q3 k8 }) l& P: x
     MOV R5,#235
2 M9 |% I4 u1 @3 [4 |3 u+ D     DJNZ R5,$) T6 ^4 c% U% `  l6 G1 _% M
     DJNZ R4,D2! H5 Y$ D  A9 y- I' ~( a0 _
     RET  T4 z( b: O: Z

6 P' q( W6 H" X; b0 F; a& ~, {( hYS3:
5 |0 S$ ]" @* H" A8 {" o, p     MOV R4,#2
. f3 E* @! t, |7 L1 d- sD3:9 X8 C( E3 r2 \
     MOV R5,#248% F+ C" p1 p8 {. `
     DJNZ R5,$
3 t& _  L, ~  I; a' t     DJNZ R4,D3
; ]" w% }6 y- P+ Z. m" R+ U     RET' E0 c  m1 V! P7 U6 t

/ x( `$ O. Z' y! jYS4:; n9 S6 }$ E( O8 U; }; o: P3 t4 X
     MOV R4,#2006 C% o. o2 C+ A  s0 j5 l
D4:
! c& d6 L  k$ G/ ?2 G- R     MOV R5,#248
7 \( @( W! |8 Q7 z; ~     DJNZ R5,$
  w" b! o: z1 ?  K     DJNZ R4,D3
9 b/ B( E) x; t; d     RET% z* s1 l" [$ s# u; s3 `9 V( ~
     END
% {# U5 [' u8 c4 v6 ~$ G0 ]; R' {
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。/ m* I9 E: n$ s: S6 {  v  [3 l
是不是很惬意,嗯!
8 @6 q. C, P! y- U" Z: D" B0 N! q

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!" |: z! i9 {6 m: y. y* o
YK 005.JPG
: T, B) q8 i$ v4 j
发表于 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 ]" a' }# }0 z0 C! V
发表于 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; |  K- S, C* V9 Y最终的样子,有点简陋哈!
2 G! o: A& Z1 p# z8 Z* L
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-10-21 11:13 , Processed in 0.132020 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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