收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 , \4 n# c% i8 ~9 E. y
9 l4 S/ _4 }/ W' p+ d2 r
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。  }. j4 z" C' B- b# p( r

- g# B0 {( e7 _6 K说明:
& ~' L5 P4 n( J5 {5 g3 K' ?2 }1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;! i6 y( }; z9 z
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;( x0 h: w6 U( l
( A. r7 q& b- k. [! {
一、基本思路
, s% O: x3 L7 K, |% _使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
. O  G' T" J/ O  o( \# l6 g! k2 V: s8 C" f' F* w: W1 P* S
二、红外遥控器' q) c# z' e4 }
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。1 a8 ^+ N! I# n  x
Apple-Remote.jpg
2 v0 x; p% M+ r6 f好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
7 M. C6 |6 W1 C* z5 ?+ E# p0 S1 W4 N Apple-Remote - 副本.jpg ( l& R7 ?. {2 H# ]3 {( C, x$ o
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
2 ]3 I  F- I7 @. T2 i* ] Apple-Remote - 副本.jpg
% T' \: j7 W- G1 L) l) q
1 R( U2 g" A" P/ s1 x三、红外编码
) B" e4 ?4 R5 K红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
2 P4 v8 z/ o, r: M; c) V. B$ G前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。4 F' U$ E. d0 T+ n, g
后16位为控制码,主要用于实施具体的控制。
! q0 E1 |  w5 Z1 g这16位中高8位和低8位互为反码,以提高可靠度。
# ?1 f- ~0 c( ]$ D4 m4 l
7 P4 e; n2 g" F$ N& o& Z5 s以播放为例,其编码如下:
8 H0 l" u. m- I* o9 k$ M00000000 00000000 01011100 00000000
4 F: I& v# W+ U, d* y
/ J: \3 r" j  n你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。7 `! }- [* F5 z

7 {; ?0 t" I3 _- v1 a& c2 Q& O四、单片机系统
, R+ Y! E/ S: N8 g" ^4 ~& g
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。/ z% B' s9 _! z$ f4 X: A. [
c51.png ! d$ Z, z$ t+ _1 h

$ }1 w' w. C. ]9 u+ z电路很简单,功能如下:
0 @5 S  J# D1 g3 d' M$ X7 X1、一个AT89S52单片机作为核心;8 p; t8 }9 v/ K3 M) ]8 Z
2、一个TL1838为红外接收头直接串行输出数据信号;
0 d+ ?7 b. S! |& b! j3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
$ B5 R. ^( n7 ^) T5 V7 ]4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
$ H* W, M: f- F' I; C  D9 N; b2 `
0 h/ y7 f4 m! a' g- j关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
! Q/ S: X0 P  ^  W* h7 ]' y  P% Y( c4 W) y
$ V4 T3 i8 L4 b+ G
五、控制软件; @0 O6 _. l! l- K& b) f2 t
控制软件用汇编语言写,源程序如下:3 H- [  r( P; g" ]- c# R
     ORG 00H& I; t0 C; f1 O* _7 K: a2 c
     LJMP MAIN) `. N% g# |* i# u
     ORG 30H
% {2 f) K. |* o/ ]) O& y3 n. Q9 e/ {$ q, mMAIN:
& @; ~/ `+ y, Z1 A! h     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)0 O1 z6 W9 J# X% q$ n+ `: b
     MOV TMOD,#22H  ;22H
0 p* g8 o% y+ J; n     MOV SCON,#40H  ;40H
3 D6 b( h' d1 n# \, q* |( m     MOV TH1,#0FAH  ;F3H% j$ L: C3 a  I
     MOV PCON,#80H6 P: Y) q3 B( J" N7 I
     SETB TR1
. B. y+ F" `. ISTART:  Q) U$ k4 k8 @2 f$ a
     JB P3.7,$ ;遥控信号处理8 O5 B8 \# h9 Y  D5 t) R
SB:! `# X. I7 [; e2 f, [$ U
     MOV R4,#8    " K# X9 B; m: }; t7 a& B% @* ~) m
SBA:2 @* K- ?9 x" ~  |
     MOV R5,#250! y1 Q) r% |$ ]* V  ]" P1 U
SBB:
0 }- f" {+ ^3 D7 ]4 N; j- H! Z% O     JB P3.7,SXB1
3 P2 D  n+ P- X6 A2 E* y* |     DJNZ R5,SBB) R2 O6 B; E1 _+ u( m" a. @! K; n, W7 G
     DJNZ R4,SBA
( y7 p1 d* I/ p6 o: A6 x$ T     MOV R4,#2
4 N7 u6 z8 J9 k+ a" s$ m     JMP SBC7 b  {( z  U$ ]: U: i7 u
SXB1:  M9 ^% I9 R; N: ]
     MOV R5,#50 p/ y, u& H- J; w) U1 z
SXB2:              0 u2 B# O/ u3 m1 F4 G  B2 C
     JNB P3.7,SBB
1 b: U# j4 n2 L- N7 h% n2 ?8 k" e# a     DJNZ R5,SXB2
" v: `1 W5 ?' V* I/ r; }/ T     JMP START# j1 K; f$ X. {" W- r; k
SBC:" S7 E; P+ l* k* [7 @! P% W
     MOV R5,#250
* z; _1 Y6 w4 N( ]SB1:/ W! M) v6 \! o8 ?, b$ R
     JB P3.7,SB2  ' o5 C# p2 V7 B  t( |6 l5 x
     DJNZ R5,SB1
( h0 B" r# l2 L5 j8 I DJNZ R4,SBC
! W4 M9 z2 t  b5 p3 z0 G     JMP START
9 A9 x% L, g8 H# r7 ^SB2:                 
5 k# P4 T2 B& c9 k' K1 L     MOV R5,#5
/ i# m5 m- O3 Z! a* ^( r. ]SB2_A:7 K: N0 d" C; \; I9 p- q& w! F
     JNB P3.7,SB1/ q: M1 P6 h4 b+ _% I& t) l# o
     DJNZ R5,SB2_A
. p5 R* A" \: A7 ^2 q     MOV R4,#30 Q+ X0 W" B7 `  L0 t2 |8 c
SB2_1:# m; p1 x% ~' s) i& M+ S  |: w2 S
     MOV R5,#250& E0 M6 p$ `& i  u% A
SB3:                  , m, c1 q$ \7 K1 O3 N, B3 N! h- V
     JNB P3.7,SXC* R9 _6 t! }' n' ~3 [
     DJNZ R5,SB36 X; I4 o' l  b# \
     DJNZ R4,SB2_13 P% [/ z( \0 x; B
     MOV R4,#2
2 m! |* }% G' u- [" {/ N     JMP SB3_16 n9 Y0 C+ {, L+ J! i5 v5 y
SXC:                  
( W- D/ U3 q' r8 O5 S     MOV R5,#5
8 p4 R6 b8 p3 P; BSXC1:0 t# C* q* m3 f
     JB P3.7,SB3
0 x& c: |1 @) b" Y( D" e$ S     DJNZ R5,SXC1
% u' n# g0 Q4 E& c# o4 ~$ L     JMP START  u, |2 k. n. T
SB3_1:                 # e, Q, Q, K; }6 {; k' v
     MOV R5,#250" w% w9 S$ g! U2 I
SB3_2:$ P( O7 [4 w+ c3 g' V" q
     JNB P3.7,SB4# I6 c. q/ [9 ^# ~, Q% l
     DJNZ R5,SB3_2
5 g3 n  X/ Z1 P( L     DJNZ R4,SB3_14 F8 n7 X1 F/ s5 ~
     JMP START0 l! ?0 j2 j6 p$ @
SB4:                    
# a. L& o+ R2 E, U* K     MOV R5,#5
# W. ]( x. I6 I6 X5 e( M2 wSB4_1:
: T8 N! Q9 }8 ?     JB P3.7,SB3_2; p; {+ G2 Y) S) L4 g( u
     DJNZ R5,SB4_10 Z6 H4 u1 }7 C5 T3 f0 l6 G
     MOV R1,#1AH  3 }  l3 F8 B% Z( _; A
     MOV R2,#44 f; z' C" c% E  l8 K2 u
PP:  MOV R3,#8- h2 o3 L9 X& ]
JJJJ:
4 i7 Z; ^1 k  U( B- N$ f2 h     MOV R5,#250
( x, v3 \5 g; ]3 ^JJJJ2:                6 f# b' b/ ^0 P' _0 d$ i# h# y
     JB P3.7,JJJJ3" f) R7 d5 V2 m* F# y
     DJNZ R5,JJJJ21 ^4 I* d' h! ^& B8 s
     JMP START& [( S: v( K# h; V: z
JJJJ3:$ T* b: [& i( y5 i4 T+ {& c
     LCALL YS1    H$ J! o4 H/ P# U# @
     MOV C,P3.7   
, c: l2 }0 Z7 n! Q, q     JNC UUU      5 u' K$ L# V3 o: @. [% B
     MOV R5,#250  J) O2 i9 {7 U
JJJJ4:6 f  r. `% h( S! C3 J
     JNB P3.7,UUU
) h% A0 J9 o0 b3 o+ o4 M7 a% \    NOP) _8 q7 A) [$ H
     DJNZ R5,JJJJ4
6 H, N$ K( Q( ]4 w7 P# C0 W+ m     JMP START
1 Y* X2 {/ J5 f5 h" @2 D; n( Q% FUUU: MOV A,@R1  
; L& H2 ]" [! V: X1 S     RRC A           
7 v6 h+ E/ m* Z4 ~     MOV @R1,A       4 V/ u3 `; ]1 T' }  X
     DJNZ R3,JJJJ   
) W5 O' @# I0 N. R+ l+ G     INC R1      
# |9 f( Y9 I+ e- C! n% W0 c     DJNZ R2,PP   
9 s, Y! }$ t- E, A1 E- ?% j
2 E+ D2 }( I6 ]6 o  M* R1 q9 K     MOV A,1AH : I0 p) S7 n$ k9 E# F+ }; L# ]+ C
     XRL A,#11101110B
% v$ e  d  u. m$ U' I- P     JNZ EXIT 1 U! e: c! s/ T; h- z) L1 J
     MOV A,1BH 6 [% x, Q- B/ y" L! y8 c% k  I
     XRL A,#10000111B, `( @" M4 x0 q/ r
     JNZ EXIT 5 U1 n0 z; n% x9 U# F5 X3 k$ {
     LCALL YS34 H( R) U: t& d. v' t, p# g
     MOV A,1DH 0 r# n5 z; i" u
     CJNE A,#10111100B,EXIT
# U9 D. n: {7 n0 M     LCALL YS3- j+ J! h- u8 _
     CLR P2.6  ' f) A, Z3 T; C3 x2 q8 a! f
     AJMP BIJIAO
0 l, M0 a) j- }1 T8 T; R* w4 u   
  N. h: x' e& h8 l3 zAA:
3 _5 v5 p+ J: Q. u+ ?, M: N/ m     MOV R1,#25
  c) @" S" E8 H3 J2 OXX:
9 ^( R4 z4 Q! p: G, I     ACALL YS2$ u3 ?9 a& S# f+ N( C5 V2 n4 K8 ]
     JNB P3.7,HH / ~4 h) k9 y& W0 A- ^
     DJNZ R1,XX
6 `) Y2 h9 B5 x; ~$ @EXIT:    ( V! f* Z' `1 H+ _5 z2 T6 B" I5 o
     AJMP START) U6 l$ Y4 U" e  F! p, a. v
   
/ |- \$ F& [5 PHH:
. n/ g* C, _" X2 R$ ]1 p# r2 M) V     MOV R6,#4
5 D8 q. Q0 {& h8 [0 mS:
1 d- Q4 G$ U) q, u3 r( n     ACALL YS1
9 m' ]) k1 b/ g     JB P3.7,EXIT , B: e! F5 u( M# y# l) e3 x0 s
     DJNZ R6, S 3 z3 \7 a/ J, V2 q
     JNB P3.7, $  
3 ^5 y" }2 U9 ?% m, t% _     LCALL YS3
  d9 q: I  `+ a2 S  y* |     AJMP AA& i# a8 ]" V  I! N1 r: ?0 K; f
BIJIAO:
  ~, V+ ^9 l6 `# n- E     MOV A,1CH ! Q& L7 o0 p1 i* s, M
     CJNE A,#03H,N1  / j9 e8 Q& H8 s* V! Q# k. s
     MOV P0,#7EH   
% U% g& v7 i0 @0 R& y$ Q! q0 ^) e                      ; h+ _- \* y1 c7 T, y
;处理STUDERV录音机控制码$ S& z9 E2 |7 r8 U5 {9 k5 v
N1: 3 T9 H0 ^3 M' K1 ]. h8 [1 N% F
     CJNE A,#5FH,N2 ;播放键; k7 C1 w+ ~7 E7 N# J1 s3 `$ Y" k
     MOV DPTR,#REP
' |# b4 C0 N+ ]! F4 l2 K  e* o8 r     ACALL SENDA
# v! ^2 e$ H8 t* P: d7 s     ACALL YS4
( T" ?- K  m* ]3 Z7 `4 o     MOV DPTR,#PLY
$ U% O: d. s4 a6 B  z% o( @; e     ACALL SENDA
; p4 i; k6 r+ v  ?# G/ X; _" dN2:% x( i5 N2 ^( W9 D) H5 E( z
     CJNE A,#5CH,N3  ;停止键/ ^0 C* {  i4 E* i* Y
     MOV DPTR,#STP/ ^, E2 O) X4 |7 q7 v7 K+ `
     ACALL SENDA
: P5 D1 |  t. I5 I+ ?N3:* }5 [; D! j$ O; S
     CJNE A,#06H,N4 ;快进键7 `2 g0 k9 G/ \3 i
     MOV DPTR,#FWD6 }/ M/ \" s. p! N
     ACALL SENDA
! ?3 [- E& O9 P) }. N: n7 O- {N4:" E6 Y% K8 ~0 z( K1 s" |
     CJNE A,#09H,N5  ;快倒键1 N' T2 ?9 W4 `& F  ?- e$ ~
     MOV DPTR,#RWD
1 {* e0 u4 ]6 I$ c8 V, {; u     ACALL SENDA+ k- B: D! r) ^
N5:
8 e+ S! n% Y9 i' [0 R4 `; {3 k7 B      CJNE A,#0AH,N6  ;置零键
2 ]" C6 _, D: p. a      MOV DPTR,#RTM$ I) F$ I& L$ b  Y# J+ h5 R
     ACALL SENDA
) X3 G4 `4 H( m$ aN6:
# C  `4 A: A' \& z     CJNE A,#0CH,N7  ;定位到零键
; F% O% K, x$ Q+ e6 G     MOV DPTR,#LZA. I, d! J% m( x: `; B
     ACALL SENDA$ D: t" n( Z1 ^$ |- n' b- M2 h
N7:
: x6 \8 D" m3 O# P1 g3 @! B9 @. W     AJMP AA1 W0 H/ @9 Z+ B0 d) W
SENDA:
3 B. Z! c, W5 R+ E     CLR A
4 V) k6 V2 }* V0 X1 ~  v% p' R4 h3 O     MOVC A,@A+DPTR
/ H; q/ \" z+ ?) f( I+ v     CJNE A,#'$',SENDB4 S4 J6 g( s+ Y) d. l+ o
     AJMP SENDC
8 p* ~; p/ e. H- H4 D: ISENDB:
6 B+ p  x9 w" u; D# W, B     MOV SBUF,A6 o+ N& {, s8 v1 |
     JNB TI,$
0 M; D4 ^% m1 V( }- t4 r     CLR TI
; D8 Y% T; x" u9 I3 J6 v6 c0 O     INC DPTR5 H9 a! H, x1 N6 _
     AJMP SENDA9 U: Y: e0 a7 u' c- X9 K, s6 O6 d
SENDC:
( |& w) z. Z4 Y+ f     RET
: y/ i" K0 x. }6 r# K* w( V5 {3 b: ]4 h$ D& S( n6 [
PLY:  db "PLY ",0dh,0ah,'$': g0 g0 ~9 u, l
STP:  db "STP ",0dh,0ah,'$'9 M4 C3 B6 T2 P5 [
FWD:  db "FWD ",0dh,0ah,'$'
: D; j9 `0 {, ~RWD:  db "RWD ",0dh,0ah,'$'
# x# u# T* t' i* f1 nRTM:  db "RTM ",0dh,0ah,'$'
6 O% s5 T2 z) W2 [1 j/ _LZA:  db "LZA ",0dh,0ah,'$'( {, t) I0 B) o5 y
REP:  db "REP F ",0dh,0ah,'$'
, f) `: K' s% S9 k; r+ b8 `2 H6 c9 m; _% w* u
YS1:
9 |6 J, ~6 p" W# T     MOV R4,#206 D# ]. B- H7 \
D1:) i1 p. ?! ]! `
     MOV R5,#20
' z# n+ l# f* H/ B) W# m2 p6 j     DJNZ R5,$# T$ n6 a( [5 _( P8 q6 |
     DJNZ R4,D1
/ v7 z6 R5 d9 R7 F4 p: ?     RET
1 E" y. Z4 K5 r1 ^. e
6 z  _4 z2 m3 B  B  D, X9 A$ \YS2:
5 V1 R, P4 `$ ]     MOV R4,#108 V( D" I5 h/ n, V" {% ~7 n
D2:, X1 f5 i* g2 p( R; {+ w9 N
     MOV R5,#235
7 s3 [: `3 c! J5 E( ]     DJNZ R5,$8 |2 T5 q  h/ @* Q
     DJNZ R4,D25 P! v' M0 n: k- x/ ~& t1 h
     RET
) z4 b3 {( p2 W$ v0 J5 {2 q/ l' L: \: u1 y# A
YS3:
0 Q9 D* k' y' K     MOV R4,#23 v2 b- T* K" K8 I
D3:% g4 R# u* S; o- T
     MOV R5,#248
8 _3 m+ W. P2 R# Y     DJNZ R5,$7 h4 p8 U( U% j7 o- `0 d
     DJNZ R4,D3
- I% u; g' ~" S) M4 i     RET; C2 {0 W4 F; h* k0 D

9 e8 l* r/ Z' J% _* {7 BYS4:
/ N2 l. A& @. P( S8 ~5 W$ X     MOV R4,#200. }9 r' S) T6 m6 V- ]0 {0 e8 G
D4:
9 J, A) _" q) [5 s     MOV R5,#248. }7 ?# O% w# n, |/ [' ~- v1 b3 L+ R
     DJNZ R5,$
) r1 ~; `: }4 T5 B     DJNZ R4,D3
8 N7 P  ~! D, p; z; a" z     RET( s3 n  a9 }- I4 \7 V/ `
     END( J9 _* @# z8 q# s" [- X
  v9 `& ]& N- T" ^4 e$ M
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。5 e) k1 g  Q2 j  n! d+ u
是不是很惬意,嗯!
7 S* O; P6 ?7 T. K3 j, h3 L0 w

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
& F8 Z% T5 b/ l5 s YK 005.JPG
9 b" I: R4 l% E, Z. K
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下" r# m. `& \5 X7 n+ u+ t
发表于 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
3 H0 R/ n* S* r( R; I最终的样子,有点简陋哈!

+ u4 ?& o( b" ]8 d这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-7-7 13:12 , Processed in 0.075929 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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