收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
, f( c, Q4 }, b2 h" C9 f2 W0 ?
: A( e) k+ m' }/ B" i2 V, O; B: h本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。! `3 @$ r* c, @1 o" B: S( o
; y6 o9 `7 g% n& f9 y, g
说明:. Y0 R! E" [  @- M
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
) Q# X8 r- i8 Q) X2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
$ g0 h1 x3 }7 E- N) g' ]; v3 p8 w  R6 k& P  n' \: w
一、基本思路
( V8 G) z6 d- d/ S使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
: E' l8 {* |( d$ c( |# N  M3 J- D9 `: M7 I0 s
二、红外遥控器
/ t# o% }' |3 |/ f我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
% _. |2 Y. }  t- g Apple-Remote.jpg
" V  h2 v8 Y& h( t& A" j好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
3 m9 [  b: F" K; r. C Apple-Remote - 副本.jpg 2 j" X0 f7 F$ S6 Q
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:  _( B2 [1 {3 {* A" P
Apple-Remote - 副本.jpg " z' @/ V+ |, C' v0 J+ F0 f
8 T4 m( K& L7 }  p
三、红外编码
5 }% `3 x- \2 ]6 k- S  x7 d红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
: I+ ]% m( n' m4 s& F  D前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。) F; x/ S! M  T
后16位为控制码,主要用于实施具体的控制。. y  V& t5 i8 ]7 s7 v9 V7 i
这16位中高8位和低8位互为反码,以提高可靠度。
/ y3 E  x1 D( B9 p) x" E4 E3 d" W, w8 a; e: }- ]% a3 Z9 b( w
以播放为例,其编码如下:
, D6 ~! c0 V/ R$ Y00000000 00000000 01011100 00000000
$ o, z8 g( F8 _# A1 I  q
  }% x! k. i9 c你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。" @8 G4 L: `! o- e+ Y

- w* P3 y2 S; }' `6 H四、单片机系统
" M/ H0 h) b2 U. w5 m2 q
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。) a0 o/ g1 q) g* z. y4 @7 a
c51.png / y# d9 s4 [0 r+ q) I1 l
# b" ~) B: x; q
电路很简单,功能如下:
$ [1 t: K, `9 `8 j  _1、一个AT89S52单片机作为核心;# q  ]- U- y) Q& j* p$ O# Q
2、一个TL1838为红外接收头直接串行输出数据信号;
$ _6 X7 }$ y' r3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
1 @% |- K% z" }; a  G# G4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。. |+ C! ^" ]5 q! ]7 ~

' y" F# l1 a+ s, @" }, b* G关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
& D2 A6 }! ^4 N
/ e; W7 H( j! c# O5 ^& T% B( z, b6 p" h8 l- I, O3 P
五、控制软件
$ I3 @* D! R1 e) K7 i
控制软件用汇编语言写,源程序如下:
+ O' P4 b4 G. Y     ORG 00H
+ U2 H; q6 ?/ g/ C( ]     LJMP MAIN1 M' R6 {0 R+ m* F* f
     ORG 30H
. C  g  H1 J8 C' tMAIN:1 k8 P, e7 ~6 Q" Q0 N
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
6 a" \/ x+ c2 d5 t     MOV TMOD,#22H  ;22H
  X$ I% q8 g: P$ R& U     MOV SCON,#40H  ;40H/ Y; p# C  ]9 e7 e) ~1 P
     MOV TH1,#0FAH  ;F3H) c  ~$ ]% g, V
     MOV PCON,#80H9 B- ^  g( k7 i6 A0 m, F' K
     SETB TR1* h, T# d* T5 R' O5 D9 }" r7 ?
START:: p+ n& v9 Y; s2 `  ?5 T2 i' L
     JB P3.7,$ ;遥控信号处理
* O% o% g7 b' a& p9 Z, e2 k2 J- W& CSB:6 K  J$ ^/ v: p( P$ a8 ?
     MOV R4,#8   
7 G  z6 S; o, s6 x1 SSBA:
% N6 w7 r* t; @, b( ~4 `     MOV R5,#250' D" d. Y5 l; l9 _$ s- \, |/ B# s
SBB:# ]% ~( G- \% }+ `3 d) F
     JB P3.7,SXB1
* n& J1 @  x/ S  v1 t     DJNZ R5,SBB% E$ }, g% d2 h- q9 X5 ^
     DJNZ R4,SBA6 z! d& ~" U2 R' F( Z1 Z
     MOV R4,#2
: w( q  D( {9 ~6 s# X     JMP SBC- Y7 P- X& l3 A0 s; ~2 ]
SXB1:4 Z$ c2 N% m1 H- I0 D$ [
     MOV R5,#5; X+ d$ X- n8 E3 T, x
SXB2:              8 S; d/ |/ V: G8 R. P8 _
     JNB P3.7,SBB
+ [0 w5 a  I# Z, }9 w. N2 _     DJNZ R5,SXB2
  b6 C8 o: D5 i( U. d     JMP START2 v% H# _: G2 r/ M. a" g
SBC:/ k2 }  \* P( T+ n; z$ z, L
     MOV R5,#2503 @# F- I/ u' C5 x! V! ~
SB1:; F; K6 Z  d  |! o7 `, P, T
     JB P3.7,SB2  
. y5 |: h2 A! y1 N5 O$ b     DJNZ R5,SB1
! y  {0 }) h- t2 p3 a" c* r DJNZ R4,SBC! y- f) l' {, |  t0 j: M- C
     JMP START" j. M4 P& v  ~
SB2:                 * J- S7 i6 k8 P5 \& N7 r
     MOV R5,#5
# Q/ V0 k2 J; z, |% T) r) H) k0 f$ iSB2_A:. ?) a( }) {' @" E! \6 ^
     JNB P3.7,SB1( R8 ~# u3 c" R7 ~4 j1 g( [
     DJNZ R5,SB2_A
1 B: L, V5 n, J9 D     MOV R4,#3
( t: D1 n9 f2 hSB2_1:
1 f. l: ~/ O* z; c- L0 R2 a9 c     MOV R5,#250
* T: l. \7 p, B  j/ Q1 ~SB3:                  
7 ?5 k" s3 Z2 t     JNB P3.7,SXC
9 e) d  [9 w* Z; R. ]     DJNZ R5,SB39 G9 Q9 @$ _9 h
     DJNZ R4,SB2_11 C: I9 g! R+ Y' B( v8 a
     MOV R4,#2
4 }; d/ S( L( d1 c9 a     JMP SB3_10 v$ P( K* ]( B5 D6 m
SXC:                  - j/ Y: h; F  P
     MOV R5,#59 a0 {5 d4 q; F
SXC1:7 L" I4 R& I7 }% [' I' `
     JB P3.7,SB3
* }# v; _+ E  \' E3 ^  P# Y" h) n     DJNZ R5,SXC11 @5 N" Y- `2 t' s$ I
     JMP START4 l) q- y- @* ~* o8 ~, m
SB3_1:                 
( ]' d4 ?9 H9 C. K, D     MOV R5,#250
& q) Z$ n+ s* x- cSB3_2:6 F7 x5 F0 \* N( C( f: ^
     JNB P3.7,SB4
" `7 h9 B, \/ s. T" B2 u     DJNZ R5,SB3_2
6 [" x3 v! L; _4 q9 G/ k$ d     DJNZ R4,SB3_1% g. ]" p1 L. o$ ~* r/ h# A. W
     JMP START1 O; |) y8 o2 v% i/ i0 z$ s1 c, {8 T
SB4:                    " {! c' D! p  v9 f' C
     MOV R5,#5
8 h1 `- V) H+ x  r. ISB4_1:4 G/ G# i: i3 a& F* Q4 Y0 R3 q' A
     JB P3.7,SB3_2
3 q" R: b$ w2 q     DJNZ R5,SB4_18 G4 V# T) ]5 B" o6 {
     MOV R1,#1AH  
% q1 I( X4 j- e9 T8 _- P     MOV R2,#4, q8 v6 f8 L/ N2 k0 u  m
PP:  MOV R3,#8
8 N% k5 V$ {5 ]JJJJ:+ {- Z+ d6 s/ I
     MOV R5,#250
- ^& q# f8 h- B5 b+ s) N" N( R- ~JJJJ2:               
+ Y# e( B# m: \  Z% a$ {( I     JB P3.7,JJJJ3
8 V9 r  p; I$ b( L     DJNZ R5,JJJJ22 p0 c( z" {$ K; c: W
     JMP START
, ^! y8 i+ H, CJJJJ3:
5 F/ h! g: \; L$ [7 c  ]     LCALL YS1  
5 P% D3 t( _, A" y" B/ V     MOV C,P3.7   
" k; n( w' [" f! M. G9 h' x1 I7 N     JNC UUU      + S' i4 q( ~1 R
     MOV R5,#250( O5 x& }3 a. O9 u; a/ Q- s
JJJJ4:
2 \! a) {. c4 U+ F: d% b     JNB P3.7,UUU2 K3 c; o3 D5 {/ |: T
    NOP
  j3 F" P9 ]3 X% o4 Y( O' w     DJNZ R5,JJJJ4
# Y; `5 O# V: K$ \3 r     JMP START
& ~3 `7 H' Q  i+ _UUU: MOV A,@R1    x4 Q/ {3 k! ^# G" p4 z, d- H
     RRC A           
8 {$ \" b4 [2 \- M' v     MOV @R1,A      
7 k3 s% g7 m: {& L" A     DJNZ R3,JJJJ   0 x" _6 h5 B1 O! J5 ~& M4 W
     INC R1      
7 D: E% o+ v8 U8 @" R# D! C     DJNZ R2,PP   
. B3 }* s- S- y/ b) X8 x
' i, F- d; T& }: L* Z3 E     MOV A,1AH 8 R# n5 n* a4 v* e
     XRL A,#11101110B
# G6 `8 s" B- Q$ f     JNZ EXIT 9 y$ P( W% x' R6 F) F' g
     MOV A,1BH
7 j7 _3 J$ m; e2 X6 x( d" a* k     XRL A,#10000111B
3 h8 t  h" K- m* k     JNZ EXIT + W  P3 u( Q' f% b& W
     LCALL YS3+ j( [& l, |2 @, }/ E  v* x  f
     MOV A,1DH , P) w) |# P+ E% x8 a* Z* q! O% [( @
     CJNE A,#10111100B,EXIT
+ n, d$ h1 F6 ~: M! ^% n$ O3 a     LCALL YS3
  l2 q- I. L" F5 w8 }9 p" z     CLR P2.6  ) z3 r  Y( T" D" x6 P7 N
     AJMP BIJIAO
3 _# N- X" H9 C. r   
# I$ S, M/ {2 w; ~0 d3 z% ?AA: + q# q( n( a3 C- T/ q% v( r
     MOV R1,#25
+ X; p. L/ w. B" cXX:
) ?% Y% s- ?+ R* z     ACALL YS2) }, c3 H6 J4 x: D5 k
     JNB P3.7,HH $ W0 I  Z: Z5 o8 a
     DJNZ R1,XX: j. M& i: `2 f' _5 P* |9 V
EXIT:   
# i( l4 ~, e( {0 x- G     AJMP START
8 p2 k; h' W- f' w   8 W/ Q+ X3 W4 v/ b  _
HH:$ }% W1 O9 ^7 X6 r. x
     MOV R6,#4
5 I8 k) d6 Z) Z9 VS:
- ]; ?3 L. [3 V" Q, D3 G% I+ W     ACALL YS1 % g1 ~% I/ f* E9 O
     JB P3.7,EXIT . _& Q* z2 f0 U/ [' I( g
     DJNZ R6, S
1 S* e+ |3 I8 r- w% f     JNB P3.7, $  + P  h, c# X& p6 J. y7 h
     LCALL YS3
1 D# \* _/ @: U' o+ U9 N7 \! }     AJMP AA
  K( J8 Z) a- }1 n! F; _1 }BIJIAO:& v6 X" C0 v6 f$ o& J( L! _
     MOV A,1CH
/ v" s' i2 ?1 L     CJNE A,#03H,N1  
% `, U% S6 Y0 R& H+ A3 ^9 w/ w7 c) {     MOV P0,#7EH    8 e( B' l- ~8 w4 M8 O" C$ t2 }
                      , w+ B# D9 h9 p; A5 l6 V
;处理STUDERV录音机控制码9 w# |/ d0 c" i) ]
N1: 2 v" j/ Q" Y/ E7 I
     CJNE A,#5FH,N2 ;播放键
2 S/ C2 r/ j6 M. C6 Q     MOV DPTR,#REP! L1 `5 ~% ~" Z4 t! _, w9 [
     ACALL SENDA$ N$ ~6 U9 N. a8 Y- P
     ACALL YS4
0 H& L" m5 W" E4 ~2 b/ ^% w     MOV DPTR,#PLY
# N. K$ R/ P( [3 b     ACALL SENDA
, K  J$ }( j8 qN2:
) T0 f! u: N& [; `, C+ M     CJNE A,#5CH,N3  ;停止键
. i$ U! k, G% m     MOV DPTR,#STP7 b; B# L' t* N$ S
     ACALL SENDA
* ^/ n) B5 S! b+ V  n; qN3:% h# f! o: P/ V7 F" O/ ~
     CJNE A,#06H,N4 ;快进键
1 }/ O- O  r3 N     MOV DPTR,#FWD# N- B+ v9 U$ X+ K
     ACALL SENDA8 s* }0 Y0 F8 y+ l9 {' m  w
N4:' H6 a# w3 F) D% s) z. O; G- E2 f
     CJNE A,#09H,N5  ;快倒键7 h+ f( S$ f' Y3 x* ?7 F6 E5 G
     MOV DPTR,#RWD
2 h- C0 K( H: v     ACALL SENDA. m9 ~, Z6 A0 G- N
N5:' s3 P( p9 ~; y3 T
      CJNE A,#0AH,N6  ;置零键* k. V. T% x1 X4 d! V% y' `
      MOV DPTR,#RTM" \2 L! p; D$ |4 r5 L* d% \  S
     ACALL SENDA6 d% b/ B9 @- H/ B8 X7 D: N
N6:
7 _* A7 W( X* J+ u/ M     CJNE A,#0CH,N7  ;定位到零键
% ~) u% G( I' @3 e6 {1 B! X% t  D     MOV DPTR,#LZA
4 s" X9 n3 m/ G2 R" z. x2 c     ACALL SENDA
" k' t- v$ p& k7 N- B8 u& _N7:8 y2 v4 W1 E: U- s. \2 s
     AJMP AA
8 `: t+ l- f' H0 ]SENDA:% ^2 d# l* ~5 l- _
     CLR A6 w# y8 v3 j% t( G4 R, J
     MOVC A,@A+DPTR1 q" w: m& L" b: s5 G& q
     CJNE A,#'$',SENDB3 \+ `0 j7 v7 }) N% I% `
     AJMP SENDC# u6 `  `! M5 P# [7 b# o3 V  S! y
SENDB:
/ k; u# p. ~' a% P1 t  Y8 [9 Q     MOV SBUF,A5 w0 k" b0 E/ `1 b
     JNB TI,$$ i& N+ G7 x) ?
     CLR TI8 @5 {; n/ n- J$ P' }
     INC DPTR+ U$ `. K! k2 d. c0 q6 l
     AJMP SENDA% R$ z7 ]% b8 [, D" f9 P6 s  `+ V) H
SENDC:
4 ~' F5 ~/ I9 r% W, d     RET
+ F* k6 e& W0 T) o# V; [4 ~
, i) G2 d" v5 X! A5 J5 ]/ IPLY:  db "PLY ",0dh,0ah,'$'
3 ~$ p* S8 ]! E* r; fSTP:  db "STP ",0dh,0ah,'$'
' [0 p! N2 p5 V: I3 g( w9 hFWD:  db "FWD ",0dh,0ah,'$'
, a* w2 @3 |" |. m' B/ dRWD:  db "RWD ",0dh,0ah,'$'7 c" D6 S3 ]1 [# B% y& c5 e+ R7 z
RTM:  db "RTM ",0dh,0ah,'$'
2 w, q5 V" B: p1 z7 K! I- Z6 ]9 HLZA:  db "LZA ",0dh,0ah,'$'
- p2 F" h9 b# J5 e* ~) qREP:  db "REP F ",0dh,0ah,'$'
$ L. E  G, a9 h; g* j8 m6 X9 e+ l. z- ?% m+ [
YS1:/ I) S! w: I4 r4 a, x
     MOV R4,#20
+ m1 W. H( L/ T0 [6 d- |D1:
& `$ J; G- K- {3 `9 F     MOV R5,#20
6 `  q7 p  S8 O" ^: k9 e     DJNZ R5,$
3 p7 Y. |- N: H8 j. L) {: m     DJNZ R4,D15 v7 b( f0 D$ C; {* r  E7 S) O
     RET
. `& }2 W7 _8 S! m# t/ p# F
8 w' `5 ]9 a5 D) s0 s7 j2 UYS2:
& p* I3 U/ s* ]5 b; _6 T     MOV R4,#10( k3 {9 ]3 S& r" {, ~5 m+ m; c) Z& l0 d
D2:
# g0 \: J/ O3 T3 ]# H/ t     MOV R5,#235( C# X: _7 a/ P" I4 X
     DJNZ R5,$+ Y1 C2 e1 l3 C; ^- ~7 r
     DJNZ R4,D2, e' k+ N6 ~4 k* b  P( u& @* l' O
     RET2 h4 X1 @$ n# _* m- e3 g! |) U' W

: N- p+ i: S& H6 R! `. h- NYS3:
& u( V3 u. ~) ^8 A: @' [     MOV R4,#2! K0 O# y, @6 P
D3:
- [4 {# k5 [/ d  Y. N6 H( u     MOV R5,#248
$ V# X: H/ o% C     DJNZ R5,$9 j+ U/ m$ Y2 |% ^+ }* R- |
     DJNZ R4,D3
- ^/ K& ?2 M& ?) ^0 G     RET% T; s! C" H0 z
6 I* \0 i+ n; Q) @1 A
YS4:; Z; |& x9 E; o8 l
     MOV R4,#200
1 Y# Z( `9 V, I) F6 i! KD4:
( q& U* F: [1 _/ x% z( p$ ?. @     MOV R5,#248
. I; O8 j3 z, l9 |' q: h     DJNZ R5,$
9 p0 N4 `' N8 ^: G     DJNZ R4,D35 o! T0 W. Z( E6 z6 B
     RET8 N6 K0 \" |5 K
     END& _* d$ r; a! ^8 E
, Q1 a# j+ b4 m, u& D
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。( {9 m7 y2 x8 S" x7 ~
是不是很惬意,嗯!) [1 o) }) Q, s* N$ T4 p' e! T9 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 | 显示全部楼层
最终的样子,有点简陋哈!% k  g) o. t8 o  {
YK 005.JPG
7 s  l2 M5 P1 X% 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 | 显示全部楼层
洋为中用,真棒!我得试验下7 U& }, w* J# G) W
发表于 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
4 {1 D5 @+ @! c9 {- O最终的样子,有点简陋哈!

6 ?5 T% n2 ^! E! K这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-9-19 17:00 , Processed in 0.072049 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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