收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 " A; ^2 X  a) S8 c$ S5 x

( L: P) u/ G. X2 y3 E# T: L本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
9 m+ T. x' n- R$ t& Y1 d
6 E! s* W# N* j) z1 H, y# B说明:
: c: @1 h7 H/ r0 Q) k1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
  M0 ^+ j8 V/ ?, a  r" \* m0 I, V# ^2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;7 J7 M8 c# B/ t

. q' Q1 L. |  Z% ^' t" g一、基本思路
4 \; \( K2 a* x4 i% h3 K7 ?3 W使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。: ?% N5 d4 g2 Z8 r  e& m9 Y3 P! u
7 x7 F, c! G) C" b& K1 `' k
二、红外遥控器# E2 X8 H$ L/ n
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
5 x8 `6 A( y+ V Apple-Remote.jpg
8 \* O: |( h2 I, H" B# g7 p好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。+ B1 k8 ~: D+ B3 V9 F+ R, j3 G
Apple-Remote - 副本.jpg : e, S. W6 K% y. J$ t
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
0 z9 B( p6 @; U Apple-Remote - 副本.jpg 4 q( S) g9 I; ?/ O- A

# Z, {8 B, o- |# N2 _  b! Q4 S三、红外编码1 f( m; {2 c- F$ ?3 q& f
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
- \1 _  E3 b" Q前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。) D9 N* F- e& d0 I: m: p2 {5 @
后16位为控制码,主要用于实施具体的控制。! U  q5 e5 O7 ]( B# E$ _, u1 {
这16位中高8位和低8位互为反码,以提高可靠度。
6 x( O. B6 g, b) n) Z9 R0 J& H  ?* J$ r
以播放为例,其编码如下:( J0 y( \: \6 Q1 s6 g
00000000 00000000 01011100 00000000
; e  A4 f) B- r& z, c* U6 D* C0 u, b6 L) m& z
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。3 P* c. @$ W$ [1 \

. x/ h' X, g& D( W+ L四、单片机系统4 |2 s$ N8 W3 P6 j+ {( [! A
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
! J  _* M! R2 I* d4 C8 M* V. e9 i c51.png
) Q  V( T( g2 B2 E. G/ ^ 2 ]3 m* ~+ G2 |$ ]4 E. D& ?
电路很简单,功能如下:
# p! R! p4 N% F6 Z: \7 C' @1、一个AT89S52单片机作为核心;
% [5 L$ ^( Q/ @) @2、一个TL1838为红外接收头直接串行输出数据信号;
* t; j! B% q" R3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
- t2 Y( J+ r1 g- N) T- o+ s4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
  P. B( R3 E* w3 \& Q0 @/ U0 u
  J$ H0 O% }) |, v8 k关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
1 r9 s$ o  s2 p# ^7 u3 T& |; g* ?, z" o5 P8 Y! N/ `3 m
- J# D1 V4 l4 J# {& b$ e
五、控制软件
, b; R  {* M- c* r$ e; @
控制软件用汇编语言写,源程序如下:- z* A. }2 f3 v) ~
     ORG 00H
2 a, d5 D7 u+ U: ]* F; g3 }9 N; Q     LJMP MAIN
; g* W6 G$ i1 [8 X     ORG 30H
2 K0 d+ D* r4 U' LMAIN:2 T" B  _6 l  R4 ?& P( c
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)1 v. x2 w7 d3 s4 U9 H4 S
     MOV TMOD,#22H  ;22H
! J4 s/ o- ]+ R: p: A8 o     MOV SCON,#40H  ;40H) }) p# x- U5 H+ ~' }
     MOV TH1,#0FAH  ;F3H  n6 f5 d6 G6 h2 A3 S! X% V
     MOV PCON,#80H
4 z5 H/ O# x/ N  U4 Q. N: ^5 o     SETB TR11 B1 p' \6 f( i& L
START:0 d& m  p& p( X: Y* _
     JB P3.7,$ ;遥控信号处理
+ p) Z3 t4 n6 Y) gSB:
# W& V% K) B7 ~# W, C2 u     MOV R4,#8   
8 N2 b4 n7 a' [+ R' @SBA:
& F$ {6 V' F1 C2 d! B     MOV R5,#250
6 c, M1 j* O1 X4 v5 wSBB:
- S6 h+ \. L4 m8 k6 p# L! B3 Z     JB P3.7,SXB1
- r- Y6 Q4 d0 S. B% }; V     DJNZ R5,SBB3 Z9 O9 N4 ^, x& L
     DJNZ R4,SBA& t& q0 D8 a2 \. k7 {
     MOV R4,#2
% l; V. v1 z5 A4 O, ]/ r8 A& m     JMP SBC
; ~2 i; \1 N2 D4 \8 gSXB1:, x9 s1 D6 ]6 ^
     MOV R5,#5
- q  e) Z- p; eSXB2:              6 S( b8 [$ j8 p( N% ^& l* T
     JNB P3.7,SBB
2 B' F  j7 n3 M* x/ ]7 h+ f     DJNZ R5,SXB29 H3 E) Y+ t$ S1 A% G7 e
     JMP START! N# a, Z# ~. S$ u+ n7 `2 n2 ~
SBC:5 t7 y! ^; T7 V7 ^8 t" F
     MOV R5,#250# [( b) ~" C. @- Q# i5 M
SB1:: |3 r& ~7 x( G
     JB P3.7,SB2  * Q' v0 o9 f0 C) h8 N
     DJNZ R5,SB1
" q3 \% l' F5 C, |& R: u9 Y) D DJNZ R4,SBC
/ {5 d8 J6 |. u& C     JMP START3 w) a% i+ P) m$ k. p1 q. _
SB2:                 . ]6 L4 w* A& M& f; ^9 L/ B$ \
     MOV R5,#5
' V* c% B, Z5 M: i2 k) CSB2_A:' C. ^7 u3 q: M
     JNB P3.7,SB1
  L4 p; o1 a* T3 L) j2 m- Q     DJNZ R5,SB2_A
2 f7 h! D' E8 a( K) A; C2 X2 E     MOV R4,#31 k1 R1 h/ e; M
SB2_1:3 ~1 A& N7 y! m* v& G5 o0 Z$ m. e
     MOV R5,#250
* D, S. V! Z8 ESB3:                  
1 J: q, o1 e: K2 F1 ]: A9 x     JNB P3.7,SXC
3 U6 U, z! I0 \+ X1 N% A' W     DJNZ R5,SB3
, I$ i4 r" `, s2 K     DJNZ R4,SB2_16 ?6 I! \$ U7 `7 P+ I6 a  ~
     MOV R4,#2
! Y% F5 ~! i) v2 V2 U. Q5 O     JMP SB3_1
4 s9 B! G$ W0 SSXC:                  
4 z4 Z, G- t7 |1 e     MOV R5,#5
3 P8 h; ~6 d) K2 dSXC1:
) K' W  h  w0 w8 L; b     JB P3.7,SB3- z" V- T* t" m2 m! M
     DJNZ R5,SXC1+ Z5 ~+ K; A1 b1 u
     JMP START
5 u- }9 k# r6 u; H# B0 |SB3_1:                 8 m. F8 Z" T2 K7 h3 Z3 w. `( V7 g" {
     MOV R5,#250
5 r. t4 S& Z8 mSB3_2:
# u' y' O. q0 `' m6 q6 E% P3 j     JNB P3.7,SB4
  X& j' s) {. I6 O     DJNZ R5,SB3_2: ?7 q: `1 q7 g& D  |/ p
     DJNZ R4,SB3_1. g5 u4 z* @  n! t4 A; w( a
     JMP START
6 G6 j9 F+ D0 q& ?1 FSB4:                      ~  I. z5 c4 t' C, l: O* w
     MOV R5,#5
4 Y6 A) N. j* h' ~  ^; WSB4_1:
: j: i2 P9 O+ D5 ^5 q     JB P3.7,SB3_2
, i5 m. I6 R6 P     DJNZ R5,SB4_1
; k: V/ r& b6 D; r! M! J! d* K     MOV R1,#1AH  ; S  t* y7 Z7 L: ]: `% ?8 {/ l* |
     MOV R2,#4) K1 ^  R7 _; P  x* ^% q* F
PP:  MOV R3,#8& U; Y3 H7 m) x% _* U
JJJJ:
9 K2 o2 z8 M8 H     MOV R5,#250( m0 ^) j, V, _4 C
JJJJ2:               
. G$ P0 w. W1 P% A) d6 i     JB P3.7,JJJJ31 G4 l; q; Y% i5 u8 U
     DJNZ R5,JJJJ2- k; t: o/ Z# Q( F( d$ `
     JMP START' o- r/ }  q4 L
JJJJ3:
* y& ^* J, B! k# E) X     LCALL YS1  # ~9 z* G( |' m2 s6 u  Y, n. n& W
     MOV C,P3.7   
" z/ F( |+ n0 _, D9 Z! i" j/ l     JNC UUU      
" P1 l+ S" \& j/ |     MOV R5,#2505 r& D0 |3 L3 h; k- f0 L5 z  Q* @
JJJJ4:
' v* @9 R% E8 h, h5 k) k  Q     JNB P3.7,UUU
  f7 {; f) D6 R0 h    NOP8 H" E" F$ P) v' c
     DJNZ R5,JJJJ4+ S! S) ^9 P. _/ o* i; f
     JMP START
  z$ I6 ?/ \; y: \UUU: MOV A,@R1  2 E. t# _( Z* t, D- {: G, D
     RRC A           8 R0 a8 V( f3 g8 L
     MOV @R1,A      
8 y1 x! z, @* @+ P& n+ ^     DJNZ R3,JJJJ   
; u, }$ r7 k6 \% a+ Y     INC R1       4 ^( j# H. r  }& l7 b: a* a+ R
     DJNZ R2,PP   
* I/ j! u, W9 i! x: y: v* I3 U' h
     MOV A,1AH : U+ x4 u& U4 i- U: L8 o& V
     XRL A,#11101110B! `% c1 _0 {  C5 i8 P9 y2 P0 z& ^
     JNZ EXIT # P9 U% N6 S, P5 X. v9 |
     MOV A,1BH
5 ^7 F( J& s$ R- n. F- |+ U8 p$ p     XRL A,#10000111B& v: p/ }5 t5 |* a* D
     JNZ EXIT
- E9 C, \0 j5 w$ p/ q     LCALL YS3
% Y6 p1 S, f7 |# W/ u' p! P     MOV A,1DH
3 j, E8 d1 u( _, a     CJNE A,#10111100B,EXIT* @* }9 `) v8 _( P
     LCALL YS3! K, l2 K# q/ c  l, i
     CLR P2.6  & \- \% z8 Q1 v
     AJMP BIJIAO
7 @4 `; i+ E3 P+ c( t, \   
$ J; j6 }3 r3 p& e% ^+ \1 l9 ]AA:
: D7 F$ g- H+ g4 N     MOV R1,#25
6 a% b! S% d  w% U4 H7 |XX:
: x( T, {5 @0 W5 w5 T* [     ACALL YS2& k5 Q% r) \4 a! x
     JNB P3.7,HH
* I0 W8 n+ g( `, \$ I, P0 o/ t     DJNZ R1,XX
$ s; L  I8 P6 U+ VEXIT:    0 E* [. W; T, I0 t  t  E' Q
     AJMP START" o8 |6 C# u8 X! i. X8 @& K
   # k7 o; _; M, v# A% H0 q
HH:; I/ ^; R/ ~5 j6 s7 }3 t
     MOV R6,#4" N2 q- R! G2 m9 ?7 z, X- Q2 b
S: # j, f4 {) a- w8 k9 c1 a2 h
     ACALL YS1 / w! u0 h# m: L
     JB P3.7,EXIT
. R9 \, j/ w4 k$ ]8 J     DJNZ R6, S
6 Y2 K' e  ]& K0 c% s* @3 J     JNB P3.7, $    E7 ?0 a; O9 Q4 l
     LCALL YS3
# I5 Y$ o* X& b! g     AJMP AA; y/ ?5 }) S- G2 v$ K
BIJIAO:
5 v- O8 l; o6 X4 h* k# M7 V/ t     MOV A,1CH
6 w, h2 c8 P( B/ U( X: s: l9 L1 k     CJNE A,#03H,N1  % n& |+ d9 _$ I$ x$ Y" ~; k1 I
     MOV P0,#7EH    5 ~: s6 E  l3 b1 Q7 E: ]+ @
                     
" K; O3 l# Y6 v+ N ;处理STUDERV录音机控制码
, ]1 v& q! j) KN1:
% \0 q! b4 b4 L9 @     CJNE A,#5FH,N2 ;播放键
; x; C( S9 @9 l; b' o     MOV DPTR,#REP8 ^/ ~% S& Z4 F( s
     ACALL SENDA8 [% e& ]! A- m  `3 ~2 ]& w4 S
     ACALL YS4/ M. q, o; f2 ~& V4 P* X  Z
     MOV DPTR,#PLY
( I$ }7 g* ^$ ^# q     ACALL SENDA
% W) w4 I, ^$ ]1 w% k" z9 PN2:
# F, l6 W* Z$ s: t; ]8 v     CJNE A,#5CH,N3  ;停止键
0 y4 c4 L+ C6 }1 e( t6 l% g     MOV DPTR,#STP! N# c8 c% W2 B/ P) ^" ~/ a, x
     ACALL SENDA
7 G1 M, M7 E7 \4 N7 bN3:
3 w$ m+ Y  E4 w- F     CJNE A,#06H,N4 ;快进键1 M9 A' A2 \% Z' q/ E- L4 D
     MOV DPTR,#FWD) g. i  C7 ^' `  j/ w- x3 J! @
     ACALL SENDA1 u' O, a- X- \; w! L1 P( }
N4:% z2 G& H8 h+ j4 y8 N
     CJNE A,#09H,N5  ;快倒键
4 \- W3 i8 S( ]- f/ F4 W' g/ b     MOV DPTR,#RWD
) U5 i4 U  _$ B3 q$ _     ACALL SENDA
* F' L. O" V/ }: Z$ a# m* ~8 ^N5:8 b( T# `# f' E( X- w+ o' `5 I
      CJNE A,#0AH,N6  ;置零键3 j1 b9 t! t' l! G* T# Y; S, z
      MOV DPTR,#RTM) M" ]( |! t/ H( v+ J$ R
     ACALL SENDA
% f! h# }2 n+ W0 vN6:3 u( M: v. E( {8 N, s
     CJNE A,#0CH,N7  ;定位到零键
/ U$ W) Y* L0 H$ p     MOV DPTR,#LZA
% ]( K) o' Q9 j3 p- m$ l7 v- @0 a. e* M     ACALL SENDA
) B! |% l' L7 p7 Y5 g& [N7:
2 Q' g1 F/ n7 i, e" X2 N) R     AJMP AA
6 c1 `+ }5 i) O) pSENDA:
( T2 l/ i4 }; [- P     CLR A
; u! O# ]$ s) W/ ]     MOVC A,@A+DPTR7 S4 h' B" b; H# Y
     CJNE A,#'$',SENDB
7 s3 Z2 p/ ?! t( U     AJMP SENDC
1 ]7 X7 |8 d/ N5 qSENDB:& G. ^1 ?  S0 E* b: }. Y# f9 m
     MOV SBUF,A- Z9 {2 N( S6 D9 }" U: U& r3 |1 z
     JNB TI,$7 {* Y6 ]6 Y9 {! H; |2 J
     CLR TI6 A  I0 f0 r- T$ P  G9 s8 F
     INC DPTR  j6 O1 S1 ^' o
     AJMP SENDA8 d5 q' C7 q9 o! R) ?
SENDC:
, D% ~# U0 N4 w! `9 e# r     RET
3 Y  q( p& [" |3 X3 R6 O) d0 ]( J0 t- K1 Z1 i: [
PLY:  db "PLY ",0dh,0ah,'$'
% H  {) ^: q$ N5 u4 lSTP:  db "STP ",0dh,0ah,'$'# r: r8 I$ r5 C# F7 N4 |) a% N# q
FWD:  db "FWD ",0dh,0ah,'$'
+ E1 P  x  l1 K# U( K+ p. HRWD:  db "RWD ",0dh,0ah,'$'
+ v8 P- o6 a% ]/ w) M/ h. nRTM:  db "RTM ",0dh,0ah,'$'$ h" m3 }4 ?8 ?( w5 }
LZA:  db "LZA ",0dh,0ah,'$'
* N5 ~4 ^2 ~- P! kREP:  db "REP F ",0dh,0ah,'$'; t8 V4 ]; a! N- j
3 a# p4 W0 u' E+ `4 y" K; Z- r0 }) C
YS1:
: g0 `. Z5 V8 Q) x7 z     MOV R4,#20
$ T/ R- s2 M( `; _D1:
  r& t( }9 k- {. I" i7 R, k' a     MOV R5,#20/ p% @! f; |" }/ v5 E  V
     DJNZ R5,$" r& b  S/ g- g) g7 S5 p, N
     DJNZ R4,D1
' Y! ~3 ^9 Z4 |1 O7 H1 j     RET
/ T  `3 |  Z4 q( G- y- c* t+ O! `) H3 L
YS2:
! H* j- [# }4 ?5 F( R     MOV R4,#106 y) K% p7 v0 U
D2:' j2 l6 j+ U2 m1 v# S
     MOV R5,#2356 P" e* |- y* k* f# ^
     DJNZ R5,$
* e1 D) `* V& Y5 P  A) }$ [6 m     DJNZ R4,D2
! X3 B0 X* T5 L4 n% |0 o3 H6 k9 G     RET
# a& T8 |( d& d! z0 l8 s
) l# X8 v/ h" YYS3:6 b/ _. C& F2 N
     MOV R4,#2
& Q4 V+ q" h* Z$ I9 RD3:
6 }1 s9 k' M9 w$ ^& l     MOV R5,#248, l9 ^# s) z& b8 ]
     DJNZ R5,$6 u$ I! M7 T( `, l4 f0 u
     DJNZ R4,D3" R6 A, i  M- ]8 W- e
     RET
3 T1 `2 u1 t' E+ N( q$ ?. @1 L. \$ u% B/ b% @) I( V
YS4:
5 e8 t/ S) B% i7 R% r4 @     MOV R4,#200
! }: j8 X2 W: H# F- w5 FD4:& u; M2 n& [4 m) f
     MOV R5,#248
  Y1 \, {8 k6 q" O     DJNZ R5,$
9 V6 N6 i5 ~" t( A6 J7 M6 Z. Y     DJNZ R4,D3
5 m9 V; Q) M8 O& {: k* ?+ T/ `6 x9 H     RET! r1 `1 N: I7 @" ?
     END
: Y) s5 F& }4 I" H- u7 y
$ B. N5 j+ D7 c) n/ b. f& A有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。+ ]4 [" g( Y& ]8 R+ y) P) t  J
是不是很惬意,嗯!) ^3 R+ H7 a4 Q; g; @

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!; U( X1 U! }* d* f" E, n2 n- K1 a+ }- a
YK 005.JPG
7 V  s+ }! [3 p, \2 f; ^
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下: Y* [/ g2 d% k9 x7 o# ?' v
发表于 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:541 W* ]1 X/ |) F1 _* Z
最终的样子,有点简陋哈!

+ B. t  q, ]. R5 H. X这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-8-21 05:42 , Processed in 0.080827 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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