收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
2 j8 K$ }, Q- R# F& F. i
. W5 F, o& m4 Y8 G3 d, f! Q本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。$ T5 u5 T6 o- i4 E4 W; e# q! r0 @/ ?
* I. p# I6 q1 h+ m2 r6 z/ S
说明:* ~% `+ a0 o* P
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
- q, {# C- u+ q/ |% g' m- N2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;' ?. i) b2 f  d- y8 k
4 `- b7 z% S8 j) \3 O+ {  H
一、基本思路
7 E! M5 L9 K7 v3 o) d1 Z使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。, s6 N- z8 X# x  U8 t. X
; X- T% [/ \! k+ k7 d/ v
二、红外遥控器2 \- Q/ j9 `8 y  K
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
% ]8 }1 q$ J  |& y, }7 K" O Apple-Remote.jpg ' Z2 m' G0 u5 U" M
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
9 e0 J( M' A" C3 |5 l Apple-Remote - 副本.jpg
! m" z. g: {8 W9 n" G在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
1 U( B/ H5 L: y& D) J Apple-Remote - 副本.jpg
7 W# L; O. U3 R* \) ?8 l- |' Y0 e8 ]  [
三、红外编码  f0 c+ n+ ]+ o; y2 T2 C& g, x
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。0 f- k; L8 U6 l, x
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
2 X" v1 j: y' |/ @后16位为控制码,主要用于实施具体的控制。
3 _& k. b! j$ ~3 j& T& G/ s4 a这16位中高8位和低8位互为反码,以提高可靠度。$ E  X% x4 \6 V
6 |' ^, b9 b  r* y' [0 q/ s) {
以播放为例,其编码如下:
) Y% q* V  t7 ^00000000 00000000 01011100 00000000
/ f; u+ R, R" L, U7 |; u& k
8 S; C# S: u/ B9 c4 y/ U你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。7 d8 ?4 j* t& A; \

: L. C; O1 p8 v1 U* I* ~! {四、单片机系统  `' r" A7 Z9 z) }$ k
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。8 [5 r8 W& B; j# O! D/ _
c51.png ! ~6 v# G- g0 E. ^/ b
3 @8 h) E) m7 }! R. q/ S& D
电路很简单,功能如下:, `, d- y- N3 g' g$ V0 l( b
1、一个AT89S52单片机作为核心;3 e- d3 m2 }* U' ]; I, ?1 l
2、一个TL1838为红外接收头直接串行输出数据信号;3 J* J+ K6 g0 b; m
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;; h2 A5 T+ i8 b. @
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。! ^) i' w& _# V- F' v) b

: c" a9 P0 K' k/ w$ p" y- ], m/ V8 Q关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。" \5 c- ?* D6 J

5 |: _/ ]9 ?& ~! o& X/ y% Y
7 I' x! v! z" P0 M* |9 w, u五、控制软件
% @4 ]" j1 v( W. A/ h! y* p6 x
控制软件用汇编语言写,源程序如下:
6 B( P- k% m1 I2 n5 V     ORG 00H
; Y4 p! f7 K6 U( @$ s     LJMP MAIN  h1 h4 P/ z" _+ a
     ORG 30H
# J1 r& R. ^8 g) l, ~, lMAIN:
0 L6 k6 E- e$ p0 b; a1 R# m     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
0 W, @' U# |1 p     MOV TMOD,#22H  ;22H
7 z. t5 Z9 e+ Q; F" ]0 U, ^# s     MOV SCON,#40H  ;40H' m7 H! C# f3 s/ _
     MOV TH1,#0FAH  ;F3H7 B, e# Z9 M* N; {8 a
     MOV PCON,#80H% V" j* m5 t" B
     SETB TR1
) x9 _% B# [3 r0 O- Z" [8 iSTART:" e" D8 `: z8 t8 H
     JB P3.7,$ ;遥控信号处理
9 _0 `% T! K9 t( x5 ]1 c* aSB:
/ \' |& t& @# r- a" b. A     MOV R4,#8      r# T" H5 a, v1 f
SBA:
: [3 s! v$ h: \) H/ u; m% v     MOV R5,#2501 I$ e, H3 y1 o& f0 S5 ^  B! e$ O
SBB:
  [2 n) U7 g' h3 E# }     JB P3.7,SXB1
1 u, q  }3 K8 S     DJNZ R5,SBB* w/ {8 t" `2 A2 @; N' W7 ^5 y
     DJNZ R4,SBA
. z4 ~; E  ]7 P6 q$ W" P     MOV R4,#20 ^+ e0 X; f- U+ m$ o% A
     JMP SBC
0 M. ^; N; T7 Y, sSXB1:' A- Y5 k: }- ?
     MOV R5,#5. o+ }" j0 Z' O) a7 W
SXB2:              ' v' r5 J3 o, {$ [  n6 ^. I% G
     JNB P3.7,SBB
: }5 u: I; G; W  q7 P, N+ t     DJNZ R5,SXB26 t  ?, A# R/ h1 n7 B; Y( k
     JMP START
8 ~9 g# d3 [9 o! c% cSBC:
6 a. ^. e; A) @& @     MOV R5,#250
7 I' H8 v* }9 w- z% N: w' R, s& aSB1:
8 |9 V; q$ s+ ~+ o; s     JB P3.7,SB2  + i% _* Q" X4 E, b. _" z" R
     DJNZ R5,SB1  B1 N" _8 Z% ?! a8 W$ A) d, l) ]
DJNZ R4,SBC
8 d8 _3 i) l' ^     JMP START* \& i. A" t2 H
SB2:                 
' H3 Q, z* o- J8 U     MOV R5,#5
6 @0 Z$ f( d' \5 C  B7 iSB2_A:
9 ?% K: l8 e" w# v1 n$ K     JNB P3.7,SB1. X. Z$ |" [6 t% N6 s
     DJNZ R5,SB2_A# @; o. N5 t: ]# }7 U2 y+ C; b
     MOV R4,#3! n1 i& @  D' ]' U7 L
SB2_1:
+ n- L8 T5 u! A4 ?, \: }9 }4 H3 j9 v. J     MOV R5,#250. r* ?) i$ Y: f
SB3:                  ; v6 Q/ q5 {/ X
     JNB P3.7,SXC
% ]( j) o) |8 o, l     DJNZ R5,SB3
, D1 W( S( A7 g! Y     DJNZ R4,SB2_1
( b3 e; p+ }: T3 q     MOV R4,#2
% W3 z; q4 n: ~0 h     JMP SB3_14 p! R& V8 |$ I1 M
SXC:                  $ ^: v5 T* f: E$ q  k) C
     MOV R5,#54 e6 R4 x( L6 f) D( P. d
SXC1:
% ^' {; R9 q) m* ^3 d- M     JB P3.7,SB3
6 N$ C; E5 e) g9 N     DJNZ R5,SXC1
! t0 r9 l# B( U' K! l' n. R     JMP START
; P' `2 r! Q( {, K1 x' W6 r$ d* `SB3_1:                 
2 J  |& m- N- G' F     MOV R5,#250* x( H, p6 y3 a, _
SB3_2:
& Q& b3 @% {+ s0 ~. |5 x     JNB P3.7,SB4
7 Y& x: [7 ?! E3 d     DJNZ R5,SB3_2
, z& Q7 p7 U( h: n5 a1 n4 b2 b     DJNZ R4,SB3_1, f8 F5 e/ f3 A; k9 e1 h  y
     JMP START! _( d+ ^, b: P  {8 [+ x
SB4:                    6 e5 g* D8 T; r1 p$ Z% l
     MOV R5,#5
& T- N. K. z- u" R$ lSB4_1:
4 x! k2 M: Z5 y- j! ~7 v) ~7 ~2 G, R     JB P3.7,SB3_2
+ Z3 z2 a, c9 }; M; K     DJNZ R5,SB4_1
5 ^  {) |$ ]' H1 x: ]' p0 X6 k* W1 Q$ d     MOV R1,#1AH  
& _0 i8 b% ?1 C2 B* j3 T* A     MOV R2,#4
* d/ G8 R/ {8 m2 J. |& b1 B8 cPP:  MOV R3,#8$ @% l7 S* j. m; g
JJJJ:  t3 K3 A0 m0 w0 G
     MOV R5,#250
; o& u7 i  t' O2 ?JJJJ2:               
3 a) r. Q/ [! s     JB P3.7,JJJJ31 j, [# W0 p  I2 X1 v  U
     DJNZ R5,JJJJ2
" }5 S3 r/ A: R$ c; k5 U     JMP START
$ ^! q1 d6 M: Y; W) }5 ?# [8 BJJJJ3:* a# r5 Y$ a' u# N, x- L( f& o
     LCALL YS1  
3 V8 T# z7 P% J$ D1 T6 X( C# p) P$ P: j     MOV C,P3.7   
7 [) A8 ?) {, F0 k( _$ W+ C& r     JNC UUU      
8 m. x8 g- N' h4 w     MOV R5,#250/ L2 U! L/ h, {0 }) p& n( \$ E
JJJJ4:6 i$ j" S) K( F) c, d
     JNB P3.7,UUU
4 X8 m6 Q& m# ~. C% ]( i. ^# y    NOP
! U, G/ A  L) q9 z     DJNZ R5,JJJJ4; m& Z; e/ O+ m6 X4 }
     JMP START+ m+ N7 {9 B3 R: i
UUU: MOV A,@R1  
* n+ G& p" b" t+ E+ t  X     RRC A           
) b& ^" t  L: ]2 Y) E( n     MOV @R1,A      
" n( h4 t' i9 ]% ~( d+ E9 v* v     DJNZ R3,JJJJ   8 P; x8 }+ N% q) L% a5 m0 n6 H
     INC R1       ' V7 A& c( H: l" ^/ x
     DJNZ R2,PP   
; v9 y) I: B7 b6 O2 R! K9 I) d3 Z5 Z. |+ g6 ]
     MOV A,1AH
( z4 K7 A8 u0 V; _- ]     XRL A,#11101110B
0 J4 r) Z0 A2 s! `! _5 a     JNZ EXIT " M9 q% a' r$ g/ G  P5 m. P
     MOV A,1BH : S' E, c! l$ [8 V2 E+ s4 ~) N
     XRL A,#10000111B
& X+ F0 s+ g5 |! _     JNZ EXIT
/ [. [- M9 x# \' Q9 I" ]     LCALL YS3
- U0 f; _" P2 t/ l' y' d9 J     MOV A,1DH ' d, B* w- e$ P5 Z. O
     CJNE A,#10111100B,EXIT
* Q2 a5 h' ]4 v     LCALL YS3
5 V- V& \. }0 _     CLR P2.6  
6 o' j) W9 f  q# p0 s     AJMP BIJIAO, j7 k8 x' d; Q8 b2 r# n& h
   : Q9 X6 Y! _: n2 E$ t
AA: % E* M0 X; N( h3 A! ]; m) @8 i3 A
     MOV R1,#25: V* b% n) X7 G) ^# d/ b
XX:
) n+ m9 n- g+ k" H8 o8 ~8 k     ACALL YS2
) Y* S2 Y. c+ t) A     JNB P3.7,HH
3 H. K  P3 }: K     DJNZ R1,XX( m$ u9 }5 \3 a( y. ]# y# A
EXIT:    # b( G# |; B) o; x% K
     AJMP START( z  J+ D2 [! U3 ~
   
$ [9 K" ?9 l( A, R  r- {HH:3 p! V2 s# h- t# D3 b4 G
     MOV R6,#4
7 J* }' n) T5 i+ |, x9 ~S: , C, y; Z2 r# g) P
     ACALL YS1 $ }  B8 ?. Y$ i7 T# |
     JB P3.7,EXIT . I3 l7 @4 T) y; J( o8 E9 Z
     DJNZ R6, S 0 c! t/ d! I( l; D3 S/ o. C# ~7 m
     JNB P3.7, $  3 h+ e8 m* q) ~/ l$ o0 l, t' S) L
     LCALL YS3
4 W: A+ A* E/ t( Z     AJMP AA
3 U# |$ N* d3 R# @BIJIAO:- m1 ]! Y+ `/ H% A+ c9 c
     MOV A,1CH
8 ^6 C' y$ X" G7 @: Y  ]8 V, G     CJNE A,#03H,N1  ( y! q8 u8 p, b9 f' ]7 R
     MOV P0,#7EH    + y6 D/ l9 ~6 ?) T9 [/ e3 S. Q( i
                     
. L0 T; {$ d% {- G- {% N" c4 w3 J$ X ;处理STUDERV录音机控制码3 \3 r0 u6 m1 B4 U' G- T* d/ d  X
N1:
; h: C$ z, X/ H) [     CJNE A,#5FH,N2 ;播放键- w0 C8 T' s) D" ~2 l6 F
     MOV DPTR,#REP7 b; y" w' Z4 w! ?% T! z$ I3 S6 L
     ACALL SENDA
; w+ J& i& t$ y9 ]     ACALL YS4, ]* `- k: s1 T+ f0 i
     MOV DPTR,#PLY
& v( M# z/ z1 r* F  \/ @     ACALL SENDA( c7 R* h0 w$ w* Q3 f0 K% G9 K* B
N2:
' C8 _6 P* I6 F9 ]' h     CJNE A,#5CH,N3  ;停止键
# `) k" [$ B2 Z3 B' Q  V* `     MOV DPTR,#STP
, d& [# i0 {: R& ?) o4 F3 j     ACALL SENDA! s* s) ]+ U! ?
N3:
* r1 K( n$ r4 G, J* Y3 a     CJNE A,#06H,N4 ;快进键
8 Y3 c# m3 D+ @5 W     MOV DPTR,#FWD
# ^* `& Q2 @. y" \& g# d  E$ _% z1 P     ACALL SENDA/ `; X4 y* ^! f
N4:
5 f0 J4 {/ X0 I: C     CJNE A,#09H,N5  ;快倒键# R1 u. ]  h! m) \2 V
     MOV DPTR,#RWD" B1 z2 _, I1 b
     ACALL SENDA* p" [7 t+ L) ~  T' h6 Z. i
N5:' T: S: j% _% H' x- Q8 b7 T
      CJNE A,#0AH,N6  ;置零键' R% {, ^, ~+ d. y( ?) f3 w
      MOV DPTR,#RTM+ F4 R8 U/ ~" q
     ACALL SENDA1 k  D# o& F( o5 n& ^
N6:
( K$ L' b% c- _% a; q     CJNE A,#0CH,N7  ;定位到零键
3 x; {+ d3 Q' \3 G. [6 e     MOV DPTR,#LZA; o9 N2 b4 v' P
     ACALL SENDA
: I! |6 r" v, z8 V9 C3 kN7:# h0 Z. N" U6 k+ G
     AJMP AA. M% m+ `* s, p8 S) j0 M1 @# |# ~
SENDA:
: j$ Q+ f0 w6 i8 u. X     CLR A% k5 s  V8 ?' z6 {% Y8 V! N
     MOVC A,@A+DPTR7 X6 B0 u4 P6 A! F
     CJNE A,#'$',SENDB" Z( v( w# E6 F" ~! z: z8 \
     AJMP SENDC9 M: U- S+ o: \4 d3 v+ \( s
SENDB:
; F8 b8 m9 n; q. }     MOV SBUF,A
1 h) J: W2 [6 V  J; f* H& t) n     JNB TI,$
0 C6 q4 D0 s5 v) H2 b+ _     CLR TI4 M; j( Q- g# E! O# g# h: }! E( _
     INC DPTR
9 r8 D; C2 {$ A8 _     AJMP SENDA9 t5 j6 L# B5 r  j6 ?) `
SENDC:: b" B" W* G+ Y, D
     RET( U, M" r! v" u7 {3 M
4 L  R* t0 J2 V3 E+ w& u, R
PLY:  db "PLY ",0dh,0ah,'$'
4 \& _- n* l- b- c7 c# T  o/ r' DSTP:  db "STP ",0dh,0ah,'$'+ }9 |# E0 W) n6 e
FWD:  db "FWD ",0dh,0ah,'$'
4 C/ n$ Y, S: T0 ]RWD:  db "RWD ",0dh,0ah,'$', }& S' y: B; [" t1 z
RTM:  db "RTM ",0dh,0ah,'$'
$ x  e) ?7 p/ e+ ^/ ZLZA:  db "LZA ",0dh,0ah,'$'
; r1 H4 V; d. {+ l( R: Z# D1 BREP:  db "REP F ",0dh,0ah,'$'2 g1 C  b) g8 e# X1 y* S, G
2 T/ v: }( I; D! i% u+ V/ f3 k
YS1:
! T$ S2 t% w0 N' m     MOV R4,#20
% z- |2 c7 w) p0 HD1:0 q. a& J- u2 `4 y/ L
     MOV R5,#207 s8 J- Y6 h8 i6 Q) q" [
     DJNZ R5,$
8 i, ?6 X) l4 y/ t     DJNZ R4,D1, X9 f# s2 I  Z) }6 ^
     RET+ V& h, \  f4 |2 f9 W
8 t7 u. z- W" R- T* j7 N% o3 E
YS2:3 R8 I5 P: M6 t2 P8 N
     MOV R4,#102 h( c5 v7 \" @9 l
D2:/ v% T3 q/ Z4 U/ m/ t  i  J
     MOV R5,#235; b) S9 |2 a4 Y+ W0 v; b4 I: m
     DJNZ R5,$
& ^$ w8 m; C1 `1 x, ]% F     DJNZ R4,D2
+ R6 i9 G) Y6 K     RET4 o# E) k( Q" |3 a" l5 W8 [8 l
1 X- K/ f' M1 i) t- n* a
YS3:
) \- T# `) T7 |& b     MOV R4,#2
; w! w3 j# c9 b  |& q$ MD3:+ H2 E/ }" l" F! o& y
     MOV R5,#248& ^, t' @) Q3 \$ e9 w8 ?
     DJNZ R5,$
, ?* x4 A# g9 |* D4 L4 X7 Y     DJNZ R4,D30 _, D0 e5 f/ i0 S5 ]/ u+ M
     RET" i8 K! l2 n8 I3 `" W! B
! o) V6 {2 s$ h1 `: J$ R
YS4:
/ X2 ?! n- f, X$ E  f% J: d     MOV R4,#2000 e8 n# I' u/ T$ K' I
D4:& m- N, z! D! _5 ]  K8 n
     MOV R5,#248( F8 }3 T; j4 U& L4 {
     DJNZ R5,$
- f$ c4 g% f& Q7 |8 ^; X     DJNZ R4,D30 D' Z6 W. \- r2 c: J+ \. {& N) x
     RET
, g5 Y- d5 Z: D& p+ b4 h- C     END
9 c) X) z& G9 d* N& |+ N! L
$ \$ ]' c; i! C& D有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
: r: Q* e' r9 E是不是很惬意,嗯!( ^; h. k% _$ s9 Q+ a

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!- P: [* c+ Q' R- o
YK 005.JPG
; Y6 s7 r0 t3 r- h- J3 O
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下, I2 z0 A) u1 k( n
发表于 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
! y7 B2 d0 l1 ?6 V6 t. f3 M2 C1 h最终的样子,有点简陋哈!
7 ?$ U  H/ O5 L- y2 ?+ n- E2 \
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-3-12 19:55 , Processed in 0.076359 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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