收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
6 |! }  n/ |5 N; m$ W& J5 T- s7 \6 K+ P- Z' n
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
1 g7 }! _0 U6 H/ `9 H* N& u0 Z, R! f! b; \
说明:
: ?2 A' S. `$ K3 j! p2 [; J: R1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
" v- a1 {' D) g( ~2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
. c) u" Y4 O; R7 L9 V9 p$ Q
0 e; K9 U( A' m: A& d, b- O, h一、基本思路
  r+ l0 |; s$ ?/ p2 |) g6 H9 C6 Z3 J使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
/ ]% I/ U* W' W, S* ?$ K* R& Y
% O9 ^( G% c6 j. W- K5 j0 _二、红外遥控器
7 m* L4 {1 x) m* q7 ]( s, f# r0 h9 N我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
4 o9 a& `/ U' ], J Apple-Remote.jpg - o3 ^, z& d* [& y, _! C. N
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。) C- h" ~0 r; g3 I! a3 m, V& w
Apple-Remote - 副本.jpg % E6 A" @0 P* O. |' j
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:1 |5 i% P- m9 n- ?. Y
Apple-Remote - 副本.jpg , D6 G8 I& G4 J9 d' y% W

( C0 W  J& n; Q5 I* S5 e$ e三、红外编码& i6 J) X3 w+ r4 ]
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
+ r$ F' t; Q3 {  ~  S" e前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。  @( l$ K: Z- c5 R! }) U  i3 N2 [3 C
后16位为控制码,主要用于实施具体的控制。
9 @0 g' r; `, |这16位中高8位和低8位互为反码,以提高可靠度。
2 w! {" {* ]5 r( C
5 @8 ]# t% m. ~1 w6 J以播放为例,其编码如下:
& W$ d) W: d/ x  n00000000 00000000 01011100 00000000* P* K/ f* h+ N2 ~* m
- w3 `; w  p: u' `4 w$ [
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。4 D7 y6 l% Z8 O4 j

* \6 [; Z  r. e7 n( A8 o四、单片机系统, w& O* u, {' o3 I1 |' ^
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。+ P2 u9 C2 K, A1 J. }, X
c51.png 7 r  \+ C7 z* A& x2 t

( F1 g) ?# t: ^) j5 d8 ~4 X电路很简单,功能如下:# q' @/ Z$ M3 q3 G% c' I+ a5 l; }
1、一个AT89S52单片机作为核心;6 C* q4 h0 g* d  o9 H; w
2、一个TL1838为红外接收头直接串行输出数据信号;2 }" Z! l3 u3 p9 d$ G% q
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
1 E: ?4 m! y4 x' u4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
( o; b; ^/ J0 J2 O9 G% Q
- k" X  x) W/ M8 g关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。6 n2 J$ M, N" ^* Y6 R

0 |4 R5 O# T6 ?. e- d' k
. v, i' n4 Y' k, }五、控制软件
0 ^# s6 }- \9 K4 D2 P
控制软件用汇编语言写,源程序如下:
( k$ O2 T. d. \8 l2 _" y! I3 k     ORG 00H3 ?& T$ W2 b/ B2 Q5 z$ n
     LJMP MAIN7 p/ c/ F# x1 B6 f
     ORG 30H
- B7 w. H; B1 ~2 U% }- SMAIN:
+ y# g4 |5 P( F0 P     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)( }% M1 w6 O0 S' d
     MOV TMOD,#22H  ;22H. p: H; ]1 }* ]) R7 X. g
     MOV SCON,#40H  ;40H
3 x& Q7 r5 ~. l. B     MOV TH1,#0FAH  ;F3H
1 n+ y" ?. Q( o+ R+ Q$ `6 W     MOV PCON,#80H
; C9 E& A9 P0 {     SETB TR1
9 [. w% ~( T& b3 B% R& J$ QSTART:
0 s! u- f, J) O; j$ m     JB P3.7,$ ;遥控信号处理# U3 M% g* B7 _5 A' R' u
SB:5 _' s( N6 j: K& O- x% p- i
     MOV R4,#8   
$ i: K' t$ t' b& a+ x) RSBA:8 w) Z/ l4 Z: o( R
     MOV R5,#250+ A& I. R5 @; i0 q) m1 y
SBB:) c. b3 X$ S% C: d4 C: D% m
     JB P3.7,SXB1% C% y; y4 O9 P% G, }) F! h
     DJNZ R5,SBB8 B, G8 J, R0 b! O* z
     DJNZ R4,SBA& Y3 _( j4 [8 {2 o7 g
     MOV R4,#2
1 G3 U, F1 }1 p4 B2 A4 F/ X     JMP SBC
/ W- ^7 Z+ t; _6 T7 sSXB1:
- U, T6 ]1 m1 m( A& p7 m5 d" f( F$ e     MOV R5,#59 J2 `+ o8 O; ]6 X
SXB2:              
4 p( b$ x" `, l, N/ ?     JNB P3.7,SBB3 V- P8 D! h, P$ @. D% i: k
     DJNZ R5,SXB29 x( L6 `9 a! U4 E
     JMP START
; `2 u) R" i+ @8 _0 F- i5 ?SBC:3 }+ u4 B9 {" Z% y8 Z
     MOV R5,#250
; y8 I: |+ I: n; ^9 ESB1:4 d4 D  ?7 M6 U/ Q* h1 b
     JB P3.7,SB2  
6 K" E+ ?$ [* m; e$ G     DJNZ R5,SB1; D1 M$ M' j: z7 e
DJNZ R4,SBC
9 L) y6 q/ v# ^2 r! Q     JMP START
! B0 m( q8 X9 |  ^( ]0 |SB2:                 
* M: e- Q- K/ C/ [2 c5 D+ M     MOV R5,#5
0 ]: _: p$ h( ASB2_A:# S3 B  Q6 Q4 F* H
     JNB P3.7,SB10 R& w; Z! }$ A* j( y
     DJNZ R5,SB2_A! A5 V2 K: E4 {
     MOV R4,#3
) g' Z& H1 `3 j/ K0 B* o' dSB2_1:
( a3 T- G' s4 i5 m7 {4 D" n     MOV R5,#250/ [2 [8 I* q; U# ~5 b" x8 \. c
SB3:                  5 q8 Q3 q  w/ \& ^/ J) W& z0 `
     JNB P3.7,SXC
3 Y# s  s% N/ e1 y     DJNZ R5,SB3, ?/ U- {. N. M+ D
     DJNZ R4,SB2_1
5 D( `( V& J4 p/ p) X+ n4 u- [" d     MOV R4,#2
( J3 I2 j, P- P. ^     JMP SB3_1
5 g" n. l. C" _- JSXC:                  
# K' z. j- A8 }" ^1 D& N7 z     MOV R5,#5
4 \3 E9 V9 ]1 k: GSXC1:
) y6 A( s7 W7 k& ~* h- v( P( w- f     JB P3.7,SB3
* p1 e4 k( j! \$ ]) a     DJNZ R5,SXC1
/ n* }4 G3 c  c. U% @     JMP START
" k  q5 w, a- s. P0 T. T1 iSB3_1:                 
9 @$ o3 o2 r% Q     MOV R5,#250
$ f5 L- j3 w( D  [# k  k, z4 ~SB3_2:" O6 c& h/ B8 V' t1 X; @* U4 P6 O
     JNB P3.7,SB4
' W, V9 v2 I6 ^1 h     DJNZ R5,SB3_2
, f# j/ S7 U) [7 u. [3 n5 _( f     DJNZ R4,SB3_17 B6 q; l/ I3 q0 y
     JMP START# h; ]: W6 R/ L7 f/ E6 c, X
SB4:                    
0 ^/ P2 b  b/ i) ~5 |+ g! L     MOV R5,#5
* F$ ]; W9 [+ h) t& ~( R9 TSB4_1:0 k! E" C/ A5 h/ g& z% j# f
     JB P3.7,SB3_2
- e% y) _. s9 A& m     DJNZ R5,SB4_1+ k6 P2 t, w& ?% F, Z6 g  n
     MOV R1,#1AH  & g) O  j  ]* f
     MOV R2,#4
0 E1 V7 E/ W" g& M6 ?, @PP:  MOV R3,#8
; O* O+ W9 r3 o+ S9 b+ ?# }% qJJJJ:
( e6 _& F: o" y: {2 Y$ s6 T; W- u     MOV R5,#250$ G1 r' Q" Q( m, c: k7 k
JJJJ2:                ! f. e" O* E+ i! ?; ^+ ^! y1 J
     JB P3.7,JJJJ3
. ]. ]6 n+ X$ W/ T) V* |8 o( J     DJNZ R5,JJJJ2
4 d+ q( X$ ]+ h+ W6 X, i     JMP START
8 I9 t: E; E4 C& LJJJJ3:- t6 `% [% N/ }5 W2 E' C
     LCALL YS1  ' \& O5 y1 C8 Y
     MOV C,P3.7   5 g) p1 q4 Z% r0 j* b2 Q
     JNC UUU      ( y% I, w4 B2 o. c
     MOV R5,#250
6 V" w$ H% T$ v; \JJJJ4:, @' V# P7 n9 v' w
     JNB P3.7,UUU, X* a0 ]) Z; V& h6 ?- q( O
    NOP
6 E9 E- a( L1 h, f7 [+ a     DJNZ R5,JJJJ44 m. p0 m4 ^: p
     JMP START
6 v5 m+ X% m! a6 x4 N( DUUU: MOV A,@R1  
* a4 N# L# j& T; }     RRC A           ! c/ J* P* ?. A3 ?& {; S
     MOV @R1,A      
! s- ]0 Y4 W5 u* O6 L/ F     DJNZ R3,JJJJ   9 m) R4 F  ?0 r* m2 a- J0 Z
     INC R1      
6 f$ f6 [( \: W     DJNZ R2,PP     z: \0 s2 ~- x
$ w7 j6 _0 _, Y, Q. S7 u. b1 ^
     MOV A,1AH
5 v3 F4 c9 C% Z+ }! ]  H' z     XRL A,#11101110B% f: Y/ s4 [" z2 l7 w' U/ ]
     JNZ EXIT
* m9 q* _) Q0 `' h+ G0 d# v     MOV A,1BH
# g. M6 @3 d* y  ?( v     XRL A,#10000111B
  E* J1 R  i+ J7 ^' R     JNZ EXIT
& v6 I4 y" X# j& {1 a) B% D5 J     LCALL YS3' [; z; J& \- ^1 y# J' s
     MOV A,1DH
, n! C# y" u* {6 M     CJNE A,#10111100B,EXIT
/ p) U1 J* q5 Y+ \6 e     LCALL YS3
* \0 R6 K- z4 y' A: M     CLR P2.6  8 Y9 _, Q" u0 @' e& f" F+ c
     AJMP BIJIAO; N1 ^( `7 G. Q
   
% o; g% N- S8 L' p0 L8 YAA: 5 r" F+ s" z) d& `7 H
     MOV R1,#25
$ l8 c+ y# I+ z# P& m/ R/ o' `XX:
* S0 ]& E% C' i5 z  X     ACALL YS21 p' [. ]. t9 Z" W" M3 ~8 K
     JNB P3.7,HH ! R$ p3 P. ?: j! Y% t
     DJNZ R1,XX0 b( X' g9 ?) t) O6 f, M* u6 q7 F) v
EXIT:   
8 |8 c/ R9 j' \0 A     AJMP START
0 E! {- ^6 Q% L   / @& T5 R# I4 v4 }# m$ g
HH:
5 w1 d6 h3 S8 l0 J, n     MOV R6,#4, r) ?# E0 K, _
S:
1 b+ H9 _( h3 P/ f( n& _, X     ACALL YS1
( _" {/ Z' y0 R; N  I  G     JB P3.7,EXIT
7 {# N1 U1 R6 u& z4 [$ G     DJNZ R6, S
! V- x# n# P1 R! @     JNB P3.7, $  , l" H' J/ R9 \+ h: t
     LCALL YS3  {8 X/ A- I$ `! h# i; v1 |
     AJMP AA" i* J8 t# m( r$ w
BIJIAO:
) y1 O3 [+ o, |0 q3 R3 M; z# G     MOV A,1CH ; w7 H  q( d' {0 R  d* P
     CJNE A,#03H,N1  3 N; L2 v: t' Z' P" y& t
     MOV P0,#7EH    1 r" Q: i) T& E
                      0 n& _7 t7 j9 V2 m/ S6 y
;处理STUDERV录音机控制码, P, i$ M8 G# P- Q
N1:
# ~# N; A% G9 ?: M8 C- I     CJNE A,#5FH,N2 ;播放键7 {6 J6 L! @, @; b6 m$ x0 U! A
     MOV DPTR,#REP  o- `9 @- V3 b% H
     ACALL SENDA0 z# X( z: T# o) ^! Z
     ACALL YS4
. W/ z5 v8 q) j     MOV DPTR,#PLY
7 k. U# m2 K" z4 r: Z+ r! Z     ACALL SENDA
* }$ R# d4 r# K0 w0 Q% h& k8 A, rN2:0 `+ u% ]; q' g) h" j* i% M7 s4 `
     CJNE A,#5CH,N3  ;停止键* E5 K- P0 J+ Q6 g2 k* v
     MOV DPTR,#STP
1 Y. u; P6 T4 V; K- u     ACALL SENDA0 a$ T3 p: {, e, o4 ~; y: u* n. n
N3:
  Z% R& H$ O$ Z( ?; |     CJNE A,#06H,N4 ;快进键! a" r1 x$ h* }: W( z% p3 H" G6 P8 p! o
     MOV DPTR,#FWD
$ o, i3 b! i( i6 j     ACALL SENDA
" n; I/ g, U4 S; o# \N4:
8 Y* r. ^6 _6 X1 L; l     CJNE A,#09H,N5  ;快倒键; ]# _7 b) N& E* r: L3 x; n/ s
     MOV DPTR,#RWD
( r6 H* l; A! _) g2 o( S* Z     ACALL SENDA7 \6 Z6 K- a* w- C# M; c( x
N5:
' J3 `& j" b4 E6 O      CJNE A,#0AH,N6  ;置零键! Z4 {( S4 m2 [4 g
      MOV DPTR,#RTM
# `3 I# T0 d6 B, s, R2 h/ O6 J     ACALL SENDA
* e. R+ U( h2 W7 j" [1 Q1 {* yN6:) f- M6 T; W+ m/ W$ M9 Q
     CJNE A,#0CH,N7  ;定位到零键
/ t! A: e5 E: L     MOV DPTR,#LZA
& |& t! A5 E( r9 j$ b. D     ACALL SENDA* x# z# m$ g+ k4 W: Q
N7:% e' R* C0 V( Y8 G9 ~" p. i) b
     AJMP AA# G$ Q' P# s, r" U/ X
SENDA:
  R8 P: W; G  s) K( ]) Z     CLR A4 y* v0 v0 _$ D/ V4 `
     MOVC A,@A+DPTR* ^( T4 @& m0 G# Q: X
     CJNE A,#'$',SENDB/ ^8 B: E0 R$ i
     AJMP SENDC
- Z: e/ z/ ~. ?3 b0 xSENDB:4 t" c2 @3 s5 J
     MOV SBUF,A7 P" w3 a/ u! i
     JNB TI,$
# i3 Q/ @# U% r) J     CLR TI$ W* F4 F, @: \+ F8 u: r
     INC DPTR' Q" s& Z3 C6 A  q6 U* L- C1 K
     AJMP SENDA  h( h( }( k- q1 {( g5 M
SENDC:0 p/ }4 o( Q1 b; S$ S
     RET0 c9 r& k$ j- _
, O  h3 X% x$ L3 b6 }
PLY:  db "PLY ",0dh,0ah,'$'$ s9 A8 A0 @: U& G
STP:  db "STP ",0dh,0ah,'$'' \6 U- X. T; R6 `
FWD:  db "FWD ",0dh,0ah,'$'! V% h  }" I- C5 U5 T
RWD:  db "RWD ",0dh,0ah,'$'
- `; P+ Y* t' S8 b1 w3 o9 KRTM:  db "RTM ",0dh,0ah,'$'
) H( q6 ~+ `1 l6 y5 I9 c' P7 ?LZA:  db "LZA ",0dh,0ah,'$'* u$ A: S: e) i! r+ M8 r
REP:  db "REP F ",0dh,0ah,'$'
+ S7 h$ ^/ u! ?- d$ B" q' S. S$ B. D8 k; C6 a
YS1:
4 B) u+ H3 ?5 D, U7 v4 f2 \     MOV R4,#20& R' q! {, \+ \3 }' q; Q
D1:6 b; E9 m2 h7 Y0 j0 j- r
     MOV R5,#20
/ V. x0 q! o% o1 V9 i1 p     DJNZ R5,$& l3 i3 A, L$ d8 T. L
     DJNZ R4,D1
+ J) g) V# L( h9 g& X% t. R4 u     RET
6 z6 b1 K/ N; H+ @) c( @8 _( ?# Y* I
YS2:
% {8 \- q; q: {& Y* h! ^     MOV R4,#10- I3 y# @( K1 B- p& [4 j
D2:
9 B* m) d! e3 d- q6 Z# v$ U     MOV R5,#2356 L" |/ {2 E, u2 D& E6 b* }9 U
     DJNZ R5,$" h" e4 O5 T. P! a  K, @
     DJNZ R4,D2
" }) J4 `9 H, K% p! Z     RET( y: R# l7 P5 Y2 _. \

5 z* ?7 u7 r6 bYS3:9 M" P6 z1 W' }9 f
     MOV R4,#2
; t8 [  f! f/ {; G) Z$ Z$ HD3:
' r0 |1 ~$ J" Z4 p* m     MOV R5,#248
+ s, G, q; }4 [1 M; H- j     DJNZ R5,$2 H+ |8 U% K4 v' u8 J
     DJNZ R4,D3* U9 G/ ?9 G5 l$ s) h# `4 w
     RET
5 G3 q" G  S8 M: h9 L  f& U' k6 X1 [+ q& t
YS4:
6 ?. T- G& o* G9 k% s     MOV R4,#200) l; [! l! V% u+ M
D4:
- B: ^8 i5 `# M/ ]( ]3 V     MOV R5,#248
0 k5 ]- n. a: N# s5 V3 i     DJNZ R5,$+ T" J1 j# V1 Q5 Y, z+ h
     DJNZ R4,D3
7 S7 D0 p% k/ J# D4 y" U! E" {     RET2 d! i. i' q$ \) y! r( A
     END
6 N) D4 S% T" ~9 c2 o1 P6 J. J9 f3 v% \) `# ^; a+ K$ f
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
; P$ ?% v: B5 m是不是很惬意,嗯!
# l: {# {, A; j4 V2 @0 l

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!' \+ G0 V9 j5 T& C& M$ I
YK 005.JPG   m) E: k& y7 F  }  n
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
3 Z9 `5 W( C* d6 c4 [1 F6 v$ S
发表于 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
* _) Q& t6 l1 E最终的样子,有点简陋哈!

  V; A2 h# @# \- ]$ [$ V& M这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-2-18 16:36 , Processed in 0.093649 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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