收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 6 c* d  L8 i) s9 P$ F' |* [
  d0 M+ u8 r3 t( k1 x
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。, i5 Q1 q5 |+ `1 M
6 l; e" z9 l+ F3 O2 u( e
说明:0 F4 [, @; \3 L, R) \
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;% C- p3 k* o, k3 n. t) o' A: n7 e; ^
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
& i+ b0 j/ [. A/ J. M
; U2 L% o( F' _( D一、基本思路
8 w- o0 k3 ^( d5 u: E, g使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
$ L: ]. v" p5 m9 ]3 n
) |6 j3 Z  L6 X9 \二、红外遥控器
; A8 [! }, T& a5 z/ s8 M; P我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
: h; u0 C8 K6 K( H2 y Apple-Remote.jpg : R9 K8 K! b* Y  p7 b. u) f7 A
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。- |: F$ h" w2 O- d* x
Apple-Remote - 副本.jpg
1 T7 [. F: c* }6 `- [; g在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:) }7 v9 L7 x  l3 u. D( C  A) X1 t
Apple-Remote - 副本.jpg
3 e2 s% o: k" ~0 V' Y4 E1 D0 S5 z. b+ U  a
三、红外编码
0 G" B* W& f4 `5 A) N' J1 y9 o+ G4 c2 z红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
1 I- [$ y$ V5 O( I4 R前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
1 ~) S. u) e( V4 M" j后16位为控制码,主要用于实施具体的控制。
7 Q' f( l" s, g5 d4 F9 [$ ~这16位中高8位和低8位互为反码,以提高可靠度。
) Z+ D& m0 E" V( Y0 D6 Y8 B; r  S6 }1 H4 D
以播放为例,其编码如下:
0 N- ^$ R) w& V! [00000000 00000000 01011100 00000000% Z7 d  T0 P$ B9 J7 ^/ R
6 s" N0 R; ]) [# z) Q1 U/ I9 ?- C
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。: J2 F' R- m1 k' g4 ]2 W

9 D6 i( H. W7 X+ S  K) E四、单片机系统$ j& t5 T4 G  Z, s" R) _" |, W
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
, v+ V3 e5 a8 }! i c51.png
2 a* }! t2 a- w, N7 U2 B
/ W- P3 v, o1 G$ [电路很简单,功能如下:
, t( f# t. V. ?, _5 r5 c# u8 b1、一个AT89S52单片机作为核心;
' q- p2 |6 |4 s2、一个TL1838为红外接收头直接串行输出数据信号;# C/ Y7 \1 |( k- b+ Y) t
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
& _. u0 G9 @2 H/ e% h# E4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。( p1 m! c; d) H+ r; [
8 D4 i( n$ i1 A
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。* Q/ K1 d# _8 t' e3 _- v

2 f, I$ G9 u5 Y9 Z# D; l, O
" f" ^( T2 f& W6 _& @2 l1 y9 V7 x0 B. ]: W五、控制软件
, G+ X  F5 E. ]4 e7 O
控制软件用汇编语言写,源程序如下:+ R3 q; z8 [3 ]+ B8 j. H8 g( q
     ORG 00H
4 u( }+ D  K, v4 I; P0 o     LJMP MAIN, U3 ~2 A4 W# P) x
     ORG 30H
% [3 V1 s3 Y* |  Y4 WMAIN:
& P. N- T. e. w5 t2 M     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)& Y0 K9 p2 T, z
     MOV TMOD,#22H  ;22H
' x2 N1 l3 S* @& q2 i. A: ^% a     MOV SCON,#40H  ;40H. N4 f: W$ N, N& F
     MOV TH1,#0FAH  ;F3H. F& o/ N  C& H) K* s
     MOV PCON,#80H- n/ S) L  W/ |( i; b9 L" P
     SETB TR13 V6 I& C) ?3 c* E4 w& z# `
START:& T" o1 f8 W4 p; m) ]0 T
     JB P3.7,$ ;遥控信号处理# m8 Y1 N/ K- a' p0 f$ V# n
SB:4 f& V3 w/ A# I/ [6 c5 ]
     MOV R4,#8    8 O& ]8 o9 S! u. ]* \$ g9 i5 N
SBA:
) |$ C. ?( f( N3 X& Q- M- ?     MOV R5,#250/ |& P  }5 P& Z' R- x; K7 G' v" P1 Y9 O2 E
SBB:
! ^$ P0 v8 K8 r* b     JB P3.7,SXB14 S8 q6 g2 D8 A1 a; B- h
     DJNZ R5,SBB2 ~$ ?4 T, g1 K% n4 D5 ~
     DJNZ R4,SBA5 f2 V9 r2 f. P# k* `" m
     MOV R4,#2
: ~7 R; U# z! w- p% B* T- p, U     JMP SBC
$ f8 a5 R# R$ \5 _SXB1:
0 n, q( w" Y) z0 p1 p+ N     MOV R5,#5( z+ Q! {) y6 C$ ]
SXB2:              
, y2 |3 |' H/ W/ c     JNB P3.7,SBB
- U/ o/ F( o. B: N; O5 X# G! I     DJNZ R5,SXB2
! T/ z& ]- X! m9 d6 ^$ n" O7 {     JMP START
' b' C" k, v0 h1 xSBC:
/ ]! Y% y* ~5 Z- g     MOV R5,#250
1 t9 b8 j4 o' L8 q' M9 tSB1:9 q6 S' e0 ~' C. |7 u
     JB P3.7,SB2  ! o/ v' ~4 ?8 C
     DJNZ R5,SB1
$ i4 q  t( m# s9 |6 E) ]4 U DJNZ R4,SBC9 f! W2 E  R* g% l
     JMP START# W9 a! P  d* z6 ~
SB2:                 ) P7 y% f9 M  ~! I3 ]
     MOV R5,#56 O; r0 g# ?" G: V4 d' G- |
SB2_A:# N  r( N  f/ Z* Z" J  ^' R
     JNB P3.7,SB1  a) @2 i) Y, ~$ k
     DJNZ R5,SB2_A1 Z' Z; o1 k2 j! J" q0 L/ V
     MOV R4,#3) `% y! W3 V4 U- h, n3 y3 d# V7 t
SB2_1:
9 }9 D$ d' |  z     MOV R5,#250
" g! w: @& j5 YSB3:                  
6 L% @1 G3 g( C: P, ?     JNB P3.7,SXC
* D1 }. H) z4 p) ^7 I! Z8 d- |3 w) c5 M     DJNZ R5,SB38 l* h, {$ @+ M9 a) I
     DJNZ R4,SB2_1
2 y/ ~" o5 \( Y1 O. P* F     MOV R4,#2
) x8 S5 _; x" o* }     JMP SB3_1
  z5 l/ T& E3 {SXC:                  " l2 y! @3 M5 v. k1 K  c# l
     MOV R5,#5* R' m" q! `0 G, p* K* G2 b
SXC1:, Y% `( R' B6 `) o
     JB P3.7,SB3; B8 g+ h3 F7 m/ ?& b) {' p1 ]
     DJNZ R5,SXC1+ f9 S3 [. X( \1 |# P' F
     JMP START& a0 D9 d4 E1 q8 f& b7 ~1 o: [8 R" b
SB3_1:                 # |6 X" m/ Y1 ?( |8 X' D# @
     MOV R5,#2509 l% {4 w8 G2 K" I
SB3_2:
8 [% l$ j( u: N7 p% A     JNB P3.7,SB47 \( c" L% _# H- z8 y6 T& [5 A/ g
     DJNZ R5,SB3_2
  z( Y# ?3 D, S# p+ `' I     DJNZ R4,SB3_1
) z, F/ r! @- }) {9 @2 ^5 G5 L0 r     JMP START: Y) b' L+ O  ]2 i% |% |' u
SB4:                    
1 W- v2 \* z1 b     MOV R5,#59 }. ]) _: P8 ?( m! x
SB4_1:  E0 Z5 n  Z; A* Z- A  n- g7 `3 q
     JB P3.7,SB3_27 h2 ^5 O$ r+ f7 s  e" e
     DJNZ R5,SB4_14 I4 Q  K. ~" \  P9 a2 ^
     MOV R1,#1AH  7 H3 q+ k4 e5 z* U8 U
     MOV R2,#4% F# }7 k% R( m% v8 X* Q( x
PP:  MOV R3,#84 s& c7 v  @! i1 q1 @+ x4 [
JJJJ:* y& |; u4 I- M7 U" k: X2 e, D
     MOV R5,#2509 ]1 t+ w7 v+ B/ K+ v
JJJJ2:                & P7 R5 G0 k2 e! @, `' r( L
     JB P3.7,JJJJ3  }2 ^* O  _. t/ w
     DJNZ R5,JJJJ2
- G/ b' Y. x( a* v! }. J! j- G     JMP START
& c; z& h$ ?0 F% \, H* zJJJJ3:
$ g0 Q+ P5 q0 K7 w6 \1 l* G     LCALL YS1  . G' {( i. [8 b# i+ z6 m$ e
     MOV C,P3.7   6 [9 z- z+ ?& D& z3 s
     JNC UUU      
4 Z3 F3 `  h3 g, _: G5 d5 p) U9 h     MOV R5,#2509 ~0 A! i' j) e  P# v/ R* `0 X
JJJJ4:  g( y* q8 o9 u- U4 b- n5 C
     JNB P3.7,UUU" H( J5 V0 H5 V% U( ], }
    NOP0 l# [' j6 I) X. J. m' Y2 q
     DJNZ R5,JJJJ4
9 O! a% p- `+ ]. ^. C  c, e4 D7 }' i     JMP START* H% O, {/ T0 O4 j7 ?4 Z
UUU: MOV A,@R1  
' g9 Y* R& V7 @- ?. S     RRC A           
3 g  R/ Q# O  _/ {3 m4 W     MOV @R1,A      
6 m1 j- w3 i+ q) b( x     DJNZ R3,JJJJ   
% H9 M3 O5 A. b2 g3 l% x- `7 D     INC R1      
) D( J! T( S9 |, y; k4 A$ ?     DJNZ R2,PP   9 q  E6 V, o2 {" l

- ?% t' A* G$ ?9 w! v( _4 r     MOV A,1AH " @% c4 J, J$ m# g
     XRL A,#11101110B6 R8 v6 t  ~; c6 h  M
     JNZ EXIT . \. m" _  d# S0 y' V& {! f
     MOV A,1BH
% X' o/ w6 L. N: r5 y: b     XRL A,#10000111B
' h  ?7 j6 U; _% m7 W     JNZ EXIT - c  Y4 J7 t6 ^$ ~' t2 I
     LCALL YS3
, ~5 n  H7 w. `# g8 `1 C     MOV A,1DH 9 _, P+ W  l/ x. Y. J" L
     CJNE A,#10111100B,EXIT
5 p; k4 q$ z. j0 b0 R* B     LCALL YS35 J  T3 w! a& a& v3 G
     CLR P2.6  * i; b, d7 ]) g" P  }! y- A0 c* w
     AJMP BIJIAO
9 O7 a' y1 h: N6 ?& c! Z. y3 \: O   
) ^9 k$ {4 r& `2 uAA: / S2 p( \$ o% M7 q6 n
     MOV R1,#25
+ z4 G; f9 F1 r6 c2 j( [XX:
4 L+ v0 v$ S5 B7 |+ ~; U     ACALL YS24 c+ k9 X* V4 O' s
     JNB P3.7,HH
# O8 x9 e: h, A4 y     DJNZ R1,XX" z* c. i3 ^# }; w2 o3 e% h
EXIT:    - h! D7 C: V$ {# I; a! d
     AJMP START/ o: Y; F+ _0 i* N+ q2 o
   2 t; W2 `5 C& h; e9 h0 M
HH:
" V6 g6 g% C" L$ Q1 O$ V0 L3 p( G5 W     MOV R6,#4/ v5 _1 I8 d# ~& Y4 y* W
S:
. l+ t, ^" o' |; w; T. E     ACALL YS1 " M: \$ w0 W" H+ n' [
     JB P3.7,EXIT   G* ~2 y# v6 Y4 B/ t% J
     DJNZ R6, S
! E% k$ Q4 Q6 c/ O     JNB P3.7, $  ! @' q4 K, K/ z. K2 Q5 k$ Z
     LCALL YS38 S7 J1 I1 n) T" M1 C
     AJMP AA
& i5 A! f; ?) B( z$ L8 c- _  u6 ?BIJIAO:! \9 n3 c9 Q2 O  R% ]* \# q
     MOV A,1CH
& W' k& t* \& u+ A, s8 z     CJNE A,#03H,N1  
# b" v7 ]1 u# X6 D% S* {3 S0 a, I     MOV P0,#7EH   
5 r8 n: j$ K# x) O# ?$ o: g; @                     
' p2 X( H& T* B, B8 O  u# X ;处理STUDERV录音机控制码
; S2 F7 G' {: Y2 @* F/ p9 E: m4 VN1: ) s  i- H! V0 H: L
     CJNE A,#5FH,N2 ;播放键; A# @+ ~, K) Z  M6 H* m; U  n
     MOV DPTR,#REP
9 F& a$ B+ a* N. Y/ ]     ACALL SENDA  ^$ F' Z( [4 D, D% K6 j2 n: c
     ACALL YS4
* B" W4 J( L' ~6 E* {8 [. y2 n     MOV DPTR,#PLY
0 u& H; X$ B! l  ?3 V     ACALL SENDA
% S  X4 Q7 J- j; Y; hN2:! u" v+ E) t, P( a$ k- P, p3 E
     CJNE A,#5CH,N3  ;停止键
6 B3 U# F9 n1 e+ W' p& i     MOV DPTR,#STP
# J- H$ h* ^0 b5 _% T     ACALL SENDA
; w9 {. k/ V- T; `9 J1 t! _, SN3:
* m- \$ L7 r& M: D. S     CJNE A,#06H,N4 ;快进键
4 H/ M  l& U; n! G$ V. }" }     MOV DPTR,#FWD
) v4 {8 ^/ Z- A: Z; [& W; c$ j     ACALL SENDA  y6 n% K+ b+ J8 S4 x7 R
N4:$ j7 S7 B2 [' A4 T2 R- P
     CJNE A,#09H,N5  ;快倒键: j/ `" y* a5 Q
     MOV DPTR,#RWD
7 b$ j: z8 B' \% Q     ACALL SENDA! D/ w0 G& ^  F1 o4 J
N5:2 I$ E3 F; x/ h; x& d& \
      CJNE A,#0AH,N6  ;置零键
$ L* {$ h9 ?3 r0 r/ q7 h      MOV DPTR,#RTM5 M# N* |/ ~" a/ }( h
     ACALL SENDA
& {$ V. [3 }% U. w9 tN6:/ z8 A- i$ N/ `! h9 r0 @& g
     CJNE A,#0CH,N7  ;定位到零键) Q* m& }" n2 ~) M# D
     MOV DPTR,#LZA
: P8 }" D! X" l8 h4 q& S/ a     ACALL SENDA
! W- G- ^. P8 n9 B' o  BN7:+ T+ }+ n) {9 ~* V. F* T$ @  L
     AJMP AA( s9 d& L$ U1 ^9 B$ D' h$ Z
SENDA:
) ^- G; d4 j1 q$ @+ ?0 U9 @0 s     CLR A6 ~% ]1 c( V) N; V5 a! ^8 g
     MOVC A,@A+DPTR
' E8 r+ y6 \  Y1 q     CJNE A,#'$',SENDB
7 `+ [- ~  `$ G  Y     AJMP SENDC# U* [1 `( C$ B" [
SENDB:% `# U* d1 }& B# u7 J
     MOV SBUF,A* d) Y% v7 j6 j3 Z7 v; P
     JNB TI,$, G* ]1 G1 {0 a8 I
     CLR TI
0 @6 l$ R7 Q( p6 V8 Q     INC DPTR6 U6 O, s4 P& M5 s9 X
     AJMP SENDA& I7 v- z* `9 r4 N& K/ l+ h
SENDC:
! i" D" I' e% R6 N. G5 ~) Z0 \$ z     RET
) _, ]- {9 [# @; X6 U, d8 W& y% x8 G$ l2 b8 @3 m- e
PLY:  db "PLY ",0dh,0ah,'$'7 a" _8 Q9 |5 g
STP:  db "STP ",0dh,0ah,'$'& M+ q% V7 D* @9 `) j
FWD:  db "FWD ",0dh,0ah,'$'' G4 {/ S. f7 |3 A+ k
RWD:  db "RWD ",0dh,0ah,'$'+ T% @/ }' I- c! i9 V' b' W2 p
RTM:  db "RTM ",0dh,0ah,'$'
" p4 I( `8 t; fLZA:  db "LZA ",0dh,0ah,'$'
! u5 B5 q0 o6 W- P0 F. KREP:  db "REP F ",0dh,0ah,'$'
: H1 j" y, `) x+ X% X" h5 q2 x2 {5 Q& L9 O
YS1:) ]* Y$ T( H& l' ~4 F- E; R, ~
     MOV R4,#206 {* J6 K6 B9 K$ `# {6 T) O* D
D1:
& L, v7 k: j' ~  r: |     MOV R5,#20
9 z6 Y6 z* J0 q. B2 v     DJNZ R5,$7 X+ Q, w0 @; }9 @" B& `) ]
     DJNZ R4,D18 {5 e% v* M$ g; e+ y* y- c3 Y
     RET
* v$ h  P3 X% k  e$ }9 j' F# g' @0 Y0 X; \! i# C  g
YS2:
! h4 K( o% ^) g$ w2 q8 @- @1 T     MOV R4,#10
! r) }$ M& G  [  s; ~% zD2:6 q; v: Q+ e# I! g# F' a$ X
     MOV R5,#235
: ~0 j' y" Q8 o# g0 e3 d     DJNZ R5,$
8 d( I& _7 X" h( p     DJNZ R4,D26 o; z) O) O3 [- h7 e4 ?# v3 I
     RET+ {  L1 N( }1 w" `1 j

3 M: r3 W& X, }, H9 eYS3:
0 t/ a! i4 c, y( W     MOV R4,#2
% R0 ]* K2 J% X0 i# f; jD3:
& P% n( u2 E5 y' W& Y# p- Z     MOV R5,#2488 i2 j- [9 A) k7 `+ @5 S
     DJNZ R5,$1 r5 }: C3 w; m$ F4 I- g6 _- E+ p& J
     DJNZ R4,D3
# L. r0 h( ~7 E+ F' {     RET
7 q- v- x: D2 L* M) B5 M+ H. P6 M3 F: `* P( |
YS4:% K/ H: B$ f3 ~3 t9 a5 B  r
     MOV R4,#2004 g, R, w! o; D* R. d
D4:
- c, [7 k* ^3 w- S- h     MOV R5,#248; R8 s; g( n1 K
     DJNZ R5,$0 s: R( R' K9 q6 `+ r5 r
     DJNZ R4,D3
$ F# i; T9 V6 n" T$ h1 W: P     RET6 s: l) R& n/ k
     END, O1 K! [, i  s8 Q2 a1 e3 r; ?

( `/ E. }' ]& y% i有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。# X3 }3 X; L* w) n1 A
是不是很惬意,嗯!% y0 H5 |7 {4 G. L- d- [; y* u, {

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
5 e6 p: y/ z; @. T% a) ~  l& E9 k YK 005.JPG
! K1 g8 z( E1 J) a/ _
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
! g: N; Y  G* x- r" ^( }
发表于 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' ^; `- _1 e* M* t
最终的样子,有点简陋哈!
  j* P$ I' R0 P
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-7-29 03:10 , Processed in 0.105676 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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