收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
7 k+ C+ I% N' M% n$ h
1 Y( w% p# t* w: E本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
5 `( Z( e0 J' P( d! U5 Y# m5 k& M) g9 p
说明:1 F. u7 z5 @% h' h4 _
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
" E) K0 X" s0 @- g: u2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
' Y0 S7 W, T9 A8 N' w
2 `) L6 N) _: w7 S一、基本思路
5 k9 n: v4 z: m5 P6 T9 \3 i0 t使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。9 v5 M: ^7 \% W- E8 k

8 h6 X7 D  h, h二、红外遥控器
# B) _1 `! W$ ?8 n& x2 L' r: k6 R0 y我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。6 x% @6 B( q9 y! t
Apple-Remote.jpg 1 J3 I. `+ G# [- A
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。# N$ Z9 {; P: w" V2 a; ?5 ^# O
Apple-Remote - 副本.jpg
7 o6 \# ~: Y, ^' w" c: F在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
8 g6 b. O3 }. J; v# s Apple-Remote - 副本.jpg
( T, r9 V8 J% X9 ^( `4 ^( z. `/ i1 m1 n9 e4 a- F
三、红外编码
. ]1 C) z) Z' c- \. c& G红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
& p6 H# l' w' A. s+ g前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。5 ^4 j" g: [2 b5 X/ p( j: N
后16位为控制码,主要用于实施具体的控制。5 c" H" y' R" P3 f& f+ x  P6 D
这16位中高8位和低8位互为反码,以提高可靠度。/ T- N. o: @7 i
3 c+ e$ p7 C. f! ?
以播放为例,其编码如下:# `; S9 S$ x/ B% y
00000000 00000000 01011100 00000000
9 t/ `0 h' X" ?! W3 g: z
% o  L9 ~1 T0 d6 h; _你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
* K; r, o4 C3 E$ n
4 |  P5 ]. n& T) C$ @四、单片机系统
! ~! X% W  l- a8 w
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。1 U- o# h6 e$ ?5 E1 J
c51.png
9 _' D0 }6 \& c+ ?
$ V3 ~1 l1 k1 Y# O& D+ u" t2 }- Z* P$ s电路很简单,功能如下:5 m% L. z6 v' }5 R7 d
1、一个AT89S52单片机作为核心;: H% F( H( I. a7 I. Y4 d) C) f
2、一个TL1838为红外接收头直接串行输出数据信号;! \% K4 y, F% x. ]
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
3 ^6 T8 H8 j! t3 O; i3 c4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
/ s6 ~* P/ d: k' n- B
5 d1 o+ p3 B4 `) S! C4 e4 u关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。6 @7 [' c  C. u2 G  ^

& p9 u' H' @/ X* H* f; B2 T
6 [' s% m5 l. J1 @5 J# [3 e/ ]1 b五、控制软件
/ G& `% R: q5 T+ ~( K* B/ p
控制软件用汇编语言写,源程序如下:/ X5 ^4 T3 ~  {  C- s
     ORG 00H
' z$ v; X  |: Z1 d( I* V7 b     LJMP MAIN
4 f. Q" Y& s( I9 h5 |: C     ORG 30H9 N1 ~* l$ q) B5 `( }
MAIN:7 p0 _; R; k: _+ y  d/ W2 m6 W- j
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
" ]% i2 F) [) T7 Z0 [( h1 h6 e4 W     MOV TMOD,#22H  ;22H
% v% M; k  b+ u     MOV SCON,#40H  ;40H' u0 e3 z+ F2 \0 U+ R/ o6 Q' b
     MOV TH1,#0FAH  ;F3H6 x+ `- D( a: G- e
     MOV PCON,#80H' o6 h1 c1 g: q. E
     SETB TR10 [7 J* ?1 ?0 R4 `, f; V
START:' H" C% ^, T9 L; x) _
     JB P3.7,$ ;遥控信号处理
# k) s" ?0 h: R  y* j5 n" VSB:' n, {8 g( a) H- N& t- k
     MOV R4,#8   
* I2 N1 _4 W5 Q" s& jSBA:
  i$ Q7 d0 p) q* W' Q! V     MOV R5,#250( i9 G- L9 J% o8 R" [, C
SBB:2 {1 M* j2 w: ~, F3 y0 h7 V3 y
     JB P3.7,SXB1; {  O7 b6 j5 P" Q+ h
     DJNZ R5,SBB
* g  H* C/ r" Z1 G     DJNZ R4,SBA9 q& Z1 @& r' U" h$ W
     MOV R4,#2
1 N& C; P' g: W0 V) J9 r* f     JMP SBC/ F0 @! A$ T9 f( w6 J
SXB1:
3 M0 X7 M% v' _, Q; X5 E, n     MOV R5,#5
5 p; b* _  }6 ?SXB2:              
) g* X/ [+ e, Z6 t8 ~! F     JNB P3.7,SBB& n- S6 z1 ~7 D9 R
     DJNZ R5,SXB2
4 z% m( ]8 U1 ^  s- g     JMP START+ D$ E8 c2 N7 H) r
SBC:  P0 J: k' n8 @* O5 H
     MOV R5,#250" x" Y5 l* O+ f: i7 T
SB1:. y( b: J. A  x
     JB P3.7,SB2  0 M8 G! |# J2 B$ d, d9 l5 [# V
     DJNZ R5,SB1
4 {; m  L# F* f* J+ `' J" e DJNZ R4,SBC7 U# [3 K9 m1 s5 D
     JMP START' }3 J7 O+ D* h) z
SB2:                 
, Z$ S& G6 S( j3 R     MOV R5,#5# y1 X8 \) {. w3 ], z
SB2_A:+ M8 Z, U+ o* \
     JNB P3.7,SB1
1 H& n0 v5 F1 r" C* [* V     DJNZ R5,SB2_A+ J: g! J. Y! F. A
     MOV R4,#3
9 K+ \, [8 X4 G# P+ XSB2_1:  o# Q' ]4 C8 P. S
     MOV R5,#250
0 Y/ F& G0 R  }8 d* @SB3:                  8 \$ y6 R# i7 m' s  z6 E
     JNB P3.7,SXC
$ J9 j, t2 ~! a     DJNZ R5,SB38 ?3 T, j5 |9 ?0 z4 M$ s
     DJNZ R4,SB2_14 {9 i. l5 X" Y& c7 J8 j# w/ |
     MOV R4,#23 r/ u" J) {  |
     JMP SB3_1
6 S. B7 l4 V6 \7 @6 ]SXC:                  0 M; @" {8 r) T
     MOV R5,#5
0 L+ F2 j9 d: k; C( ?1 e6 c. Z9 `SXC1:6 Q% z; D: e' Q! i; \$ }" {, F
     JB P3.7,SB3
' `3 j. l! u% ?% g# P     DJNZ R5,SXC1
* e8 a* ~+ C3 O     JMP START1 i4 V5 ]( i+ I1 d. i
SB3_1:                 
" M0 w% C5 y2 [) v     MOV R5,#250
3 i+ F. u4 K, C6 N7 T" mSB3_2:
! d/ X9 P5 i& Z7 _     JNB P3.7,SB42 @2 H5 B* e+ v5 d( z
     DJNZ R5,SB3_2
1 X9 ^6 m4 r0 m* {! i8 G     DJNZ R4,SB3_1
1 m6 d+ U5 m1 [: E6 W     JMP START
; h3 p7 B" _! v/ H2 h  |4 VSB4:                    
# \! ?% }: g- [+ ?" J# _     MOV R5,#5. P5 j1 A% z- s. {
SB4_1:3 h$ \& W( {- v
     JB P3.7,SB3_2& x2 G5 ~: ?4 E" b! C+ |+ Z  g; }
     DJNZ R5,SB4_1
) g$ U( a. g, b9 Y- I/ i# g     MOV R1,#1AH  . ^4 K9 h9 x. o3 e% h
     MOV R2,#46 w3 a3 N$ u! [0 I0 M8 M/ j/ t
PP:  MOV R3,#8( H' [" k% G2 k5 j0 ?- K( F
JJJJ:
+ r0 ]% [& I+ _/ t  e, Y4 {     MOV R5,#250: S' |" P' S% q; o5 I1 {( a) C
JJJJ2:               
9 W. b5 J# F9 z; n, Z/ z     JB P3.7,JJJJ3
0 S, ~# K8 _5 u7 A, j- n7 @  Q     DJNZ R5,JJJJ2. `7 F0 W- d( _3 e& u3 `
     JMP START
+ A1 t3 c: h; |# `- V6 WJJJJ3:9 ^. w% [5 K# p( S0 s4 B: L: J
     LCALL YS1    W8 p: j. n7 U
     MOV C,P3.7   
! g" `: m! P% M     JNC UUU      
0 ?# d2 j1 F7 z5 M* f: a     MOV R5,#250
2 P; ^4 v3 C: P' p4 i# zJJJJ4:
7 O8 X/ U8 s" c# B8 F9 X2 w9 A% P     JNB P3.7,UUU5 D# @  r) ]8 v$ X
    NOP, }; d, {/ h9 f4 Q" |
     DJNZ R5,JJJJ4
+ m* D8 N  z: ]) b2 g; r! D$ s- c     JMP START
1 @0 Z5 C' o2 A$ aUUU: MOV A,@R1  ) w0 u0 j; g. ~- k" [
     RRC A           
; o1 \: Z5 d! p8 F7 V0 L     MOV @R1,A      
9 z/ ^$ j/ c& i5 K) k9 c" {1 G: {, m     DJNZ R3,JJJJ   
8 ]' R- N: P( j  J     INC R1      
8 K: p* b6 j! u3 L% |" I     DJNZ R2,PP   4 i, i' `3 ^2 f: i

* J$ K6 n, ?7 u% D5 c9 |# E     MOV A,1AH
4 b7 i- c+ M/ a( t     XRL A,#11101110B
' ?# x, h" r+ S     JNZ EXIT
% A1 k( u* P. L! |1 i0 H     MOV A,1BH
8 g  f; u1 l- _0 G' A     XRL A,#10000111B
& j) p4 o- J. {. ?+ q0 L" l  M1 W2 P     JNZ EXIT % I: a1 c# _$ [4 g* G% p( y
     LCALL YS3
; G+ O: S# A7 p! ~     MOV A,1DH & F( P6 ]3 Q3 v+ `! m
     CJNE A,#10111100B,EXIT5 s  L( G3 K, u# f
     LCALL YS3
1 C' o3 b3 b" P' x, g! e$ @     CLR P2.6  1 @/ V  ]" S" B9 I) T$ \( K
     AJMP BIJIAO7 L% H  ?. r7 o! j" Y# J
   " t- Y. [' l+ d& f4 N7 {
AA:
7 a. D) y7 J1 q7 A4 }+ o8 {. R     MOV R1,#25$ _: ?8 C7 `  D6 S; W
XX:
& K5 U* [/ D* Y( g) ^; S7 |% A- P     ACALL YS2. e& I0 Q7 l/ Y
     JNB P3.7,HH
1 l* z  J/ W9 m7 n7 d     DJNZ R1,XX/ [0 u: h% F0 R: d) C, u; ~
EXIT:    8 @9 g5 X6 @. S" g9 K
     AJMP START& P! K# J8 e+ o% T& m* K1 X9 T; F
   
' W! ?* T. T3 s. wHH:" q. s; @' t2 p5 ?  i4 F
     MOV R6,#4
% l! [+ j8 K- XS:
( O8 F5 f0 s; q2 u/ d  t, K1 c6 X' O     ACALL YS1
9 L2 Z/ p9 Z# O' F( ^7 a5 u! }8 \- K     JB P3.7,EXIT & ]( R* b( T$ M7 F1 j
     DJNZ R6, S
7 ?% x& Y4 ^2 I6 k     JNB P3.7, $  
/ F7 d! E3 v& f$ {8 S% q     LCALL YS3* H# g5 v- A1 B1 l  I6 e
     AJMP AA' p0 v1 u" {3 O: s1 i1 |
BIJIAO:% m& b" f! P6 ?
     MOV A,1CH   l7 {3 Z1 |1 c0 {3 k
     CJNE A,#03H,N1  9 E2 C. |9 Y4 y+ b
     MOV P0,#7EH    : ~7 \/ T- m1 L9 K) _
                      ( w  I( Z7 l+ Q7 O1 G/ q+ y* @  ]
;处理STUDERV录音机控制码
  X- p$ f% J" i/ ^* I  v5 p6 {9 cN1: ; ?1 m6 Y- G* u: w7 s: h
     CJNE A,#5FH,N2 ;播放键
* i+ Y" r" T9 {# L2 L     MOV DPTR,#REP
$ T1 f3 H/ X' i     ACALL SENDA3 i0 [+ A, _: r$ j4 {
     ACALL YS4& @- V( Y0 m9 i, C
     MOV DPTR,#PLY# x* X/ |7 i* B  v
     ACALL SENDA
, k( Y7 }) L9 zN2:9 c0 N7 v3 y' |8 W3 z
     CJNE A,#5CH,N3  ;停止键
* ?- w: |1 z: G) L' D% j: \     MOV DPTR,#STP0 @7 T' J7 C+ o# H- c- U  q& a
     ACALL SENDA
. c. n9 j( F* U' E7 O' QN3:; t! @7 \4 m. v$ z9 Y6 O
     CJNE A,#06H,N4 ;快进键
' r5 @6 B- i% x" {" N     MOV DPTR,#FWD
1 k! ~: r* U/ `: F8 M7 V8 S" v: z     ACALL SENDA
. M" W2 ~+ G, v7 ]N4:
5 N7 y0 T$ l; G. B" U9 V     CJNE A,#09H,N5  ;快倒键# t, }& H, ?+ K! v; g/ }  X
     MOV DPTR,#RWD
+ ?5 H; T2 r7 [) _3 O: h/ ?1 v     ACALL SENDA1 ~5 x( y: r/ s. i
N5:
: i" y0 R0 \! F! @5 \) A. l" I      CJNE A,#0AH,N6  ;置零键( F1 y+ V8 k- h' Q1 g
      MOV DPTR,#RTM
/ L" n: V. E' ]6 g5 b0 `     ACALL SENDA
+ a' {/ x. a  I& c6 A7 iN6:& X7 \# T, d! Q: c6 M7 ]) b/ i
     CJNE A,#0CH,N7  ;定位到零键' Q, B/ }- ]* v7 L
     MOV DPTR,#LZA8 y3 _: \  G7 Q9 `( H3 P, l  ~; T
     ACALL SENDA9 p6 {/ D3 Z* x7 s0 p# \- k
N7:5 i* h8 Y: v1 Q& {. ~
     AJMP AA( R7 v4 Q5 {* [% l) ?6 C
SENDA:# @$ y6 v0 }( z6 Y  y% G7 Y2 v
     CLR A
* t/ f2 s6 K" |0 {6 F* l9 M     MOVC A,@A+DPTR
+ V8 j3 e# p- z( w. J     CJNE A,#'$',SENDB
& P2 \2 o# E8 d2 n7 M3 D/ g0 E* k     AJMP SENDC
6 u4 I0 {: s( i8 y& _SENDB:- S4 F/ ?! A' g3 S% L/ L
     MOV SBUF,A
$ ~( C. d" l& e8 E: B     JNB TI,$
9 T2 P0 e* `4 F" v/ Q+ D& j+ s     CLR TI0 A6 R: Z% y6 [
     INC DPTR
; }+ R0 @8 R( h3 ^9 i# H, F     AJMP SENDA$ P9 ~  z: Y. \: H! P1 J2 `, t: q
SENDC:
: g  b. s( s2 d  ?* p     RET
' Y2 a9 ]- m& @  \' L9 B* }1 ]# ?5 ~7 C
PLY:  db "PLY ",0dh,0ah,'$'$ U! b+ x: S: e+ h3 n& |& Y  N" J4 u' r
STP:  db "STP ",0dh,0ah,'$'
5 {$ o& P( l# D1 b1 P) m. V0 oFWD:  db "FWD ",0dh,0ah,'$'9 A6 }9 ~$ o, }- b( h
RWD:  db "RWD ",0dh,0ah,'$'
6 F6 q. T- x! \7 I# F% zRTM:  db "RTM ",0dh,0ah,'$'9 B) o" d; R) a8 d  B! R2 E+ [% y/ L
LZA:  db "LZA ",0dh,0ah,'$'
) m( n- I0 c% V# V0 o3 q3 fREP:  db "REP F ",0dh,0ah,'$'
/ v) l3 D: c* I: F/ @0 G' ]  ]) F6 ^' G* s% V& z% W* z. O: n
YS1:
( `' v( E$ m- U/ r5 z2 v+ f% q4 g0 \' ]     MOV R4,#20/ o5 O& i* H4 O5 F+ p
D1:( z+ [3 [; m3 I5 q, N$ k
     MOV R5,#20* ]6 _, t& ]( p& j+ K/ i
     DJNZ R5,$' }7 z+ W, J0 E- O2 e& z( I0 o* _
     DJNZ R4,D1
% b3 X3 H; b* @* D* }     RET
8 s. I/ B  ~: Y$ ^# M5 H/ u9 [9 O( T
YS2:4 S7 s) q& \+ }1 L( c
     MOV R4,#10
* B9 _! Q* C" f5 R; b" ND2:& T6 r5 h& p( k6 W2 f; [/ D
     MOV R5,#235
7 l; s9 R0 z3 @/ I9 i     DJNZ R5,$
! o3 F6 s  H) O     DJNZ R4,D2, [9 ^# y$ d: D
     RET: W6 c- B% G8 K9 @) a% D

  C$ W7 [5 O7 c! @, X2 I! hYS3:0 X* Z  P% J9 T: y0 V
     MOV R4,#2
+ q. f: N% |# G( zD3:; p$ G$ B/ V0 B# }1 R1 l) A
     MOV R5,#248& @  Q& O' |3 u) g8 n. p% v! e
     DJNZ R5,$/ N6 i% F4 c! G
     DJNZ R4,D3
. z3 F. E; c  _0 L* x) c) I; ~4 D     RET; c- p/ c/ S8 {4 u% m" a- ~

+ ^' |4 u$ t5 B2 M( yYS4:- {& ]& x/ |, E1 i4 C
     MOV R4,#200
* m& P6 l  M1 k( tD4:
5 }0 X5 u! U$ w  y" J0 H     MOV R5,#248
. X0 y% f) g" K  c, F# V- q     DJNZ R5,$8 S8 o1 [! B  e+ I& G7 C
     DJNZ R4,D3
1 e  p8 o  T9 k& J/ y% J5 h     RET( M4 u2 @( z5 x; p/ C0 b0 \
     END
8 Z" r3 G' O- l, Y+ o; _* p# k0 f+ ?# o% r' {
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。- \& e+ u1 ?/ [% \+ x* O
是不是很惬意,嗯!
7 {% H' m. g& e' r1 U

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!- y) S4 o$ p" L& L- p& H" I
YK 005.JPG 9 @/ C) J& w- F! b& x" G
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
+ J. \3 k3 n- j9 m
发表于 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( W! ]1 [$ g, s- c* ?) H& d% M
最终的样子,有点简陋哈!

( e, y1 K9 V! B+ A6 M这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-3-11 13:19 , Processed in 0.118733 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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