收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
# ~8 z$ A1 G, Z) M$ H1 Y( ^5 p) u4 a1 c  o3 j
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。2 m, m! N, Z& O: r1 g( E( b3 O5 u5 X

( h4 A9 e+ l1 ?' F说明:/ n' X% M5 \! l; m& d
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;! q$ W* g+ h. V& j; U, ?+ d
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
; A; z" b* h8 Q% k! ~; _
- m9 W+ |7 [: X+ N# M; b一、基本思路
. u% w4 y1 W8 P1 o5 i使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。: d4 P' a5 D# C
0 J( E4 ]. m3 Y  D- }7 ~1 w
二、红外遥控器* H) J$ E" n, W  g
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
( g# v& V9 i5 Z/ w- X Apple-Remote.jpg
/ N, j7 Q! K. \& ?6 D8 t# H1 S好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。0 v+ U% d0 S& K
Apple-Remote - 副本.jpg
# c! V# j: ~. I6 C在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
8 l  K$ c0 o: r. ^' k3 m Apple-Remote - 副本.jpg ' u/ t$ J; G! N' J5 i, \3 z7 t

: f$ n0 T: e$ K$ y6 \+ j, U6 M* N6 z三、红外编码$ g: [- Q( t8 |9 g9 Z' c9 P. m
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
3 r, b* k4 Q% {. `' i7 J前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
5 ]& Q* ?$ E/ C后16位为控制码,主要用于实施具体的控制。
& Z! i" G0 S. E) a9 U这16位中高8位和低8位互为反码,以提高可靠度。7 O* Y8 K% `, V# I

7 F; s3 v) F. w/ ~" Q) F- G* M# n以播放为例,其编码如下:
# I+ _5 K+ f- E! p+ x& k) ?* C00000000 00000000 01011100 00000000  _" K  E+ g4 I' V( I
* G2 X$ o$ G5 @7 J! e& ]. e
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
& b3 z6 ?6 N0 |2 z4 N- h6 ^
, E, T3 ^; }0 e, g& v  s& f, C四、单片机系统6 F0 W7 C5 x. h* r8 {- t; C
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。% \, P: A0 z% U  o9 o3 q. b
c51.png
3 v/ h- N7 q3 H# P, Y# u" C# |. B6 n $ S( j- y" x; K" c+ u
电路很简单,功能如下:
* S, x2 |  n& _- h1、一个AT89S52单片机作为核心;8 S/ Q/ i" R2 G  X/ A
2、一个TL1838为红外接收头直接串行输出数据信号;
6 \+ s3 h6 K9 S& L; @% \3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;' c; p5 A& u, z1 x
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
) d6 V/ n3 t" x, O  W - i: y" n& T8 x- U6 m
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。6 l0 ^7 H. q5 [/ q) \
: x8 @7 {# b0 e! o, b

8 a' B; c$ [, U五、控制软件
2 x- ^5 C; X1 a9 n6 m3 x/ \
控制软件用汇编语言写,源程序如下:% I  L. }' m( ~+ B/ ~! |9 h: V/ ^3 W
     ORG 00H
/ r& N, y5 t1 P% H+ n6 d! P  ?3 c' E     LJMP MAIN
6 e# L) ~% F9 v* \# ?     ORG 30H
4 }8 j5 f% U. }1 X) o# {: h0 ZMAIN:
' f" k( L! n# n8 I  D     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
2 v6 x" n! B) C" i8 ], G0 {     MOV TMOD,#22H  ;22H
: }8 _! W* Q" }. h8 D     MOV SCON,#40H  ;40H
1 d) K2 D% L! u7 O     MOV TH1,#0FAH  ;F3H
  P8 ~; l9 L8 s# s0 B1 k3 }' h* L     MOV PCON,#80H# _# }$ [/ R5 p2 F
     SETB TR1/ m% L7 n# ]4 q9 e. Q) G: e- T. V
START:2 i- ?; X% b% {# s
     JB P3.7,$ ;遥控信号处理0 ?* S2 T; B/ ]2 U( @/ k# \
SB:7 u2 k* R8 B1 m) ?0 H0 r6 H' q
     MOV R4,#8    % f# J2 _% H2 q( v5 I+ C9 b
SBA:1 y1 r( U" N4 P# S: {+ Q
     MOV R5,#2509 u/ H8 i. i6 q5 z$ s
SBB:
% S, j2 J0 ?: E* F     JB P3.7,SXB1
0 q+ e  Q4 j8 N) F$ y     DJNZ R5,SBB3 ]  ^) l4 n& e; b% K4 U, O
     DJNZ R4,SBA' V: N0 q  }- H% u6 O# w7 _' z
     MOV R4,#2
( T, d5 B9 T; b9 E     JMP SBC. R% J' @+ ]  S: A
SXB1:) j+ z6 R4 j+ @3 ^6 ?3 m6 g. a0 k
     MOV R5,#5
5 L4 `* `# n2 Z6 h" pSXB2:              7 w. A2 i, {% J, i3 I( ^; f9 m6 p
     JNB P3.7,SBB7 L2 K6 R; k3 c; Y! p9 V/ T; I
     DJNZ R5,SXB2
% v% J; i( H: R- e" f     JMP START2 x2 \& R& c/ j: R
SBC:
+ B8 f- Q! v1 I& I0 S* B+ e     MOV R5,#250
( J* g- v! S+ P- Q. a/ q" Q( LSB1:
! J$ F! C) [) L" `     JB P3.7,SB2  
- p9 P" z- e+ t! Q, E( u     DJNZ R5,SB1
0 f& Y- C. z7 E0 b3 y DJNZ R4,SBC
8 P* P& n* v8 F! H6 D& `7 d2 T7 z     JMP START
2 _' p& K; j1 x4 RSB2:                 
- h  ~4 x# a  k/ `" S6 Q2 H     MOV R5,#58 \2 ^! D$ _1 H4 A" w* \9 b6 @- }* t" x
SB2_A:! |' z8 |# ]$ k1 C& @- n
     JNB P3.7,SB19 s% l2 H/ w% k5 [
     DJNZ R5,SB2_A
  t- e! B! w/ H# a2 u2 F     MOV R4,#3
/ P" P0 V% ]3 a. {SB2_1:4 v* d2 x# d& O6 a& F2 g; @
     MOV R5,#2500 u/ k4 L2 ]" d, [
SB3:                  
. |/ d% c! d. A' g; M     JNB P3.7,SXC4 H. b- H. A) U9 \
     DJNZ R5,SB3* f' l7 r. ]6 I+ w
     DJNZ R4,SB2_1
4 ?- s1 o8 f1 B" w( E     MOV R4,#21 M  u. s5 H/ A, c
     JMP SB3_1* h9 B+ A! k8 Q0 X4 u% ]" t
SXC:                  - K- d3 ~' F; t1 _* h
     MOV R5,#59 p5 n% A/ O( p1 m* s9 q
SXC1:. C, x) B' B! M$ X) G
     JB P3.7,SB3
  D% q8 }$ M0 B     DJNZ R5,SXC1
$ Y' L+ e3 N* e8 l5 `3 r     JMP START5 X$ \. b4 E3 X3 C: l
SB3_1:                 
& K( a1 o6 ]: ]& _; o     MOV R5,#250( l' y: K# @# H% ^* O$ H
SB3_2:. R, W+ B  R% C3 U* K
     JNB P3.7,SB4
$ C+ i$ f" t0 r2 q+ U$ Y* Y     DJNZ R5,SB3_2
7 D6 e3 ~4 ]- f3 }: N: W     DJNZ R4,SB3_16 R4 j8 @- g2 \1 Y+ X  M0 O$ i, n: F4 y
     JMP START# `3 Z. Z' K6 N( _, K
SB4:                    - ^  i, a7 n9 \
     MOV R5,#5% q; R' j' h- M4 `' `  _* ~
SB4_1:$ Y9 ^& \4 q/ r4 W1 J. y" }+ E
     JB P3.7,SB3_2
: |; o, ~1 b! ~  O) x8 q) X     DJNZ R5,SB4_15 L6 H5 M. T: p  f- j
     MOV R1,#1AH  
) U* z% y  A% X8 I3 R     MOV R2,#4
0 H! }, y  L' K7 e' tPP:  MOV R3,#8
' z0 I# W, e. ~+ p6 xJJJJ:
; a9 F6 M8 Q3 D. x     MOV R5,#250+ f% o0 P. O* z& m+ W$ y
JJJJ2:               
) K$ @& n" {/ a. ^     JB P3.7,JJJJ3& n3 o% D& A; e% M: N
     DJNZ R5,JJJJ2( S* O% G% X/ X0 I# [; h
     JMP START
& _9 T: }0 a, B9 g  I9 S' DJJJJ3:6 Q6 H3 U) ?' L$ l( T
     LCALL YS1  
/ E: i% h8 h9 g! B# k0 _     MOV C,P3.7   
& g, S, _7 A. x  g* v  ^9 x     JNC UUU      ! z# ~/ E2 M  P7 G9 |; z7 f
     MOV R5,#250+ ^) O0 C* f2 |/ }. _
JJJJ4:- I% u( a9 s$ B9 O9 R% |5 }$ V* G
     JNB P3.7,UUU0 J2 Y, s* `* `( y" X; y- H9 ~
    NOP/ K$ F* T/ W$ T3 P* ?
     DJNZ R5,JJJJ4
: {) _. {- }; m  z- e( E     JMP START: Q7 I( s8 @' P6 X9 j0 ]5 w, [8 N7 g
UUU: MOV A,@R1  
( \1 w& H2 ?* B9 ]1 _6 H$ k     RRC A           
; {3 U6 n/ v: a# `  ~8 D! B2 ~  g; z     MOV @R1,A       4 h! C; k  e/ b) P3 J1 }, j
     DJNZ R3,JJJJ   
5 g# F4 T( ]' I' e" `7 ?+ O* _     INC R1       6 t/ d* e0 ^2 C$ _
     DJNZ R2,PP   
! |/ n3 A4 @& i6 i: p' F
+ z3 x2 r( H6 R     MOV A,1AH
2 C" P8 {, H; P. O     XRL A,#11101110B
3 p4 @3 t5 @- o/ g+ b, Y     JNZ EXIT
5 Y1 K, a7 D4 J2 Q9 P4 I1 h( F  l2 R* R     MOV A,1BH , m! N% k, Z0 y! ~+ Q
     XRL A,#10000111B
4 H9 g! @# r/ W0 G( n: d     JNZ EXIT
" X/ a. f9 o, {  X4 a3 H3 b- ?     LCALL YS3
! L) K) `# g) ~! c4 k  g     MOV A,1DH
9 Y0 z* n7 ]$ X/ @5 u6 t     CJNE A,#10111100B,EXIT
% g# ~; M: H2 f. E" J! {, w     LCALL YS3
* X& M- \* G" Q, V/ [/ a0 ~     CLR P2.6  5 i+ k( J7 e1 z9 h7 s5 p, C% |
     AJMP BIJIAO' h% F6 [/ y. i* h% M2 O( y) j
   ! i+ `1 t8 C6 j* j: W% ^( d0 M1 h
AA: 9 }3 M. q1 m9 L7 W. `; U( I; n4 @
     MOV R1,#25
% J8 K; ^# ^4 n( p4 OXX:
6 @* [* p, B$ U     ACALL YS2) ]5 b8 q3 H$ N# ~
     JNB P3.7,HH
- f+ C# ]( d# x9 G     DJNZ R1,XX' o8 z$ {0 E( k; k$ n
EXIT:    + v5 a# t9 g3 Q$ t; {$ q
     AJMP START
7 c# B' t& r8 m$ g) i+ M5 y   0 t1 G: Y6 c" S; z8 B5 U
HH:
7 g8 L) G. E: i  \% I6 Z     MOV R6,#4' C  x& u4 _3 \% q
S: , [( h$ i. |; K/ y+ K5 c
     ACALL YS1 3 u! \7 y3 z( T% u# R
     JB P3.7,EXIT , O/ p) h0 O9 n( m1 u9 \9 [, |0 ]* l* U
     DJNZ R6, S
. l9 o1 W; |6 d+ r     JNB P3.7, $  3 A9 ?1 D: g: x2 |
     LCALL YS3- J' s0 y# T1 y) @  U
     AJMP AA
9 s' g! L/ M! sBIJIAO:
. k1 C2 e. w6 Q. x- x     MOV A,1CH % r1 s+ C# [4 j; S) @
     CJNE A,#03H,N1  
  p' ^& x/ o9 y) k* K& P     MOV P0,#7EH   
; M0 C1 d  t8 ~  E) n& {1 S                      7 N: s* @% V3 ?" y9 k- K
;处理STUDERV录音机控制码
% }" V) v0 ^& M- r- p8 U5 iN1: 3 {8 g& i/ n; L9 k
     CJNE A,#5FH,N2 ;播放键
) L9 M7 x: |0 \     MOV DPTR,#REP
' x/ [. o% h8 p' [' V, d     ACALL SENDA
) h* a+ P* B% p1 m( U5 H% A4 A     ACALL YS4/ M/ K, c6 V' Z6 u( _3 q
     MOV DPTR,#PLY* f2 x- }+ K' `
     ACALL SENDA
( Q8 ]4 e2 x' b3 cN2:
; S6 S* {. A1 _& J     CJNE A,#5CH,N3  ;停止键( u4 X' O9 r( C
     MOV DPTR,#STP
, u1 R5 x" w- j2 ^8 v     ACALL SENDA8 s) U: r; G8 e( C% @
N3:& R9 o6 d  |8 a; G
     CJNE A,#06H,N4 ;快进键- J) S2 T. j- F% n
     MOV DPTR,#FWD2 w# p) |" ?; f, |* R( S
     ACALL SENDA/ f5 u! }% E+ u1 W; X4 o
N4:* G( a. d! |9 j7 _1 ^( y4 N
     CJNE A,#09H,N5  ;快倒键: B7 _8 w' j/ V% @7 D/ ^3 R) D
     MOV DPTR,#RWD
" n: O% {" Y9 ~' @) N     ACALL SENDA
8 d' v3 h; y' W1 w8 dN5:
9 N9 Z) T: [9 ^. V' T      CJNE A,#0AH,N6  ;置零键3 ^& }/ i8 Y3 y! E. |, W
      MOV DPTR,#RTM, y7 @) N1 s1 o/ U6 o. ]
     ACALL SENDA8 P0 F' H# C) n
N6:
) m! a& k! ^% t* W2 [9 B     CJNE A,#0CH,N7  ;定位到零键
8 P, P$ b' F8 F3 d     MOV DPTR,#LZA/ p8 F% M" L9 ^6 E2 }
     ACALL SENDA9 |" b( b/ j7 u. q! X4 O
N7:% t+ w$ \; c# [, |# n
     AJMP AA7 g: y7 Y9 ~$ b, D/ V# `" p
SENDA:1 z  F! d- D4 m2 ?5 U6 ^
     CLR A/ d4 W. N8 b8 H1 v' P
     MOVC A,@A+DPTR
6 m* e4 C0 }. ~5 K$ g# Z     CJNE A,#'$',SENDB7 f* m& H, m* w! n" S
     AJMP SENDC
4 H* f4 Z" Q% z' ySENDB:
& D+ ~6 B- ]& B+ z7 Y8 h6 e8 x5 d: N     MOV SBUF,A
' ?0 Z; p8 W- @  p     JNB TI,$
7 D/ X; d3 e& ~4 v) a7 c- }     CLR TI" n$ g2 n) d6 M/ L5 c2 t$ D
     INC DPTR7 |- d/ H7 @! ?/ v: I9 y' o5 ]" a
     AJMP SENDA: c$ b6 v* r: g
SENDC:, _! d" a8 H  ?0 a
     RET5 h! g3 W3 O1 \+ R. Q

* p: o) ?# }" V/ RPLY:  db "PLY ",0dh,0ah,'$'
. s2 H! y& f# Z; CSTP:  db "STP ",0dh,0ah,'$'
4 b( n" u! W9 QFWD:  db "FWD ",0dh,0ah,'$'8 T7 W* G8 c+ ]; {6 F
RWD:  db "RWD ",0dh,0ah,'$'; m% T/ M- @2 C8 S; ?2 S
RTM:  db "RTM ",0dh,0ah,'$'
6 A' K9 l  R- {  X: [4 C5 d  z( ]& ALZA:  db "LZA ",0dh,0ah,'$'
" W2 {) n' U0 y" J. B$ G3 J" @  rREP:  db "REP F ",0dh,0ah,'$'
% L' v7 _% i# q  k" ^$ ?- i( _1 S5 V0 x0 U( R
YS1:
* A: s" r- K4 j! B, Q, n. [% T. h     MOV R4,#20
2 C) i1 W; I3 O- r' rD1:
' t; W0 [" j4 Q" p0 n/ T! X     MOV R5,#20
6 ]: M" _% R8 @     DJNZ R5,$% Q0 O7 R' i7 r2 Y/ e' a, t  v% {
     DJNZ R4,D1
; s; }, F( ^& t  n# @     RET
0 \5 c3 c$ E  m) L; P/ E/ e8 O* r
5 S- ~- b1 P0 r* w4 w( XYS2:, j- A( A3 ?0 Y
     MOV R4,#101 }- {% ^+ U5 x
D2:5 o# j6 Y. f& G7 A0 G% p
     MOV R5,#235
& X# U$ T. W% _8 z     DJNZ R5,$' e4 Q7 s) }: N  l0 n* E
     DJNZ R4,D2
7 l1 ^1 R: M+ y& u2 m6 U5 q     RET
. ?; U4 b9 K$ {  I3 O$ }. k3 T. ]6 u5 Q
YS3:
4 c: \  a0 K" ?3 ?6 }     MOV R4,#2
; z; l8 U! ~6 j( l) TD3:' s* b) x5 b1 D) ^0 e1 {' I! s
     MOV R5,#248
8 ?; j% X, B: ]4 M/ U9 C) @     DJNZ R5,$
* \; q& H5 l5 j; x* I& Q+ i. U     DJNZ R4,D3  P) ]% J( e$ B' @& c& ?
     RET$ x" Y% v* @+ G. b

/ u+ Y2 d9 H: ZYS4:
$ V& g& ~. W2 _) @- {* t     MOV R4,#200$ c* M9 z2 W, {! f" V* j
D4:5 Y* ?5 N, w( ?1 i
     MOV R5,#248
7 E9 n( m* f" n7 K     DJNZ R5,$
. z, J3 M* \$ i" o" {7 f0 R     DJNZ R4,D3
8 V3 h2 t7 L4 M' i3 f1 z     RET7 q& S4 ?0 V# B' C! @* s, u
     END. N% O( T1 K' a. H
4 M7 m) {2 r4 E* E
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。" b& {7 {/ Y* F9 r
是不是很惬意,嗯!1 H5 z8 h' U. L% w. F& z

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!9 l2 ^% f4 d: p% D* y; w
YK 005.JPG 6 k/ r- [% D6 d
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
5 F; K8 I& ?, T0 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
& K3 I+ X! ~# n/ x0 a# ^最终的样子,有点简陋哈!
* V2 P# Z( i0 o- l7 F2 `
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2024-6-18 19:09 , Processed in 0.076337 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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