收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 # r* l( i  P% z5 S1 b4 W
2 y  I7 l8 |/ ?  G2 j$ |" j
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
: t1 p6 d$ k8 i9 V# t0 p! l% l
: E0 ?# `0 _* P$ ?& E说明:" E: x; ~1 M; c
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
7 ^5 d$ k( t6 D1 K+ i! F2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
  T8 c4 c, |7 e
% V- [6 B8 @4 S, ~4 l/ @一、基本思路
  _) [) q% e' {使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。: {& ^' d  X( o7 h9 j) v/ \

5 L+ r8 U2 Q  l7 C/ |/ z: {二、红外遥控器
$ l' W" v" |8 J, f& F" {: d+ {我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
4 ]9 X4 x! f4 C: f0 j& p3 r# O Apple-Remote.jpg
+ r6 X4 Q: y2 F好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。; c( i8 A5 X8 i8 Q, V
Apple-Remote - 副本.jpg 6 R! {1 i' q  h, r# D( S; H
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:% }: M  Y5 }( R, B/ Q7 T/ S
Apple-Remote - 副本.jpg
$ g) b. c! J2 r7 C( Y# X) X  R/ r# F- x2 h. C8 R8 \
三、红外编码* T# ^- N, l5 m, P8 ~
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
  Q, X4 l  p; H/ }: E- M前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
. v: m3 D* q, y$ U5 |后16位为控制码,主要用于实施具体的控制。0 e2 k3 ]; E+ J) J2 C# M3 y
这16位中高8位和低8位互为反码,以提高可靠度。
- r+ r# l4 Q  `! \& m  E
6 w  O; z: k7 Q# N' F以播放为例,其编码如下:  }0 g* j5 y- L3 Y1 `  s& L
00000000 00000000 01011100 00000000
1 Q  b" x8 E+ x/ Z# r( ]0 W! D
) M- K2 Q& `; V+ V# B/ F你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
5 `  f& s% f$ s3 x3 f4 B* c( l0 A+ _2 I' b* c! L& c% f' w' c
四、单片机系统0 B/ e/ X  K5 A' m7 P9 C
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
8 b5 S! c. t- v8 H c51.png ( b" R0 h/ R' R3 i

2 q. v8 H3 q! w! S电路很简单,功能如下:
" m) \" n2 s# b: Q" Z% W1、一个AT89S52单片机作为核心;
. S; \) C7 D* H3 l2、一个TL1838为红外接收头直接串行输出数据信号;- S' h5 s4 V( z) @3 k
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
* ?+ `4 e2 d' s* T' ?' l' F, B1 e4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。% s' s3 v3 U/ h8 B& d1 }

. _2 }. q+ t  O3 U4 ?关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。- S( S3 ]0 d! I9 q: a& r

& U7 c; y6 T; X5 U* T8 c
: f7 U, `6 Q. q- {' l& E五、控制软件
! A% ]# Z8 @$ e7 c% a
控制软件用汇编语言写,源程序如下:( x; q' t, i% }- K+ f6 \4 J& I2 Q' U4 j
     ORG 00H/ b% L2 ]7 G4 t0 _2 P
     LJMP MAIN" ^' |5 }  @  K
     ORG 30H
/ }. l+ y2 b) xMAIN:$ i1 K5 I1 X) D& X
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
" v6 [3 S& X# S0 n) b/ F     MOV TMOD,#22H  ;22H8 e# [* C( R* |% V/ V
     MOV SCON,#40H  ;40H
& {6 G* `4 a# o9 u$ _' ^     MOV TH1,#0FAH  ;F3H
6 ^7 {3 l( ]3 _7 Z; F8 f     MOV PCON,#80H
- m- w9 Z' f. M8 Y; R4 @     SETB TR1
. [' |% @4 e$ e& d* A7 k$ PSTART:
; z/ w5 ^2 {$ S; S' s' I, @     JB P3.7,$ ;遥控信号处理  T/ D+ E. r" q* {; ]2 ]2 L4 V0 e
SB:: \, Z9 @3 ]7 x, B
     MOV R4,#8   
( [$ H6 D- q3 C' R, CSBA:
. U- ?: {* `6 C- F     MOV R5,#250
* m* V4 f% _2 ?0 _+ H/ B5 FSBB:+ w" u+ w* y& b% Z( X# y( x
     JB P3.7,SXB1
; g; s/ ^$ n! S& c, }# j     DJNZ R5,SBB8 c# \% b3 }8 V5 n& s+ M# ^
     DJNZ R4,SBA
& S& r3 a1 F' z2 r     MOV R4,#2
# Y% T# u& K, `( p1 M2 E" ?- p     JMP SBC1 b/ J4 f$ W0 W) h" t) ?$ i, |
SXB1:7 d3 G& E0 r: ]# z! _9 m
     MOV R5,#5) j: P8 ^3 b* Y: u. Y3 F1 E% {
SXB2:              # x0 K+ Y" ]6 X: m8 ]
     JNB P3.7,SBB& q) \7 H% i$ l' l' \
     DJNZ R5,SXB28 d# f& @- e8 z: {
     JMP START
+ [& H- j$ Y) q( k3 E! T6 SSBC:% K! u0 w6 y3 i8 Y7 w: k
     MOV R5,#250
" Z* [8 T4 U5 J  W6 f* W: }SB1:
& b6 ]2 Q2 g, P$ h9 x" l5 K* x     JB P3.7,SB2  
$ W# {  f' W6 o( Q6 {4 R     DJNZ R5,SB1$ |$ J3 `( f) U" }/ t* V& i
DJNZ R4,SBC6 r+ ]' @6 ?6 J' b$ _
     JMP START
6 Y$ V, m, _- DSB2:                 
- N" V4 `- J9 `  ^( x! W7 ?/ y  B     MOV R5,#5
7 k/ B' F9 ]6 X  gSB2_A:
# j) Q7 @5 W# R* u     JNB P3.7,SB1
2 z% _9 v3 |9 |# H; g( ?8 E     DJNZ R5,SB2_A
. x! D+ R: |/ f2 ?6 r$ _7 B# y# Z8 t     MOV R4,#3
2 _( p% g! L' q3 F: w; E# u4 HSB2_1:
1 I+ p2 P6 K( S# B% A" q     MOV R5,#250
4 Z6 v6 |: Q: g0 D9 |SB3:                  
9 \. t/ l6 M7 B! X     JNB P3.7,SXC
$ A8 h$ z6 c9 x1 q     DJNZ R5,SB3
% a; T# R: |$ {% o. D1 W/ |     DJNZ R4,SB2_1; D* ?; G. O6 G0 L, j3 u
     MOV R4,#28 d4 p' m* p' X: k
     JMP SB3_1( E. T# C7 O0 q# U8 g1 R
SXC:                  
6 L% t- C7 ^& R/ m# b8 v' r     MOV R5,#5" x6 Q: J; H$ X2 {5 X- X2 `& g+ ]+ M
SXC1:. Y. U& S  `. U- {7 j8 D4 m
     JB P3.7,SB3  a0 |$ A2 S5 P0 q% G' J* d( [
     DJNZ R5,SXC1
$ a: I) s  S# L0 Y     JMP START
$ f8 @4 Z* V3 p. \) mSB3_1:                 
* R, `- R9 X* P6 K, J     MOV R5,#250
9 Q: V! t4 L! K' d$ z* BSB3_2:
1 X; C0 ^/ N$ N! o5 w. }1 l+ w     JNB P3.7,SB45 |8 Z  y: S) @; w% P) p
     DJNZ R5,SB3_2( }% x9 Q2 M6 b
     DJNZ R4,SB3_15 T+ i! H; @* Q% E/ o" a( T! C) u
     JMP START0 Q7 q! y# |' L+ R4 P; I
SB4:                    / r7 {, E% b$ I8 |6 {" R9 G
     MOV R5,#5
+ r- ~1 T# J2 x2 L) NSB4_1:- S/ Y0 v3 y* J
     JB P3.7,SB3_2
5 T8 N5 C$ S( x" `0 e/ A, X     DJNZ R5,SB4_1! L; m0 v- P5 H, ~  l2 ]2 g( y
     MOV R1,#1AH  
# G5 M; M: m  x" A  ?1 ^     MOV R2,#4
! x$ b, a6 q( f( a, V8 |" lPP:  MOV R3,#8
8 i8 O  ^# [# M/ X- n: s0 B4 sJJJJ:% n& s) }% X/ e! Y# @: h# B* F
     MOV R5,#250
! q6 V& R2 N8 K; X6 cJJJJ2:                ' P  z7 v4 H2 S! ?# S1 I8 H
     JB P3.7,JJJJ3
) E+ R- p4 Z0 A8 U7 ~1 {7 j4 q     DJNZ R5,JJJJ2
& f+ l! E! t1 c8 n" I# Z     JMP START9 V) J3 V: c1 _; M* Z1 |3 B7 F
JJJJ3:
  F- Q% E8 _' t     LCALL YS1  
' n. R$ W+ V* `8 }1 \     MOV C,P3.7   4 ^; _1 q4 v; ?6 Q' b
     JNC UUU      
: D$ a' W4 M8 x' c# u     MOV R5,#2509 s+ y2 Z) F; B: m3 g! F
JJJJ4:
; V  C* @: s0 Q0 y$ \" ^& U: P% z     JNB P3.7,UUU
/ s* c- C: U) M0 f    NOP
* k& R5 ~- W2 q) y8 o# n     DJNZ R5,JJJJ4- o5 B5 n4 i/ X+ m
     JMP START7 Z5 d* B4 {% }; q  b. \' E
UUU: MOV A,@R1  # A+ G* B) h7 V$ o$ b& d9 X( j
     RRC A           & w2 l% c9 p3 C" a/ Q  F& {
     MOV @R1,A       ) V  t/ T* v& o- m8 u
     DJNZ R3,JJJJ   
- p; A1 q$ A; e8 U* N     INC R1       ) I; O; S* R- n4 `! q9 |
     DJNZ R2,PP   
7 ?! d- H- A7 |& K5 Z# d
& i0 b+ j$ C# }" a7 _     MOV A,1AH
  S5 d9 K; |2 T4 ~. {- d) l0 r6 r# N     XRL A,#11101110B8 A; G% e" S; t) x4 Q1 Y; U
     JNZ EXIT
5 S; S% v' A; }8 L/ s& s% F# B6 A8 }     MOV A,1BH & C/ F) z+ ^9 [
     XRL A,#10000111B# N6 m$ {: s9 I9 W, m
     JNZ EXIT , D) X* l* {4 q' I
     LCALL YS3# A: H! z6 X9 t
     MOV A,1DH
+ D7 d$ \2 S6 F$ M     CJNE A,#10111100B,EXIT
' N& k+ t& A0 q/ {* y7 [     LCALL YS3* H2 a& V2 D  G5 H. H
     CLR P2.6  
3 D2 |+ u% _6 X7 H, ~- ^. C+ J# y     AJMP BIJIAO$ {& L- d' H0 P2 M+ G' b
   6 F6 K2 Z/ [- a4 `
AA: % a4 s# o6 f& T2 ?# @7 I* M* G9 N+ M
     MOV R1,#25
# Z1 k, q: U* a' H8 jXX: . }# T1 Q0 S7 C9 a  L. W
     ACALL YS2
5 {0 v8 S8 o4 E) Y     JNB P3.7,HH
6 r- [0 r' z* z3 d( {  {8 ?  m/ V     DJNZ R1,XX$ A0 O% |/ x) {( A& p! j0 G5 E
EXIT:    1 R% e* z/ M( D. w
     AJMP START, E' y7 L; }  |. v$ r' p
   , t6 E, @& a* t; c
HH:. V6 I. }- z: X- q7 _
     MOV R6,#4- ^9 \7 B4 l) F4 w
S: / D) V2 A) S! G
     ACALL YS1
9 F) y# m- Q  G0 d5 L# ?! J4 `; c$ T     JB P3.7,EXIT . }3 T' N1 f) m' }! z, U
     DJNZ R6, S ' @  X) l: F$ `( u* [/ F
     JNB P3.7, $  & {) E! E# c+ ^, s* N
     LCALL YS37 b9 f/ q; Z& H3 J; S
     AJMP AA7 I0 S, m9 i8 y3 g0 Z6 V$ ~# M
BIJIAO:6 C* t/ {+ ]/ d" V+ R9 [8 ~, t
     MOV A,1CH ) e* u# o8 L3 _/ ]" D5 H; H' j
     CJNE A,#03H,N1  
5 E/ G* z! {" I- j! N+ A     MOV P0,#7EH   
6 D4 m9 o: f7 B                     
1 L9 @2 {/ \' ]  X" u4 j ;处理STUDERV录音机控制码3 g- x2 n! J5 g& }+ B* n
N1: - M" `# K# v$ |; g
     CJNE A,#5FH,N2 ;播放键
" O9 M. Y$ Y7 u9 I. r     MOV DPTR,#REP6 u5 D* B# }, X
     ACALL SENDA9 s" q0 G4 |# b+ E# m5 \
     ACALL YS47 B: {. Z5 l% E% h- _
     MOV DPTR,#PLY: ^) l3 `- m/ D! H; f0 _
     ACALL SENDA/ |8 N. e; S- F, a! \, `; T* I* [% c4 e1 k
N2:
. S6 a0 V# ]& K; V7 _7 A     CJNE A,#5CH,N3  ;停止键
  v9 `. W: n& l: ^     MOV DPTR,#STP
! M* R- ?9 V) C6 ~& G     ACALL SENDA
. U/ `+ y: }0 s0 MN3:$ H) X; F* N( r% `! R
     CJNE A,#06H,N4 ;快进键
8 Z, ]) x# l1 @4 d7 w* n     MOV DPTR,#FWD4 O! O" y, }. l% ^
     ACALL SENDA
8 N1 o& P8 D  [N4:
# _, n1 ?7 F2 L0 {- F) m     CJNE A,#09H,N5  ;快倒键; V+ M, N- d6 r9 C
     MOV DPTR,#RWD' P9 Q" M$ E0 x( |% D6 x
     ACALL SENDA. g2 X& ^( d1 k# |% K1 ?* v3 ]
N5:0 C) \1 d8 x. X0 `" D3 ~: ~
      CJNE A,#0AH,N6  ;置零键: d- m; \8 a0 O! |7 o
      MOV DPTR,#RTM" x$ V" d' |  ~7 U# ~& {- P
     ACALL SENDA
5 y% ~; B& }  D4 @& v8 mN6:
) j  P0 O' l0 r0 O     CJNE A,#0CH,N7  ;定位到零键0 e! W$ R" X  B& M! \* X
     MOV DPTR,#LZA- m, j! ^, c" Q- F. l5 \4 Q  b
     ACALL SENDA
: \9 }8 H( [+ d' k' UN7:$ y6 _# R2 Y6 O9 b3 L
     AJMP AA* r- d* Z( m( f0 x" P
SENDA:
- c" c7 L: o3 `& ?; M     CLR A+ T3 G, D2 w4 [1 u; H- q
     MOVC A,@A+DPTR( f; Q! j2 [$ R4 A
     CJNE A,#'$',SENDB" r6 k$ v0 L2 B$ u+ B
     AJMP SENDC& o: k# T7 u3 r2 s9 H" I+ P
SENDB:
  q  Y. W0 G/ r! q, R7 c     MOV SBUF,A
# q. z1 d& P' `2 i; C     JNB TI,$1 T  e1 J9 U4 i1 M
     CLR TI
  U* k- V; S% l0 m8 m2 P     INC DPTR
2 _8 O4 q, b( d" w     AJMP SENDA" x* L' K$ {, ~7 ^5 h. k
SENDC:
$ r4 J6 _' ^, d2 j: e: {     RET/ H# s( W$ D6 C0 ^/ r
/ i" l1 J0 V( A4 _" \+ s
PLY:  db "PLY ",0dh,0ah,'$'
; w: w# C4 |" h( BSTP:  db "STP ",0dh,0ah,'$', O3 R' m* r4 l; p2 `* J( v
FWD:  db "FWD ",0dh,0ah,'$'
) }8 P  V8 e& u0 K# W: kRWD:  db "RWD ",0dh,0ah,'$'% r0 ]' Z* u  N" k( T" {
RTM:  db "RTM ",0dh,0ah,'$'2 @( m2 W" i+ ^6 V
LZA:  db "LZA ",0dh,0ah,'$'
1 T3 x/ t0 ]. _% h1 Z2 F9 M2 Q! _0 {+ l5 CREP:  db "REP F ",0dh,0ah,'$'- N, Z3 D6 D. \& k; P3 L
# W* I5 T! n8 S" }* ?: g# D$ X
YS1:7 U/ @, {& b& i! A% `3 \
     MOV R4,#201 z' b' u$ v  N
D1:0 v; p6 R4 m# F! o1 {
     MOV R5,#206 g# M$ ?; r3 [: {9 d
     DJNZ R5,$  ?. P* B2 i. ~3 p% A, Z
     DJNZ R4,D1
4 B3 B1 ?. J7 c: _     RET
* s* Z: }' u3 r5 w& n7 {7 e2 H, Q% d. F4 C
YS2:+ D1 |; M7 `* L# Q# n
     MOV R4,#10- P" Y' D6 |6 O0 B4 t5 H! Z" c$ @
D2:& ~8 Q+ ?6 m! r1 G/ Z1 X
     MOV R5,#235# M' j  a2 Q6 P
     DJNZ R5,$
( l. m. U2 u% B, E; Y     DJNZ R4,D28 W+ u2 [0 Z8 C6 ^
     RET# J$ V" i2 `4 J3 t
" x' c* i& B" Q( q& A
YS3:2 ]$ y! f! D2 g2 i0 C; ?$ t
     MOV R4,#2' R6 q* S" W, \0 n: n% V
D3:
0 X1 G6 `$ M1 E2 r$ E* B     MOV R5,#248( i/ Z0 ~5 g4 |
     DJNZ R5,$
% h. ]; P* L; {& L! {0 s6 h2 ^     DJNZ R4,D3
' i+ s/ x" t6 T+ a0 K+ ~$ I     RET
" A6 c1 e+ f1 R- v2 p1 n
* @, z* x: H# {YS4:
" @7 k5 A  B" ~/ ~6 P6 A: g$ i( Y     MOV R4,#200
. b: p' ^" T" p' M/ a$ dD4:
5 F, {; ~; O) _9 J$ Y, w. x3 ~5 u! |     MOV R5,#2489 n& J" u( E% B+ J4 E7 ^
     DJNZ R5,$9 o  E2 U1 w+ T2 r
     DJNZ R4,D3+ q7 J' H! n! W
     RET+ |& I0 u0 w  A9 L" B4 v1 `
     END' G  n6 q: j3 `! F
) l2 W, o2 k" O* L0 a
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。1 H. a* ^* M% F  z" K
是不是很惬意,嗯!
* ]7 u) R( `0 P2 l1 F! t

评分

参与人数 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 g# u, N0 w4 Q( K8 D8 X2 c
YK 005.JPG ) Y' @$ r; U+ v7 _0 d, o
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
# i" D; Q# H# R) n% ]% M7 J
发表于 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:548 m7 b" Y  B7 ^2 g; ^
最终的样子,有点简陋哈!

/ e8 S4 @, ^! U& O6 L& l, z这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-2-3 00:28 , Processed in 0.074165 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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