收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
2 c# ?) \, Z+ |; W- X& p, t" v+ h/ f4 x/ A( u' g% l0 d9 d, H
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。  G" f0 i0 s) t& [2 B" o
3 W/ f0 K* G5 w$ J% n
说明:
6 ?( i, L7 o5 z' M6 q9 h1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
/ ]3 l# O  ~" w/ z6 B1 l2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;" H/ @. y5 {' t0 t1 `2 k0 k- m( g
/ f7 ]; G5 [7 P( y4 s
一、基本思路
! G' O) k  K  R7 Q1 ~4 f, l使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
/ H- i, e4 r9 A- t& N' B4 A5 T! \# m9 _: i2 \! L0 j' j: z9 G% J: ~
二、红外遥控器
: b8 i, o1 @5 L% B2 B我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。- N/ s, Q# V' f" k- c
Apple-Remote.jpg ) v: P( C) j2 }0 D3 f
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
8 V8 g! U  T! I" A; m5 e Apple-Remote - 副本.jpg 5 h  ?1 K$ G6 U  y
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
- ^/ X/ q$ L& F* Z Apple-Remote - 副本.jpg
4 a5 R- n0 u6 l9 p) ?9 n' X3 m  C; L1 g+ r3 f: O
三、红外编码* _5 ~5 q9 m! M' W
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。- R, E  t/ r+ m9 z! ^3 e
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。7 i' m$ m8 @5 C8 f/ F5 g
后16位为控制码,主要用于实施具体的控制。; R  \" i$ Z, M( P
这16位中高8位和低8位互为反码,以提高可靠度。
! ^# |; h- B) C$ M6 O0 a: N. q  n6 s' n( K
以播放为例,其编码如下:
0 ]3 d+ g* ?! e3 u& S9 A6 e00000000 00000000 01011100 00000000
9 [/ t2 C! a$ n5 t2 P0 A, c
$ z0 E7 \) W: ^. c$ @你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。7 V. Q! L8 }) k1 W4 Q2 G

. o2 G+ y3 {. E四、单片机系统4 M+ {  }! f! |) L/ Z  a) ]
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
, j8 X" A& Y/ n5 p c51.png
, g$ a7 F7 V$ [ / L; n  i+ l/ F# ^6 a. f- X
电路很简单,功能如下:
, r/ E! R7 w' {- t; m1、一个AT89S52单片机作为核心;4 _9 x9 Y' S5 e. W$ s! v1 c7 G
2、一个TL1838为红外接收头直接串行输出数据信号;" W8 T& ?9 B9 |1 ]- W$ O
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
0 j  X8 @+ N4 h  a% p9 U4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。- q# I5 t+ H1 N4 P1 N3 r

6 Y- F: V% @7 Y* v1 k关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。0 ]/ R' o: t1 m, ?' z+ A# j
; C& O& R2 I& [2 s! D) \

# V9 k8 S( n) B, G五、控制软件
. G$ A; ]2 X8 Z8 E
控制软件用汇编语言写,源程序如下:$ Y# `) f) q. n* \0 k6 o
     ORG 00H
: Y8 H3 B& d( J- h: J     LJMP MAIN* f' ]& m  S* K& T3 V. U
     ORG 30H
4 W5 }) }7 U. n! GMAIN:+ R! L( ]* G9 n6 u6 V! [4 m
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
6 X: t6 i' e8 z, `) B6 u     MOV TMOD,#22H  ;22H5 Z/ r* X( T$ ~
     MOV SCON,#40H  ;40H
, l8 j; O. E0 K$ w0 J5 ]     MOV TH1,#0FAH  ;F3H; P2 ?7 i! v4 G# o3 l
     MOV PCON,#80H! b6 U4 d( J. E; [: u# Z
     SETB TR1
8 ^) g7 I( a. ~6 |3 T3 NSTART:
1 G- N: Y2 L. Q     JB P3.7,$ ;遥控信号处理2 v9 N! L1 }# [- J
SB:
) P) e9 j+ K2 n& q" E1 L! T8 r/ s     MOV R4,#8   
  M& L; c- r0 |+ e- b/ X- j& ZSBA:: C& P6 _$ b: l  @6 x! B
     MOV R5,#250
$ @: C) ~. i0 D% w6 t) E( ZSBB:
2 P/ }9 y7 q7 E2 c) {     JB P3.7,SXB16 m$ l1 |4 M; d/ R, o" k5 O/ ~8 o
     DJNZ R5,SBB+ |1 D' P8 Z- O  ~
     DJNZ R4,SBA
# [1 |. x) E" P8 J' E+ [1 t     MOV R4,#29 ]1 G8 Q8 q( }! x  C  U( U
     JMP SBC
* g$ O) T( b. @# D' M0 n6 J5 ?SXB1:4 Z* p3 h2 y4 i- N5 a: N5 n
     MOV R5,#5
+ a$ @# Y$ x+ j9 K# S8 E4 B7 ?SXB2:              
+ a5 e4 g9 i1 A     JNB P3.7,SBB/ ~/ r8 t$ I+ s% t0 e
     DJNZ R5,SXB2
5 o1 X- R2 c: M) d. x     JMP START7 U  o+ i7 _( T. N- c
SBC:3 W( q3 V# |5 U# J. J/ G) I$ M
     MOV R5,#250- M& P3 Y  n1 _% k$ n
SB1:+ U& y) {; L- z& L4 }! a! |
     JB P3.7,SB2  
" [$ B. Q5 j; O, m  D/ |1 j$ t     DJNZ R5,SB1+ M/ f! G! K5 o( h
DJNZ R4,SBC
+ \& K+ o+ b8 H3 V/ y     JMP START' n: m( q$ L, y+ E
SB2:                 
5 i5 M* @( ?: k" b, b+ H/ ]     MOV R5,#56 n! O' i- ?: l$ m! t
SB2_A:
2 ^4 o) p9 r* K$ W( q     JNB P3.7,SB1
' g9 e* i4 U  e( \     DJNZ R5,SB2_A& C0 x1 s8 |+ J; T6 \" A1 ^. f
     MOV R4,#3
, S3 X  b$ D! C7 K7 tSB2_1:+ c& K1 Y. N+ o" P3 h, g
     MOV R5,#2508 Z. M5 W% V  e% U; `# l; U: _
SB3:                  
( S0 B2 c9 C% R( _: s; `     JNB P3.7,SXC
5 {9 H3 N' \3 x& y& d& {- d3 |     DJNZ R5,SB3: s& D+ @' W2 u3 }, i7 I
     DJNZ R4,SB2_1
2 a& Q! h# k1 M5 `& r7 M% Y     MOV R4,#2
  p2 X) t' R3 x& O     JMP SB3_1
" s- ?  z- F9 H6 S/ @SXC:                  0 W" P$ ~% G1 B: B2 t7 U  p  v
     MOV R5,#5
8 W$ w  Y0 r7 t4 ]SXC1:& R8 U* m! G* y; B1 v5 ?5 f
     JB P3.7,SB3! }! R0 K, I- p
     DJNZ R5,SXC1' V  f2 \7 a% O8 X$ t9 U! V- x
     JMP START
: T% l) s) \9 HSB3_1:                 
+ X1 L$ }# Y  u0 Y: S4 w4 l% U3 S0 m     MOV R5,#250# i2 k# d+ w) @' A7 m' d4 t
SB3_2:, O: @$ N9 l$ b  y+ W- B/ y5 T
     JNB P3.7,SB4
- G+ E- H3 C2 l8 {     DJNZ R5,SB3_2
, f3 h, B3 v$ I! h* U5 w     DJNZ R4,SB3_18 X, |  i# N" B, p& m" Z' J
     JMP START. M4 _1 i8 L6 g+ J- O/ W& \
SB4:                    
6 ]. o! V- r# h3 D5 x6 g2 m  n     MOV R5,#5
1 E# r2 o' [5 Z9 m0 S2 LSB4_1:
4 X. [8 k! N) S; v     JB P3.7,SB3_20 \& ^1 O3 h, ], `
     DJNZ R5,SB4_1
# l  @4 n: A: \5 u: i5 h     MOV R1,#1AH  2 \* `  ~( N0 F
     MOV R2,#4. v# d5 R2 `$ ]( c: b8 R
PP:  MOV R3,#8
: v( p% {; a. t$ n6 {JJJJ:
6 L$ q% S% s$ D- U     MOV R5,#250/ B" R" l# E1 w( H; M
JJJJ2:               
  x9 I! e: T, O, m5 n     JB P3.7,JJJJ30 O- J" P3 y6 d
     DJNZ R5,JJJJ2/ |( [6 S3 h) M3 J) U
     JMP START
, t- m, L+ F  \+ s  V* \: y6 JJJJJ3:
( S2 U& p. I) v' y' c- K) K     LCALL YS1  
/ x8 W$ C9 T3 r3 _2 `! @/ V- b' P     MOV C,P3.7   
; J( {0 v' k' n; C: X% G& S     JNC UUU      + Y. L, v8 S3 w, \0 M
     MOV R5,#250
$ U/ G& z% J1 k9 n* N0 D/ r$ m7 AJJJJ4:+ m8 l# J" p# G* [' D( x6 U
     JNB P3.7,UUU
! t7 g1 q- L) I! l$ `8 a& h+ G( G    NOP
# C1 _6 s  b0 X) j     DJNZ R5,JJJJ4
8 w: `- w+ @; a+ \8 Z7 \6 u     JMP START- x5 L: e0 h) Y
UUU: MOV A,@R1  / i% y. j7 _8 ~
     RRC A           
* r8 g. Y9 P- c1 h: ?. f     MOV @R1,A       ) ~% B; B  F% _
     DJNZ R3,JJJJ   * i; y0 L0 ~& s2 p0 i
     INC R1      
2 G3 ]! e; w1 ~9 G. A  Z7 w     DJNZ R2,PP   5 I% \9 ^) `' h3 j

/ S3 ]  B) y" j# w* A& W     MOV A,1AH
$ t' f- e# O# O/ O     XRL A,#11101110B
) w6 z8 }/ p7 q7 f9 o# s1 g2 T. c     JNZ EXIT
# P4 {/ |8 k. Q* x     MOV A,1BH
/ m4 b1 G9 g$ G2 |  ]6 M4 ^# Z     XRL A,#10000111B
; O2 m2 N7 d0 i5 Z     JNZ EXIT 7 @  m# p/ z3 z4 O
     LCALL YS3) e. Z, b. F9 L8 h; B# h
     MOV A,1DH
6 I( n; L9 g# V- i$ Y. X# y     CJNE A,#10111100B,EXIT2 f6 @/ K* M8 W& a( `
     LCALL YS3
- s2 q1 O& o: A/ g  o* e9 Z) {     CLR P2.6  
- z0 |; X6 `1 A3 S: w" Q1 e     AJMP BIJIAO2 u5 P* Q' L7 R5 j) X/ S
   
. T: Y7 ]6 W/ b2 B# P: S( dAA:
: q5 I9 z- ]: i- L% b     MOV R1,#25
) g. ~' Q* i: G! i; b2 c1 Q" p' S, uXX:
; X; @; z- p3 `     ACALL YS2
- m3 |: i( f3 _3 a; ]  {     JNB P3.7,HH ' X6 z* {. i$ d, z; y
     DJNZ R1,XX8 ]6 V. r7 R. |
EXIT:    + f6 x! H8 m& m7 M
     AJMP START
' G2 r$ ?6 [, Q5 _0 t; ]% v& Z   
3 e5 |) Q+ T* [- a7 J4 q5 ZHH:
- x1 D0 ~7 H! [) G, C     MOV R6,#42 V, t: P- ^* z5 U2 k' I) @8 `
S: 8 G5 f0 R$ V6 S- C# i
     ACALL YS1
/ u7 K$ q% n. a' G5 p0 e0 A& A, f     JB P3.7,EXIT ) U4 G$ O) h* w7 M  P& C
     DJNZ R6, S
" c" m0 J- M3 _  Y     JNB P3.7, $  " P2 h: y% b! a: v, T) r6 e
     LCALL YS3
; x4 x2 G" E- f( g; x3 g/ |" \2 [0 R     AJMP AA
3 f- }' U6 p: U. ]; {BIJIAO:( N+ N/ R. S' X! Z$ q+ R3 j
     MOV A,1CH * ^% q; X) i' n4 Y8 n- j
     CJNE A,#03H,N1  " N. a$ o& M6 S. A1 h
     MOV P0,#7EH   
& [3 T3 U# M' r6 E& u' G2 P. V                     
9 E% n$ K  _4 \1 _ ;处理STUDERV录音机控制码
4 @- _' F& z/ w* _N1: - U" L6 `+ ?8 S
     CJNE A,#5FH,N2 ;播放键
% ~$ V, `& b8 {  v* e3 I5 a     MOV DPTR,#REP
( x9 c0 k7 x  v; {" n  A     ACALL SENDA
6 i7 u- H  X0 e( s- q* t     ACALL YS46 `1 M+ I) U4 a- R+ M5 _
     MOV DPTR,#PLY' I! `1 _9 {# K
     ACALL SENDA$ k3 h' W4 f/ |( K' O
N2:
  a2 b* H4 T8 d4 K( z- j     CJNE A,#5CH,N3  ;停止键
1 D# ~, h+ l5 c4 \2 c     MOV DPTR,#STP7 P" K4 e. A! e! N$ ^3 R' z
     ACALL SENDA
) V8 c* F# f) l$ U9 UN3:
2 B% `. A1 ], V2 }5 M     CJNE A,#06H,N4 ;快进键$ \) k9 {' N, t% d+ s
     MOV DPTR,#FWD# }1 e2 H, h8 A% R2 K" y& u
     ACALL SENDA
1 ~( j6 g% M3 m, qN4:
7 `6 `( G5 D( w' p# z2 t; W9 Z4 k     CJNE A,#09H,N5  ;快倒键
1 ]: e" q1 Z$ H, r) [" J) E1 I     MOV DPTR,#RWD. Q. W0 F! S# r' P. i8 s- _
     ACALL SENDA' m2 a6 X! k+ w1 Z6 }) r3 I
N5:
! j( S9 U4 e2 b! Y5 t% p      CJNE A,#0AH,N6  ;置零键
, `1 ]0 v# y; c4 Y- V& B+ f' C, A      MOV DPTR,#RTM* {: Q; t5 k- T, Q8 \1 q+ x
     ACALL SENDA" X9 q$ N4 o- @
N6:
  j( h! K4 F# Z3 \. s; @9 L     CJNE A,#0CH,N7  ;定位到零键1 p/ \* `3 z9 E" d0 f* _# h
     MOV DPTR,#LZA
1 j: L2 q9 H  o) D     ACALL SENDA
( X! f9 @; |* Z1 LN7:5 E/ h5 ?" G. v8 |1 W, O/ ]
     AJMP AA7 P3 P4 u: @1 T2 V0 m4 R8 }9 {* A
SENDA:; {* [( z4 t2 V' Z/ x
     CLR A& N4 |0 [7 r, |3 G: ~
     MOVC A,@A+DPTR
3 I; U4 i: g+ s  L: f. U( {     CJNE A,#'$',SENDB  U- {+ ^1 B' e
     AJMP SENDC* ]5 q8 @5 @$ }
SENDB:0 c) O6 ]8 t* X$ @) C/ A
     MOV SBUF,A
$ Y# O" G$ B  X$ H, e     JNB TI,$
4 o( p  t6 y5 K1 ~5 Z     CLR TI) t# q0 ?8 i9 u' C) d3 m8 X& Q
     INC DPTR
' H# k& k( [0 t9 d" N. k" L     AJMP SENDA
( H9 M: Y" }4 u7 u0 |  [8 `4 H9 [SENDC:' [) t, P  E% ]  n9 K" N
     RET
% a1 |  ?9 L9 Q
. s' X" w6 W1 R9 T( E* QPLY:  db "PLY ",0dh,0ah,'$'
' f; J* R! k* zSTP:  db "STP ",0dh,0ah,'$'6 \5 i" L! ?' y! S
FWD:  db "FWD ",0dh,0ah,'$'
# m5 J$ G. C# C8 Y% j9 [4 kRWD:  db "RWD ",0dh,0ah,'$'
! }9 \; |8 X; w. t4 P: h4 hRTM:  db "RTM ",0dh,0ah,'$'
3 Q# R" o/ ?" P$ j1 X; P6 R: R4 tLZA:  db "LZA ",0dh,0ah,'$'
4 V9 }4 \& K/ O5 }REP:  db "REP F ",0dh,0ah,'$'3 s! w6 K$ y8 c6 L2 [: Y
+ n1 H4 e9 \6 P  V2 `
YS1:" S' ?9 h& ?# y; u) j0 s$ J( u
     MOV R4,#20; d- s3 R* g& F3 v, e8 Q
D1:
& ~6 E* k" k0 H! S0 b     MOV R5,#20
2 L" K" M8 W" t% S     DJNZ R5,$
! y& H& g1 k* H( f% j     DJNZ R4,D1
% h  l  P1 t+ j; Q' @     RET
6 G# q) }; m7 B* M; I" T3 E' \( ^' E' a; a
YS2:* k' J0 V, l, J) k0 e6 }9 q) \
     MOV R4,#10
, ~0 a% }: t& D/ R! ~6 n* L3 O* kD2:
7 _0 q% {5 |- O# e% L! `: Q7 M     MOV R5,#235
6 _% A4 P6 Y% S% H% w     DJNZ R5,$( N8 [1 Q, b: t/ Y" s+ K/ V
     DJNZ R4,D2
  [; z/ K7 O5 j" [* {4 c2 z     RET, G% J$ k! ?  Y- p9 Z& k
+ U4 P' [/ I( E. }& i
YS3:
" L6 P) h' J& |4 C     MOV R4,#2
' |3 S, W9 X3 m% |D3:
) x- U. V. C7 q5 t# \2 j" f* e: p$ Q     MOV R5,#248) M& p: T$ Z6 s3 x, J) L0 D+ @* v
     DJNZ R5,$; J& r7 ~/ ]7 Z9 R
     DJNZ R4,D3, c) N: y& D9 j! [
     RET
* l  W( ]( f  P1 R% p1 V/ M% T
2 r7 B: f, U3 y% Y) PYS4:
, C- d4 w6 X* X- ?7 j     MOV R4,#200
1 a1 d) }/ X: y* Y  @) `% O1 AD4:
4 `: d/ m7 o( A1 M     MOV R5,#248# u7 v& C* O3 {# r; f" J+ n
     DJNZ R5,$
( V! I5 N4 l% A7 b     DJNZ R4,D32 v0 S8 F; R( h4 `( t/ j6 m/ A# t
     RET
0 L- A, A; j  u- |% z     END  P+ h9 A; ~6 D5 s4 R

/ T4 D( ]0 J- w" W有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
% B% S" u1 q% R1 A  u8 u8 T. l1 s% c是不是很惬意,嗯!2 R6 {) N) W6 O+ f; _7 U. w

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!& Q' C9 u  H3 f! X) G' P  a. }2 L
YK 005.JPG
" c5 `9 N' j( x. r; n8 T5 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 | 显示全部楼层
洋为中用,真棒!我得试验下
5 v" t% U. p, t$ S8 U) ~
发表于 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& B' h, B. R7 N4 ?/ m  p9 J
最终的样子,有点简陋哈!
% N8 Q7 k; S% G/ J5 ~# s% Y: r; Q
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-1-12 15:12 , Processed in 0.262569 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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