收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
+ B! ]% B; \3 i- t! C2 _
9 X) o' a; |( O9 u( s本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
7 Y% v& ?/ _$ f2 L+ |7 n( M5 f8 @2 t% N- C, r5 i
说明:
% m! C% X8 k) ]8 x6 ?5 Q4 @1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;4 F4 d, E7 ~, A0 S
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;8 V6 [: x3 y; }- i; V# G

; B( z5 [4 _6 O" {- e2 g8 h一、基本思路+ K# E% g' ?5 |
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。9 s- i- V& L! ^4 z/ e; `$ m
  p8 N9 c, a! `1 x+ _8 G) V
二、红外遥控器
; E/ B1 ?9 I, o: d! w) k0 [我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
1 n" C0 }8 @2 R2 d7 [8 g  d Apple-Remote.jpg
0 }% z% P. f6 E( `$ c5 z好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。6 }- O2 I1 a3 W( m  |, m/ x0 F" S
Apple-Remote - 副本.jpg
) v! @# o3 ]- P4 }: r在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:: K, e" @0 g* w( F0 m4 z
Apple-Remote - 副本.jpg
( Q, [1 m, g& Z8 Y8 ]& M$ C
* U  U* R+ \, g( j! Z* C* p三、红外编码( c/ W9 N: o1 T/ X
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
8 j+ j6 N1 _& `# Z( J! n3 h前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
* {4 m8 B' |9 i) o* r$ U: {后16位为控制码,主要用于实施具体的控制。7 g) M! g: y3 l, o
这16位中高8位和低8位互为反码,以提高可靠度。, x+ z8 ~3 P  @) u& C1 K

1 {- H, a1 Y, G' L, m+ Q9 z" B以播放为例,其编码如下:1 N0 r2 p& I0 |8 C( n: O
00000000 00000000 01011100 000000001 p+ R; E; E, M) c$ a" {  W1 _

6 N3 `+ {4 Z; O3 D# ]你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。: b: Y9 f' s3 r1 n* o" l

, u) V- D5 K: b% P& |四、单片机系统5 f6 p( ]! ~# X, x. q  ?9 }
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
- D" v, [2 g1 n1 a6 o; x* o c51.png
) T" H1 l* h! X( [& |0 y0 Z2 [* d
, @7 i% I, H' z. w$ I) H5 F, y电路很简单,功能如下:; Y. P8 c  Q" t3 H1 E6 M8 }
1、一个AT89S52单片机作为核心;
; R# h8 L( \; r# P( R2、一个TL1838为红外接收头直接串行输出数据信号;
# y6 _* R* q! }" y- c4 B0 c6 ?) ?( C3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;2 u& d$ V8 i" `! h: X
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
3 C# m1 w$ q# B2 N" k6 H! {
, D# o7 k6 \1 t2 N9 J, m" i! ~关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。% e% ?: z/ D0 Y2 C' L
$ t" S+ R; k: u* e& B3 i. k; a
/ }" @8 P) K7 l5 G7 r0 o/ V
五、控制软件# j. X1 S' E: Z* l$ C4 k3 ^+ ~! x
控制软件用汇编语言写,源程序如下:# W' q" b( q7 L9 P3 C
     ORG 00H
& j3 o5 d3 [, ^2 a0 w  p1 [     LJMP MAIN; B$ F/ v; f, [4 j' f$ x( b9 ]
     ORG 30H
: O- J% n1 v) W4 P1 s8 |. b% u' [- RMAIN:, \( L/ k! G; k. |% q5 b* |& E6 P
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)7 ]6 I$ x: T4 a
     MOV TMOD,#22H  ;22H
& n) r- \7 V# h     MOV SCON,#40H  ;40H; k  w6 z3 p; ]7 E* e9 w
     MOV TH1,#0FAH  ;F3H1 \% O; U& ?4 O& Q  }
     MOV PCON,#80H  b# h  c9 Y2 _3 W" L9 |7 ~# g
     SETB TR14 u& B6 b' }1 R$ {+ L
START:
) k7 u* ?3 L5 ~+ @     JB P3.7,$ ;遥控信号处理' p$ ?( a6 t4 `7 e2 {% f) c
SB:) ^) b: S" V. q4 \
     MOV R4,#8   
  o" g6 w3 H- Z5 `- b1 Y% WSBA:! m7 T$ Z# D! L' N  G
     MOV R5,#2501 t/ z. h; T, c* |9 \
SBB:
4 [% U9 k$ @) q( w- L* \8 z" I$ r8 r1 E     JB P3.7,SXB1/ G1 {2 X( O+ ?+ U
     DJNZ R5,SBB4 x% m. u' A" E/ ]& z9 J: k4 Q
     DJNZ R4,SBA  A, ]' z( m1 Q/ d1 N' ~
     MOV R4,#28 s/ k8 Q* L- s( p' \; U( ]' ~
     JMP SBC
, q4 D  z. e1 w" l/ f' p' ZSXB1:7 S5 ^: }1 Y( j% F! z' I* d
     MOV R5,#5# w) P& d0 ?' M. |1 R# S
SXB2:              
& S- y' U$ P5 j4 y7 E! a     JNB P3.7,SBB! I. x) t* {3 p8 i4 w6 l% s, O
     DJNZ R5,SXB2
+ {1 f: ?: G6 }$ x6 j( v     JMP START
/ i+ C& i! d5 @  h+ pSBC:
9 j) y3 I8 R1 L- Q* Q* ?     MOV R5,#250" I3 Q- u: O* s# Z8 D/ u) v
SB1:
% A- c$ k! _% L% M! c     JB P3.7,SB2  
8 h* a4 j1 D1 f  e2 K& _" v9 L     DJNZ R5,SB1
9 |5 l* z& ?. N4 d DJNZ R4,SBC  I  h% c& L& r( p
     JMP START$ H3 D4 p0 v9 x* S2 B- V
SB2:                 
# T! a. A; V& h: n     MOV R5,#5# \5 q# P) C9 [' n7 J2 X
SB2_A:: I6 E$ N% G8 @$ g3 [6 u3 t/ I& E
     JNB P3.7,SB1
" j7 W6 F. ?: V6 Q$ A     DJNZ R5,SB2_A
8 y$ w. p8 _0 P: I/ U: w& E: |     MOV R4,#3( M9 q* P0 E# q) I  r% g8 @
SB2_1:* z, m  i, B( V
     MOV R5,#2502 r$ z7 \0 {" ]! a* B  y
SB3:                  
5 E" `7 e2 ]1 |1 x2 B; H4 F5 O     JNB P3.7,SXC
: [. `! y: e& o2 v$ x) }' w     DJNZ R5,SB3) j) P# H4 I% E
     DJNZ R4,SB2_13 i% l) l8 Q/ P8 ~2 X
     MOV R4,#2) Y1 p& s' t. k! w$ ?, i
     JMP SB3_16 M4 q9 s  r3 D' d( g
SXC:                  
# _4 h1 b1 _/ ]; N8 W     MOV R5,#5
# @, s( F: I$ fSXC1:- M4 Q3 P, C; S% m6 J4 s( K
     JB P3.7,SB3, \2 |; c5 D& F! @' ]
     DJNZ R5,SXC1" R# o& x. F( d
     JMP START
; r2 m! \2 l1 w7 ^8 z! pSB3_1:                 1 E- K0 c7 |  B6 }
     MOV R5,#250* H  ?2 }1 o1 m1 x  R) b
SB3_2:5 b" e' P5 ^+ F2 I( i
     JNB P3.7,SB4; _; |  Z  R1 S$ Q* n9 _" D  d
     DJNZ R5,SB3_2
; _0 B) v" `% I0 P     DJNZ R4,SB3_1: S9 F5 I7 s/ y$ ~
     JMP START4 V, H( [; G! E3 Z. S
SB4:                    
. Z) w1 P1 V+ ]     MOV R5,#5+ E: S, l/ i6 s. l! L' Z
SB4_1:' e6 ?/ u! @; y- n0 E+ @( i) j2 J3 G
     JB P3.7,SB3_2( ~1 _* A4 |: A: U
     DJNZ R5,SB4_1
5 B% h( s8 R- L; t     MOV R1,#1AH  2 c5 S6 P7 Q: s' B$ h
     MOV R2,#4
/ d# l+ p3 f, W' k* ?PP:  MOV R3,#8: z8 t- \' z* K$ c$ w2 x' v& Y
JJJJ:
' W: p7 [% @- R. t6 e& D% a- e     MOV R5,#250
2 m) x4 M5 B5 E- tJJJJ2:               
( X, ?5 `' C( w8 j, s" g5 Z     JB P3.7,JJJJ39 x2 X/ K7 o& B
     DJNZ R5,JJJJ2; a4 S2 B3 O0 R* c, U& U
     JMP START" d7 |6 N- \; X/ n; N
JJJJ3:
, x, t, n3 q  B: Q     LCALL YS1  0 k3 O9 H3 J/ [, k" Z
     MOV C,P3.7   ) T: ?% q  }3 V$ N
     JNC UUU      
3 X! }7 ?6 t( r& k7 L, U     MOV R5,#2504 @- K) @; [; ?- V
JJJJ4:6 P/ ?( K' O9 d2 x% E) y# l/ M
     JNB P3.7,UUU1 r3 w7 e/ ~! X( _/ }
    NOP) N3 i: E. G9 q: [' s
     DJNZ R5,JJJJ4, h& o7 S) u- A
     JMP START
4 i( x4 U4 S6 x& q8 c7 M2 B( i8 }UUU: MOV A,@R1  , R8 q! {, t1 g0 l2 G# _7 l3 L  F
     RRC A           : e+ V" l2 ?& i/ h
     MOV @R1,A       & l5 m: \* i  A1 y# y/ x1 B
     DJNZ R3,JJJJ   6 C. e+ Y& c: I) x7 B1 h; [
     INC R1       - N- A# `0 f, I  V
     DJNZ R2,PP   
6 ]/ d3 S- ^- C0 S3 G4 [! E1 I  Z- M% i
     MOV A,1AH
! v. B! n" r! o+ w     XRL A,#11101110B% o0 R4 z+ k+ ^4 C* q# q
     JNZ EXIT
" d- @3 k' H+ Y& n! D     MOV A,1BH
* z- |+ L$ C7 z3 C     XRL A,#10000111B; V0 l: F5 ]9 p1 Y/ m: T6 s3 \
     JNZ EXIT . B1 G% D3 q1 ]1 f
     LCALL YS3
( w0 e" \0 M+ P     MOV A,1DH 4 H. j* S- o, U: o& o( W7 n/ C# {% `
     CJNE A,#10111100B,EXIT' R6 A. m0 |1 U3 g, _$ G4 }- V0 k# u
     LCALL YS3
/ b9 ]) E; v* G+ R     CLR P2.6  $ ]3 G5 \9 p7 h: R; }
     AJMP BIJIAO
8 V/ h& B* j/ e+ f' {- a9 e   
- y- ~4 ~, G2 J8 }AA:
* t) E5 T  B8 i7 [  _( H2 Q) ]$ y     MOV R1,#25
0 k2 G- a: B  D9 x. y9 I1 V* _XX: . Q' y7 H: F& s- }- z6 L. R
     ACALL YS2
6 i5 D* }: _7 I' {7 U& T2 O& ^5 Y     JNB P3.7,HH ' K$ a' q0 a! a9 o$ j/ P' e1 }
     DJNZ R1,XX- X, v4 B# m; h; ^8 g7 n# l/ [- h
EXIT:   
% _9 m  l4 s0 @; j& V/ R  g. z) L     AJMP START) Q) U7 g! b7 V. |5 x
   ! G% ~, S8 d7 L/ l
HH:
% N( m% _! ]9 H; b; i     MOV R6,#4: J6 q3 }* `. ]2 p4 ^
S: . e" A; l/ v9 _! W/ A) N! p& F
     ACALL YS1 + w7 T0 l2 E( H0 R( Y
     JB P3.7,EXIT
" B0 A& t5 i/ d/ v; u- P     DJNZ R6, S 0 h- s& V, H$ C, q! a; H) b& c4 L
     JNB P3.7, $  
; l0 d- l8 }, x, ?9 K2 s& _     LCALL YS3
/ Z/ V9 d! H0 k4 n$ D+ |: l     AJMP AA/ r, L* L# F5 K9 o1 N' l( t
BIJIAO:  o5 q% [) d# {8 ]% g6 x
     MOV A,1CH
9 X) z* ~: z. E3 K/ ]7 [- y1 \/ z     CJNE A,#03H,N1  . X" F6 b/ `* ]8 F0 P& B
     MOV P0,#7EH    2 b! m  |5 K" ~. A
                     
8 n  _+ I/ x4 k' l$ I: O ;处理STUDERV录音机控制码
6 p, y! m- M7 R% q$ `, r8 V6 L; ~N1:
( I# @" O. B. [6 d- X7 Y9 `     CJNE A,#5FH,N2 ;播放键
, N- y' B" l) s8 a# e7 D% S( i     MOV DPTR,#REP/ R5 N* z3 }; R. v, ~* R& a- [
     ACALL SENDA
4 l2 r" t8 ?* \( W* X& ^     ACALL YS4
. W* ~$ ^/ C4 t3 @% D4 @. k     MOV DPTR,#PLY
: S' Z1 i0 I4 D8 J7 ^6 ^' t* G     ACALL SENDA
, c# G8 L4 v% tN2:
$ @5 |' @7 ?4 y6 I9 j     CJNE A,#5CH,N3  ;停止键1 U3 I# g6 Y- h9 t
     MOV DPTR,#STP
  ?5 o- M1 z; D     ACALL SENDA$ D$ ~9 v3 v5 u+ ^2 g
N3:' |  u& w3 F8 K  ?/ j9 h7 U" @
     CJNE A,#06H,N4 ;快进键4 M0 B3 v: M3 a) i+ f7 A. _
     MOV DPTR,#FWD
* W# R/ H: n+ D4 f8 S     ACALL SENDA
: ~$ M9 W9 w% a4 S' ]% ^' e7 RN4:: P6 j! t9 P! D, Y6 X1 a0 z5 Z6 K
     CJNE A,#09H,N5  ;快倒键, s; d+ c0 U$ v  U( L( i: e
     MOV DPTR,#RWD
% R/ P- [$ x1 {7 a+ N     ACALL SENDA
# L  _8 d9 q7 I. O% ~" {8 yN5:
# e6 {" B$ J- X) z$ x  a      CJNE A,#0AH,N6  ;置零键0 I7 E, O. s9 W, C, D* r+ e( j
      MOV DPTR,#RTM' \, S7 @9 l" P: O. X- P  t0 p
     ACALL SENDA6 y7 v; K3 J7 G
N6:9 v% w- a( R/ K& n& I2 }1 h
     CJNE A,#0CH,N7  ;定位到零键
' \8 Z  t/ y( r7 t: j: H* k     MOV DPTR,#LZA
! `' b' L$ @( T     ACALL SENDA; ~# f& f( C9 s* j- ]& m/ R% h
N7:2 B6 {8 b0 l" a
     AJMP AA! f6 F( g/ Z$ c' Z; G! H
SENDA:
- h8 [1 Z* L9 I+ V     CLR A
: y5 O, @) w. Y3 F, }" L5 e     MOVC A,@A+DPTR2 Q) c7 p5 O5 L/ d
     CJNE A,#'$',SENDB# l  x" `! S' R3 o# v' Q
     AJMP SENDC) a3 Q! Y# b% t; {1 l8 Z
SENDB:
; \( I( S; e5 _* R+ a5 M* M' U) l     MOV SBUF,A3 T( @5 u# u; {& b: D* S  N1 F8 f+ d
     JNB TI,$
; ^1 I6 K8 ^' I, O! u$ o" k     CLR TI4 q. g1 D7 r; S7 l
     INC DPTR
- g! b! J) ]' k) Y1 H0 ^     AJMP SENDA: v6 J3 V1 y/ T+ E: s
SENDC:
* v4 n6 S' ]* f& N3 X; t1 B; ~     RET
) G9 Y8 z0 b1 `9 v. \9 T: {( {$ z! K7 d: Y
PLY:  db "PLY ",0dh,0ah,'$') n- M" b+ H4 O6 K4 ~. p2 z
STP:  db "STP ",0dh,0ah,'$'
- i. g+ |5 Z! @FWD:  db "FWD ",0dh,0ah,'$'
5 n3 g9 D! O* V: P% YRWD:  db "RWD ",0dh,0ah,'$'
) {4 i1 Z" k/ s' G9 p. N3 [RTM:  db "RTM ",0dh,0ah,'$'
* C& `9 f/ p; [5 r5 U2 D+ rLZA:  db "LZA ",0dh,0ah,'$'
. R, D: H  N+ i5 O; j2 DREP:  db "REP F ",0dh,0ah,'$'7 B8 E" I$ v# j8 Y9 H+ A; r% Z
9 b8 k$ d9 a# |( J* V
YS1:/ T+ j# j5 L8 _, F: e! B
     MOV R4,#20
( ]1 S& S: B: R$ \D1:
" F# J- F8 F% g2 S! N     MOV R5,#202 [& ^1 J' t& t* M, D# r( q; [7 ]
     DJNZ R5,$
7 j) J& H( U- v     DJNZ R4,D1  T. r( |' h$ V  w
     RET7 K2 l$ c" T4 t. F6 L* @; j( z
& p, f3 M- }4 L$ M% v( H1 B! [
YS2:& Y! `% A" P0 P1 ^
     MOV R4,#10
: T  W; A! a) ^; N" Z. YD2:. S% ?, G4 I- C7 {- p- y  h7 h
     MOV R5,#235
& E. G' E2 y- A     DJNZ R5,$, E% {0 J+ p. j! \5 _9 n
     DJNZ R4,D2
9 L% d& S# O+ T  q     RET! E) D! O- s* I# z6 C: R1 G0 S- M
8 U' F, i2 t7 I3 W8 v/ n5 s1 _
YS3:
- x. r- j/ [9 f- D0 m( o: d     MOV R4,#2
+ y: _0 P& v# J/ w8 lD3:
# B4 D. s6 w7 z$ C# {     MOV R5,#248
* {$ |% O8 O) C& e. u; l     DJNZ R5,$, K. T1 ^& \: `6 l5 H8 A6 h
     DJNZ R4,D3
: D2 l5 i  b+ \- c6 g     RET5 H4 E; |% Y; T4 c$ A

- p% [2 D/ v, |) gYS4:
( y- ?, ^# j+ n     MOV R4,#200
5 F/ W6 E7 E& f% c+ Z! PD4:
5 @& x5 d% k+ a$ p# C6 z     MOV R5,#248
! K! i$ L8 g' `9 y, l     DJNZ R5,$
  F: o8 O4 o, h     DJNZ R4,D37 T: ?6 o+ _& [* G! X4 t. v6 ~/ f: g
     RET! q( D% W! y( \" e
     END
: t' e9 \/ U. ?6 P
8 I( M" g7 q7 o; G. V有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
/ X4 {8 w) A1 c- F$ j5 n* W是不是很惬意,嗯!
4 N6 R, W$ G8 V  p, }- p0 \1 E

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!& h. E0 L2 }8 v. \
YK 005.JPG : ^. R. q  f5 M. ~
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
, f* s! r' Q! W
发表于 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& T2 b& p( @6 x9 F
最终的样子,有点简陋哈!

; }1 C% n' G3 \) w1 ]这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-1-7 18:45 , Processed in 0.089355 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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