收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
! f& @0 k0 b' q' `1 V  }$ f/ @0 s' u" U: B
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
/ |: A4 y# g0 h! |1 q% F8 n8 l. k  J* U5 z% t$ a; B
说明:1 E0 v: X1 @1 Z
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;- ]* Y; R) F' r# B2 |
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
! t/ S( O  i6 K1 _5 d/ N% V& j' A2 B9 U- O/ l+ v0 A* ^) d- B$ L
一、基本思路
. [4 z8 L+ q( }6 q  _  X0 [/ s使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
) Z2 }+ P. Y) [+ a% W1 x/ M2 [" U1 W
二、红外遥控器1 @$ }. ?" B; n% ^( _1 ?
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
2 L6 @% j- X" B$ `. x. ^+ b Apple-Remote.jpg / U' A, a6 c: e, L' X' E- d
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
( M9 J+ ~* o( p/ s; n Apple-Remote - 副本.jpg
+ U/ l' H& @# y& h# M在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:8 Z+ ~. C5 Q4 r; ], k; M
Apple-Remote - 副本.jpg
4 U% F  {8 J0 W$ ~  P7 P: a. C; ~4 {+ U+ i
三、红外编码' ^8 p$ J2 r' k1 c( `; s
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。. _8 f/ r" e7 W$ ^* d. A3 E
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。1 a7 h  Q$ d$ C8 T; U
后16位为控制码,主要用于实施具体的控制。: F7 t1 o& c7 N2 x% T
这16位中高8位和低8位互为反码,以提高可靠度。$ h+ ~  j9 V* f- V' Z7 x

5 v% U# ]8 X" _/ g以播放为例,其编码如下:
) k$ ~# g- Y& p4 E00000000 00000000 01011100 000000000 |# q2 `" p9 X( J* d

( j  w" J2 Q' }5 w5 l7 O你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。; T' X1 V0 V5 m1 _- r
* ~& H* F  o7 i9 K+ Q
四、单片机系统
; `( x1 p8 y3 \( j: V' V5 N
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。/ n8 E; ^- o4 N
c51.png
# z% ~1 a5 ]$ t. h
8 D6 K4 s% r  [. }  f# G电路很简单,功能如下:- y, v8 n0 t8 T& h
1、一个AT89S52单片机作为核心;+ b, l4 A% E  N5 J! y2 `
2、一个TL1838为红外接收头直接串行输出数据信号;3 k- h7 ]/ S- T" b
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ ^. c: s6 B3 w4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
6 y& o/ ?7 c5 E  h. k 9 H: Q3 i8 D% L* Z
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。: o7 I' X+ f* _1 Z
3 Z) p' ^9 @' Z

- p# p) O: c" {7 h( r  S五、控制软件
* q" y# }4 e4 C  Y+ L) }
控制软件用汇编语言写,源程序如下:2 {  g- E0 e$ V8 u+ v
     ORG 00H+ a3 j% L1 M4 i
     LJMP MAIN
- y' w' m7 ~8 t1 k; Q     ORG 30H, |3 G4 _  ]. Z4 e; O% N
MAIN:
2 q  L) i- C9 z: b  C3 O; g! d' D     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
' O: R: o4 o% \( l/ ]0 g8 S     MOV TMOD,#22H  ;22H1 D# j8 u3 I% T2 g
     MOV SCON,#40H  ;40H' Z+ p) M& |& h! s, a3 H; M
     MOV TH1,#0FAH  ;F3H
: F& @5 l6 F! s     MOV PCON,#80H0 w+ |. I3 L) w4 F/ w: `- P
     SETB TR12 c% ^; {& O; {* v' l; E
START:1 k: ~+ p* O# N8 N: U: A3 Z
     JB P3.7,$ ;遥控信号处理5 O" f; m9 Q$ W5 O+ D/ s
SB:
/ K  _% B/ K- }* W1 E) z8 E, ~     MOV R4,#8    $ i  I& G9 P2 u  u
SBA:
: I: G4 F% `0 K     MOV R5,#2509 A, g8 y* L1 ?
SBB:
$ I6 S5 M0 N; D0 H0 u0 H9 g2 @     JB P3.7,SXB1
0 m0 F3 J& j9 Y0 I1 }* [; d     DJNZ R5,SBB. d, ~2 Y% B; x( k
     DJNZ R4,SBA! H. V+ \' N- d2 z+ w; m" [
     MOV R4,#2# M# [6 b5 Z9 }3 A5 ~0 r1 f+ K
     JMP SBC* q9 c* M1 @- H" g* z5 o
SXB1:( O5 d0 w. K, m4 D8 a6 w
     MOV R5,#5
* y* U: s; v+ I: u* a' f/ `5 Y8 S' v3 ISXB2:              0 a& ?. _4 u$ V. b/ T3 i
     JNB P3.7,SBB) |: a' x* k8 S, \( \, g
     DJNZ R5,SXB2, |2 f7 H% [0 W+ l  @+ P
     JMP START& ^! H2 r$ d/ {2 [  U
SBC:
' D* v9 l' b% W" P+ u; P     MOV R5,#2500 E1 ?  B( J  m* y5 A$ D' e" m
SB1:% Z3 _1 F/ S6 `! L6 n- p, Q
     JB P3.7,SB2  
9 P! R1 M5 L: }- j  v     DJNZ R5,SB1
  G. `3 C; a9 {* u, @  a6 C DJNZ R4,SBC
. a4 H, v1 ~2 \4 y% a* D. N5 E, D. n- {     JMP START9 H' n! w$ |9 d8 m
SB2:                 
$ x' W6 M6 G! R* n2 k6 v" P4 V     MOV R5,#58 i0 J% E. s% o3 f: a
SB2_A:
, y4 F8 S9 v- ?  ~8 R- i. Z  L3 |     JNB P3.7,SB1
; F1 Y' ~- @* w* ?* L     DJNZ R5,SB2_A* h6 L& @4 b$ t% j0 v
     MOV R4,#3
/ O9 g. ~1 P! |  w3 @/ uSB2_1:! d# p+ l9 I! y: o0 g! H  z# I' C
     MOV R5,#2503 q( k2 p, t, r- X; h+ w, j
SB3:                  
7 h( `& d$ R+ L; E1 F, S4 b5 u     JNB P3.7,SXC
% l% @2 B1 }. a6 o; A4 _0 d     DJNZ R5,SB3
9 I8 f7 b( ?/ y     DJNZ R4,SB2_1
; \* H6 t. t" r9 L; n/ U     MOV R4,#2& _1 F" M7 L) r, v3 }
     JMP SB3_1
& O/ [/ B8 z, A/ ]% y- V9 gSXC:                  * {' a% F' E& D' k6 i' [: O# R
     MOV R5,#5! X8 o( I1 O8 P: G& u  F9 P. K
SXC1:
) A( a$ ]3 T" s, H# _" g! h0 I$ I     JB P3.7,SB37 K8 ]; ^4 R- `- k
     DJNZ R5,SXC1
- G, k) \8 z; l+ q1 G0 ?1 m     JMP START
2 a3 `. h, g5 {2 s- OSB3_1:                 4 }+ y" D0 d) o+ p: x
     MOV R5,#250
& G) k3 B# C0 O1 x! |6 DSB3_2:1 x, D! ^0 r9 ]! a
     JNB P3.7,SB4
9 O2 |* w6 H' g. P/ t! m     DJNZ R5,SB3_22 N( U2 U3 B  ^$ ^
     DJNZ R4,SB3_1! o) @7 K! M% b4 j$ E: i3 t& J" M
     JMP START
/ S/ t7 T2 N# t# ~/ l) i- W/ @SB4:                    
: c/ R8 I! T9 L     MOV R5,#59 P6 g# p  d7 \' @% C
SB4_1:
1 R& x3 a& i6 X     JB P3.7,SB3_28 f# R. |9 M! ~
     DJNZ R5,SB4_1
; [1 ~( k9 x) u! W3 B& f+ I     MOV R1,#1AH    ~" B, I: B9 V' f) _, h0 ~
     MOV R2,#4
& [+ e8 n9 f/ \; A7 f) i! yPP:  MOV R3,#8
, I. @, H5 z' Z/ PJJJJ:& k5 h* a7 q8 K
     MOV R5,#250
; V# A! |. d6 h& {5 I! e. vJJJJ2:                . t+ G5 g- t+ X
     JB P3.7,JJJJ34 A& K0 Q1 h" D; e( Y, |! @
     DJNZ R5,JJJJ2
+ n( O% q4 g3 U5 ^5 D! ^& g/ ?     JMP START( X6 l+ q+ T/ N6 A. Z4 O
JJJJ3:. i/ R, p/ {! A. h% M
     LCALL YS1  6 H) \& B. E3 r- o1 f, ^
     MOV C,P3.7   , x  @( N) g# e% y/ p0 i
     JNC UUU      
. h( ^/ @) q; q+ Y     MOV R5,#250
- k) P' O7 V) J) t5 nJJJJ4:3 h/ u5 F$ w- T0 i7 G; C
     JNB P3.7,UUU
! L7 U+ |7 D) m& x    NOP4 ~: A8 u3 n& |* E% Y0 e/ W2 E
     DJNZ R5,JJJJ44 w1 C: T2 D" a1 a" r. L
     JMP START
' _; w0 s+ j5 sUUU: MOV A,@R1  3 K2 @1 l. @( p. B
     RRC A           
% g) Q# |  _" C' O     MOV @R1,A      
9 a, a; q4 C: n6 J     DJNZ R3,JJJJ   
8 h! f# Q/ F$ S, q, Y     INC R1      
2 \& j: k: g+ \- t  i# ~     DJNZ R2,PP   
: X# s5 w* B# A/ A" K4 `, y7 J: N  o# ?1 J0 X% b1 O6 [1 E
     MOV A,1AH & S7 Q1 V3 X$ v* ~4 M. W# ~
     XRL A,#11101110B
" T5 j* m/ L4 o& b! R1 c& m     JNZ EXIT # D3 L) W; g; Z" o/ C
     MOV A,1BH 7 r8 _* i) H7 G$ @, v) h$ \- B' h
     XRL A,#10000111B+ [7 M, s' Z9 x7 ?. d5 ~
     JNZ EXIT
1 X' `& R$ \% X+ b     LCALL YS3) W" ^1 W. h9 L3 i! U
     MOV A,1DH ( J. m) o* y: U9 i: v! C3 T
     CJNE A,#10111100B,EXIT
9 Y' l. v+ f9 L     LCALL YS3+ A- d' l, e1 {5 Y1 o
     CLR P2.6  
0 B% X3 \- ~; t7 g( M: I     AJMP BIJIAO9 s) F' L% o5 Q* P/ j
   
; W* I: c9 N0 d  FAA: # b$ R# h8 j% e9 A" A
     MOV R1,#25% O+ ~2 c9 X. p% o
XX: ) E  b6 i- ^( P' S7 q* w
     ACALL YS2
. q  f8 A9 ~7 t; |     JNB P3.7,HH
! R0 _7 U" o) f8 G' I" u8 d. }     DJNZ R1,XX; H- O+ Y$ {8 e& N
EXIT:    2 e' I! R2 g1 G6 A
     AJMP START! _! K& e" e( g' ~9 {
   
! k2 t5 D5 f: h2 Y) mHH:8 f2 l4 _4 F+ {% N
     MOV R6,#4
! U) s  `% B. I+ H- J$ ]+ o7 kS:
1 a0 L( n6 ^( U: z, y6 i* B     ACALL YS1 " r: c4 [; X( q' D5 j9 o6 p
     JB P3.7,EXIT
  N7 Y: C# M8 q: q5 L     DJNZ R6, S ; W" s* m5 Z5 j9 [
     JNB P3.7, $  ; [) K6 L/ _% N5 U& S  A
     LCALL YS3
. ]. k9 }& Z) E/ L     AJMP AA+ d3 q9 K, j) R2 I
BIJIAO:+ o3 p6 K) f9 d! c
     MOV A,1CH 3 U( m4 U6 w; [9 W" z
     CJNE A,#03H,N1  
/ M  a) u' R# N     MOV P0,#7EH   
! k" K9 b& o  q! G1 C' p2 u                     
# y6 r9 w1 x7 c" ~ ;处理STUDERV录音机控制码
* g0 K4 o* c' uN1:
( a' N  O" b# Y5 k8 Q     CJNE A,#5FH,N2 ;播放键
: J; C! v3 y/ E' k     MOV DPTR,#REP
0 i. q, b/ D1 S$ D0 x1 J. E     ACALL SENDA# ?7 `. u6 ?0 G+ z7 _8 `5 |
     ACALL YS4
$ d0 n# {& c. W1 ~: P$ `     MOV DPTR,#PLY" B7 J. ]% Q1 [
     ACALL SENDA! U) v4 R, ?4 x
N2:
3 v# L2 z  s- A3 M( e     CJNE A,#5CH,N3  ;停止键
3 }, j8 \) i& X, X2 S. B+ g     MOV DPTR,#STP( Y$ x' d# n" T& w. h: ~& n4 r
     ACALL SENDA* C  h. Q5 E$ G; s+ F
N3:
8 {+ R7 ^6 p* ?     CJNE A,#06H,N4 ;快进键
% t, ?3 J. A( q) t# ?+ e* o: f. a     MOV DPTR,#FWD
6 |5 p/ u4 i9 z' X# g3 f# E     ACALL SENDA$ m2 U+ X7 m, T  i
N4:
- ~- \. k8 b- u+ t( k/ w. e5 I5 Z; z     CJNE A,#09H,N5  ;快倒键
, v) t  O. u" Z0 `# n4 e7 y     MOV DPTR,#RWD
0 y, b9 j+ h% P. V* K9 k     ACALL SENDA" V& g2 _6 t% J$ }4 w/ T
N5:9 }7 A. |! k) R- j
      CJNE A,#0AH,N6  ;置零键
! c) ]; D. E: I$ b3 Y      MOV DPTR,#RTM
7 Y9 C( b) h# S0 t5 H     ACALL SENDA' o8 G: M0 [4 a3 W' Q: E8 i" ?
N6:. y7 n# W$ j: g' n; B; [: ?
     CJNE A,#0CH,N7  ;定位到零键
& |( Q% H7 B8 W. X* ]     MOV DPTR,#LZA
' Y$ {7 Q. c5 l2 z1 k     ACALL SENDA
4 |: O9 w6 D  H( @: |( I/ EN7:& `# Z9 L6 x5 q2 @# P( h9 S
     AJMP AA; Z7 W% J9 C! p6 U! ~
SENDA:
: r; A1 Z% d" s* J, A. f     CLR A" i% f6 [1 H8 Y8 T
     MOVC A,@A+DPTR
* l8 w- k6 m9 {* W% C8 }- S, I     CJNE A,#'$',SENDB
% ^# V# x# a8 t  T     AJMP SENDC: g  X' E- O8 h* l4 N, \4 t: H* ^
SENDB:: j  x5 T! H1 L! A+ ^
     MOV SBUF,A- i" p8 W' Z. s4 e: u. n% }8 m- K
     JNB TI,$
6 M; ]5 a2 T* H5 q) N( ?     CLR TI5 i6 _: {; I4 V" O  Q
     INC DPTR
- L: s! x! k7 ~' s9 \     AJMP SENDA, z% }% `' t. h2 w1 _- B
SENDC:1 N4 E5 |$ [, b# b9 ]
     RET
# v9 J; e; D' `' U$ f! U6 {* L  w  I
" x1 ?& u/ P1 m: jPLY:  db "PLY ",0dh,0ah,'$'
+ m/ z' u8 h3 r1 f8 ?3 D3 USTP:  db "STP ",0dh,0ah,'$'
/ ~0 T0 C5 d+ c/ b0 v# v8 v( F$ WFWD:  db "FWD ",0dh,0ah,'$'/ Z* H# a1 c& Z0 Z2 g
RWD:  db "RWD ",0dh,0ah,'$'
' M: O+ N3 e5 Q6 H$ w2 QRTM:  db "RTM ",0dh,0ah,'$'
7 b3 T+ Y4 z; Z- `LZA:  db "LZA ",0dh,0ah,'$'
3 V% \7 [( h0 G: Q- O& vREP:  db "REP F ",0dh,0ah,'$'
7 k* X. G: p7 Q& ]/ j" Y
/ B" Q: M. f  Y) x3 X- PYS1:
0 j! _8 _6 p8 J     MOV R4,#206 O# \  b, s% C0 `( n
D1:% `2 H  o, m5 w' `4 I. M0 q# {% G7 [$ R
     MOV R5,#20
% ?$ J0 t3 p1 r4 z, y, V; U     DJNZ R5,$
5 T  ^9 k5 \. w+ b0 m( C# u     DJNZ R4,D1* @4 `9 R/ d5 W: ?7 h5 ^8 p2 U
     RET
5 o6 k* \. n6 F& p- l6 D' C
% ?# S) U% s1 b0 V' BYS2:
  ?4 g4 {" k& Q* z) x     MOV R4,#10# k! n% B8 r2 D' w4 ~
D2:& K& _% `! `" Y# g2 r
     MOV R5,#235
6 w! k4 X; S% X5 ^* F) Y     DJNZ R5,$
# K1 S- c- O+ {     DJNZ R4,D25 V" m  H( A, j* c3 s& T
     RET
4 ?9 C! j5 e" k' t
+ F& W( a/ [" ~% S5 tYS3:
1 q! q% I! R5 h; ~9 C4 O/ W     MOV R4,#2' W1 f8 t9 k( \2 Q# F2 L; g
D3:9 D( ?7 y% K. J' E
     MOV R5,#248
6 J& O5 J: h( c     DJNZ R5,$; _9 N* g; t- H
     DJNZ R4,D3
+ a& {+ P- z( p6 g! N     RET: k% r5 L+ L& }* a# ^( j# q
6 n% c7 y3 @5 _  x
YS4:
5 m3 \4 n1 S  H9 c* M     MOV R4,#2003 D3 _5 o% A& P  @! P
D4:) b: @  {3 i: g
     MOV R5,#248+ y6 Z7 K$ K+ H  Q! E
     DJNZ R5,$
! ]2 I: c- n8 s0 ]- x) D& U     DJNZ R4,D3
- f0 Z$ Z& U2 n     RET" S' N# r( ^# h& N' O
     END9 d" g( h" }/ Y
. \) M2 N. G. |( O
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。, G7 G/ V% \' [  X
是不是很惬意,嗯!, `4 k4 E* }* W: K' G+ N

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
1 {. v! b+ O4 q" @ YK 005.JPG # T) J% K: p/ c- }5 B/ K
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下2 l! {1 |3 K; @* |$ P) O# z  ~
发表于 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
/ b- l, j  X9 t7 X最终的样子,有点简陋哈!
' k* ^2 c) K% N: }1 ?, M7 a. D' S
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-11-28 23:33 , Processed in 0.127256 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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