收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
2 L' N6 H% w9 b" j" o0 k  }1 B3 _) b) J. P2 W% q/ P3 \
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。3 _1 u  G- w( v. z

  {8 s6 _4 l& y说明:
% @* s4 q4 P- b' D$ {1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;" f& ~  p3 J* E8 p5 ^' x; I7 h- K/ g, d& e
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
9 @1 e* }( j9 q3 e4 J5 U7 G/ Y" L7 f" `
一、基本思路7 u2 U3 F9 p2 U' R2 P2 F, c
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
* o8 y% A, T, j% {9 g
9 b+ w9 ~! v0 v: ]. J二、红外遥控器$ w* Z+ u  @: M& _* |
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。) s+ T7 `. W8 S) u8 T9 r
Apple-Remote.jpg 4 r( X* f6 }7 t: \/ N
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
) O9 @% [0 Y* R% o3 |  @ Apple-Remote - 副本.jpg
7 L# z9 m2 o7 b* s2 a! b0 N在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:& I6 G+ A) W: k8 F8 u3 x
Apple-Remote - 副本.jpg
( v* v7 r+ n# E# h" j5 K# T) W% X5 J. {
三、红外编码2 u3 x8 U0 W) Q, P2 n* [% P
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。8 e" q8 v0 W/ x& _- u
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。/ o! {8 X8 W# n: ~* V5 a. @" k* _
后16位为控制码,主要用于实施具体的控制。
7 Y# o' ]- P$ {4 @: s这16位中高8位和低8位互为反码,以提高可靠度。
0 l- M( [, ]  t6 `5 W$ r: s6 j+ w# B
以播放为例,其编码如下:( S! y  w6 K8 _* S
00000000 00000000 01011100 00000000* g% ?# }5 X; t& v
7 ^- @: R, m2 Y& z) }8 F, e- M" D
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。, C1 g) f1 ~: e7 L4 G

6 O; {: ?3 m. R& @# W% g6 T( ^0 ~四、单片机系统; M% [' n" X1 G8 ?
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。9 I: X& y/ y' ^  B
c51.png 6 L& ^4 G0 K& B: Y2 t; o' }/ S
3 O4 C/ B7 I% c6 [" X5 z# H
电路很简单,功能如下:
( R- R* @8 {' ^1、一个AT89S52单片机作为核心;
6 t1 s: v5 d( ]! d2 S8 }3 i: V2、一个TL1838为红外接收头直接串行输出数据信号;& O4 q- l  n8 f+ l& @  I$ }
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
- \3 q) j8 W0 ^3 d7 E; R& L2 p4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。# Q; i/ m3 \5 M5 l% _5 n) x

5 V" A! O, l3 i1 j  t' v1 h! w关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
! T' M9 u" g0 c- ^% N) h- _* U4 J1 h4 n

3 R/ G* r  S- E$ l4 C# L1 q五、控制软件9 c# p1 G5 ^: m0 A3 r, Q: N
控制软件用汇编语言写,源程序如下:
7 U/ y% _6 y+ A+ z7 M, y+ a     ORG 00H% [" c' n$ w! i- O7 e
     LJMP MAIN/ Y- l# [3 q$ g+ w, D+ k+ @
     ORG 30H
0 A. ?/ o& w; k  i* k# s  c3 sMAIN:/ s5 K2 |1 }  N; }2 T# H
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)" V0 D' X% c1 ^: {- D8 C3 W
     MOV TMOD,#22H  ;22H
. H3 s' M7 ~5 ]+ \" b     MOV SCON,#40H  ;40H
; p( S# {5 F7 i9 v$ A! V- d9 T     MOV TH1,#0FAH  ;F3H
* q6 {0 y8 F8 q. `$ ?; e$ c     MOV PCON,#80H
* d" W) v* d5 G5 X' Y& W3 |     SETB TR1
, C1 ]6 A* u/ SSTART:. q  Q$ g3 O/ d9 O' V$ G
     JB P3.7,$ ;遥控信号处理3 e# y8 h' q6 L6 S1 c9 a$ \& c% e
SB:
. k0 Q% G. I4 `* i6 r     MOV R4,#8   
3 M0 E; M* p; v$ C7 nSBA:
& l' L$ K. _$ F; X$ q3 u+ X     MOV R5,#250- ^$ ?- ]* }8 [( H, A) O( j1 u" `
SBB:
  d9 K! s& W( |& _     JB P3.7,SXB1; P* n; W1 O/ k3 M) Q1 o
     DJNZ R5,SBB
, w2 X2 I3 |) D2 w  |     DJNZ R4,SBA  n) J. a% B! S, Q% f
     MOV R4,#2
+ ^0 v+ e5 j# A& z4 R* S     JMP SBC
2 }! K* G, o: g/ J! X& Y: I4 \SXB1:4 o6 u( \# w0 Q5 p$ t
     MOV R5,#55 b/ R" ?* ]$ q
SXB2:              ! [: S5 u: R9 w
     JNB P3.7,SBB
3 o0 E' ?% u6 e5 r* s     DJNZ R5,SXB2/ \( U& Z& h  k+ O: H0 D
     JMP START" j- W/ J! @! s! [0 ]
SBC:, m2 F% X, H; [
     MOV R5,#2503 {+ }8 `1 r7 H2 p& i
SB1:! Z" o2 K- N  T- @+ }
     JB P3.7,SB2  
& @8 I5 u7 @2 R* n' v/ n+ \7 r     DJNZ R5,SB1
6 j0 K2 ?1 f# I( e DJNZ R4,SBC8 n3 V+ W& k, @% H6 H8 I
     JMP START
6 O' q- ~- Z! r1 zSB2:                 
- _4 d* @) l( I/ {     MOV R5,#55 y9 }" V4 b0 D3 f/ F
SB2_A:
: S; e, T7 `" y# ]. |     JNB P3.7,SB1
4 _6 w! J8 q7 c( X4 O7 x" i" R( u     DJNZ R5,SB2_A2 _1 d5 Q6 \% A2 T
     MOV R4,#3$ M9 _! r1 V9 r# G% l) t. `; d, ?+ j
SB2_1:
; L4 \' Q7 }% d% O1 O9 s7 Q' [/ g: z     MOV R5,#250+ U8 l& s/ l( \% i  n* {
SB3:                  9 ?/ L$ I6 Y  l) n
     JNB P3.7,SXC
' U9 ~# Y) [4 q3 m; d     DJNZ R5,SB3
; X6 |% Y' w! U3 R     DJNZ R4,SB2_1; W7 R+ ^  ^* a9 S2 r- j$ i
     MOV R4,#2( o8 I# _/ x( z/ c& C' P
     JMP SB3_1  [# R: |8 v6 z5 _  i' b
SXC:                  5 C, R7 B# w6 I  e/ F$ r
     MOV R5,#5
4 ^2 U! A8 ^- A) J" A  i$ `* FSXC1:
' N2 }. V. ]& R5 l7 ?     JB P3.7,SB3
; K2 }5 E+ p7 B. G" c8 ~     DJNZ R5,SXC1
" c# |3 h' g) K     JMP START
& n/ j* o8 A( X$ [& v$ vSB3_1:                 
5 k: Q! S: i9 ^2 ]- ]: `     MOV R5,#250& S( K) G* S% v* b/ D0 y/ c% `
SB3_2:- D- h3 a, f$ b6 A: ]! ]5 J
     JNB P3.7,SB4+ I) F0 Z7 L, x6 W: v) D+ i
     DJNZ R5,SB3_2
1 {  q% o' ]( ~$ f     DJNZ R4,SB3_1
8 B3 A4 d: i* c5 P& k. Y     JMP START, \/ |( F% p4 O
SB4:                    0 _2 _) p* n$ _0 _3 w5 b7 m
     MOV R5,#5
. L1 f  o( u; i( H$ M( v; JSB4_1:
, C! z" P* e* i# S( o7 K     JB P3.7,SB3_2; s* ]3 q& Q4 F* @$ c8 o* }
     DJNZ R5,SB4_15 A/ G+ V- w7 z8 _% @. M
     MOV R1,#1AH  7 ]* \9 d1 K9 y: d. Z6 h- M
     MOV R2,#4
) O: l3 |3 @+ u' j' d0 d( {% cPP:  MOV R3,#8
3 `4 u) f. E7 d$ }7 KJJJJ:% E+ J  M3 G% g' O) `9 p% h
     MOV R5,#250! J  @8 j5 }5 o# \2 c
JJJJ2:               
" h2 r( k* ]- L+ Q- i! T5 T3 N- _0 ^" X     JB P3.7,JJJJ3
2 _1 s* L! e( @% x; e+ v/ h     DJNZ R5,JJJJ2
6 j- H; J6 r. C5 r1 F# B/ c9 w# T     JMP START0 p. ]; X; y7 z8 P3 S/ r( l! [
JJJJ3:" C9 S6 ?6 _+ i
     LCALL YS1  6 T# J. [" G* h& M
     MOV C,P3.7   # m4 z9 }1 x9 a! E/ D
     JNC UUU      
5 x$ V3 G) ^8 V1 T% I+ L, Q$ T     MOV R5,#250, b* R& d1 O$ M8 q) k) b
JJJJ4:
3 P2 U1 @9 r' }0 u     JNB P3.7,UUU
5 v  A. h+ T* I! ~# {    NOP& j2 J  X% E3 Q
     DJNZ R5,JJJJ4
5 R$ E. B. W" ~6 \     JMP START  X' i4 x' e0 q. {* j- u" m
UUU: MOV A,@R1  % @. K( o2 V8 ~8 z/ e& Z$ `% n
     RRC A           ) s' d: C3 Y* N) ]- r+ z* p
     MOV @R1,A       * y% _* C( ~+ a2 g& [( G3 b" G
     DJNZ R3,JJJJ   
2 r: l7 W7 M! x& N1 p3 [" W     INC R1       # y  Y( i: ^3 M7 A5 t) ?7 ~( h/ e
     DJNZ R2,PP   
0 _5 m4 ?! l* Z  \& c$ S
* u+ s5 K/ U; @$ T     MOV A,1AH 8 o  |# t1 {! m: }
     XRL A,#11101110B
7 O& B, v. T3 Z, H0 D& S6 S" ~9 g     JNZ EXIT $ z2 |9 N3 r8 X5 @: H+ f. s+ C/ b
     MOV A,1BH + e% ~8 Z5 N6 B, v
     XRL A,#10000111B" B' G4 K& s% h" Z6 [4 X$ L
     JNZ EXIT ) S$ \2 R( W0 l% I7 _3 l8 D
     LCALL YS3" y) p* e" e$ H0 y8 i$ b& A
     MOV A,1DH & T$ t; k( p: Q! D5 }; c
     CJNE A,#10111100B,EXIT
8 r5 c, [/ F/ ^! r8 L3 r     LCALL YS3" Z/ x0 u$ P" d& J
     CLR P2.6  
: d% F8 q3 [6 y2 f% ~5 t/ k  {% E. q     AJMP BIJIAO
; y" `: R/ _% a3 F% q& n9 {2 l8 B7 j6 ?   " L# u% ?+ O5 O* g! P
AA:
) f( n: L: H1 K2 y) B, P0 R1 i& K. j6 S     MOV R1,#258 s% W2 G3 L8 b3 a
XX: 1 w0 g: A  o1 e1 d3 w3 x% s3 N7 E
     ACALL YS20 ^! F/ n( ^9 k
     JNB P3.7,HH
3 b: R8 O, q* ]     DJNZ R1,XX
# ?, T: G3 |2 b4 e5 }. BEXIT:   
4 O/ d; i# s) L     AJMP START* K) ]6 _8 T  \9 ?' p" m8 R' ?
   
" g: t2 D, p& KHH:
& }* d* ^$ y7 }     MOV R6,#49 |" I  D; F3 U; ^
S: ( E) |, c3 W8 b6 P8 y
     ACALL YS1
! O9 _+ v' V8 o. v& S6 f     JB P3.7,EXIT + h$ U. @/ U2 `' H
     DJNZ R6, S
+ h$ O2 B+ E- J5 w$ b+ |) X     JNB P3.7, $  
  M' a+ }, Q( E- `- _     LCALL YS3
6 [7 {5 b$ P8 H& y% b: y     AJMP AA
9 p, {/ Z  _- S# p7 d- U, TBIJIAO:
2 e# D* o% T! g3 x. B( d     MOV A,1CH % T6 B. W' f+ b! w: A9 s
     CJNE A,#03H,N1  
+ u$ \! r- T. q     MOV P0,#7EH    4 K: l/ D5 V  T- y! O
                     
7 S5 f/ q# x% B% i ;处理STUDERV录音机控制码) w1 P; S. i* T2 s, h( I" n
N1: 2 A5 n' t% E: l! _9 k
     CJNE A,#5FH,N2 ;播放键
9 N3 x& M# \% p& g: ^5 e4 b     MOV DPTR,#REP/ n; g( E7 [6 m3 A
     ACALL SENDA( q: Y2 I/ f8 p0 ~( N: |5 n9 N
     ACALL YS4
8 H% @, r# E- k2 B  h* [  |     MOV DPTR,#PLY
5 _1 X6 O- K, K" }8 i% w/ a     ACALL SENDA/ X8 `5 i5 _1 i
N2:
5 g7 Y5 A1 `( A" }' R3 t1 }     CJNE A,#5CH,N3  ;停止键
% k& b: X! P: i) o) r5 c* q     MOV DPTR,#STP
) Q$ [$ v) k0 g: g5 d; n     ACALL SENDA5 N5 U8 r" a0 n
N3:& R. ]7 J, X: H% e
     CJNE A,#06H,N4 ;快进键
  I2 g+ ~; ~. y) ?. D     MOV DPTR,#FWD
8 ~5 n) @. m5 D$ O9 h9 V7 f! i     ACALL SENDA
2 j- R, X0 y6 ?/ k$ hN4:3 k. L, G: [! d/ _- X% O! S) w
     CJNE A,#09H,N5  ;快倒键
# V0 V7 V8 T% Q* Q- w     MOV DPTR,#RWD) X% N$ E. ], E
     ACALL SENDA4 f+ K" Y2 K% H5 }2 _, S
N5:; {, a/ A8 I1 J. h
      CJNE A,#0AH,N6  ;置零键
+ r3 ?2 O9 ^; P& j      MOV DPTR,#RTM9 Q/ k$ i/ s; K/ S  T
     ACALL SENDA
8 Y% v4 R& I7 v4 A+ H$ nN6:% o' X. m. N7 a+ m
     CJNE A,#0CH,N7  ;定位到零键
& l6 ^5 s3 \; J/ G/ G     MOV DPTR,#LZA' f' m5 v7 Y7 o( p  n3 N
     ACALL SENDA
9 o  f) c& ^" X7 @# @8 k: HN7:& e' K% V9 v5 t& ^- p. q' }! A
     AJMP AA- l# R8 h& ]+ a
SENDA:
1 S& e7 m4 X9 }     CLR A
  O! I/ H! w# d5 q" V  p7 t6 q     MOVC A,@A+DPTR
/ c. v; i6 s/ }6 S( M" Y     CJNE A,#'$',SENDB
, k* \% {* T$ S5 |, n     AJMP SENDC& m  U# O6 @* ~7 l) P) B
SENDB:
! a1 B$ y0 w1 ]) B2 r     MOV SBUF,A& J6 t$ R+ n8 X, d
     JNB TI,$+ O* ~& F7 i, B: A3 @
     CLR TI
7 R4 [3 }2 h; @0 V/ @     INC DPTR
# Q; j+ b* ^8 D$ e7 e4 {     AJMP SENDA
) w( }4 P( M. e; H* OSENDC:
. W# S- l/ _% R5 z3 E" T$ `     RET
0 ^, |' ?# a; W& |3 y& X, j( V6 v* c1 [
PLY:  db "PLY ",0dh,0ah,'$'
- m+ e# I; J' J, W8 T# WSTP:  db "STP ",0dh,0ah,'$'( [; ?6 l0 F, s- D4 `9 E" I
FWD:  db "FWD ",0dh,0ah,'$'
1 \! L! p* m* `7 n4 w7 _% E4 ARWD:  db "RWD ",0dh,0ah,'$'
; d2 u8 d) O9 I2 y0 z/ vRTM:  db "RTM ",0dh,0ah,'$'" g' s' s- H4 y8 c
LZA:  db "LZA ",0dh,0ah,'$'6 O! _) f% B5 R+ n' S8 W6 g1 N* g
REP:  db "REP F ",0dh,0ah,'$'
; S9 y- w) v9 v% i1 K; q5 Y
; F+ q9 r4 w: g  }4 `. C, WYS1:
, q. M  w+ |2 [' o( C     MOV R4,#20& g% E$ V/ Z) m# m
D1:
7 d, i& U8 T. ~7 Q5 z6 |     MOV R5,#20
) D! S5 |- b7 S, e9 S     DJNZ R5,$
9 r7 O3 c# j- [6 V' m- s( r     DJNZ R4,D1
# O) J, R0 @0 `% X' D( _( G     RET4 H, U* t$ C/ a/ o/ |
! _; N7 e/ g! {/ U0 @0 M5 T
YS2:
! R- q4 D* F1 Q8 k- O3 t     MOV R4,#10& i5 q9 p- R% X0 i
D2:
% O# H9 {+ K0 O% G9 U     MOV R5,#235
  d" Y+ d1 y% q8 G0 R1 ?/ L     DJNZ R5,$2 c6 ]1 X  o0 a
     DJNZ R4,D2. y$ q( |! v) F2 ~* X$ `
     RET) l6 j$ M2 C4 @7 h2 |' Q( ^6 Z; y3 a

& W$ l1 b. Y0 r/ y; _YS3:5 y1 i: N0 O. ?$ R* {2 v
     MOV R4,#2/ G6 N' Q0 x( S/ v" G; V
D3:. @: [9 F! }8 t: d# G& M
     MOV R5,#248
( G, t9 _/ m1 r5 b( y     DJNZ R5,$
3 w8 s# R5 f" s, ?9 Z     DJNZ R4,D35 c2 Y- B9 p8 D$ K! q9 d
     RET. S$ L. i6 u0 ^# X2 r# u5 B
+ q5 ]% M; E7 D& s- s
YS4:6 N; I5 b( O" f8 [" w
     MOV R4,#200. q! R* \6 y/ s5 H/ K* R; ~( K% T
D4:: K% |* T' _1 e! t! b* @9 R6 w( _9 d
     MOV R5,#248
- k; T$ d& x# ^2 G% ?! |  U     DJNZ R5,$; m- ^) E! V3 R8 n0 m$ r( `# _+ ^
     DJNZ R4,D3" q% k% d+ \& w& m# T- g6 @
     RET
* K/ k3 u0 g9 T) k- n2 U% g. {     END$ m3 \: b6 X% ]7 j0 P6 p: P
* w) O  j7 h6 m- W* r' X
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
: B- x; ]! }! Q- ^- V5 [' C# H是不是很惬意,嗯!2 G9 Y' W; Q% A: M( {" k! h

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!0 R# Z5 [1 Q# a& i9 X
YK 005.JPG : `9 |/ W" j# E, p- g' c+ P
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下2 [  a3 B; m/ a0 k( U# k6 X
发表于 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
/ o9 M- J7 n3 i3 Y1 K# K最终的样子,有点简陋哈!

2 U: t* W4 E+ u这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-5-20 18:06 , Processed in 0.074379 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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