收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 % Y8 W3 Z) T8 ]8 S) W1 `, }" y& p8 s

! I8 A) [! W* L8 g* ]' K5 \' o本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。$ e7 t2 ~3 n' E( q8 a
/ M* o; L9 g8 x8 t7 f" I% g5 g
说明:" _& u: H& l1 J  @; J+ C( G
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;* _6 s3 z  w! |) K. K7 E
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;' A7 c: w4 P3 m3 N

$ f, M% R- P- n+ n$ Q+ R6 R, \一、基本思路
1 M2 Q4 O; y$ |# F8 j+ J& h; n. i使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
0 k- Q2 \! `4 n0 i+ k, Y/ H
7 K" k; Q% I" g2 l3 _/ P二、红外遥控器: i& `( Z3 R# y
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。# C% E9 K" A4 b$ K9 g$ R
Apple-Remote.jpg ' D+ y$ e' _5 S7 \3 e
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
" o- B# U9 @. X' p$ d3 M Apple-Remote - 副本.jpg 7 i" d. ?/ o- N9 I( `* E* W
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:5 a/ x" F+ w! Q2 W# j
Apple-Remote - 副本.jpg
* l0 \3 m3 S( O
  s6 ?( b8 Z1 ]( \- f. B三、红外编码# j) K5 j4 \: r* A9 x+ b5 W
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
$ {0 w  }0 P; w8 k0 H' Q0 l* `前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。7 A4 F2 C# o5 K% Q) N! j* k
后16位为控制码,主要用于实施具体的控制。  ]6 f$ _9 ]8 b3 A
这16位中高8位和低8位互为反码,以提高可靠度。
& e4 Q" x4 }1 i" ]1 ]9 f! g6 P" J1 Z1 y3 z4 X/ R5 y/ H
以播放为例,其编码如下:" c. e) q1 l4 Y. G
00000000 00000000 01011100 00000000  I/ r# Z# y/ n5 f( `- o

" e" A* y% L  H  d* e你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
  i: t: ]7 u; g: w5 }* D7 o
" s9 G* _4 ^: L四、单片机系统
" q4 Y! U) _( m7 t6 B0 U4 J# Z) c
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
9 F" Z" x' [0 I9 Z c51.png & C! g3 J% m5 o

0 v/ F# k% Q' r4 R+ F+ M: c" d% [) g电路很简单,功能如下:
2 S- @( w. }* F5 y# R6 Q1、一个AT89S52单片机作为核心;) e! j' [, O( d
2、一个TL1838为红外接收头直接串行输出数据信号;- Z" M' c& w- x. a, A
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
) l5 A: ~4 }8 U# g- H# I4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
: s& Y) R. b* s8 o
. [2 ]& j( t/ a. O& l" n& s8 U关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
$ c9 O6 C! @' X) v4 x) o3 u, B  z- j& p: I4 p
6 J; n. q# C4 `8 j3 |6 l
五、控制软件  g7 g, J! M+ I2 l
控制软件用汇编语言写,源程序如下:
  c& j& z& Q9 ?0 ]6 S  P! ?3 \3 g     ORG 00H, z+ R& p: e3 E2 f6 G3 ^9 M9 Y
     LJMP MAIN) Z# ]' Z! }: a2 {/ C
     ORG 30H0 C$ G$ d% L/ r$ C+ c; x* l# |
MAIN:4 i  j8 A8 F- v8 D3 K* F1 w
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)1 G( L! U3 J1 g( W" x
     MOV TMOD,#22H  ;22H
8 K" y9 E7 V* @  ~  [     MOV SCON,#40H  ;40H
6 m& [0 \) ?+ W4 t; H     MOV TH1,#0FAH  ;F3H
% O/ N4 I" N3 O     MOV PCON,#80H
% j8 l4 j- j. }; i6 c2 r     SETB TR1# D  b1 h4 x0 H* Z. R
START:
* K" I* e/ K" g$ I. y  D& L     JB P3.7,$ ;遥控信号处理
) x6 V! K6 G4 u, fSB:8 ?, N$ i1 I: u/ D0 G* P% `
     MOV R4,#8   
' d6 e8 z3 ?5 g* x' l0 r* p  ^SBA:8 |6 e2 g& Q& v" {
     MOV R5,#250$ |7 t' q2 [, _7 V0 X7 z! A
SBB:
9 B1 W- n/ m8 v' Z  [0 t' N9 h4 D     JB P3.7,SXB1
* _5 K$ I' c$ b% O2 [, C0 T. y     DJNZ R5,SBB
' \" s; U, N5 n% j     DJNZ R4,SBA9 g+ m3 {  z/ `. ~. q
     MOV R4,#28 m: Q' s# o- ?( T, M( Q
     JMP SBC% a& m- d$ l" P7 x
SXB1:% w/ c3 \- N: H" \
     MOV R5,#5
+ Y9 _1 x8 N3 B7 |+ f5 lSXB2:              - a& i. v* \) U! L. H$ {
     JNB P3.7,SBB
3 ~7 I# ^9 F& c" G/ H  a     DJNZ R5,SXB2
. G) Y. j0 b  e     JMP START
3 V$ V/ E( w( C- y9 |( X6 QSBC:) y5 h- I) I* T$ Y- F
     MOV R5,#250# e2 a: r: t  B" C3 t, J. r
SB1:% R/ G9 I; F, S( h
     JB P3.7,SB2  
. g1 P" Z% T: d+ M% m     DJNZ R5,SB1
% e5 n7 Z; [$ W- y, L; P4 U8 ?, n DJNZ R4,SBC0 l+ t, d6 U* z$ j
     JMP START
* v9 I1 h; U4 t) Q+ X7 k! _+ HSB2:                 2 S1 H% [, R6 k+ b+ ^  Z
     MOV R5,#5
5 V# z) g7 j3 s1 i; fSB2_A:
( l7 D8 X+ ?  S2 ^; E     JNB P3.7,SB18 E2 z4 p+ M" P
     DJNZ R5,SB2_A6 r% s7 J$ J1 I+ O9 e' v8 x! l- R
     MOV R4,#3
& t" N- O2 r5 b* [; q/ n, ]1 n" @) E7 `SB2_1:
3 F5 d* Y+ X4 M- d# a     MOV R5,#250
3 G0 R3 p- d+ F) Z+ {" ~2 ^* ySB3:                  - ?/ I4 z; J! S& D# W0 J& a5 N
     JNB P3.7,SXC
8 w& G) L) c9 A% C- ^3 I. w     DJNZ R5,SB3
8 U$ O2 Z% r2 N9 o     DJNZ R4,SB2_1
# x. h- H- G) W7 q. ~) N     MOV R4,#23 H5 Q" U/ ]" n; [" ~% J
     JMP SB3_1
2 g4 m2 _  v- g8 g3 |SXC:                  ( S: ^- @. h) h- C
     MOV R5,#5
( W" O4 l8 ^/ m  h8 L1 V4 C- hSXC1:+ [0 M  s# e/ n) c
     JB P3.7,SB3. D9 B; l* Q5 V8 @2 n$ m
     DJNZ R5,SXC1( \: k; p1 g, O
     JMP START
& s# e( v' i# K2 e$ ~+ _SB3_1:                 
6 [8 e% m4 g# U1 L$ L  k8 k     MOV R5,#250
9 u3 W7 O  r& L# X8 aSB3_2:
8 }. Q* l" s/ r6 m     JNB P3.7,SB4! h( N1 Z8 K9 r0 [: z2 G
     DJNZ R5,SB3_23 m+ ?2 S3 [3 e7 F
     DJNZ R4,SB3_1) U7 c% s& a% |0 |  X0 {! X! G
     JMP START" U: x& O8 h2 ]: j8 B
SB4:                    
+ y0 o" {$ u4 R. s6 V9 V     MOV R5,#59 R0 S5 c* |$ J- D$ P6 G) v: C2 G( K+ T
SB4_1:- K/ o$ }6 e. @6 k! l: Q" K
     JB P3.7,SB3_2- Z7 `  ]5 g# D4 w; O  A
     DJNZ R5,SB4_1
! ?! r4 x! J. P: W  O     MOV R1,#1AH  
( M' ^9 |3 G( I8 y( k: d" _     MOV R2,#4
( r6 }* d" o* g( A0 D% aPP:  MOV R3,#8
/ e/ e. D2 w3 M/ WJJJJ:6 v2 j) \! X0 k- f
     MOV R5,#250+ T( h1 T( P* r7 ^2 p% E! ^
JJJJ2:                4 b" |4 p# l) W0 Z, F- `; c" |& w
     JB P3.7,JJJJ3" \5 r* l" {. x8 [5 E( K" v0 F
     DJNZ R5,JJJJ2
- S4 a  H# V9 x1 q5 [8 L9 H8 O     JMP START
3 U9 P( S/ A* O% Q" G! [) eJJJJ3:
1 |5 b7 ^' p' s     LCALL YS1  ) L6 v# }  ]% W
     MOV C,P3.7   
/ x: ^# a/ n- o, [* x- }     JNC UUU      6 q1 V- B. T% o( Q; u4 k' f
     MOV R5,#250
: t1 W# m( M. M7 BJJJJ4:
5 p4 Z# y5 d: z( u& ]$ |5 s     JNB P3.7,UUU8 u5 q8 e6 J, u+ g% x8 M
    NOP
4 V' l) |3 ?- l! X( e" |     DJNZ R5,JJJJ4
0 ^  U5 @3 V% W0 E     JMP START* c, l, ?, m& g1 {8 ~2 a+ o( x
UUU: MOV A,@R1  - D. W3 U! b) y9 S! r
     RRC A           
: q" Y9 ~" v: j$ q( M4 N5 Z& B     MOV @R1,A      
5 D$ `& [( }" Y     DJNZ R3,JJJJ   
' e* A% T2 F4 `6 {% K     INC R1       - J+ g  M1 M. O; l% ~9 L1 R+ \# g) p
     DJNZ R2,PP   
" i4 H, }! f' R  e" M4 ^- r- }5 |  v$ j7 p0 ~
     MOV A,1AH
# U7 o- r/ t$ m! F  K     XRL A,#11101110B
! p. w& o6 q: |" r/ p! z, i- L     JNZ EXIT 7 @4 e5 q" b- u# z9 G0 o* f
     MOV A,1BH
5 Y3 _" j4 S) m9 _' L     XRL A,#10000111B; J6 P! z' C* G6 N0 n
     JNZ EXIT
/ l% L# ?2 z. H8 T' V2 \) P     LCALL YS3
6 d& {& o: S  G$ E$ z' n8 x     MOV A,1DH
9 ^9 b6 j, X) j3 Q9 _1 K4 n2 K     CJNE A,#10111100B,EXIT; j' p+ Y' o& Z, ~$ v
     LCALL YS3, U3 f& ]& }4 g+ j3 I
     CLR P2.6  
+ w( P9 {5 g! M3 C. Q/ h0 ]* z0 k. \     AJMP BIJIAO( \) y: F6 h. M/ D. r- i
   . p3 |, W8 X6 M2 c: w3 |
AA: 2 H% U  `3 T( H% B
     MOV R1,#25
4 _  g1 y; s( Y2 R, c- P* L$ d& R( cXX:
; G% h# h! l9 o; |     ACALL YS2; X: n% u  [% U9 P4 ~( ]9 B
     JNB P3.7,HH * j" O6 K/ i- m! l" l$ H
     DJNZ R1,XX' ~7 H* e+ Q& b# J7 l) f
EXIT:   
$ [4 ]. @3 R: m! b5 p     AJMP START
) c- v0 F0 S# C, h( J8 n   
: a+ n4 j; O2 dHH:
  H) f+ a) w1 y& K3 }/ H( O     MOV R6,#43 j1 Y. O) a4 D. t! D
S: 7 K+ e( e% r0 z5 ^
     ACALL YS1
& s2 u) Q6 J  I/ Q$ m9 F. b     JB P3.7,EXIT
5 N/ ]: e( W: T$ J" x6 V! D     DJNZ R6, S + W+ O2 Z- X* W- l  ~
     JNB P3.7, $  4 R! @5 t2 Y8 b/ a3 B: e0 p  W
     LCALL YS3
& C/ n3 W  G7 ]$ q4 i2 i: D     AJMP AA! d* k9 S+ v# `: O" t% ^8 e
BIJIAO:7 [! J* `3 Y# L
     MOV A,1CH
- X- D0 m' @/ N' K8 b+ ?! B     CJNE A,#03H,N1  
  ^# V" z8 l$ U+ f7 I& `: {     MOV P0,#7EH   
7 ^8 s+ W0 Q8 @& P; i                     
- q6 ]! z. D8 F. W6 N1 g& K7 ~ ;处理STUDERV录音机控制码
: k! [" A: w% a; m+ zN1: % W$ A4 m' p, R& c2 B% b" Q
     CJNE A,#5FH,N2 ;播放键/ v0 z1 W; K# s2 J* r" a
     MOV DPTR,#REP
9 D$ Y3 c  A4 I6 Z     ACALL SENDA( R% ]' a1 u5 O
     ACALL YS4
: C. ?9 O2 L2 G" q! s     MOV DPTR,#PLY
  z# t" j1 A# [     ACALL SENDA
9 ?6 M- W. q) V& A" ~N2:
7 v2 X1 f* j+ p. m! W     CJNE A,#5CH,N3  ;停止键$ s" N- @, `! `# I! T) I9 m
     MOV DPTR,#STP
1 \% l8 m$ Y/ w8 j; b& b3 X8 }) s8 |* @     ACALL SENDA
* N% f, C$ U! s/ U2 [  Z- h9 E8 dN3:6 J  `& `. ~8 f
     CJNE A,#06H,N4 ;快进键
2 r( k2 B* i8 N. i, k+ X' x     MOV DPTR,#FWD
2 ~9 }9 D7 Z/ P8 f, e, n/ e     ACALL SENDA. U. U9 Q8 z' p% L
N4:
. k! P0 M7 ~7 [" `$ `9 c     CJNE A,#09H,N5  ;快倒键
$ p; L, C9 `- ]2 G3 t5 w1 b/ w( R! L     MOV DPTR,#RWD
7 s& n; z' _! A( G  Y     ACALL SENDA
, r  \1 d/ \# V  `/ s: e9 h5 QN5:
! M4 ^, T! D. H- v% J      CJNE A,#0AH,N6  ;置零键
& h/ j$ o% i7 k. _# M' Y/ m4 J- ]      MOV DPTR,#RTM0 B* X& Z2 B  K6 R) u7 }# {  h
     ACALL SENDA( g8 q1 K4 \# d; T7 S
N6:
. u! ?4 {* I6 ~% S( R% i     CJNE A,#0CH,N7  ;定位到零键
7 n2 ?# ^' `9 w5 {2 W4 s     MOV DPTR,#LZA9 Y  w* W) u. [9 p* N
     ACALL SENDA
( {& @7 _9 K+ l! D2 [N7:# {- z* `5 U: V7 i( c
     AJMP AA6 c- f# x. Z" L
SENDA:
; g4 H) c: G. g3 W4 ?  N     CLR A
% [# j" m+ [1 C3 t* w9 U3 T5 O     MOVC A,@A+DPTR+ o6 K# @7 i0 ~+ f
     CJNE A,#'$',SENDB" E9 i9 ?8 v. b  l
     AJMP SENDC
5 }3 b7 M7 c  {& W( V5 @9 C, i! sSENDB:3 A; T- p9 t2 F! A
     MOV SBUF,A1 a9 v9 M' M+ T
     JNB TI,$
$ L2 ?2 f- k$ t8 ~  \* e     CLR TI* y8 f) w4 A: q3 E; z
     INC DPTR0 t8 F" P% k$ O$ R& ^
     AJMP SENDA
% Y% G4 F3 W  N* y8 GSENDC:
3 b5 F% o& w; x: {5 _9 ^1 V     RET
4 J( m; X# }$ I, @1 U7 J% t  G4 `4 _8 X& f% ^
PLY:  db "PLY ",0dh,0ah,'$'+ u* A  |3 s7 `
STP:  db "STP ",0dh,0ah,'$'( t/ P- D$ J2 E
FWD:  db "FWD ",0dh,0ah,'$'
1 T' s: y* B0 ZRWD:  db "RWD ",0dh,0ah,'$'
( @9 X3 j, p+ eRTM:  db "RTM ",0dh,0ah,'$'& p4 M9 q' ]. ?8 y- i- Z7 s
LZA:  db "LZA ",0dh,0ah,'$', U& k9 f5 ~) [' j! E9 _
REP:  db "REP F ",0dh,0ah,'$'
  n  ^$ v( E, x- }
8 C  W+ x9 T* Z8 D& g. UYS1:* ^  x+ f8 z4 m1 k! \. k* G! w
     MOV R4,#20
, \9 G* n* n( ~! ]% L8 `D1:
4 o( _# \& @& r- U" L     MOV R5,#206 W- a/ y! |+ L; a5 h* y  N2 B
     DJNZ R5,$  D: n, y8 h% \) p8 R3 V& i
     DJNZ R4,D13 P# T4 S- p4 M6 ^" M3 g7 D$ I- Y
     RET
* V  d/ d, S+ N1 v, Z. E% o
7 O3 K( H/ p# V( E$ \/ iYS2:
. L& i% k2 ?4 f! |8 T! S" R' k     MOV R4,#10) y. }* f3 a0 w3 A3 O( x
D2:1 j7 W2 i! V+ ]4 _  A
     MOV R5,#235
# D* n0 ^, O  \* z5 D9 X% ?     DJNZ R5,$
( @2 b; g0 j5 L8 j     DJNZ R4,D2% u6 Z* g2 B: I) F
     RET5 }- @) A) {+ J4 M0 Q

4 }2 Q# Q7 t, @* JYS3:
- o4 Z. \3 Z7 a* b1 _% {     MOV R4,#2
% ?4 T" t4 {0 [! a  uD3:4 ?/ s* z0 O+ m" K, Z
     MOV R5,#248, n' |8 }0 t! h1 \( ]3 P
     DJNZ R5,$
: k' Y; M/ K) l4 o     DJNZ R4,D39 J! O' N+ y8 X- [; N
     RET/ ?* D( F: d0 t6 @  L! D

) W, k% P6 b" U* ], mYS4:$ \1 y7 Y) D( V# k  ~
     MOV R4,#200
6 [  L9 r5 T" v/ e, [" k/ k/ ~! DD4:
4 j( r9 w! p' t8 y2 |) {6 z0 l     MOV R5,#248
0 [* i$ ^6 P8 h( T5 j     DJNZ R5,$4 P" h+ d# o' `. o. P+ q) w
     DJNZ R4,D3
" s8 l3 ~" n7 i# a     RET
& v, D% }( X1 h( w+ v     END" q% [, u6 A& ?7 C- j( Y5 y
+ O0 p( z1 d0 d% Z! e2 [) M
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
, n+ h, [( f, L& {  U$ J8 g是不是很惬意,嗯!1 u; L( x( V2 H8 X- r

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
9 N% l; `) F; Y* e YK 005.JPG . p9 b. ?0 \2 ^, @
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
4 Z. o% \: N9 ^9 G! W* 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:540 v' J! V$ ]- h: z/ }% T; b
最终的样子,有点简陋哈!

- @+ k" K3 i1 }  _这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2024-6-15 09:43 , Processed in 0.079873 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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