收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
3 u  x" l3 t# U' [9 O$ H
; a2 |' x5 q! m# O8 \, v* d本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。+ Z, v! w# x6 P& }* d" r

6 n) b0 C; G, q  O2 e- n说明:
" @+ ~+ D' R3 J  p1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
& i1 h' m. r! z0 i4 t! ^, X2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
/ f6 C4 `3 c6 v5 f1 ]; D( _. `# m- f9 m
一、基本思路" J1 X7 |8 k! A; w( t4 T; w
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
- c- {1 o2 \  f- E- M/ {# p6 ~5 `! y( N) M3 s' O6 d6 s* `. J
二、红外遥控器
* N6 v% J4 `- I, r我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
6 ?* k" X" [; V" ?9 |0 C Apple-Remote.jpg
' |/ Z/ N+ c/ v8 c4 j6 ^好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。% M2 q& l; i7 H) I, B* Q" L* {
Apple-Remote - 副本.jpg 7 ]  ~# p' ?  ^; {) x  ]
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
' w* U, ?4 x( v/ w0 ?  e Apple-Remote - 副本.jpg
$ k) e0 I& }3 r5 k
6 i* p) Q3 [" T" G7 x三、红外编码
+ z7 t" i( Z* D" b  R红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
9 d) i, A$ P1 P! u前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。; D9 {4 ~' f/ }) ~* p; f" q
后16位为控制码,主要用于实施具体的控制。
! ?/ j# N) H0 M7 v这16位中高8位和低8位互为反码,以提高可靠度。
. j! p0 u* S$ N4 \
. p+ b3 y! l% ]" f/ ?6 r1 }以播放为例,其编码如下:# G! ^9 w0 \( |
00000000 00000000 01011100 00000000
, a8 t1 U- D$ ?" F  B: `% M
+ C5 @( ?* _1 H( u; u你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。/ n3 f0 z, S' x4 t) P

& U" b) a; X/ [0 q0 |四、单片机系统" n3 Y% r8 o. s: e: N
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
4 ?; [* k1 S6 c; C c51.png 0 A% y5 V. W( Q7 [) e8 ]- t/ J7 z

2 }  x. h" b: ?; o电路很简单,功能如下:
6 B  n+ D; @5 e2 }5 ~5 v1、一个AT89S52单片机作为核心;. h: A, n+ o9 O$ h7 M7 W9 j
2、一个TL1838为红外接收头直接串行输出数据信号;. V% D! M$ ^" R! `* i0 \2 g  j
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
1 a3 r( k+ I/ e+ t5 e5 B* q" u4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
2 R1 q4 t8 h$ a1 P4 P4 y + s; N8 Q5 i  d6 h' J+ p* @
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
6 k2 J8 y  x. C4 R2 G
# H6 k- r: _8 p! x
0 H/ Q9 _* Z1 ~: X0 {五、控制软件
( S* X  j: d5 {* }! |# C- }
控制软件用汇编语言写,源程序如下:" c) h, p) [" H7 {5 s1 z# |# Z
     ORG 00H: s* _0 A0 H2 B& s( k
     LJMP MAIN" O9 ]# @- V: Q3 Y- h1 v
     ORG 30H7 L) B% h& k) f9 A$ l$ k% b
MAIN:
6 }. a9 y5 `/ g     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
5 M3 n% t, f* C& g9 A     MOV TMOD,#22H  ;22H6 R+ R2 p4 j2 R7 t) v
     MOV SCON,#40H  ;40H
, |% w3 L5 U7 m! A. f     MOV TH1,#0FAH  ;F3H
% s: n  X( \- p* y5 ~     MOV PCON,#80H
' u8 k; {  c* d1 l$ E     SETB TR1
) U3 u/ |0 x. G& TSTART:
+ G, S" Z2 H1 z! Q     JB P3.7,$ ;遥控信号处理
3 f$ x9 k! _* B8 B5 P* {& USB:: i, W& f& t; S: E7 \2 M6 b) b+ G
     MOV R4,#8    0 L0 }+ G. A- T5 W) k9 m
SBA:+ m" P, k. V/ Y- A6 G9 Q4 ~- `
     MOV R5,#250& Y6 A& g! `& u3 ]
SBB:9 b+ @' x2 _( K0 J. I; B
     JB P3.7,SXB11 y" b1 }0 w- f% p' U
     DJNZ R5,SBB; K$ W" {3 j+ T5 h! c- q
     DJNZ R4,SBA. U( o3 A  S  y; z7 U! S
     MOV R4,#2% K0 I- E0 |6 N# R: T
     JMP SBC
+ w' o3 Q0 l% W4 J: ?SXB1:
; u* ]6 T, p% L& @9 {8 Y     MOV R5,#5
8 ~4 ?0 ~  @; p9 `+ |# oSXB2:              $ L9 f- ?0 B( s) g0 Z
     JNB P3.7,SBB6 g! K8 }% b9 o+ V5 @
     DJNZ R5,SXB2
" N9 X0 X$ w+ h) P" z     JMP START$ J3 P) D" @- j9 q. I3 [, o) s/ u& P! @
SBC:
  u8 U1 k0 x4 R8 X     MOV R5,#250
2 r+ }' q+ b$ [4 Z, NSB1:0 S* P! A8 q. L3 a' \" N, \4 S
     JB P3.7,SB2  
' R. o, i* `9 q, _; j$ b     DJNZ R5,SB1  p) I) s* a" @
DJNZ R4,SBC$ l* y6 X1 o# k" {; w
     JMP START
+ z; [+ W; s$ I1 b. @SB2:                 + P5 a" H! W+ F& C( ?
     MOV R5,#5
( ?9 }9 M1 p( k# oSB2_A:
, n5 y6 }; s$ J1 l: R     JNB P3.7,SB1" h: o: X$ B. w* v  h- s
     DJNZ R5,SB2_A5 j' O4 h. l& X& Q( q  y' x+ ?
     MOV R4,#3) `# ^$ {: o5 m, e! c
SB2_1:
% I8 ^2 c( O2 k8 M" \) l: b     MOV R5,#250
6 y" m$ T( {- F4 [9 VSB3:                  4 H1 J8 b" V) f8 s0 k% d7 s. k
     JNB P3.7,SXC; v* t; `, M3 _; F
     DJNZ R5,SB39 ^$ M+ G! U' W2 B) _0 R2 @' t. ?% Q' b
     DJNZ R4,SB2_1
. P( o( d& D, y' o# i2 Q     MOV R4,#2
, V" m/ H. f! H$ a4 k& b0 Q     JMP SB3_1
% L, H+ S8 H. u% B9 i& OSXC:                  
4 H% u9 h6 @& |5 j- r     MOV R5,#55 Q6 j1 ?  v' @2 }# g" Y+ Z
SXC1:
% j" n4 E9 z0 |8 ?3 h     JB P3.7,SB3: ^4 J7 A6 E3 M* V- n. V8 F# n
     DJNZ R5,SXC10 T5 n% c$ q. I" x. x) D" `. `0 K3 P
     JMP START  s! w. S1 S0 r3 u* F
SB3_1:                 
  k( \) y1 u& A/ B& P: }! L     MOV R5,#250$ z$ L+ h& q5 Z6 {/ g. S
SB3_2:: r6 I( E3 @! M/ {* b: o9 F* ]
     JNB P3.7,SB40 b+ z* J- k. z0 n! e% o
     DJNZ R5,SB3_2
& _; ~) {9 z- K, z* V     DJNZ R4,SB3_1
) J9 H6 c& Z  F0 j     JMP START
, M2 V- j3 e8 m6 v; H9 V) [SB4:                    
* }4 Q) V; j, |3 R$ t; E     MOV R5,#5' }, b/ _" L' ~
SB4_1:. f( x* z2 T( S. ^
     JB P3.7,SB3_2* _+ H$ X& _9 b. @, o. ?
     DJNZ R5,SB4_1
" c* u2 x5 @1 N     MOV R1,#1AH  5 M4 c% Q3 K1 p3 q
     MOV R2,#4, M, i' b+ W3 o: ~' e
PP:  MOV R3,#8- W7 n/ o! M9 P6 w+ S9 F2 Y+ l
JJJJ:. h& @2 \, o& o& p* ~/ a
     MOV R5,#250: i) d6 c" u/ V+ {$ u
JJJJ2:               
* G5 N6 h, f/ M1 \5 z( e  W2 d6 {) A) E     JB P3.7,JJJJ3
# ^; Z2 z5 D. |4 |     DJNZ R5,JJJJ2
$ X$ P# W2 P2 I# \9 s" k     JMP START
& Z" Q* M" s! S* A+ U& Y* u& C% CJJJJ3:4 \7 B2 Q* p! t: g! ]8 L4 i. ^' @. ]/ k1 E
     LCALL YS1  
, `9 M: K8 e: u7 X6 }$ n     MOV C,P3.7   
1 P4 @: t& ]8 Q; D     JNC UUU      6 {% c/ H1 h- I1 `5 ?" Z4 D
     MOV R5,#250
2 D  ?1 [, \; ZJJJJ4:( b& _$ v# W: h6 d' E/ D
     JNB P3.7,UUU3 m4 a9 G  Y1 b# c' h7 z5 h
    NOP
+ |& C' }  p' T+ L" I     DJNZ R5,JJJJ4
; ^* ]: @' R  d% U4 e+ L     JMP START
2 S" t! A* g# d& OUUU: MOV A,@R1  
, _6 V3 s: S+ @  K/ n1 Z     RRC A           8 ?4 H2 s1 h0 Y0 \( F
     MOV @R1,A      
* G6 P) {8 t' C7 k2 [1 n     DJNZ R3,JJJJ   5 z7 L$ t2 X5 D0 O) x5 v7 K
     INC R1      
5 G1 R, Z0 w4 v7 I! g9 ]! L     DJNZ R2,PP   
7 _: B' j& V9 }- M! C5 Z7 P& V& Q( I4 d8 ~
     MOV A,1AH
7 z& x4 O# S8 ~% Z' W     XRL A,#11101110B% C6 H2 u) L5 j- m" p( b" W
     JNZ EXIT
. s; o3 N% x; {  B. ]' X     MOV A,1BH
  A- \& g# P/ }9 n: J5 q     XRL A,#10000111B- E" J4 u3 j( h: K0 j% M' D
     JNZ EXIT
0 s6 q: V4 g0 H0 |     LCALL YS3
1 i. q" Q% u( L' E- Z     MOV A,1DH
& d% S: n2 D: E3 G9 ^     CJNE A,#10111100B,EXIT- ~! U- ?: O5 v9 p( x6 P
     LCALL YS3
, U- z  \9 j& f& Y; J5 D9 L     CLR P2.6  ; L. ^! W- H. ?
     AJMP BIJIAO3 @+ i. U$ D2 e  J3 `! x! c9 E3 a
   
7 |6 a, X% W4 t: }6 @/ {4 g9 ^3 DAA: : b4 |  e8 x, M8 l
     MOV R1,#25
( C7 ?0 U6 W- B5 X2 k7 ZXX: 2 q; ]. W& X) e. r9 S4 e
     ACALL YS2
! G+ Y7 R  A* S2 V; {     JNB P3.7,HH * U1 \( ~& z7 f% O- u0 y
     DJNZ R1,XX
6 Y, T) z4 c: C8 ^) }3 qEXIT:   
. {. z8 L' c  x2 V0 e* c& `: g     AJMP START5 Y. p+ m2 t* z$ o7 q. o% T6 y2 k, p
   ' c' s  M# e2 J& ~- a
HH:
" p3 Z8 E' x- y, l' t     MOV R6,#46 {! ], O2 p. ~' X6 B# t7 Q7 N
S:
% b6 w. W) T- m     ACALL YS1
5 y+ x; P5 z1 ?3 G     JB P3.7,EXIT ; q; N6 r% U; c, O  x2 z# G4 r
     DJNZ R6, S
9 g: |( L2 _- e" q8 }4 U4 H5 B     JNB P3.7, $  3 y5 T' \: o' q! I" Q
     LCALL YS3
, e3 }$ {$ F4 ?. U1 T3 w     AJMP AA0 v% o1 C2 J6 j! _5 H: d
BIJIAO:. P5 h4 I4 \3 w. L, C
     MOV A,1CH
  R; `2 D8 ]  F& N( w     CJNE A,#03H,N1  
& z7 |8 ^5 n9 D# J% @6 }. R# T     MOV P0,#7EH    # e% O% w/ l8 x; a5 P0 z" `
                      ; Y8 h% E4 m% z( F
;处理STUDERV录音机控制码
8 b# h# I# ]4 R" g1 t& CN1: & p+ A) ^' I! s9 {2 ]% K7 h3 }
     CJNE A,#5FH,N2 ;播放键
- |, |1 W/ t) F* x/ R# @( }     MOV DPTR,#REP& v+ }: b2 Q2 E0 t, l2 c
     ACALL SENDA
, z! _, r3 `/ Q: \$ x- R     ACALL YS4
- f+ Y/ l7 T, o( j6 j     MOV DPTR,#PLY
, T1 V8 [  u) V* K3 o: |     ACALL SENDA
" K/ L2 L/ w' b+ g7 \) ~$ B% Y! nN2:2 Q& K5 m7 W+ ?/ z. K# Y( e. a
     CJNE A,#5CH,N3  ;停止键: ?  O% Y7 L% g
     MOV DPTR,#STP7 R" y' k- Y4 c, x( [
     ACALL SENDA$ q/ P9 F* h$ c8 g5 B
N3:% D, f" p7 |0 v
     CJNE A,#06H,N4 ;快进键+ K2 ~$ ~  {/ O0 g, d1 E
     MOV DPTR,#FWD
; }# ^5 ^9 x6 \; o     ACALL SENDA# B$ W! O+ {4 i4 x, F
N4:
) u8 V( Y: U- [" j! i) r     CJNE A,#09H,N5  ;快倒键
+ n2 a( P8 f+ f' m. b     MOV DPTR,#RWD
9 m% A+ ~4 Y, P7 j: ~     ACALL SENDA3 t9 ~' j5 r  Y+ U
N5:
0 S6 l( F* Z3 s) o5 K& o) s( B. |      CJNE A,#0AH,N6  ;置零键& h( S$ J, B4 B7 y2 V4 y* P
      MOV DPTR,#RTM% }' ^$ L& L3 s0 e
     ACALL SENDA
7 J, w: g/ j/ v/ `/ sN6:
7 |( P5 ~5 V6 \1 s     CJNE A,#0CH,N7  ;定位到零键1 b0 W; V+ M/ c
     MOV DPTR,#LZA
  q9 M" Q$ `8 \4 v) j& G4 }  e     ACALL SENDA& C  g% i( G3 p, G4 j: s' e3 @$ Z: U
N7:9 q, W* Z, U7 D; P# \
     AJMP AA
  h1 G: p6 g* c' \' P9 `SENDA:1 t  q9 ]8 q: K7 t
     CLR A; t5 t* d6 I9 T3 p: I/ W9 a
     MOVC A,@A+DPTR
7 a9 ?6 o" m+ P& [6 Q0 q5 `. `: R* E     CJNE A,#'$',SENDB
* y9 `' n+ _3 ~* B+ u     AJMP SENDC
6 z1 X1 h. H+ ?SENDB:7 j6 [0 K, n) u+ i. C, c2 m
     MOV SBUF,A0 |1 H4 v7 D/ _) W6 l) d
     JNB TI,$
: Z# ?; o: Y% y; ^     CLR TI& @) _' @4 I3 {7 X0 ]: N
     INC DPTR
# Z$ |4 d8 b* z! j; u     AJMP SENDA! t( T7 }3 `- S/ A7 ?, D
SENDC:2 H9 \5 p9 k& ^, z+ v, {6 q
     RET3 h0 z; v% p. ]; r5 v

1 U  R: H1 }3 N* }8 x# f* S8 oPLY:  db "PLY ",0dh,0ah,'$'5 B  ?+ f8 c- J4 A3 B% n% P+ B6 D# ?
STP:  db "STP ",0dh,0ah,'$'
3 V; m! E. r; W" G' p' TFWD:  db "FWD ",0dh,0ah,'$'0 M& ?$ w& _; K+ u5 m% W) b1 v
RWD:  db "RWD ",0dh,0ah,'$'
, h) |1 {( {! @& F9 wRTM:  db "RTM ",0dh,0ah,'$'
$ q( t; b/ ?! {7 ~LZA:  db "LZA ",0dh,0ah,'$'+ F: T  y+ t- J/ H0 i; J
REP:  db "REP F ",0dh,0ah,'$'
1 I2 m+ ^1 `  N5 V( o0 o& C) Q4 Y1 g3 J
" G8 F% P: \) j9 C: o. W+ tYS1:
6 ~9 }3 v& m8 l3 x1 P     MOV R4,#20- L- k0 g) ]1 i+ O
D1:6 v" L2 D+ M( g7 f; ^$ y- W
     MOV R5,#20
% D  \8 M9 i6 s$ O/ U     DJNZ R5,$
3 w/ Y, f8 `! w: a     DJNZ R4,D1
( m$ u/ T- n5 P  v( x     RET
, ?  ?2 T1 T; W2 k0 ]
3 e: x3 F8 C& b2 L, e4 L' iYS2:( N8 H) u+ ^! a# v
     MOV R4,#10
0 I/ a# [5 l8 Z8 @7 J. N9 |D2:
, R, l! P0 \- v     MOV R5,#235
* t7 b  p0 N, F, O" [     DJNZ R5,$9 d8 F: ^3 l5 y# D
     DJNZ R4,D2: j, Q" ^- u7 U# N, s' j6 r
     RET
* P* J; `6 p: }* S
; u! T  h" y% _# U. m4 p0 Z+ MYS3:
6 M1 B) I# P+ P9 G# }     MOV R4,#2
' q1 h0 F& U2 n5 s& W; `7 h, OD3:  n' ~6 P# a! D1 K5 D5 L
     MOV R5,#248; E; B7 {/ U% N& W4 `( O2 k6 N
     DJNZ R5,$% i  y) e4 m$ ^$ _: Q' V
     DJNZ R4,D37 B  S' G" l: N
     RET; U! n! F; h" v: e1 D
) g: C$ ?2 w3 H5 F$ j/ c
YS4:
) ]( n" l% e, I5 d" e. u     MOV R4,#200
3 t# E/ O) n# k) Z9 A5 g1 @) h( D2 xD4:
9 e2 ]: |0 t5 E7 G& }) u% J     MOV R5,#248
& g! H2 D+ x) ^     DJNZ R5,$8 Z6 O& S8 b2 H4 ~( h7 b3 }( I* p& M2 }
     DJNZ R4,D3; Y$ F# ~% k- {8 D. w: |& ?
     RET
9 F! v1 `/ {- [     END& p8 ]' n- g+ g1 B+ b8 T9 W# B/ B9 t2 k
: C* Y9 M; R8 X5 y/ k- a
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
9 @/ \# ]  }, z, Z是不是很惬意,嗯!
+ \0 r' p2 P/ I* _' [/ @: `

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!- _9 c( \& L( Q
YK 005.JPG . _# j2 r! h2 y6 }' K+ V. [& x- i
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下! p2 i: ^) X. o( _+ E
发表于 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) p2 k; I1 Y+ W7 i% @最终的样子,有点简陋哈!
  W& c+ y) c7 G( Y
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2024-5-17 15:21 , Processed in 0.077431 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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