收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
" R, o* _3 E) ?" ^4 w
, P2 J5 w( q( e1 p8 ?本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。( b8 Y( f& H7 u. q+ |

& |9 t# z) t, f; E- l说明:
( |2 u9 r# e2 [3 _* e+ z2 S6 v1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;# y9 T+ c$ g( J0 ]1 C+ z
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;0 C# ?4 J3 ?) d1 a# D7 T9 {
5 |/ O9 t9 U* J( `3 X4 k" ^
一、基本思路
( ]3 S+ H* A" ]0 {使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
* y; N& F0 D, Y9 _7 I6 M# x- m; i  X: _
二、红外遥控器6 U) a/ S$ t5 i7 ~
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。) {- R( D6 ^3 C
Apple-Remote.jpg
* p& @) R% O5 V( b' W' s好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。2 c, c+ B, [* u7 M5 S" ^
Apple-Remote - 副本.jpg
  ~! G' E( g6 S8 Y  F- Q在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
! h# [2 Z2 c4 ]8 t2 r Apple-Remote - 副本.jpg
* w$ c! Z8 @" V% z
# I$ v8 L, S7 o; ]8 c& y* [三、红外编码
8 [3 v! U; ]+ t( c红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
0 |# V; x% Y* _7 W" Z4 }; Z3 v前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。3 f# }/ |8 m* y
后16位为控制码,主要用于实施具体的控制。0 ~: R5 l% |2 i* v9 J
这16位中高8位和低8位互为反码,以提高可靠度。
) ?. s6 ?7 b+ }+ I' P1 T% u# }5 ?, t7 f
以播放为例,其编码如下:
" R* |6 D$ S8 p* k# A/ k; K00000000 00000000 01011100 00000000) A5 Z; u; {6 d8 U

. ]$ e: X: K0 ?% g+ T; ?8 ?0 A$ M0 q你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
* Q. a5 l# {) u  g; `
% X2 q0 a  j0 n3 M! v% t, _四、单片机系统7 {8 l5 @& {- h% k' C
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
' b2 W$ |; G9 G' n c51.png
, }1 _0 M6 L7 d0 K 5 k9 l/ d6 {3 f3 s
电路很简单,功能如下:3 V5 m* o* g9 z' q4 e1 S/ R
1、一个AT89S52单片机作为核心;  m& H: ^4 S0 C- s, n9 |" q
2、一个TL1838为红外接收头直接串行输出数据信号;
, y  j, e- j6 a" j$ p1 G2 X: }! H1 I3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;/ U7 {* A% J; f2 \
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。" y$ J8 q$ Z! f* c8 T

6 a" u9 T7 y; P3 C关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。7 ?, ?) Y2 F7 ]1 {! N+ Q

; j3 |9 W" i7 ]( p5 \! y8 L( [2 F$ H  u* Z" Q+ y
五、控制软件
4 h9 y. x! [$ n0 }: ]
控制软件用汇编语言写,源程序如下:* N% B; q/ L1 @# F
     ORG 00H: ^% u8 \. |& H) W: g6 n& X
     LJMP MAIN2 b0 b7 Q& |9 U! U
     ORG 30H
; J" n' X# U; oMAIN:1 O: p+ h8 S, N$ N  G
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体): T6 O! K. G/ K2 M
     MOV TMOD,#22H  ;22H0 F' \0 ]9 Y( u. X/ F' E3 C+ q) W
     MOV SCON,#40H  ;40H
- M, m: S/ Q1 c! K9 r$ m' f* {4 ~! W     MOV TH1,#0FAH  ;F3H% G  x- }0 @0 I
     MOV PCON,#80H* |9 g) I3 U0 f* b
     SETB TR1
* ^9 y  C: k) F' M* C$ ESTART:
* U" |9 \( j* H6 d. V( s- \( `3 P- W     JB P3.7,$ ;遥控信号处理
6 U) E8 y* W1 ~4 e. x' Y$ ^- OSB:
5 c, z4 E* Y; Z     MOV R4,#8   
6 U7 \. g& [. H3 L( @) zSBA:
% k7 G$ P7 [& S3 ?6 R     MOV R5,#250' Y% W9 S( h3 H, v
SBB:8 k6 ?1 u( H+ g4 X6 C9 l7 {1 W
     JB P3.7,SXB18 @5 j" ?. z6 T+ [6 O# ~
     DJNZ R5,SBB; X2 `1 l# @8 x. j7 Z; v" N
     DJNZ R4,SBA
. k; L; V" _% R2 T6 Z- h     MOV R4,#28 A6 X1 k: B2 A; G
     JMP SBC
3 G  {. V7 W+ N1 t/ y9 ZSXB1:" z/ _; R$ D5 [% f4 ]
     MOV R5,#5
# X' T  s) e* v) ASXB2:              
; E3 o& c; }/ p0 j     JNB P3.7,SBB: Y2 a7 c! R/ [
     DJNZ R5,SXB2& U9 v$ x8 F; |" J
     JMP START  {0 t/ X2 E$ i5 o' ~
SBC:
1 f4 x+ {6 C* f9 T     MOV R5,#250
' [9 P5 I2 s: R# Z7 u6 FSB1:
' Z2 W+ C+ p) [, _     JB P3.7,SB2  
" H7 O: }1 W) p/ b! j     DJNZ R5,SB1
/ {6 b. f3 }! L1 ^+ F DJNZ R4,SBC
- o2 ?: P& q8 F7 g$ K$ D7 `     JMP START0 C2 o6 T- x( K+ B6 k8 P% [
SB2:                 - M6 X+ f* Q: P% m: P) K/ q( Z
     MOV R5,#5
' z9 n) g* h# S6 t' o3 SSB2_A:
) n% F. Y6 }6 ]4 [- X     JNB P3.7,SB1
4 V. o& C( K# l; N( s: p     DJNZ R5,SB2_A
& Y, n1 n% [7 v$ b! @) L     MOV R4,#32 O2 A& i$ ?, E1 a& W$ W9 S1 Y
SB2_1:) F0 e1 b- l: t  w  y+ B
     MOV R5,#250
# j6 {# a7 j' g; @SB3:                  ! X9 K: {. g. u! {
     JNB P3.7,SXC
# ^! a. |4 F0 f     DJNZ R5,SB3! `, i* H$ t* z- @4 N
     DJNZ R4,SB2_13 ]! J, Z; L3 Q
     MOV R4,#2
: X! H! y1 }9 ^) @     JMP SB3_1
) k9 B6 {2 h# }0 D9 c3 RSXC:                  
! p* d4 X) k; q/ ]' u6 _     MOV R5,#5' q, H7 R, d) D2 I5 t
SXC1:
* o" K/ k  M4 K6 n     JB P3.7,SB3
, T7 f5 O2 L" F6 r3 _     DJNZ R5,SXC14 D9 M1 K, E: T! S6 ]: N4 N9 n% V
     JMP START
, ^$ ?, p+ X/ y. rSB3_1:                 ! ^7 z* S6 m# |7 U" ?
     MOV R5,#250
& ]. K# m- H& x5 s- I5 Q# VSB3_2:
- r/ s8 M; r$ w" ]7 m; f* a- F     JNB P3.7,SB4! }& a/ c7 @7 P( {
     DJNZ R5,SB3_2
  F7 _: s8 A3 |4 b     DJNZ R4,SB3_11 M: Q( w+ X6 P+ c
     JMP START
8 A" I2 ^  \; e0 S! Q4 P% B) K" v3 USB4:                    ; c! D2 F3 y. G5 ^9 |
     MOV R5,#5
9 ]/ F* a  f7 i& g: MSB4_1:4 [  O% k9 B7 u4 {
     JB P3.7,SB3_2* Y# S& U; V9 X3 g9 M  {
     DJNZ R5,SB4_1
7 q* f- ?$ s: E2 E& `) U+ R     MOV R1,#1AH  
& e# Z- a& h5 I) j6 z. D     MOV R2,#4
  L! G' Q' Y: j7 Z( d/ K9 RPP:  MOV R3,#8
( e5 ^4 z% e5 {+ g8 x" `, ~) \JJJJ:( ]5 s* ^: {& \  f: {; a* t, p' L
     MOV R5,#250
! f- f5 S" X: _JJJJ2:               
$ l( d& L0 z% [     JB P3.7,JJJJ31 }6 F* x& z+ z5 A; @% H
     DJNZ R5,JJJJ2! d; S) t- j$ ~! U, a1 N1 v
     JMP START
1 u0 i$ @# p. t, V1 M9 Z: r0 `9 }7 M1 ?JJJJ3:6 x' Y6 J$ y) [8 {* ]+ U9 Y
     LCALL YS1  
7 U* ^3 ~: j9 q; T% Q+ P' I     MOV C,P3.7   
% h3 a# B) w* }1 u     JNC UUU      1 [( g2 L% o! ]5 M
     MOV R5,#2501 h" `, ?, _/ [: I( Y4 d5 B! K
JJJJ4:% d, d" X2 d  d+ y2 R$ r( {
     JNB P3.7,UUU
: a) l  b" h- h% x& K) r    NOP2 |5 k2 [( V# X* a' a: }% L
     DJNZ R5,JJJJ4# M/ F& B+ Q; M: v3 p! X$ k
     JMP START
* q/ _6 x3 c$ |* M4 [. q7 `UUU: MOV A,@R1  
$ ]1 u1 x# K, f# t3 C. x$ A     RRC A           ; y% m. Z1 U! A, i2 R
     MOV @R1,A      
; q2 s/ ]. E! `5 J8 H) p1 f     DJNZ R3,JJJJ   
6 U2 K. `' g) R5 i. B: E; H     INC R1      
3 i. e& I; V7 C  b# y$ l% t" ]     DJNZ R2,PP   
( S$ D/ b/ V2 Q. O$ {" \
& V9 Z/ K% _5 t; h( |- i& B     MOV A,1AH
$ G0 d" d) W: t8 }6 k: z( I3 O* l     XRL A,#11101110B
9 b, h% s+ x/ k  \     JNZ EXIT * Y/ \$ F" b' ^" \; C& f
     MOV A,1BH ' K" [) c9 K+ w) M
     XRL A,#10000111B
7 m7 K" M8 h; i3 |3 j     JNZ EXIT
+ D. w+ _* A  ~% l# F# z     LCALL YS3
6 X# Q3 K' b1 F0 N     MOV A,1DH
% b" k$ O8 e9 Q( K2 Q& z     CJNE A,#10111100B,EXIT
, P, H5 R' L3 c4 ]' f# u0 s4 y     LCALL YS3
; l# t$ t& e* d" x( n% M     CLR P2.6  & b9 Y0 {. U' W* z) O
     AJMP BIJIAO
+ n, |8 m0 x. _. u2 R$ S   6 t: a2 v# Q1 Y/ C
AA:
4 @; r3 m# \" T6 J     MOV R1,#255 q5 H& [9 C! h; V- X
XX:
( V: R! Q& l8 c5 j9 r     ACALL YS2
5 W% `# L4 I5 {" o# u7 W- j     JNB P3.7,HH 7 w( W5 a% O  a: B
     DJNZ R1,XX7 E! X4 L' O6 E
EXIT:   
, d! K1 l' M4 `, L& o; d( _0 H$ g     AJMP START2 H8 I: H" H0 X$ y
   ; B" g: i- O$ a5 r
HH:
: g1 `% o8 d( s     MOV R6,#4
& @0 B' ^# @5 y  u( p1 IS:
, ?) r; q$ `3 R/ t4 a# Y     ACALL YS1
% T' F0 f$ v; x+ S     JB P3.7,EXIT 1 J  T8 U2 E: T
     DJNZ R6, S 1 s8 C. G1 ?: }
     JNB P3.7, $  8 V: {' h  r9 u2 f, E& T8 k8 k
     LCALL YS36 b" A) B6 Z5 A  H! z/ x5 l
     AJMP AA
, D3 N3 u- u+ H% E& _BIJIAO:3 c: F: Q  ~3 C
     MOV A,1CH 2 E) _# T2 \6 L, j1 u" ?# c
     CJNE A,#03H,N1  ; @4 C6 X; A! _2 F
     MOV P0,#7EH    , G$ k1 j5 c6 F2 ]& X
                     
) n; \0 h2 v$ n" R; | ;处理STUDERV录音机控制码
) N: W' Y4 [( s, I3 R; {, dN1: ! y0 t9 _. G8 m: P' w# P
     CJNE A,#5FH,N2 ;播放键
; G' u# p( o" R) r     MOV DPTR,#REP
3 A! s$ ]# |3 N; ^* A% H! p2 h     ACALL SENDA
2 G$ B6 L" j9 }$ W     ACALL YS4
. e8 i4 @5 e- m! Y     MOV DPTR,#PLY
' y1 `$ ~% ?4 ~8 {# Q4 @$ D     ACALL SENDA- @$ l$ N* n7 p
N2:0 C5 ~3 {* k7 g. z' R) {$ _4 v! f6 E& u
     CJNE A,#5CH,N3  ;停止键
- w/ t' s9 k0 K9 L2 |% \2 F! n2 W     MOV DPTR,#STP
- G3 ~4 H$ t6 ^7 H( Z     ACALL SENDA  p6 S9 p9 U5 z
N3:1 }8 e* C. x1 {- j1 N$ n, r4 m
     CJNE A,#06H,N4 ;快进键
: ~% c" A8 j1 |" l$ ~     MOV DPTR,#FWD
$ x9 J: I0 j; Y, {6 B     ACALL SENDA
+ `1 w& `2 A8 rN4:3 V, F" R/ ?- K$ ?: z
     CJNE A,#09H,N5  ;快倒键- a) B) A3 E, a9 U5 Q9 h
     MOV DPTR,#RWD
0 {, t  ]6 B/ m3 M' i& E     ACALL SENDA$ _. K/ k' G, ?+ B, G% I
N5:6 i3 z5 t! ]& p3 U" ~5 S$ X
      CJNE A,#0AH,N6  ;置零键
) v% w. W: v6 b( F0 N      MOV DPTR,#RTM
% j+ q' N% ?0 A+ n4 A/ x     ACALL SENDA# E  w# x% t4 w' P
N6:* d' L% ^4 b3 c) _- v2 M5 O: A
     CJNE A,#0CH,N7  ;定位到零键
1 r+ C! {& ?0 O) z     MOV DPTR,#LZA' \, t. d! Z; S8 \
     ACALL SENDA' ?4 Q- i8 w% U( w+ }  m$ n4 f, F
N7:
# ^! y- N$ W- L. U8 O3 K$ E# m     AJMP AA
2 h5 b; _7 y% @5 o* V, g# ]+ pSENDA:
) k6 L  o6 o  a/ T  l6 N9 E     CLR A
  l9 \+ ~( d! o5 a' M: }2 ^     MOVC A,@A+DPTR
' A2 q6 f4 v. h6 }9 A2 z  J8 f$ L" a     CJNE A,#'$',SENDB' O9 a: r6 G: P9 G7 _  K
     AJMP SENDC+ y, [& z& B+ _& d4 j9 K$ x
SENDB:( v' V, }" O( T/ S: |1 f, W
     MOV SBUF,A
& ~5 J+ ~/ ?; t. q' a     JNB TI,$
" ~: P7 [, e  \     CLR TI! v5 M" X0 m( ~9 k) S
     INC DPTR* X' ?9 t9 Y0 _8 S
     AJMP SENDA, o/ a) n5 \# g/ D; i7 @$ p
SENDC:
5 ^( _. m7 g2 H+ h1 z     RET: B8 Q0 _) W. n3 h& T2 P. ^% W

$ l1 X9 [, _6 X. yPLY:  db "PLY ",0dh,0ah,'$'
3 g) T* ~5 w) \* |7 P5 |STP:  db "STP ",0dh,0ah,'$'
3 Q( W3 H. {- ^% OFWD:  db "FWD ",0dh,0ah,'$'- t( T7 [  J2 i  X/ ]2 Q1 f
RWD:  db "RWD ",0dh,0ah,'$'
' P3 i) h1 ?0 w0 R) wRTM:  db "RTM ",0dh,0ah,'$'
5 p8 h$ q; e. k, v1 ]1 qLZA:  db "LZA ",0dh,0ah,'$'
  F: f: \2 }( e$ \1 j! X7 S' }8 X/ xREP:  db "REP F ",0dh,0ah,'$'" z+ V+ L9 ^, U6 S  \0 `+ ?

8 {( K( J3 p% Q" s3 K5 u1 ~YS1:
. @# P3 {+ h) n. G# z/ Z     MOV R4,#20# m2 }* q5 T  S8 B# u
D1:/ U# `3 {6 l' K% a1 H( _! Y
     MOV R5,#20( X' r; e  D( U" a% R2 R$ \  a
     DJNZ R5,$, N7 y8 v! \! B$ R
     DJNZ R4,D1/ ^+ T! c" R6 c" S9 ~& ?) l
     RET
; O5 \8 j" [& |9 E" ?" w2 ]! l8 S4 k* _$ l
YS2:2 |: X  T- e3 D4 u' ?% B- D' |
     MOV R4,#10
0 v$ t$ ?! e, VD2:
, h! S9 ~) [) h! S' ^+ X+ d     MOV R5,#2356 |8 N. ?$ n7 c& [/ u/ N
     DJNZ R5,$
' H- i! P2 ]1 w3 x. f4 h     DJNZ R4,D2
4 r: k6 X, Y& [  W4 ]6 ]) p     RET5 g% `1 H/ ]- |
! Z/ q9 z! J* M9 D
YS3:) L& T% m1 a0 J8 [( h
     MOV R4,#2
! U6 _" v6 r& i3 d0 z  w/ `D3:' A9 r" G+ k% P5 A& |; k, Y2 G/ l3 B
     MOV R5,#248
. G! d4 f# a) g/ V     DJNZ R5,$
  ]3 C& d! s+ k- p* u& \" H2 V     DJNZ R4,D34 P& m, |4 M/ l+ U/ S3 O
     RET0 i5 q6 E& e! @" a& _/ L
/ e" i  W* Y* w1 n2 t9 i( l
YS4:
, ]% D, S% B8 J# B     MOV R4,#2007 L' s0 o+ L2 K& J- R: d
D4:) N6 X% |+ H* ^1 O$ D
     MOV R5,#248$ f2 `" }  {' m6 T3 I) e
     DJNZ R5,$) a$ C, f# M+ j8 T
     DJNZ R4,D3
9 o/ Q% s5 k# o' i+ Z: q/ k$ B: W$ Y     RET9 y, `- B# P! Q& Z- m5 L
     END! j2 A0 a2 q( b
: U& x4 V* r' L2 y# Y
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。9 O# F& o7 q3 q3 e; d' K2 o* M( \
是不是很惬意,嗯!
: e3 a5 W& w  E5 P" ~, p

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!& r& e9 ~0 V% u
YK 005.JPG
/ X% ^. H& ?. A- i  S' 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 | 显示全部楼层
洋为中用,真棒!我得试验下8 ~$ z0 I1 ?/ S% l9 ?4 _3 {: N
发表于 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& r1 \: x) S* k2 e
最终的样子,有点简陋哈!
! J1 I* M6 R2 J! \
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-2-2 15:07 , Processed in 0.076487 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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