收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 $ W5 _+ A' L- t

2 h7 \' p" m5 P) m9 M本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。) [* i* a& h) j( {
% N3 N, u( u% E$ F& R# e
说明:5 v8 k( H) n& l2 a- X% h5 @
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
5 B# [! z7 D/ J; i2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
1 v' w7 Z7 Z1 u7 X+ O0 G% b+ U/ r/ G  y: M3 {# G" j. S
一、基本思路( x3 H) s2 Y3 ?* Y: C$ u
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
- [9 ?4 W4 W! W( m6 K7 r5 Q  `/ s% m! K% w: O( x0 M
二、红外遥控器# p# k( J, {; o) o+ [7 @. {
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
  Y  \1 A, V' D: G/ ~( a Apple-Remote.jpg 8 ?" @2 T" Q$ W7 S; Q
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。/ w. r( o; l! ~" _7 Q
Apple-Remote - 副本.jpg
4 t8 X% n4 T, U$ }在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
1 E. X# i, L1 q: _, ^ Apple-Remote - 副本.jpg , n3 W+ T+ [6 R2 x3 ^6 @! q, @

# _; }) T& ^$ J% J' w7 _( Q三、红外编码
" t0 h2 P; f: C- S) p+ O红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
3 s$ O7 X- k! c前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
8 U5 V2 v8 Y  P! W) U后16位为控制码,主要用于实施具体的控制。$ m. E% ^  q) p$ M! h+ V
这16位中高8位和低8位互为反码,以提高可靠度。
! j$ k- o4 ]+ I! s- L9 U1 a5 K8 l( h% I5 R
以播放为例,其编码如下:
: ~" e. f. I. w6 x" e: {00000000 00000000 01011100 00000000& c8 m8 j7 b2 b* U8 s; I+ {" P! P4 [# d

; G' e( q3 X2 K/ \" w" H你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。  o1 L) P6 y& s( q, K# B
+ F/ b8 }; ~' z, d: v; ^
四、单片机系统7 ~5 X! I- {( @9 y. ~, M: k
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。8 k, y5 |% e' I3 F0 V
c51.png $ t* w4 ^0 |% z
$ ?2 v* }$ W( Y6 k  A  ~
电路很简单,功能如下:
" i- `7 w9 a: y1、一个AT89S52单片机作为核心;
* p2 m. C* w: @- X1 b2、一个TL1838为红外接收头直接串行输出数据信号;0 ^( {/ T2 f( n( U
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;+ o, Y  c' ]- e
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
; [7 L8 C: W& a% P0 m( W" m
/ B2 l9 t. Y2 V( V. E, j关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
5 i& K% s9 e# _" T0 M) Q( e6 Z. p# b$ n; v
; S1 \6 I1 ^+ ?4 m
五、控制软件3 f( O" D& F; S
控制软件用汇编语言写,源程序如下:; ^6 L& ~* K# Y  d- [  G1 c
     ORG 00H
( m, [$ [  p6 r1 U. k     LJMP MAIN: J; Z, U* N" ?# j) w, n7 X5 H$ \
     ORG 30H, i# O$ C3 ~: m; Y' {/ L. M
MAIN:% l0 ~3 J+ D- ?( L, t2 {3 z6 [$ a! J0 O
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
" t& U: i3 D3 I  `( Z: n     MOV TMOD,#22H  ;22H
" b" N- Z  `5 |     MOV SCON,#40H  ;40H! ~7 ]# K) y. y/ V' X
     MOV TH1,#0FAH  ;F3H* D8 X6 u% O6 Y9 Q; e. N  Q
     MOV PCON,#80H
  u/ R$ A9 A# y& n" P/ @     SETB TR1
4 c6 G# d9 Q7 |7 [4 Y9 [/ tSTART:
/ ~) n+ F7 y7 g& y5 R& A1 L* V     JB P3.7,$ ;遥控信号处理
5 ]; n; O& B2 T# Y% kSB:
5 d9 _" U2 [8 {8 a     MOV R4,#8    ; t* c& i& B" o$ _8 m
SBA:* @7 v: N0 r0 P; _5 ^% M/ R) ?
     MOV R5,#250# y2 f' ^9 b: Z) [
SBB:: s0 q: }3 v1 o- i0 B% E0 @
     JB P3.7,SXB1; I8 Z! D% H( e1 ?$ g3 n/ J# Q$ m
     DJNZ R5,SBB5 m  v+ j; A8 [
     DJNZ R4,SBA
( f' ~) t. S% x# P7 t     MOV R4,#2
0 I+ q6 @$ [! Q  j     JMP SBC4 k; @# `, H/ X9 U
SXB1:, a) I& k: E6 b& Q
     MOV R5,#58 y9 X" H# u' Z( e
SXB2:              5 N7 C6 g7 G9 H/ S. t1 z: Z
     JNB P3.7,SBB
8 O$ d$ N, U" E& G     DJNZ R5,SXB2
8 @- y8 x( X: S. f: _3 V- `3 d+ T7 k     JMP START/ V+ x; ?, ?) F  R% U* G: i9 ]
SBC:  \) o" X; l( |4 T5 I0 ^8 Y
     MOV R5,#250
! I, R' w! U) H; ESB1:
1 Z; c6 K- Z+ D1 u% D     JB P3.7,SB2  
% e8 N7 x; v; `* \     DJNZ R5,SB1
+ j% z$ [& r$ m& R4 m; C DJNZ R4,SBC
* I% k: E- R2 O* A% O) D     JMP START
2 `! P0 x5 P) r% X; K" M/ w; iSB2:                 ; D0 i1 v: X6 w/ V" C
     MOV R5,#5
' M: {7 S% n. A0 b: q: vSB2_A:' R( R: `) f% q4 @3 E
     JNB P3.7,SB1! k3 W) L" x6 n& \, h7 r& m
     DJNZ R5,SB2_A
1 ]3 T" k4 {5 S2 g* X: Z8 u     MOV R4,#3
. Z5 p) J/ Z- p& F/ j7 BSB2_1:$ N+ u9 I, w' S. h7 }# `7 T
     MOV R5,#250( T4 Y8 P0 i4 i( G9 Z! p8 ?' m2 J
SB3:                  
) {6 B& ^% q3 O1 c- E     JNB P3.7,SXC
. Q' \# B7 v, d8 r4 R2 z     DJNZ R5,SB3
2 o5 K: I( D% L4 _/ t# a     DJNZ R4,SB2_1
. c3 r, _# L% P& L( P     MOV R4,#2( S, M1 T" ]: s( A6 l7 s( Y
     JMP SB3_1
2 ^7 Y! F. f& c/ |SXC:                  - _3 j# _6 S& W% H
     MOV R5,#5
" h! ~, F8 E( K" f' z! L7 f, i1 LSXC1:( c3 f9 ~! ]. U+ \$ d4 g
     JB P3.7,SB3$ L4 W" f  J9 N1 v6 v' [* \0 L
     DJNZ R5,SXC1
8 @6 Q3 n6 n+ A' q' i! o     JMP START
# ]& Q9 A$ }/ @. B5 N: \2 sSB3_1:                 
+ }. U$ i3 g$ s+ J8 Q     MOV R5,#2507 o1 P9 d$ ~0 O$ i4 [
SB3_2:6 y$ E6 d& Y* k2 _
     JNB P3.7,SB4
  h- K/ c8 n/ n5 Y0 x     DJNZ R5,SB3_2
4 O$ t  p, @3 u- i     DJNZ R4,SB3_13 w/ S+ Z  G& @6 g: i  J
     JMP START
1 ^/ W5 F- O0 g: {' _* DSB4:                    
; K: Z+ U! W4 R4 y8 c( L9 i' z     MOV R5,#5* K1 W+ h! M2 y. Z: }2 l  B
SB4_1:
. M5 }; V% [, i. ^/ A# D5 h     JB P3.7,SB3_2
1 ^/ O, ]- [, d7 I7 m     DJNZ R5,SB4_11 @5 ~/ d  {  D4 @1 I9 i( \2 X% o
     MOV R1,#1AH  8 L7 H3 d& `- s% w; T
     MOV R2,#4
. ~- t" M, D3 d) QPP:  MOV R3,#8
, I: e' i$ K" a( [$ s: `JJJJ:
5 c2 {  v4 [, K1 N     MOV R5,#250  {! p* p: }+ W4 r. b
JJJJ2:                3 O* U  N2 B" B: w! x. z
     JB P3.7,JJJJ3
) s  `8 j% @) u/ W, s1 z# [. j     DJNZ R5,JJJJ22 U# t1 I  J6 N$ H7 B, y* s
     JMP START- M1 Z- Z, K7 k  y2 A0 T2 c5 k5 q
JJJJ3:
: N. O; N) u4 H4 }- f1 b     LCALL YS1  8 }6 x+ {" q5 n# Q
     MOV C,P3.7   
9 S0 l- G" t) ^7 [2 _" E     JNC UUU      
( D9 |" p1 O1 T2 `     MOV R5,#250
) [, ^) v2 b$ FJJJJ4:4 o  H5 V4 b2 Z# S1 ^: Q
     JNB P3.7,UUU
) a* v* Z" R; h# `( ]    NOP; a$ @1 `. n% d& E& v) p3 F- ?& C+ I
     DJNZ R5,JJJJ4
0 m+ w3 ~. y3 b$ C" O  u" T+ j     JMP START- ]$ {6 |* c8 f% Z+ v0 Q8 F
UUU: MOV A,@R1  
: _$ V1 O6 ]7 J. T9 j) h; c     RRC A           1 [4 }- g+ [8 {' {" k& i% z
     MOV @R1,A       6 e3 _; J% d& J
     DJNZ R3,JJJJ   
. @, d& h) Q( ^+ b5 E; q! u, r( ~     INC R1      
8 N! d. e) @8 t. [6 f3 y4 I- c7 J     DJNZ R2,PP   
( y6 `; W: q( Y
# {) e) z) @5 R     MOV A,1AH ( Q9 V: Q% G. e, U
     XRL A,#11101110B" Z/ F# t. b5 Y( d- `. q: t
     JNZ EXIT & A  o4 S& U0 q& L5 }
     MOV A,1BH
) l' g7 d  v% O! h     XRL A,#10000111B/ h# ~0 ~7 w6 x8 N2 m. c3 r
     JNZ EXIT 8 x( Y- d. `- T( {% F# g
     LCALL YS35 h, f: s7 |5 Y4 l+ v
     MOV A,1DH ' {% G/ P+ D4 h) F4 h% X: e/ T
     CJNE A,#10111100B,EXIT8 h5 U2 `- m* H4 ], Q# o; e
     LCALL YS3
; [  P7 f+ R: b* d3 g7 {1 Y     CLR P2.6  7 {5 c% q5 L. C* j! I
     AJMP BIJIAO: c* }! l; c1 c, y4 O* h* x
   
$ z. X, F' u& X& u$ u6 Y  d" NAA: 1 H' P" q, R8 v/ G& G9 i# u
     MOV R1,#25) k: V0 {" j: e9 r- h1 Q
XX: 8 r% ]* G* Z3 s9 R, f0 a
     ACALL YS2+ Z4 S; Q: l" T2 P/ ~4 j
     JNB P3.7,HH & c) c0 v" P6 k) d  k5 L7 F& d
     DJNZ R1,XX
# l( F2 [  [% p1 m4 bEXIT:   
: {- O, [& W5 ?! L8 F" E* F     AJMP START% s1 b0 N3 y, q# _# y
   1 ^  k3 N6 t4 ~
HH:
2 ~( f1 A7 S& ~. Y# o     MOV R6,#4
+ P8 p/ T7 \# T; r: |" QS: 2 ~3 D( e, C* m1 k1 y0 n
     ACALL YS1
0 [) U1 L* N9 q% V: g/ d2 \; k     JB P3.7,EXIT
* k4 v, |; L0 g3 z' P     DJNZ R6, S 7 D* Y4 R/ s$ \# a9 R4 @
     JNB P3.7, $  0 V8 l. i& k+ w0 `
     LCALL YS3
$ \3 {( @  z: z2 U& {$ s     AJMP AA
' J7 c* ]4 H& r- W- c. Q8 Z$ Y1 KBIJIAO:' k$ `+ H% l% z9 F3 M  M7 L2 E
     MOV A,1CH 1 w( L7 y9 l6 K1 Z+ M
     CJNE A,#03H,N1  $ {4 n: B$ v* m( e/ V/ [
     MOV P0,#7EH   
( _* }. D. h# Q  R  k                     
& i0 j6 S9 E1 t0 J- _ ;处理STUDERV录音机控制码2 P* U3 H$ C5 H( B9 E
N1: ) y8 q5 H1 F: S6 l& ~4 J2 a
     CJNE A,#5FH,N2 ;播放键
/ [7 f' D/ d8 u% |3 s: U     MOV DPTR,#REP
1 w: @" ^  s+ X     ACALL SENDA
8 F4 U& s& ], k. R7 `7 \1 B, }     ACALL YS4- v4 P: K' B4 g+ `9 {
     MOV DPTR,#PLY5 h' b. ?4 R, ~" [. E! v" R4 E1 C
     ACALL SENDA
4 K, a. T3 b/ [0 h/ [! }0 J+ U7 i6 zN2:, q: ^# |# j9 I8 P
     CJNE A,#5CH,N3  ;停止键
3 V7 ?9 m! u% S$ S+ @- p# H     MOV DPTR,#STP( @- }3 G, o$ R) |
     ACALL SENDA3 _6 R3 u  I' ]
N3:
- }6 _1 H! S+ ]4 n& ]     CJNE A,#06H,N4 ;快进键; `; c9 v8 y7 t- l4 {* V; a, W1 v
     MOV DPTR,#FWD
) r* h$ M+ L: Y     ACALL SENDA
! r7 p9 k: {# t+ \5 C9 CN4:6 G* Z7 ]8 X2 z' f* x
     CJNE A,#09H,N5  ;快倒键
7 j- g. N" N$ t9 u, [0 A     MOV DPTR,#RWD% r) ~& v+ D6 c, K0 D6 y
     ACALL SENDA
" O0 k0 w" v, y: d! [: j) `( p8 t/ w) IN5:
+ B  x( \/ K' q1 ~( h9 g5 U      CJNE A,#0AH,N6  ;置零键
0 f! m6 |, |" ~6 @# o6 `      MOV DPTR,#RTM
$ i- D) [2 `# ]% z1 s8 e2 Z     ACALL SENDA) O, U: o! n3 T4 s7 M
N6:) I/ p  F2 H) l
     CJNE A,#0CH,N7  ;定位到零键
0 f' M7 M' f* `- Z0 G     MOV DPTR,#LZA
( m7 H4 B! H8 @  ], ~: n     ACALL SENDA: R  G: }0 ~: @) x2 ~* Q
N7:
) ?7 Y8 f( a, p     AJMP AA& T% O) M( k- r3 o. M) n9 Z
SENDA:
! K  D: X7 b5 P3 a8 V$ l9 o     CLR A
! I- }  ~1 q( y  S     MOVC A,@A+DPTR
8 ~. J/ Y; g8 n9 I. V: _1 ^     CJNE A,#'$',SENDB
6 N* e' {- U1 v8 W2 o' ?     AJMP SENDC
# U  V/ w9 W9 oSENDB:# R& V: A4 v- l3 c6 Q3 ~
     MOV SBUF,A* t" |9 |0 y/ m" G  U( Y6 L' G: f- j
     JNB TI,$1 U" b' Q# M! ^& M; A* L
     CLR TI
  e$ }/ ?' d1 N* Y     INC DPTR, O4 u7 q. C6 I. s# o" f
     AJMP SENDA/ n. v. X& Q. r6 o# c5 A
SENDC:9 q6 k" {. J7 H; S0 W
     RET5 z) i$ b1 R- N% j' g# K6 N
& B' M; t8 I3 T, z0 l# `; z
PLY:  db "PLY ",0dh,0ah,'$'
9 U! j! c* W& ^# N( _STP:  db "STP ",0dh,0ah,'$', b" c: a/ p: x2 j5 O
FWD:  db "FWD ",0dh,0ah,'$'" ]8 C, J- j' ?
RWD:  db "RWD ",0dh,0ah,'$'' Q  {, p1 c* b  `( X, d
RTM:  db "RTM ",0dh,0ah,'$'' s) i5 a  I% L/ m5 C. Q8 G' v
LZA:  db "LZA ",0dh,0ah,'$'
) ?- h2 p& @* gREP:  db "REP F ",0dh,0ah,'$'( P# U1 j+ Q/ \0 c& v. T# I6 B5 {

  f5 ]" `! f$ i! f6 K( r/ \YS1:
, u9 y& _/ s5 U  O- f8 j     MOV R4,#20
/ ]* P% Z6 [+ |' Z* DD1:4 T& ]0 a9 E" u1 s
     MOV R5,#20+ U3 d- Q' O# E% {( [
     DJNZ R5,$
# R) g2 }6 V  h5 L/ y; i+ F     DJNZ R4,D1
6 h5 L9 v! h0 g. W5 L     RET3 q: Y1 }4 Y) u0 X* x
6 d* ]/ w0 d) I7 U7 ^2 M
YS2:
7 q+ i3 C; s$ }; `4 B3 e     MOV R4,#10
5 W- |) m# p; p% H1 C+ PD2:1 ^; \- j. J) \
     MOV R5,#235& R; e8 {% ~3 C( `0 K
     DJNZ R5,$
: N0 Q# p  y/ I$ T5 Y+ B6 ~     DJNZ R4,D2
( i' Y" u1 O5 p4 x- m     RET
1 f: }+ o2 B/ R4 X6 W1 A) J2 m# z$ \1 T& v* b, m* V) U
YS3:
* O- {5 [+ u. Z0 x8 [6 q     MOV R4,#25 ?3 q# N; t4 S7 k2 v; I
D3:/ a/ n7 j: X; x
     MOV R5,#248
1 u  l. W& M% v& `4 k     DJNZ R5,$" |3 |, J4 N/ D. T
     DJNZ R4,D3
# b" ~$ Y/ H" Z0 d" B( j     RET
+ O, v/ \1 F6 d# e1 a" n) k( i% e4 F+ U
YS4:. d8 |" w* F6 j, {% l
     MOV R4,#200+ h) H: D+ P+ X6 J
D4:
+ V/ m- s9 o2 T     MOV R5,#248
& o& t9 s, V9 X+ [/ y  o     DJNZ R5,$
" p4 w3 M, ?0 G: a+ z  V     DJNZ R4,D3
5 a3 L; @* h6 U, F7 x- v+ k     RET2 H7 k, W0 w# }3 H; k5 y, c4 P  O6 W
     END; p/ j( e6 @8 |$ i  {
0 k' }+ v7 a0 U, t
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
; B: ^' {5 `4 |) z7 N7 i+ R是不是很惬意,嗯!* x" Z( Z4 B2 Q1 X8 x

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!& \; {7 O1 w! t# h3 ^
YK 005.JPG 9 H! e& k" y2 f0 q- i4 N7 V0 h
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下1 T, f7 ^/ N/ m# }1 X* F
发表于 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) y0 C2 x& U  B. f' {; s
最终的样子,有点简陋哈!
/ m# Z) b0 a4 x5 ]7 ^
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-5-16 23:40 , Processed in 0.112593 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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