收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
+ o. v4 _" f9 [( ^5 `2 t8 ]  U/ D; ~  _. N: w
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
$ U7 w0 W+ }+ B! W5 B; v* L# g. |8 C* }- ]" X
说明:
1 A0 l3 @6 Z" p' H4 V% t1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
% ~' `& G* X7 D+ U. D2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;% g9 }$ |3 d$ L% `( y/ {

8 _! }* n# s7 r  ]# W* _一、基本思路3 X6 Q9 k3 p7 j. d3 E( ~
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
; ^! w8 S8 ?5 i; z
# N  n% V# p+ H, N/ D: i2 W二、红外遥控器
& u/ J' S  d' y% R) U2 q; w/ K" N我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
- d0 L: N$ x1 e9 L8 M$ W$ T1 t" @: N( Q Apple-Remote.jpg
( g8 X6 I  C/ l) k6 {好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
. j6 n6 y9 w2 J' O! s0 y Apple-Remote - 副本.jpg 9 Z6 c7 ~2 E, V/ d7 s3 H
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
( w$ e' Z% |: J/ \9 @: q& T0 C/ S Apple-Remote - 副本.jpg ; f3 C0 A8 R, w: M: @& u
* O" c& Y( U. `- O0 k) ^& b( N
三、红外编码) Q9 n1 L$ P2 s$ j6 i! P0 ]
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
; M5 M3 ?5 q+ q; k" M- `; [5 k前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。7 Z& {9 x- i3 N% h. U4 m1 h
后16位为控制码,主要用于实施具体的控制。9 k9 `( U7 H* n$ w1 A
这16位中高8位和低8位互为反码,以提高可靠度。7 @: D. V4 D, N  E

! a' m* l& R9 e! Z0 B以播放为例,其编码如下:$ b1 i& M" U: k4 F5 t, G
00000000 00000000 01011100 00000000
3 w% M9 v1 R2 v) e' h; m; C! b! @! A! p
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
: C/ Y1 m0 {" J4 p  E# a* q) u$ q8 Q2 ?
四、单片机系统/ w) H) I" j4 n7 K8 w
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。* o2 F; ]. @5 ]
c51.png
) a0 s- b" b/ r3 b+ p0 l/ }) H
* d4 f; X% S' D电路很简单,功能如下:# R4 `. @) R- m/ Z# R1 ?
1、一个AT89S52单片机作为核心;* {! v* A) \/ P- _# U: L: B7 ]3 O7 a
2、一个TL1838为红外接收头直接串行输出数据信号;$ R0 P$ v, m: e
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
+ ?: i8 z) M" P; x4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
' b3 ]1 L! n. p$ U , W" \: ~3 x4 ^; w6 L/ g
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。$ e$ V+ T6 P7 ]4 p

0 _# k6 |8 B  N" X4 S" A4 |7 w- b  s% ^& q) D! S
五、控制软件
+ i! r* ^5 H/ B8 Q  y6 V
控制软件用汇编语言写,源程序如下:
; A9 ^$ l; c" `9 t     ORG 00H
. N4 Q# L* @* G" C0 l/ d# g( O, {     LJMP MAIN
" t, b; r2 _2 t+ q; o" m) l     ORG 30H
) R4 h" Z: _; a# c- JMAIN:8 ]! H) A! z3 z* h
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
; R1 e% \" O, ?. a     MOV TMOD,#22H  ;22H- R! Z- R# \* w1 g7 ^/ t( M
     MOV SCON,#40H  ;40H
/ x" k; S2 N3 Z( \  A( N     MOV TH1,#0FAH  ;F3H
: B! m# s+ N, d5 d" G  |& s     MOV PCON,#80H& U& d6 c4 f# J4 Q) g
     SETB TR1
* J5 S$ [" W8 P- c% n6 M0 WSTART:
. D4 I& a6 l$ z2 ~" N. S, a     JB P3.7,$ ;遥控信号处理
1 i+ S0 @  @+ D+ `% \SB:
+ F8 o3 t$ j! d! _0 m     MOV R4,#8      B7 n' l8 D/ F9 t# G7 M
SBA:
/ S/ T- U/ m7 t8 b0 B+ L     MOV R5,#250, t+ J' C$ p0 g- }  Q
SBB:  D- k1 t) @" R' a9 o  A
     JB P3.7,SXB1
) U- P, A/ V9 U5 B& m, W" E     DJNZ R5,SBB
1 {! M' [! i6 ]7 Q3 ^( B     DJNZ R4,SBA
' u/ p+ }' h3 E; m& j. y+ E$ [     MOV R4,#2( \8 G8 A# D+ Y2 `  {
     JMP SBC3 p" X& N% o4 _. N/ h- C
SXB1:- K* b) K- ~: P- \; p/ }0 c
     MOV R5,#5
- F0 \/ d" V* lSXB2:              
& s- n+ [. C' P4 ~& t     JNB P3.7,SBB; k7 O% e" P; i
     DJNZ R5,SXB2
. O; i9 Q# c/ E$ P3 N     JMP START: h5 i: Y, F: E7 ^% d
SBC:7 F8 M  u# H4 ~# a* `
     MOV R5,#250
( N( Y: _  f3 N/ r$ QSB1:
% V9 B; C& w+ J$ I$ b9 E     JB P3.7,SB2  0 D) Y# @$ F8 q3 V! w  f# U' f
     DJNZ R5,SB1
( X+ @6 E# p# a$ B  x9 I0 r DJNZ R4,SBC
& x0 ]& [8 Q: p+ Y/ f* y     JMP START
6 g( G; A. k$ h: ]! RSB2:                 & j8 P7 C# U: m! {5 G
     MOV R5,#5' z$ v, _0 E0 ?3 z
SB2_A:
/ j- g3 H, _7 q8 `" b; u, f) i0 G     JNB P3.7,SB1
5 m0 o8 `6 C( A: t; k4 G. O5 @2 z     DJNZ R5,SB2_A0 N( h/ p: A& V$ c5 F$ T$ X! e" E
     MOV R4,#3- }+ J" T: m5 C' S5 l; K
SB2_1:5 D) u% T- |3 z( `
     MOV R5,#250
* [: m5 i1 w" F2 E7 z% nSB3:                  ) H/ J! d" D, @5 S1 K' Y
     JNB P3.7,SXC8 \$ {" [# p1 U8 I' e5 H2 c$ f' c
     DJNZ R5,SB3
  I3 o4 l$ s! @" I& f     DJNZ R4,SB2_1. O" [. h# M, t+ c5 L
     MOV R4,#2: |. V" d3 A, u' u# K% n+ b
     JMP SB3_1
% S7 U3 A: P0 OSXC:                  
' |9 `4 \  c% O) T     MOV R5,#5
5 l2 f* F. |7 ]% Q. q7 ESXC1:
& I+ J! V, g! c6 ^( X2 |     JB P3.7,SB3
- t' s- r4 H& C7 T- l& w' i; C     DJNZ R5,SXC1, W& P: z: G& I; o% r
     JMP START
7 }! Q+ B( e+ y0 P2 q+ aSB3_1:                 ( i# u% x' j8 d& ^7 L* A
     MOV R5,#250
+ c7 d1 H8 w; OSB3_2:' t. B0 |( F5 f3 ?, f: v3 l3 o" X7 X
     JNB P3.7,SB4( I! Z" L$ F% y1 ^
     DJNZ R5,SB3_2
  Q3 }5 m6 S6 l, t. n3 K8 E     DJNZ R4,SB3_1
  Q& I5 }. a. L3 d4 B  f& a     JMP START
9 T/ L! x- x" Y" X- V! ^9 CSB4:                    1 @) W7 ^0 j  c  d* P
     MOV R5,#57 }) v  Q. e4 M) t) D: R1 P
SB4_1:& y. B" w! D3 Q/ w# I
     JB P3.7,SB3_24 |/ B& [' ?. E8 r4 d* m3 T7 z1 O+ n
     DJNZ R5,SB4_15 y% v. r7 z8 B. k* M
     MOV R1,#1AH  
; b- v: J- H+ r$ Q# N  o     MOV R2,#4" J6 }( D1 B" o/ T: o% A
PP:  MOV R3,#8) {$ \* d6 N3 z) y7 E$ n  y: p
JJJJ:' [" {# r5 h. }& Z, F8 \4 N. m
     MOV R5,#250* q/ o6 f: u! K( i' |
JJJJ2:               
) A4 Y4 ?! {- q; S. ]" h3 ?% \     JB P3.7,JJJJ3
8 @  J) h* W; F' Y5 C/ [  W     DJNZ R5,JJJJ2
0 I& h$ c. f; @$ m     JMP START
. @1 X$ i" b, }5 ~  |1 y* F6 `JJJJ3:
; {/ j+ t$ h# l; f! ^     LCALL YS1  
: Z' o/ b5 I; |8 a, s     MOV C,P3.7     R% o, [/ G+ }8 D
     JNC UUU      
" T/ O) q2 O3 A" o     MOV R5,#250: L& R9 [, L% T, Y2 d* `, _
JJJJ4:% z$ J. \9 G, x' \1 G' Q
     JNB P3.7,UUU
% T3 E( o' T4 x$ {2 H    NOP
# j1 X8 ]5 U) U+ [     DJNZ R5,JJJJ4
2 F+ T7 w% q; L     JMP START! {, z9 G% v+ V% Z- o
UUU: MOV A,@R1  ' q3 D  w+ V6 y/ D5 C5 C# j9 M
     RRC A           # m$ I& v) {& F* |( D
     MOV @R1,A       # M+ A% W  D) ~; \' N9 v3 e
     DJNZ R3,JJJJ   
% G4 \. @/ E5 P( W8 z     INC R1      
& C, ], _7 V8 X. T     DJNZ R2,PP   
' K) A2 o  z2 {# R
; r) O8 g! C% J+ I' t     MOV A,1AH
, K, _$ |, z& z/ ?     XRL A,#11101110B, _2 Q8 O* K8 H- m
     JNZ EXIT % Z4 W3 |) v# l1 {( R( f$ b6 G
     MOV A,1BH 9 A  P5 T2 ?  Q& e8 e
     XRL A,#10000111B
; f8 w3 ?. \, x! t     JNZ EXIT
% R. Y& P: Q1 y( n, m     LCALL YS3
! ^+ b6 c! B6 u. _     MOV A,1DH 5 U" ^5 l/ B! ?, i/ K3 o5 c
     CJNE A,#10111100B,EXIT8 h( a0 q% D$ p( }  J
     LCALL YS3  |" @" O0 C7 Z: M1 E4 ~& S
     CLR P2.6  
0 r6 x' w  I2 j. L# U8 s     AJMP BIJIAO/ G5 l4 d2 O" V- w; A0 ^) I
   3 v# v+ y2 e- ~2 M' L
AA: & `$ |, z4 ^# p+ L6 e. O  i
     MOV R1,#25
; o7 Z( y6 Q. |' Y; u) QXX: / X. F& p" d* [. @  j: e. \5 _
     ACALL YS2; o  Z! u9 O  g* b+ P  h
     JNB P3.7,HH 5 T( F1 J! `" @& d& i6 ~1 M1 f
     DJNZ R1,XX
  ?* O, t& _2 {* @EXIT:    % J  v( C. ^2 i' O
     AJMP START
: X3 s+ C. J& U   3 _4 ?" a7 `& z& L
HH:5 o6 Y) W) J& E2 p- m8 o: b, c$ d4 ?
     MOV R6,#4
: g( G  h# ?( S/ z. l7 g" X# l1 ~S:
) q6 D. e1 m- L- \# \  P, {     ACALL YS1
/ V. n8 S. _# a8 \9 z7 D! T     JB P3.7,EXIT . X9 E4 d# J% F% N% P1 A) i
     DJNZ R6, S # s$ l# L9 x5 z% K% V5 o9 d
     JNB P3.7, $  
2 R8 F% @8 k; [7 \6 E* h     LCALL YS3# Q- T$ T% `% G. Q2 |6 T+ n
     AJMP AA
; e, g0 T$ V! v8 ?3 tBIJIAO:5 g& k$ u# y. s4 u9 g$ y$ `
     MOV A,1CH
" i- }% J0 k+ T, j     CJNE A,#03H,N1  
. p" W6 ^: G+ @. L; ]' `/ \& q* ~& i     MOV P0,#7EH    ! s8 z( G( J3 n1 @4 Q  P8 h, c7 [
                      6 J3 h4 W6 \  ?1 }2 @
;处理STUDERV录音机控制码
) \& j9 q) K* f. @; R. YN1:
8 g3 O4 p8 I  k. I; N     CJNE A,#5FH,N2 ;播放键  @# u( p: {& u, m* E  J! U+ {" X
     MOV DPTR,#REP
% B" c2 ^3 ~% M  ~/ A4 {7 B     ACALL SENDA
: h2 E7 m8 ~6 o  l8 _     ACALL YS44 ~# I; Q* F5 b# g# L
     MOV DPTR,#PLY
8 a3 x/ U& w  r# c, Z( z     ACALL SENDA& N; h- _2 Z' V& F3 B1 d
N2:
0 x- Y2 S/ q5 u6 U. U  [  U     CJNE A,#5CH,N3  ;停止键+ w: d4 w$ U! E' y' K, S( L
     MOV DPTR,#STP) ~, c( q* i! H
     ACALL SENDA' R$ n( C8 J5 I( C& G1 _: x
N3:
5 Q0 R2 s" N6 g' F8 G! q3 _) |     CJNE A,#06H,N4 ;快进键2 R$ u- p6 W7 \; z& D4 b
     MOV DPTR,#FWD
. k1 P, O) u& k( _0 F     ACALL SENDA* H% J9 P: f$ o9 d0 J$ ^
N4:( k2 v) }5 J: |9 }0 `) h1 V
     CJNE A,#09H,N5  ;快倒键  A& X$ P/ n6 S5 L
     MOV DPTR,#RWD
9 |5 F1 }. e+ X9 ^* Q4 n     ACALL SENDA
: b2 i' B, Y3 x1 u' y0 X# Z) |& H0 RN5:1 u. e+ i5 k' o/ a
      CJNE A,#0AH,N6  ;置零键3 n8 j! @. q' W; \
      MOV DPTR,#RTM
0 D5 o) N2 T; m8 d0 g; n% x     ACALL SENDA5 L6 [1 ~: i1 Z2 M8 _
N6:
- C# @+ M! u) c0 E0 r- G     CJNE A,#0CH,N7  ;定位到零键
2 B$ z) J: j: n- l. s     MOV DPTR,#LZA
  o3 g2 v/ ~5 H$ }$ Q- Y& w     ACALL SENDA5 C% ~0 Z" c) T% Z2 {
N7:
( F9 z9 T/ R6 T' F& k# S' @/ _( M0 C     AJMP AA
( N( H6 X5 `# n) x3 qSENDA:
( D/ X6 C! A4 c     CLR A1 X" z9 d% `+ i! \6 M
     MOVC A,@A+DPTR& r; [. c- S# q8 |* v
     CJNE A,#'$',SENDB! n2 W+ Z, k* e5 s4 U+ x4 @
     AJMP SENDC  }  s8 w, m$ ^* z
SENDB:, k: v( u+ [, F8 _
     MOV SBUF,A
# ]4 E. e+ H. W1 t5 a     JNB TI,$% i" R, t  s, E  N
     CLR TI: z- G, J) o% Y- S& Z8 A  l
     INC DPTR$ Z$ d  i! o0 o
     AJMP SENDA! z( k* R' R; G6 L& ]1 t7 L
SENDC:* ]; r' R6 Z' U; A3 K
     RET& d% c/ `$ j  f+ A6 L

5 [* }" m$ Y6 h( k& l/ ]3 RPLY:  db "PLY ",0dh,0ah,'$'2 F1 r& H3 C7 E$ L. ]9 m) z
STP:  db "STP ",0dh,0ah,'$'
$ W5 a$ p' k+ \6 b" D+ v! F6 NFWD:  db "FWD ",0dh,0ah,'$'  g  Y8 b! b% A% P: I
RWD:  db "RWD ",0dh,0ah,'$'
$ [* g( I( u* ^2 oRTM:  db "RTM ",0dh,0ah,'$'
" x2 w6 \6 a% ILZA:  db "LZA ",0dh,0ah,'$'5 n# A$ U& y$ U; k# q
REP:  db "REP F ",0dh,0ah,'$'
/ v" l' O8 w9 d* {  J4 }
! P6 c2 A9 P- e9 r9 X' x  qYS1:, r1 \: J$ B$ \% P; v7 U. s2 V1 `$ p
     MOV R4,#20
& S- f9 o4 d. bD1:) N6 ^% E+ m; l. E0 \- p( V
     MOV R5,#20
8 O6 K3 Z3 c4 |& ?' \: S     DJNZ R5,$
) |) r0 \" ^: H' S  Q8 _     DJNZ R4,D1' W1 |5 l+ j! Z% y/ y& D4 n
     RET
/ p8 N, X9 F$ b: U* V; h. s% b3 h% O3 i  ]
9 U9 K9 j. D8 _7 J" ZYS2:
3 q: ?5 P; u' D8 Y2 S9 ?     MOV R4,#10- P9 Y) Y3 A  q. r( m- N
D2:
: J' ^6 [$ z3 O  t     MOV R5,#235
% F( `3 Z. r) @+ J0 @. f: O; ?     DJNZ R5,$
" v9 r4 q: J0 @% a     DJNZ R4,D2
% y' w, @' ~1 ?8 M     RET+ u  g: `% O2 a# |* ~

! B+ |- r6 @4 _. VYS3:
$ H6 D" ^$ C* k% v% ]2 Y3 Y     MOV R4,#2
8 t0 `4 x# N  M% ~+ D: e1 SD3:% E. n3 U4 K( N4 l- c& P: T
     MOV R5,#2489 K4 d4 r" H3 w  K0 _2 N; Q
     DJNZ R5,$6 z, ]5 ^+ L: S; q( {( C
     DJNZ R4,D3
( C% i1 I0 `* F0 G' c: l) m     RET
3 j* J: @7 s5 s( H/ {1 \0 c  F
0 G# H) W6 ?5 L1 k+ w3 j: wYS4:9 s, G$ b+ L& b+ D
     MOV R4,#200
! U/ f' `0 r" K; ~/ Q, ]D4:
/ M: k: l3 Q% O0 E/ v     MOV R5,#248* X' J) U9 m6 _& M8 {; ^* w4 y
     DJNZ R5,$
: H4 ~' k  z2 o3 W, D     DJNZ R4,D34 Z7 b0 l4 U+ A7 `3 ^+ ~
     RET
9 S2 b: y( z9 m' d     END7 B  H6 a0 Z" B: C

2 y/ O, ]- q  v2 P9 Q1 e有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
# D. S' g" i' r8 y/ b8 z) ]' j8 y是不是很惬意,嗯!* J6 i2 k. i: B3 ?1 A' f2 k- 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 | 显示全部楼层
最终的样子,有点简陋哈!
+ q9 I* {8 O% K- O$ O; o! t& s YK 005.JPG 0 M0 C( K* P9 G2 ~$ \
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
, d1 g1 d) l* ^. ~6 X3 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:54- p! j* B7 N. u. R0 l: R
最终的样子,有点简陋哈!
1 g& r; Z. L  N6 e+ K
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-10-19 07:46 , Processed in 0.088877 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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