收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
7 |5 u% e8 P/ a" L, v- \1 p. j* m9 \  [' v/ ~
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。4 Y0 h( j8 N2 A  ]( j* K; L) s

% \( G2 y6 c# _' k说明:
) j- K4 N1 v. C. Q% Z- o1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
, T" e1 s. q7 ^  y, C9 Z' |2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;. s1 A# j( @+ |/ H

  ?. x; C1 u; S. @& c  k$ Z一、基本思路
+ x3 R* {8 H7 [9 ^使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
! G4 n0 r+ u# C, g1 z- P
" I# G6 ?4 X) x- b# n二、红外遥控器
7 b8 |1 F4 z/ ^3 z我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。4 K' d: N3 o2 h6 p2 G
Apple-Remote.jpg ) N1 m7 T1 G5 L8 p* F
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
% p) T$ A' {3 ` Apple-Remote - 副本.jpg
; h! V7 N# }0 Z在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
/ ~; A0 \/ g- {( z& g  J/ z0 |1 a0 q& P Apple-Remote - 副本.jpg
( U  p( K! ]' j! @/ l! v
% X$ \! P" E# H9 t1 |% y3 q. ^三、红外编码- b' v( y& m. p: l# d
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
" x" @* O5 D3 x- z5 x前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。. g/ d7 @+ c% K6 r' A- A& [/ Y
后16位为控制码,主要用于实施具体的控制。$ d5 R, R* v9 Y0 F0 v
这16位中高8位和低8位互为反码,以提高可靠度。- f& D+ b" J5 w5 G; C8 b

: k1 a8 R7 _/ p& c以播放为例,其编码如下:
4 @  M$ N' X8 O$ v00000000 00000000 01011100 00000000* y; a& W- ?- t3 p, |
2 u3 K4 j) a, z0 z: K: y1 a( }
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。  a$ V7 U& K1 S/ x! U$ W+ B$ W

9 k6 {6 E4 J! w+ M4 C四、单片机系统
. D/ w* X+ U$ L: z6 Y
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
' Q1 I: M7 z% P, L- T c51.png
4 k( M3 k7 A% C 4 `  E* U$ Y( T( ?7 @
电路很简单,功能如下:
) U# y/ X( z6 _+ x  e1、一个AT89S52单片机作为核心;# ?& N! q# X+ t* `
2、一个TL1838为红外接收头直接串行输出数据信号;$ B* e. M5 t8 M" O
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;4 u  q! m6 ]5 C% t
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
: k' o% I: q5 ]4 f 8 Q4 A  @# K2 ~# x
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
( e  k8 ^- f/ ~# ~. z! W
$ v5 [/ n% Z$ J( E' m5 x7 S1 ], \' z
五、控制软件
7 i9 N1 e( o* ^: H! G9 t
控制软件用汇编语言写,源程序如下:
. e( [/ r$ u0 E7 T* F     ORG 00H
2 G0 Q: q0 w2 o* w& M. ?4 a1 {     LJMP MAIN5 E( n$ H  n, c+ Y% o
     ORG 30H' x  s: e' s  a9 y5 n
MAIN:. b0 j, p5 a6 V, T, k7 B2 V3 Y
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
. y! I) \# Z2 E2 f     MOV TMOD,#22H  ;22H
9 s- W5 U2 l2 \" Z7 t2 F6 u     MOV SCON,#40H  ;40H. {5 v" v8 p! Q5 @; ]
     MOV TH1,#0FAH  ;F3H( Q% D" X5 B! ^2 U& ]
     MOV PCON,#80H
7 K; b5 }) q! U     SETB TR1
3 i( R/ k- N* j4 n- {, ISTART:
$ K! E% ?' r/ y) g0 l8 C     JB P3.7,$ ;遥控信号处理
2 d' v4 W$ ^  a, sSB:
; U9 J% i2 S/ O2 C1 D; `     MOV R4,#8    & y7 M/ Z, o$ c# a4 y2 Y
SBA:! S# b, b6 a# u
     MOV R5,#250
/ @+ s% R& k: z0 ?; b7 z' GSBB:
" v" K9 [& q0 l! W+ k. h6 J     JB P3.7,SXB13 R7 p, j* Y, t& B' r$ Y9 Q
     DJNZ R5,SBB- X8 C- W* x" ]  v3 y
     DJNZ R4,SBA
/ \+ }: j+ U% Z" X9 W$ s( m1 K     MOV R4,#2' G4 x. K6 Q( g
     JMP SBC
$ Y' H2 C: c$ y0 \" ?SXB1:
% _8 j4 c$ C6 H, o9 F/ t# f     MOV R5,#5
; ~, b% l( h4 e+ Q: P6 fSXB2:              
1 R  v- P) i2 H9 ^6 d     JNB P3.7,SBB
$ n8 c' Q7 r! d, S6 o9 t; g     DJNZ R5,SXB2
$ E) L# S- w% B) Q' i     JMP START& t3 T* M. ?3 b7 h5 q
SBC:
+ c# L" n' w& |6 W. A     MOV R5,#250% |1 d) R; s. `3 h! |
SB1:
6 r( F4 u7 u, C6 X9 V3 S     JB P3.7,SB2  
" v" `, j8 n: s2 ]$ Y  Q! Z3 I     DJNZ R5,SB1
0 J4 {9 t! G9 K" f8 y DJNZ R4,SBC
. ]; J0 E& \* q2 Q/ e* z- m     JMP START
* C% g; i, c+ LSB2:                 5 ~: F* v, S. R4 a: t0 ^% E6 h' `
     MOV R5,#5
' w* V+ j- s5 f9 v5 ASB2_A:& s1 L5 L4 I& Z/ O$ Q: G
     JNB P3.7,SB1* o+ _0 R& v! N4 a1 h9 J& M0 N9 O% c
     DJNZ R5,SB2_A, t) `: O9 M4 B- ~1 _8 F* _4 P6 W' V
     MOV R4,#3
! Z( V, H" `: S0 \SB2_1:# L4 F1 B2 H8 J0 T
     MOV R5,#250
  c; h& k! U" [0 I2 YSB3:                  
" G/ i( l9 e; w     JNB P3.7,SXC" ~# B2 J( Q6 X
     DJNZ R5,SB3+ b# K  S5 v( P6 {$ U( q. W' }
     DJNZ R4,SB2_1
2 n8 {6 L6 e, f2 e     MOV R4,#2
* ~, i3 Z  P" D( O( q/ J% K4 c" `6 h# [7 R     JMP SB3_1
4 J5 {& _4 {9 a% \+ _SXC:                  1 _# V; T5 e* h4 i
     MOV R5,#55 H9 |$ N; E/ a; A5 b. E
SXC1:
* A4 C- w  {! }+ v  s* {     JB P3.7,SB3$ F! i9 `3 X7 S3 Z4 j$ d1 h
     DJNZ R5,SXC1* d( p3 E) t. b3 s1 ~: V
     JMP START7 }7 Y/ f6 T. t2 J4 }& p6 E# k! Y
SB3_1:                 
  g. K' ~8 p2 `; o1 b3 D     MOV R5,#250
  H: d5 e# R; o( v( ?SB3_2:5 P! v, j) q& g/ Q1 a0 R
     JNB P3.7,SB4
0 Q# x+ @# ]3 q0 ^+ e     DJNZ R5,SB3_2
6 f% z5 c' S% o- \     DJNZ R4,SB3_1
( v1 r/ O5 K2 J) P/ p     JMP START
- b1 [/ r8 W+ I) }8 x( a/ ASB4:                    
' t' a: H) @8 y  R' c; r* J+ L     MOV R5,#5
2 M, i0 n; e: v+ rSB4_1:% f# w7 E1 s: V
     JB P3.7,SB3_23 \6 I! A4 ^9 O0 p4 M7 I
     DJNZ R5,SB4_11 v3 d; e; n- P
     MOV R1,#1AH  
# Y6 ]! X7 I& v$ v4 e2 O     MOV R2,#4
- y5 M2 k# e1 g3 L' LPP:  MOV R3,#8
7 P- {! z( h  S6 C6 n% Y2 |# t" nJJJJ:
5 D' z( ~8 @5 _0 w, o4 V  s+ B     MOV R5,#250
; f5 X8 F! B0 _# M- g) j- ^JJJJ2:               
0 v! m& z( e0 e6 c7 Z$ H* Q     JB P3.7,JJJJ3
0 d6 d' c0 _, r: m" i! g2 S2 T     DJNZ R5,JJJJ23 Y  [) U. s8 J7 P
     JMP START
( G  [6 }- Z$ V7 [, z9 A8 s! L$ EJJJJ3:8 {5 k% o. C% R1 W/ w8 L4 t& a7 o
     LCALL YS1  
; \0 @$ X; l* l$ ^" V) [     MOV C,P3.7   * ^' r1 h, W! q# \1 T/ c" l: B
     JNC UUU      
9 _  {+ L3 \6 L* o6 Z9 }     MOV R5,#250
- R# X$ E& W: y4 k& d5 r1 k9 U4 VJJJJ4:* n2 W, Z0 d- K- g8 T* L9 `) R) h
     JNB P3.7,UUU
7 u" s3 F# V9 D! m7 \% V# x    NOP+ S8 V: f7 t8 s; D+ ]0 l" b! e# J
     DJNZ R5,JJJJ4
7 d$ ^/ v4 e+ F, }     JMP START
  ?2 Q8 t, ?4 B1 @+ y2 ]) kUUU: MOV A,@R1  
' M/ R3 J  K% U: H     RRC A           
: s: U- @& T" S; n% K     MOV @R1,A      
, Q# h7 F4 P" z8 n* v* T     DJNZ R3,JJJJ   
$ y) Q+ _, ^; D" I& ^     INC R1      
( h9 r' g2 G% k0 F( P3 ~     DJNZ R2,PP   
# f3 `+ E: b2 U' ^8 Z  u1 V
8 A) g; ]0 A8 l$ o% K% G/ ?& F     MOV A,1AH
9 P0 x" n- X2 f$ j' U+ {     XRL A,#11101110B
& }* O( M- c6 }; E     JNZ EXIT - F& g) Z" u( ?2 }3 w# k! \8 i
     MOV A,1BH ) g+ y5 t6 X* v9 A
     XRL A,#10000111B0 m( O9 w; M; o% h2 `8 X4 S) c
     JNZ EXIT 8 r$ f" M8 S! ]: L
     LCALL YS3) w% w/ T- R  }- d- h, ?8 z( H
     MOV A,1DH * M  n! N9 d) [* \+ C
     CJNE A,#10111100B,EXIT- g& G" D* V( v  }) b/ H
     LCALL YS3
1 P3 s2 v  i5 y0 R! ^+ o$ ^. i( _* E     CLR P2.6  : ^- @1 }/ F/ S* T: U: k6 k9 k
     AJMP BIJIAO
3 H3 A% P& w: g- a! W$ i   . N. E8 J( {9 J) A5 D7 h& x
AA: 8 U$ H( a1 ^) t* ]# N
     MOV R1,#25% A3 G0 ?0 o& i
XX:
8 z4 j8 R+ _+ X: J     ACALL YS2
  ^# e" j+ a1 k# E  W     JNB P3.7,HH 8 u. K  K. M' F- w0 R" B# V
     DJNZ R1,XX
( s/ k- c* x, r, PEXIT:   
& [+ b1 }, l! e2 s     AJMP START+ [' E) ^* _2 S. a# n8 {5 `
   
! S9 V% H: O" K6 v4 V' a6 ?4 j) ?+ fHH:
+ \+ U% r  x8 C. A, E, _9 i     MOV R6,#4
- I( u1 p$ H2 L& {) J) DS:
; T0 H/ ?- R2 N. h     ACALL YS1 7 {! _7 Y& m9 I- n/ F' Y; p; F+ y' `
     JB P3.7,EXIT ( n! N! G$ J& ?; t0 j4 k8 j
     DJNZ R6, S
2 W0 x; v5 t3 h0 [; z7 d     JNB P3.7, $  
, c3 ~) I# C6 @3 K+ ^& m     LCALL YS3
2 |7 u5 |& e& c# d8 n) Q     AJMP AA$ K; Z1 H! l& C' @- W" i, \" o
BIJIAO:
1 Z9 E/ s# ~) m, Q     MOV A,1CH ( a; _9 F0 j: W
     CJNE A,#03H,N1  
" f9 O: H4 [' N, _! H: X. p     MOV P0,#7EH    $ p5 K( M! B, W
                     
# l$ E, P. Y) E/ r) L2 X ;处理STUDERV录音机控制码
8 L* T# h) J# @N1: 0 A2 Q. j* S6 K( A, J
     CJNE A,#5FH,N2 ;播放键& J. T" K* _- }6 x
     MOV DPTR,#REP% n0 N2 L4 `) k1 R4 I! l: m: Q
     ACALL SENDA
" h) V3 g! l' I; B     ACALL YS4
& v" J* N1 V4 j2 _     MOV DPTR,#PLY5 ?) B8 ^- {2 D
     ACALL SENDA( f; k( m" \% D( l* a; G4 B& _8 d
N2:8 |1 q  p' E& u6 f: t6 f
     CJNE A,#5CH,N3  ;停止键; m+ @& E, x! y6 B2 p' d
     MOV DPTR,#STP
  @; o8 S. ?9 h/ W& x4 d1 S     ACALL SENDA# k9 E. ?5 c9 U/ J, h+ |
N3:
8 k3 r1 H; U- C' g) ^  W- h/ Z     CJNE A,#06H,N4 ;快进键
9 b8 G$ ]3 p, _$ a3 ^( R0 C; u1 f     MOV DPTR,#FWD) S0 U! u: C. Z3 F
     ACALL SENDA0 f' n: _  `' B) `% P% G
N4:$ S' ?+ Z, t- V1 j" [
     CJNE A,#09H,N5  ;快倒键
, f! o" j* X' f4 L8 f. S- b% G     MOV DPTR,#RWD) A3 Y+ \8 ]0 K: s' ]. ]: T& a# j. l
     ACALL SENDA4 p7 z2 ~% E  D" p
N5:% t0 d4 F" D, m1 m! _. F% I4 A5 U
      CJNE A,#0AH,N6  ;置零键/ l4 G! G2 ^1 A- i, L! G( e4 u( p
      MOV DPTR,#RTM
* O$ c9 p) i8 b0 _4 P     ACALL SENDA: Z8 z  K( h" u
N6:  E# |' [: L7 K3 ]0 @
     CJNE A,#0CH,N7  ;定位到零键6 \" B. G. v# s% I6 G$ Z
     MOV DPTR,#LZA& _! ~; n- k( n
     ACALL SENDA7 t6 F* v7 `/ f* c& E" e$ g9 m
N7:5 y. f; B: y/ ?4 \$ x& Y+ u
     AJMP AA
- N3 z, y9 `' U% T& d; \% f3 {SENDA:8 b! V, f0 ?  z7 J; |# l; }
     CLR A6 N, f: ?# j( o3 V
     MOVC A,@A+DPTR
6 X6 q  ]& m7 M3 e" t     CJNE A,#'$',SENDB
+ ^1 w( S5 V, x. s/ O0 I     AJMP SENDC, Q: k4 R9 J2 J9 G
SENDB:) {  n4 O: s, [% o' c: y
     MOV SBUF,A
6 U. L  y+ ]+ V# l# L! z     JNB TI,$
" k7 \9 }/ C( ]     CLR TI6 @3 b. w, \1 I( l( |  Z
     INC DPTR1 G; ]2 K; c6 }# j) ]
     AJMP SENDA' q1 l$ d3 ]( @9 A- ?7 a
SENDC:- E$ q/ u+ u4 N! B) `
     RET9 I( z/ x, B# I  m6 C! Q
3 J- O& o: S; e. x. C) y
PLY:  db "PLY ",0dh,0ah,'$'
/ y& B* Y, g3 e( T5 B( U1 qSTP:  db "STP ",0dh,0ah,'$'
  U! Q- W( {$ b2 U" l) jFWD:  db "FWD ",0dh,0ah,'$'
, \. X1 b3 i$ L1 L1 [* xRWD:  db "RWD ",0dh,0ah,'$'
) i* c( M  h" x7 `( w' d% nRTM:  db "RTM ",0dh,0ah,'$'* g0 s" X8 L8 J1 F
LZA:  db "LZA ",0dh,0ah,'$'
6 C5 w9 A3 {, l& H* q& u+ RREP:  db "REP F ",0dh,0ah,'$'- f& ]- H+ u& x' B
, {! \( n: D6 }, o/ P
YS1:
5 ^7 w/ O2 ]; N5 M* P9 y     MOV R4,#208 u+ ^6 R6 i% l8 y
D1:6 ^. C4 F- {' h% N1 G
     MOV R5,#20$ f$ I9 K/ b: U* U2 l$ ?
     DJNZ R5,$% W* S7 j2 P3 P+ V2 y6 L, d
     DJNZ R4,D1
0 p5 [3 n; e- o2 r3 D- C, n     RET
* y- n5 u% c' z6 m9 Z( `
# F  w6 o3 ?6 hYS2:" r% U/ T# S9 `( @
     MOV R4,#101 Y" N: X  i3 N2 d
D2:
$ i) }' \# r) ]/ B; S% B. ]     MOV R5,#235
! |# N% [2 A( W+ y& A1 ~" i     DJNZ R5,$2 b/ l. I9 n  ]8 O% \4 a1 w% j
     DJNZ R4,D2+ R* f' [7 @1 i3 B. Y
     RET
7 @5 O3 G1 l$ @) L& ^7 p, z. q8 \# ]5 R; z+ v9 h1 y& ]' G, I2 r( j
YS3:5 m# v/ I/ Y# n; [. m) |
     MOV R4,#2: Z* A: A+ e4 D* U8 N6 N' D; E
D3:
9 N! V0 V# U  M9 S5 l$ _" u* @     MOV R5,#248! ]* Q& ?2 @2 i1 [7 l
     DJNZ R5,$
9 i7 D& C5 l( X( ]+ V     DJNZ R4,D36 a# r- {) Q5 y6 p" }7 Z5 B. }8 |3 E
     RET
. [3 Z6 G  |# P1 u
. T2 K; K, m' z/ D& P2 @YS4:
& ?$ G! h" d2 i# O     MOV R4,#2005 }5 y# U! F& K& w2 F3 U" p
D4:
" V- j5 n9 A/ T5 @; Z+ Q     MOV R5,#248
4 K. L# r& N* l" l; |: j9 w) g: O     DJNZ R5,$
' h5 o; s" F) f     DJNZ R4,D3
  i: B( o4 X& [5 `8 x# T     RET
  v/ z9 S1 ]7 F! {8 ?7 O4 ?     END
- D" L: [$ s( Q$ w# [
: G8 J8 H9 V. ?' H, A8 X$ `6 m有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。6 T8 ^/ H1 v* R/ m. {. o  d6 @
是不是很惬意,嗯!# l$ e! d# R. t. Y! V

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!% K4 v8 L& R$ K
YK 005.JPG ; ^2 c. v1 b7 P$ b( p# h
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下0 N5 b9 }- i0 {& V# K7 R/ y- m) ]
发表于 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
" j. d' `. Y  h0 K6 ~最终的样子,有点简陋哈!

/ y! s% L3 @0 a# L5 Y9 r这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-4-1 18:03 , Processed in 0.090645 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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