收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
, o3 w9 N- t2 J, ~6 P- I3 T( e' s" H2 E
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
& \5 D; m9 x) c7 |, x9 }: x
( _7 @4 d. o! u" x5 d, C* X0 Z: `说明:
& u  z; |; G# C0 c- ~1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;. ]( q$ o. b( Z( b1 P) M
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
( f( ~! `$ A* r# M" Q
: @3 y4 z. w( B' S一、基本思路# m2 ~1 z; u- s7 B4 r0 W; e! f
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
& ]# m1 E) K6 u: S& F
  ?6 c0 s% H- }6 j7 [- n1 A二、红外遥控器& {8 ]: E0 i$ l* J
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
2 M& O$ e8 @& k Apple-Remote.jpg
$ r4 c2 a# g6 _0 P0 q1 M好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。- M( ^5 Q; @# h
Apple-Remote - 副本.jpg ; v. T) W" \8 ^
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:9 _8 p4 }  Z! I0 ]0 a$ B4 M2 a
Apple-Remote - 副本.jpg * l2 A0 c7 ]4 [( _+ x

8 S4 `. W: A# f三、红外编码
. E3 z8 h6 x" S红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
1 H) K6 x3 R3 e) x前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
! p1 k  g% F: D; B6 v$ d; m后16位为控制码,主要用于实施具体的控制。
% f+ d3 R7 S6 G" y这16位中高8位和低8位互为反码,以提高可靠度。
6 X$ @  g8 u1 C" R3 ]2 l: `
) L6 M% W/ A! F8 h' {: [% p5 g$ Y以播放为例,其编码如下:
  N) g& R% C$ k! |& `  T7 p6 y+ o  z00000000 00000000 01011100 00000000- Y% P& v4 t4 k1 J7 |/ O2 r9 `7 m
& C2 k$ V  g! L9 ^
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
8 s  x2 f5 Z2 o. n" l2 A& e0 a2 P9 U8 ~
四、单片机系统
$ C- s; J  E7 S7 T0 N" F. l. Z
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
8 r0 v7 A7 q. C$ S1 [ c51.png
9 r. G) Q5 a. W' p
" R  ~- R" m4 y& T: W电路很简单,功能如下:
. ^8 v3 f5 P! Q3 E3 p1、一个AT89S52单片机作为核心;
2 Q" c3 ^' m3 ~) g+ `. q' T2、一个TL1838为红外接收头直接串行输出数据信号;7 P2 V4 h; I5 d; _% d. f; {
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;% |* Z$ d3 ^0 i5 g
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。( f& |& z, l4 ]# X& e" G+ y$ H

+ W4 S4 x7 P" w/ Y/ ]8 S关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。! k* S8 d0 g* ?+ \! R
9 \$ f, w9 m2 J! C. c/ x! ?
- W6 m# Y/ X: z
五、控制软件
& H' j( }* l" J  O* L" Q
控制软件用汇编语言写,源程序如下:
* h6 Q+ x. J" f9 M3 h     ORG 00H" D0 V; S; ]# Y" y4 s, o& ^
     LJMP MAIN3 v( E( f% I9 m) p5 W" ?
     ORG 30H
% e7 N/ b/ V. P' I; x2 m' O2 IMAIN:4 ]' u; [# k! W* W
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
: ?* L  N8 d. Z6 \" Z& C; t: L- l     MOV TMOD,#22H  ;22H
. C  O6 C( `* [6 C3 P6 v     MOV SCON,#40H  ;40H9 ]8 v! r& r1 g0 Z
     MOV TH1,#0FAH  ;F3H2 |" U9 o" e  R$ Z$ i. j1 z
     MOV PCON,#80H
& @- E: B; ?) E# `4 G  b     SETB TR1
% j' _3 J% h  oSTART:
- l2 F8 ~( _. k  o( C  R" Q2 f. ]' d     JB P3.7,$ ;遥控信号处理
1 b' R: Z8 h3 C3 n, D% u# |SB:
. u3 S! ?  X4 {7 y; S, J- \     MOV R4,#8    8 ~4 A  v7 U8 l2 U& a. G  I
SBA:
' D) m8 {& k" ~) ^# p; O     MOV R5,#2508 U  N  h! X  j' _: _
SBB:
/ H/ x/ i7 B! Z' M3 N- Z     JB P3.7,SXB1
( y3 Z0 l! z/ x! g     DJNZ R5,SBB
( ~+ h8 s- U( j* W+ w     DJNZ R4,SBA# C0 ~3 F9 ~2 H" @0 y
     MOV R4,#2- _7 y% _! w1 E; K
     JMP SBC1 k+ S4 G$ K, o, E/ L( l$ Y; O+ D
SXB1:
- q0 a% k5 L) o2 i, w+ |3 g     MOV R5,#5
9 ]1 s! W* U% HSXB2:              
) a! q9 E( Z. D8 j$ ^! ~     JNB P3.7,SBB1 R* z% T+ Y3 H5 C7 M
     DJNZ R5,SXB2
7 h# b( |' K6 G+ d/ z- x8 m     JMP START
' u+ _' g2 |; p0 P/ f$ b* P! k6 USBC:
& p' e9 F! v- v4 N9 ?+ ?8 j     MOV R5,#250
6 @3 V3 J" C% x8 _+ ]& ~/ QSB1:, @  ^2 d* o9 d' _
     JB P3.7,SB2  ( q# |/ m, a0 n, D% b+ d) {
     DJNZ R5,SB1! C3 o0 T2 u( k" ~
DJNZ R4,SBC, ~8 ]4 m; `( {& h' V  |6 v4 x
     JMP START
+ m. j( X7 @9 [1 MSB2:                 # l- ^! i+ }4 ?
     MOV R5,#53 {. ]6 K* e+ @1 v' i  w6 e- e" I
SB2_A:$ U, R2 x" `( v
     JNB P3.7,SB1
/ X: L( ^+ b1 e% j6 E5 t     DJNZ R5,SB2_A
- x4 [" Q8 P! |  M' B     MOV R4,#3+ L8 k) V4 w- }( _( x, z% e
SB2_1:8 I* H* d9 P# H8 p6 ?: f
     MOV R5,#2505 z! `4 ?/ T; i, _( y2 W. x. D1 [. o
SB3:                  ( \0 k, S* B, R" ]  c) J
     JNB P3.7,SXC
) S0 N/ r( X7 p     DJNZ R5,SB3
. T4 x9 ?* x8 m: l) e4 x7 n     DJNZ R4,SB2_1
1 G6 W& C; q4 L2 E- L9 V- a. L! [     MOV R4,#2
% U6 t4 X2 U. Y, `6 G* H     JMP SB3_1
3 I1 ~$ ]/ M6 A  m6 U1 hSXC:                  
* u2 c. H- M8 s8 Z+ n     MOV R5,#5% ]. A3 b  e% a: V6 C
SXC1:0 R1 o  I1 ~2 m* ?4 x# Z
     JB P3.7,SB3
) m' I6 G8 G  U  I8 i+ z     DJNZ R5,SXC1
- r6 E& q, a( f8 i* L. y9 |  [( G     JMP START
$ T9 E# R' B- O& H! n" U, q/ u/ s) dSB3_1:                 
, G' _" X  g3 J; G8 l) U) B  z     MOV R5,#250
$ M! u( V% W9 ?SB3_2:6 R; @1 s* v5 J3 y: g# W6 Q1 z
     JNB P3.7,SB4' f3 ?0 s, ^7 M/ [: r
     DJNZ R5,SB3_2
. A9 Q8 K8 T, _     DJNZ R4,SB3_1( ]% R2 x5 u  l. h
     JMP START
- L1 g% f# u2 J6 C* k. pSB4:                    + ]( O; r  z3 n; |/ f
     MOV R5,#5
4 j  b; N. G0 {9 [" [2 DSB4_1:
' f! K0 G, V$ T+ N+ S. [1 j/ U  g     JB P3.7,SB3_2
8 ^* y5 n  \1 ~. L7 Q+ _4 Q     DJNZ R5,SB4_1
- n3 Y' I" Q4 ?- \     MOV R1,#1AH  3 L& G9 F7 z/ D( a" y( n
     MOV R2,#4! O, x0 x& f1 y- _
PP:  MOV R3,#8
, l7 `- e- }$ U6 Y: @JJJJ:  r3 g: V, J8 E3 s' T8 C8 d3 X3 K
     MOV R5,#250
( S& @7 x& }) o0 XJJJJ2:                ; V: Q" L+ G% @$ }! I& z7 S
     JB P3.7,JJJJ3
' ]2 N& `1 Z# P     DJNZ R5,JJJJ2, v# p, a. C& p& }
     JMP START
4 N' ~+ e* E2 J8 m* aJJJJ3:
2 `6 Y' H- J9 l* g     LCALL YS1  
$ V- K# W- L: N9 {' l2 |2 R     MOV C,P3.7   5 ^# e  |5 X; v! H) c, }
     JNC UUU      * l! ?7 D1 }9 C4 o! D1 C
     MOV R5,#250+ l' c) W- L; C0 h# T) E6 }
JJJJ4:
8 A  o) \, f! T# x# d3 \! O# L9 F     JNB P3.7,UUU
9 o# |! B5 V8 v  l: K    NOP0 T# W7 U7 }! K2 s" t$ \4 T
     DJNZ R5,JJJJ4
3 A8 G' f7 {# ^7 i* [( o9 ?' ^0 E     JMP START
; g& W2 K7 o3 D# N' R" t+ C6 vUUU: MOV A,@R1  & t+ t9 u0 l' X+ X; W& T) A
     RRC A           
+ @& Z( V& I0 B$ [     MOV @R1,A       0 V! I3 Z2 U8 o3 \
     DJNZ R3,JJJJ   & s' x' g9 d  _# l& f! z6 H
     INC R1      
$ K/ v  D, g: }2 _) H( P( n     DJNZ R2,PP   , D, {, j6 {0 o( Y  A

/ w( R/ E* z5 ?+ Q4 U& ?     MOV A,1AH 7 x. ~- U, ^& S# d: A
     XRL A,#11101110B
9 H4 i* n6 k8 d2 V; _  @     JNZ EXIT # d5 h' a8 Y" n  U  L
     MOV A,1BH - q4 H' w4 @: `: ]; Y+ M) L
     XRL A,#10000111B
' Y/ l" g6 U5 P4 m     JNZ EXIT
; Q8 X% P1 ]% C! p( s+ Y2 k6 B, W     LCALL YS3
8 @; X5 n6 ]' q7 d: q' {     MOV A,1DH
+ s* [5 d0 N7 u6 O) m     CJNE A,#10111100B,EXIT$ O/ ?4 O3 [, O  H9 a
     LCALL YS3
, ]$ Y# c  B" Z; z     CLR P2.6  2 W5 s% p0 |: U  b
     AJMP BIJIAO
6 N9 }! g- M2 ~/ _9 C   
/ M3 I; S  P' T+ ~( z8 B3 zAA:
) O( r- I! {* {4 z# L0 B     MOV R1,#25- ~0 t/ u, y8 B4 X
XX:
+ j3 t) u, O( f6 {0 @) [     ACALL YS2
$ ~7 {% d5 k  W- b# G     JNB P3.7,HH , }6 u% P4 C" R/ S" C
     DJNZ R1,XX; {) i. S  x8 B6 P+ ^( m
EXIT:   
- L8 x  W- b% c% _* |     AJMP START
) H- C' J' O- G* F: Q   ) B& j: C7 v6 g) ]
HH:* u) n1 W; o8 ?$ U# E' X. Z& d! j
     MOV R6,#4
+ \- U% Y* v9 Q1 gS: 1 I" ]. {- P9 k4 @: K
     ACALL YS1 8 R9 s3 D6 V  _+ g
     JB P3.7,EXIT ( v! \  C& Y' ?1 k
     DJNZ R6, S
* B# A0 G, T" V7 f     JNB P3.7, $  . u; s5 y1 {  a$ m( S3 q
     LCALL YS3
1 i5 n2 X0 g+ R+ u     AJMP AA
. X( o- s! A3 ?& FBIJIAO:/ ~" M4 _" K2 c
     MOV A,1CH
# |7 W# X. _$ k/ p' b+ Y) m     CJNE A,#03H,N1  % i& D5 @' j, o4 c4 Z  J( [
     MOV P0,#7EH    / ?3 Q- e5 Q' Y
                     
& R) T. E3 `5 }4 o9 [ ;处理STUDERV录音机控制码! M; y: Y5 l( `6 Z! e% z; T
N1:
/ @' k( X* Q2 u) ~! P, n     CJNE A,#5FH,N2 ;播放键8 m$ D- M; |9 i: D: v7 w
     MOV DPTR,#REP
$ r& l! d) V7 C: o     ACALL SENDA
  v* W" C4 ]) v8 ^4 Y, L     ACALL YS4; K- F: x5 }! j) |: }/ N- e
     MOV DPTR,#PLY
& K+ z6 e% O" G  I/ n; l+ t  @     ACALL SENDA
, z2 J# u& w1 D. `; r) ~N2:# |' J# p5 g) a- V! _
     CJNE A,#5CH,N3  ;停止键) C( W! J3 O* j9 s0 X! j
     MOV DPTR,#STP. Y& }% P; P7 G& a. d0 x
     ACALL SENDA' `3 x: T6 t* B; Q& U& @; T3 g
N3:! N, V' e3 Q8 H! G( e
     CJNE A,#06H,N4 ;快进键
* M$ \; w8 _! A! }% Q8 c- x     MOV DPTR,#FWD- c# R* Q! H. T4 R, q/ }
     ACALL SENDA  D% u8 A, a6 F/ Y$ k" n
N4:" y3 }* q: k' u0 z
     CJNE A,#09H,N5  ;快倒键4 s+ V9 d( Y2 \
     MOV DPTR,#RWD
1 L+ [  n* D( F. J+ {! L     ACALL SENDA
$ p$ Q/ [2 C  j7 e% O* P. YN5:
' L% M( [; U4 N' ^( a3 Q5 m2 a1 U      CJNE A,#0AH,N6  ;置零键! Q  \! @6 V. [5 q
      MOV DPTR,#RTM
9 T& K$ f- R7 {+ t     ACALL SENDA
: w4 P1 p5 }% I  E, r- o" tN6:" B5 ]7 @" y" G2 p' J% Q
     CJNE A,#0CH,N7  ;定位到零键
6 @0 }' ?$ p( D) \( ?9 I     MOV DPTR,#LZA/ Q8 }/ D! T* S+ e0 U# m$ ]
     ACALL SENDA
0 {' z+ z" J3 a9 a) S3 F6 y& xN7:$ l9 R" Y4 {  a6 _' D1 X! C
     AJMP AA
( T5 u( a. Z6 x  |SENDA:
+ r: K7 n5 o8 J: G  I     CLR A
$ O# z; Z4 E& s! R; W& y     MOVC A,@A+DPTR4 _* }+ P* u0 R" K7 k2 M0 h1 i3 x
     CJNE A,#'$',SENDB8 G7 e( m4 i1 ]3 w1 E) I
     AJMP SENDC
! v1 g' X& U& t- b3 z4 @( ]! j& ASENDB:
) Y, u" m: ]7 X6 r     MOV SBUF,A
$ Q3 h0 y6 k, l; G3 N' j     JNB TI,$8 C6 c% O0 O) K9 h5 t, s
     CLR TI8 M( c# A* v' C
     INC DPTR) m( r( b- G" V5 ~3 k8 J
     AJMP SENDA, N+ _  y* y+ D5 |# i: G4 |* R- x
SENDC:
$ I) z' |: G0 d. U8 X! u& [* @     RET
! p" N: S( j: F  ?7 R6 I# S1 @: f) i: Z6 I0 F" S
PLY:  db "PLY ",0dh,0ah,'$'
% e# I3 `& S% Y: T. NSTP:  db "STP ",0dh,0ah,'$'6 D9 r) a) _) w4 D9 G" |
FWD:  db "FWD ",0dh,0ah,'$'" Q+ ^" K2 M$ G+ G
RWD:  db "RWD ",0dh,0ah,'$'
3 s: c, S) r/ P5 Y% ZRTM:  db "RTM ",0dh,0ah,'$'' S# _+ X6 A$ l) \  y) U$ g9 d
LZA:  db "LZA ",0dh,0ah,'$'9 H" ?9 c1 g1 y. {3 v
REP:  db "REP F ",0dh,0ah,'$'
! H7 a7 N, y  d5 x- `, l
0 u6 n: f) ~" y4 UYS1:
- w$ h# n/ X8 g4 h/ @     MOV R4,#202 `" y  X* v! y
D1:0 ^( c3 a" e: G: K1 i1 e
     MOV R5,#20
1 U  t0 H5 s: _  D9 @     DJNZ R5,$- w: S. r) ^% r! q* r( V
     DJNZ R4,D18 j7 U" b9 t4 D) a* q* V8 V; i4 s9 |
     RET
& e) T" r- i0 ^! L! A2 \9 t7 z
! i9 I, A& O8 w9 I/ i0 X7 S, PYS2:7 l. X5 s! s' S  Z
     MOV R4,#10* J, y8 ^8 S6 T  ^* B2 [
D2:
8 L+ C, k; R- j     MOV R5,#235
( p' B- w8 W9 |; d. D     DJNZ R5,$
! ?+ }$ R$ \2 p3 N: U( ^     DJNZ R4,D2
! U( y& ]5 j5 ~! b5 R     RET
2 W) s) \% a) [5 t) j4 J
# G$ e, U+ D) o& p6 DYS3:/ y& l9 g* ~. i/ t
     MOV R4,#2
) [+ j" R8 f3 f& ^. ED3:
4 }7 h  g. ]7 w2 Z: _( a6 _" C     MOV R5,#248
  P% {" n1 c6 x4 A2 J; [     DJNZ R5,$
) ?% s$ |4 ?8 @. R0 s8 ~) l     DJNZ R4,D3
6 ^2 U& }& y/ s2 ?% R     RET
! U) w1 b# }; S; Q* \) L" g8 L: I0 H( B" V) v% \# y" y
YS4:
0 F1 j" \, |8 d2 A     MOV R4,#200
+ z# f% }7 d: `3 LD4:
" U3 C4 ?9 R+ J# ^     MOV R5,#2480 Z/ I; e% p! b# F, K2 z
     DJNZ R5,$$ W0 Y6 R  e' Z* v6 B( ?
     DJNZ R4,D3
( a- B. t0 P, ^5 V3 J     RET
/ }9 E! {3 s$ F     END
7 b0 c2 T* f# N7 l8 \
; h/ |0 U  K3 P4 n5 r! u4 Q有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
! m# R. [  [$ s. R: T. y& {& ~是不是很惬意,嗯!
3 w/ }/ l& y; w- L

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!4 p- ~8 b/ h: v$ r
YK 005.JPG 2 N# }% X' \' J7 s3 A
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下- t0 }4 `' W* x0 Q" 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
( e, R7 z: S" y2 c( [& W最终的样子,有点简陋哈!

; h' z4 v* Z" ^0 P, ^5 N1 m7 j* q这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-12-2 21:59 , Processed in 0.086628 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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