收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
* A  y5 W5 C% v8 m. m" k( V' S$ P
+ w- T" {  d3 E9 m  d. {% m本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。5 Z0 ^2 y; E* `$ M5 s2 _
; C* y  G, r3 R# g
说明:6 s5 w1 L' ]0 _3 z" k6 M3 Z
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
+ I/ F: N/ `1 k( v2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
3 V( }& S6 v* G3 A$ `
+ C3 B% r4 V) `' n一、基本思路
# }7 n: d+ D, z; m( t使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。  A* V% c/ ~. v  `- p

2 Y, y6 x7 Y; E0 w3 e二、红外遥控器
) N. V3 G  p  W! x+ g. k我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* b- B( j: d% |$ m% h6 ]5 L
Apple-Remote.jpg , v" O; y" U! s' X* Q. U9 s" Y
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。2 m4 y: L( B; F$ A. j/ C$ M  }
Apple-Remote - 副本.jpg
) K3 Y5 Y/ X" f: N3 H在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
. D3 K; T% L& \* ~! S& }* y Apple-Remote - 副本.jpg ( o. n* F) K6 G$ C# b) i
" j: o' H' e) `; ]' H: Z
三、红外编码) j2 e/ n3 X+ G! _, m, @" V
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。3 Y- P9 F: D# l; S
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。5 S. u4 k0 J$ D% t# X% c$ W
后16位为控制码,主要用于实施具体的控制。
. P; T8 ^# Z, O0 u这16位中高8位和低8位互为反码,以提高可靠度。
6 w! S9 I8 i* u2 o
& s+ ?3 g* z7 K9 e6 V以播放为例,其编码如下:3 A; l  L' c. I1 H$ A5 r
00000000 00000000 01011100 00000000
2 A0 J8 k2 B( `5 [" ^# D; k  l$ Q6 H  x1 K
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。/ }0 M7 \* N8 O* d9 \( U

# S! F4 C- {. B3 T) w四、单片机系统
# f5 `6 t! @4 H2 ^2 J, s
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。1 M1 l6 g3 U5 U6 ?- O& M4 ~: r
c51.png
5 e5 ^: |" L/ |& C( w & L  L% I4 @$ Y3 K
电路很简单,功能如下:
* S% z9 P+ n2 v3 O1、一个AT89S52单片机作为核心;
: |% P* f: {$ p4 }2、一个TL1838为红外接收头直接串行输出数据信号;. m; {* B' B6 i" S$ Z
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;, y' a, T& r/ M8 Y* I# @: n
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
' ]8 G0 E% @! \+ t0 }5 A
" f" V* X! Z+ f+ Y9 L5 t关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
8 v) w/ r$ S( h' m& H( e6 z
9 C" o& j  Q5 l9 j
3 x# R! d6 f* p, F- R& `8 j+ e五、控制软件
) S. l  _0 Y8 h
控制软件用汇编语言写,源程序如下:
7 D6 `! d) d2 }" Y, C+ t     ORG 00H
' y0 X! ~6 B4 A/ G  n     LJMP MAIN- M; K1 k3 x6 e
     ORG 30H5 m5 O! p3 X, S2 s. K) g8 C  c
MAIN:, Q% o; u* O) ]* p2 n
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)  G. m1 [( u2 L
     MOV TMOD,#22H  ;22H; c1 z3 N* D' r0 V) i! ^8 o6 x  a
     MOV SCON,#40H  ;40H
) P0 c6 }, B( ?3 S     MOV TH1,#0FAH  ;F3H6 U3 Z- N* L8 t& q: g
     MOV PCON,#80H
7 P9 ]% L( D1 \7 x1 k$ J$ T6 V     SETB TR1
" q5 C* y1 H' f  U1 R* D; W4 RSTART:
9 ]2 `, ~# M! m. D% q( i& K& [     JB P3.7,$ ;遥控信号处理% `5 T" j( u% t
SB:  L- [2 z8 f3 I; S
     MOV R4,#8    6 x- i/ ^2 [, U1 _5 w3 Z* \
SBA:4 u4 \4 P+ ]! E! Z- W
     MOV R5,#250
7 r5 J6 _& p, H# O3 U' LSBB:
; |, b# _- A1 w5 T) F3 V. ], c     JB P3.7,SXB1
  L) {) u( o2 `* V) y     DJNZ R5,SBB/ ^. [; Y; |  h5 X" S, z
     DJNZ R4,SBA
$ P8 [' X3 w0 B* m5 w     MOV R4,#2
: o) v& N; p: v: F& `! z. \     JMP SBC
% q  n6 n# d3 RSXB1:& T" R; b3 U. }  W1 R/ a
     MOV R5,#5
- N; {" K  r/ j5 U6 b2 V9 gSXB2:              
2 \0 `" Z6 a5 a  e     JNB P3.7,SBB
7 P$ c/ K* }: P     DJNZ R5,SXB2
$ W9 `8 I2 B' K& k9 T  q" {# V     JMP START( h& X4 {2 u5 U# h6 A" o
SBC:: r. ^1 ~/ z- T! p" U! D( a: D8 K8 K
     MOV R5,#250' s+ _. D/ f  H: u
SB1:& U! t" S& r/ k9 P& i1 {# F# F: T
     JB P3.7,SB2  
, j- d" L- z, g$ V: I     DJNZ R5,SB17 o/ |3 z8 R. w3 K+ k9 H
DJNZ R4,SBC6 D% T9 w' S( M1 |' p2 s4 w
     JMP START+ f+ p# Y; I) |6 O2 Q
SB2:                 ; X$ @4 y/ `1 T( g" r6 W
     MOV R5,#59 |  q2 o( C6 i  b
SB2_A:* y2 M& F! B: q) ~
     JNB P3.7,SB1* ~5 O9 a" d( Q- v
     DJNZ R5,SB2_A7 d0 W( C% o" Q0 Z1 z0 T6 G6 q
     MOV R4,#3" {$ Y6 H$ k# y2 U6 i: B. n
SB2_1:6 D* E2 k4 S/ N' R# V
     MOV R5,#250
6 }0 q6 k( H% r- \4 W6 PSB3:                  3 P5 w+ F5 z' Q$ k
     JNB P3.7,SXC. d" j0 C9 V1 v+ ^  }( m
     DJNZ R5,SB3
- P1 Z# ^) I; t! o6 y0 ?6 |     DJNZ R4,SB2_1) q# U* k. @. ?6 o% Z, b! Y
     MOV R4,#2
9 }' H" \( K' ?) E" v6 O9 l1 X     JMP SB3_1. H* b; X1 `' f# \/ c  H
SXC:                  
$ j! m: `7 }9 b+ O! x  z$ e+ D, t     MOV R5,#5( N* A) n' L9 {
SXC1:' B, l+ L# C% q* C& K2 b
     JB P3.7,SB3# W. G  b: W( I1 x) @
     DJNZ R5,SXC10 S& _/ l* q  U5 G& u+ G
     JMP START3 v# u6 ]$ W6 j6 ?
SB3_1:                 
2 b) _: V: Z, ]& |- U2 q$ I     MOV R5,#250
  h7 S" o. C- `; `& e+ q' mSB3_2:: y6 c3 O8 y$ i9 i
     JNB P3.7,SB4
. I/ t% `" O5 a6 L( V     DJNZ R5,SB3_22 U; X; w+ f" [
     DJNZ R4,SB3_1
- z8 n. l$ r9 n1 F( E$ o     JMP START( ~' R# J/ U1 T3 @
SB4:                    
8 l# Q3 u8 @7 R$ z/ U     MOV R5,#5
6 |. q/ o& V/ ?; nSB4_1:7 ?3 r% Q- j+ q6 a5 b4 T* i
     JB P3.7,SB3_2
( H+ s. f2 D! J" H1 d     DJNZ R5,SB4_10 F2 \5 l) e* q2 \: e( J5 [2 Y4 S
     MOV R1,#1AH  
6 q- `3 o7 Y: N* T     MOV R2,#4
" c8 d7 D' R: M+ f- j+ I2 g$ ZPP:  MOV R3,#8% J, H1 |. `9 o# N! c( c
JJJJ:( y9 |  j; q, B
     MOV R5,#250
. R+ a+ z; w" sJJJJ2:               
! E" R/ Q$ b; L$ y0 F     JB P3.7,JJJJ32 f2 T; v7 }1 v' E. T
     DJNZ R5,JJJJ2( p* m# [7 G- B0 g3 Q
     JMP START
9 G4 ~3 G2 P5 Y! n) tJJJJ3:
' Q. I9 s( g' [+ d7 c     LCALL YS1  
  S# d- R3 M, A) B6 X/ e     MOV C,P3.7   
' ^3 B8 `- ]9 w# f7 z+ F; s     JNC UUU      4 m* W, m# w$ i- w8 s7 P
     MOV R5,#250
: \2 k0 {  {# @+ S  l) t* NJJJJ4:
/ G1 T* K& S+ V% |     JNB P3.7,UUU/ `# `& Z' s& r) Z4 f2 [) T# L
    NOP
) S% r0 m) @! J( }% X, T& @1 e7 `: u     DJNZ R5,JJJJ4& C0 [8 F8 C( g" A# B! o
     JMP START
/ h/ g9 Q1 D; o: W) V% K* I2 \UUU: MOV A,@R1  
3 R" i! ]5 t7 G: A     RRC A           8 i3 M# Z( D2 D6 E! ^% k4 j6 U
     MOV @R1,A      
, y- m( a# f4 z  j: Z! J& a/ T     DJNZ R3,JJJJ   : \. k5 f% |0 n6 R3 X% ?
     INC R1      
. P7 P; _! Q/ F$ D# t     DJNZ R2,PP   . }! l1 ^& k/ p4 P( z! _* j1 _
+ b, }% z0 [  w2 S. B& O! v
     MOV A,1AH
' f& \0 q! L# i, j4 T     XRL A,#11101110B- F: X; T6 s# d
     JNZ EXIT
$ F6 l- t) h, U" e# H     MOV A,1BH - ^2 R3 S& [7 ~5 n5 h. g3 b6 G8 E
     XRL A,#10000111B
! Z* y9 E" {" {& Y" P" E2 c     JNZ EXIT
  k7 _* Z# O) N9 I4 _. R. N$ U     LCALL YS3
! G* Q! K! R/ H. i     MOV A,1DH
! O  o9 R, E1 `; u     CJNE A,#10111100B,EXIT
0 s# ^: G. h6 d& ~) }     LCALL YS3
8 z, Z" B, S, l: R# J     CLR P2.6    d- b/ y+ i% P6 w$ i0 S
     AJMP BIJIAO) d# x! l+ @, _' ~
   + l7 M; ~8 R3 b0 [# n
AA:
$ {  _7 k# N  H$ r     MOV R1,#25
! H2 {+ W3 z- V! O8 a6 DXX: 9 o$ i4 ]  S% u$ U* T: h. p+ e
     ACALL YS2! Y" \- R/ l- w( n& I2 x! Y
     JNB P3.7,HH
; [8 T. g! G, Z+ j8 P* h9 L     DJNZ R1,XX
5 x/ K! A" \' |) s$ F! }EXIT:   
* V0 ]+ Q6 W2 \( ^/ X  Q     AJMP START6 u6 }7 W' Y& I$ L( |' ]
   : O. }4 N: y2 ?0 J% U1 a3 i/ }* ]
HH:) e( E: p7 ^4 x9 `# X+ H) y+ J& e' W' d
     MOV R6,#4
' I3 P% k( p. V1 l6 {S:
3 u6 B5 n" V$ N  W! \) k     ACALL YS1 8 L  W4 n- A2 a+ X8 P+ y* w7 K
     JB P3.7,EXIT , U  ]& i2 N8 K! u
     DJNZ R6, S 3 l, i& T4 q$ }" d8 E+ y1 A4 ~
     JNB P3.7, $  
+ U* N# [7 m; L' H* H" z     LCALL YS3" |4 R# v  E0 o3 j% P
     AJMP AA
) X: w& K1 u6 _/ hBIJIAO:, N! U1 g/ K4 q1 e: e
     MOV A,1CH
! ~: _- m4 j' V$ B2 N) q     CJNE A,#03H,N1  . g: Z4 Q, q7 T- ?4 H: g5 ?
     MOV P0,#7EH   
; u( \' V( e7 T% G6 W: p2 K6 z/ Z                        V+ e9 }5 E7 R3 y1 o, S. L* a
;处理STUDERV录音机控制码6 Z! I8 F5 T% @0 p# q* ?
N1: 9 u" f* n/ \& S
     CJNE A,#5FH,N2 ;播放键5 b$ {" Y4 U  S* X" k3 V) I
     MOV DPTR,#REP
0 z' Z1 L: E6 v2 k1 y, ]% f" U6 J; j; {     ACALL SENDA
8 O0 \" J/ K( x     ACALL YS44 Z: r" m0 V" H" ?
     MOV DPTR,#PLY7 y4 c3 F, E  n6 R
     ACALL SENDA8 m2 D9 ]$ G; f8 F) C* {3 m: K
N2:) T1 J$ B. b+ [
     CJNE A,#5CH,N3  ;停止键
7 U- ~% Y# R; P* s     MOV DPTR,#STP
3 d6 v# X  e; K+ s. c     ACALL SENDA6 ]% P/ D: {5 L' r# ^- P5 C
N3:& ?4 i+ o3 T# e9 R0 Q) ?
     CJNE A,#06H,N4 ;快进键) C4 W4 H- q5 `. ^. S
     MOV DPTR,#FWD
  v6 i  }) A4 a5 a0 c0 V% q8 H+ X     ACALL SENDA: B" W: z& c1 G/ J& G5 c' L5 w
N4:
2 O9 Q: Y$ G6 O     CJNE A,#09H,N5  ;快倒键5 _+ Y6 Y3 c. M! ?
     MOV DPTR,#RWD! I: ]$ P4 O# T. g, `' M3 h9 I9 H( H
     ACALL SENDA
+ q6 O$ q- L) Z1 |9 AN5:
% P( J: x4 ^* e      CJNE A,#0AH,N6  ;置零键
& Q1 ?7 A& T" q6 R/ u5 u      MOV DPTR,#RTM
- S5 S5 d& s6 o* \# }' S5 ^( \6 e     ACALL SENDA
/ C9 j* F) \: o& }2 N7 K# K3 J9 XN6:  W& T' C7 c) {
     CJNE A,#0CH,N7  ;定位到零键
7 D9 D+ C& q7 Y1 F& s     MOV DPTR,#LZA& ?  d9 J- R0 W/ d* f/ X
     ACALL SENDA
  N( S* l9 ]& P1 t  Q. @N7:
6 v0 @3 P3 n6 G' l& p     AJMP AA
' {; Y: R9 [" M* pSENDA:
, A& w6 R+ J+ O0 q, X  j1 D     CLR A- r" g3 c6 a  ~3 D4 ~
     MOVC A,@A+DPTR/ J' R' o6 t2 \" p& g
     CJNE A,#'$',SENDB$ p  D( V. p% J! X
     AJMP SENDC, @5 \6 g+ Z% k& }3 C
SENDB:
. r! Z% x# x7 O     MOV SBUF,A
# f& e0 Q& N! D6 \) T: a     JNB TI,$
8 C. @/ B' A( J8 }0 M     CLR TI
/ S# q' i) F9 ~0 S, Z: }     INC DPTR
% M* V/ `6 \! D8 F! q2 j& v$ \     AJMP SENDA
7 q+ D/ R0 _8 T, zSENDC:" X! j7 J* y5 B" p
     RET$ L  T6 [# C- J0 s# w

) N5 W: h  ]- E$ e  CPLY:  db "PLY ",0dh,0ah,'$') w4 h0 o3 p1 W
STP:  db "STP ",0dh,0ah,'$'3 Z" f! Q8 s7 G& T
FWD:  db "FWD ",0dh,0ah,'$'
) O9 p  X4 {" }9 IRWD:  db "RWD ",0dh,0ah,'$'
$ U" f5 @) G+ z5 f* X  JRTM:  db "RTM ",0dh,0ah,'$'+ F/ ?9 e7 W3 \( l, y: j
LZA:  db "LZA ",0dh,0ah,'$'
6 \& [  b" w8 E7 u/ b' \REP:  db "REP F ",0dh,0ah,'$'7 Y  K6 f7 b( k

0 v# z6 x3 i! aYS1:
8 v* o, B. p2 X     MOV R4,#20" R0 ?9 Y$ i# I9 s% p
D1:
  y7 Q; f% k: t0 n% I$ h7 u     MOV R5,#20
! {" n2 K8 l5 a2 E% P2 i2 F) f9 M     DJNZ R5,$' x5 B! ~  R& m+ @- m: u
     DJNZ R4,D1* r- S0 f3 r, F6 c
     RET& T$ f9 n( u# T0 L( {4 G
1 b" d' W  u% j" T0 Z
YS2:
$ U7 U! \# S- Y! R# F8 e     MOV R4,#107 g( m' y9 s. {( L0 Z
D2:5 _# C+ D0 y& Z/ C
     MOV R5,#235" M' T* ~# X* d+ ?( s
     DJNZ R5,$' D' V6 `! y% S: z9 S2 B+ h
     DJNZ R4,D2; W6 q; C) @) o3 [) n0 G" p# f
     RET
5 J# g5 I0 c* {, r5 E# y% G4 o& A
+ M% r' ^+ K7 C  H( S4 q& QYS3:
9 R, j( a# }& x' H     MOV R4,#27 h. d7 t8 N& p8 O2 `' q
D3:
' G$ z% i% `! Z     MOV R5,#248
8 s. i. o2 R3 i, Z1 @     DJNZ R5,$
8 O9 c+ h; y. M$ K     DJNZ R4,D31 ?  D) |" N! a3 `
     RET
" D9 b/ v8 i; u( h( }0 p7 l# T7 N. g! D
YS4:+ h# S8 C, C9 \  O5 ~$ A, I8 I
     MOV R4,#200
& q( k$ m9 ^2 I" S( {8 OD4:" L! b* U' `1 Q
     MOV R5,#248: u( j8 e- ]8 V) b
     DJNZ R5,$3 X: Q4 ^9 O. A
     DJNZ R4,D3
- W: [& \( w7 C( _     RET
1 [: f3 H; d* @0 }* h     END
2 o% G0 i5 L: q2 |) {( |
# a7 t( }3 u% C& @/ K9 l有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
8 Z. X; i6 A! O* ~6 I: M是不是很惬意,嗯!
9 b. q# V4 u7 v* v

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!2 b5 _/ {+ m6 E% u4 ^2 x, Q: e' B5 r
YK 005.JPG 4 Z8 S9 E8 R) A7 H$ u  \3 H- a! x
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
6 g! R9 M; V( H1 t5 V" C# a# 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:543 v7 P) j9 f/ _$ n7 i! D
最终的样子,有点简陋哈!
  E& S- S5 [! c4 N5 h
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-10-3 21:56 , Processed in 0.183453 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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