收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
9 f+ q# k* E- j* k, @6 u! [1 b/ u# g; [
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
6 _" [/ d- @8 v# ]
$ G# G  S$ z, p8 y6 P5 T说明:
. z9 D1 K- z" q. J- l& H1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;# x& S# C! D( ^2 j
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;( @  X3 {* u% G
  ]3 a5 P" F! Z/ Z; H4 m
一、基本思路
5 C0 b1 M5 a5 f使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。0 b! [5 Q2 m) C

* P* [( ]( B8 e  J二、红外遥控器
4 {. Z' B; @# b我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。/ u7 \3 w; C$ {5 C. s* }
Apple-Remote.jpg 9 h. i4 S4 s& p0 G/ y9 b
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
% w$ ~7 z6 {" y5 x" q6 i9 K1 D: U Apple-Remote - 副本.jpg
5 H8 \8 s; P2 j0 ?在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:7 c# N; \2 Y* d, p' g; g
Apple-Remote - 副本.jpg 4 t/ ]2 U" n8 ?
+ a, Q! h5 m; x8 l" {7 f4 u
三、红外编码
3 n, ?0 ?' M% p1 O' {% o红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
& Q; {) T8 ?. R1 G6 Y8 s4 E9 g. ?2 E前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。" k1 Z: b% q3 g( n4 F
后16位为控制码,主要用于实施具体的控制。
* f+ f  j2 g6 e这16位中高8位和低8位互为反码,以提高可靠度。; ^# p6 S/ P  |9 @" T$ \

2 N$ {# v* K8 z# R- c; L4 ^& W以播放为例,其编码如下:! Q3 t/ i0 F$ ]* H# c
00000000 00000000 01011100 000000007 Z( k( ~- M% j$ M# b' D$ o
  O; Y5 x0 a5 _$ a# ]4 B! m0 u' U
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
: c$ K' W0 l, @' S4 y, s* v1 |
1 v( T+ b' u: g4 N) d! c四、单片机系统
6 ^  w$ K5 |% I0 u+ b1 d! l
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
4 D2 ~6 {: [4 D$ l, h0 q7 {( U8 x' T c51.png
! H& h. F) U1 T# g" n2 Z 4 j+ v. {' B! K0 y# K' y& e/ N
电路很简单,功能如下:
4 c* r0 b. P7 D: ^- _/ `1、一个AT89S52单片机作为核心;' K  }/ e. x" V, O  B* T- Q. N
2、一个TL1838为红外接收头直接串行输出数据信号;7 u+ k  b" |5 [3 a7 M! c% H6 r
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ Y# n7 B' o8 u$ A* G' U7 c6 E4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
$ U% ]4 o7 c* K; k% T, D% e) k
# l' }" w: l; k4 D关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
; v- U6 v& u# o: J2 A3 t3 N4 x# U' J# Z

% m% U. d4 j& C; u, }五、控制软件
' F' ~1 h4 i8 F
控制软件用汇编语言写,源程序如下:
( c, Z, q+ i: T1 f" P     ORG 00H% S7 V; o/ _+ F& b) a
     LJMP MAIN! `! A1 g) L' ^! [* t- f
     ORG 30H
" x' }7 T- g  N0 x  \6 ]( p% EMAIN:
! b6 S' i0 Q1 \* G" Y% @! D( K     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)' [; g1 B! ?4 h
     MOV TMOD,#22H  ;22H8 A# W& u5 C- V8 a/ r+ o
     MOV SCON,#40H  ;40H! e  }% c+ |7 \! k  G+ f+ R
     MOV TH1,#0FAH  ;F3H$ A4 F! e6 Y  a- ~( Q1 K( ^1 q/ \
     MOV PCON,#80H
+ K# ?! k' G: _) d! F3 I     SETB TR1
6 |& i/ X) x( ZSTART:0 J6 T+ U9 ^. J( J5 ?; _' A' Z
     JB P3.7,$ ;遥控信号处理
: @& ~# u2 M$ I. ]+ wSB:* [: i% z5 }# ]
     MOV R4,#8    3 A6 y1 V2 l% @: P! r
SBA:# V, W) |3 h- N& @
     MOV R5,#250
( ]6 ?1 [$ r. P) G0 jSBB:0 H$ o1 V3 n7 ]1 p8 r
     JB P3.7,SXB1
; S  G: B, t: U2 a0 [* u: k1 m     DJNZ R5,SBB5 `1 j* }6 [& H+ Y
     DJNZ R4,SBA( u7 w, j) T  A% ?$ J& N
     MOV R4,#2
2 R. X' Y- Y6 N6 m7 @$ }     JMP SBC" E" T6 v3 t6 L2 e7 |1 i  v' \
SXB1:) s5 _: A; {) Q0 O3 l3 b
     MOV R5,#53 {9 D6 D+ W( d
SXB2:              
. B6 F# `* \- F     JNB P3.7,SBB
7 Q# F+ E/ h2 q- Z     DJNZ R5,SXB2
7 m/ }+ G* Q; c" p9 W     JMP START) T7 y( R6 F7 x; T: C5 y0 X
SBC:) r  t' }: z! c' R3 q7 S
     MOV R5,#250
- b. v7 T" w; a+ A6 Y' W- |SB1:( S' c& i  q( g* S: e
     JB P3.7,SB2  7 w: g' |9 k) p: _. s
     DJNZ R5,SB1
4 b* ]; Z3 N$ i DJNZ R4,SBC
8 ~! e7 }$ }5 d/ b0 b: Z* H: _     JMP START
" L+ F2 A) Q6 I$ t0 CSB2:                 . n3 W/ B: w. y8 Q; b- g  }; E
     MOV R5,#59 W3 |, u" Y* O; l
SB2_A:6 v4 M* J, k+ ~& l" Q$ i( n7 _
     JNB P3.7,SB1
* t+ h; t, G* ]2 ^. z3 K9 T     DJNZ R5,SB2_A
4 o& a7 b/ Y8 X% t: z% ]     MOV R4,#3
' m  V' J/ G& \SB2_1:: h+ u% u- X6 B% p
     MOV R5,#2508 b. [5 L+ b& H" k) J5 d
SB3:                  
, I0 F2 t' ^, W) e& h     JNB P3.7,SXC! }6 Y) K* H( J7 K
     DJNZ R5,SB34 Y( O; k; Z" M: R; }1 }8 [( d
     DJNZ R4,SB2_1
3 _5 O# S- F/ i% I: w     MOV R4,#2) c9 G7 m3 c8 h" F! Q" U
     JMP SB3_1
& G  x4 k0 c* F, a9 }; P  OSXC:                  
6 D$ k- Y5 R) e# O0 J4 {! d) t* ]: b     MOV R5,#58 d: _) e" s( g/ ?) ]" t
SXC1:
0 M6 l4 I. d/ E6 c6 p# B     JB P3.7,SB35 f/ l" _: t+ i6 w( U
     DJNZ R5,SXC1
# j5 P# @% ^6 k7 ]' D     JMP START$ y7 V4 \1 M  }5 ]9 o% E
SB3_1:                 # g0 C* A& C3 z# {: C% R$ W
     MOV R5,#250' f. a7 @$ X7 D4 z
SB3_2:/ C* {! U, o% B; t) s
     JNB P3.7,SB4
6 O+ x$ o! s( M) s1 s( _- I     DJNZ R5,SB3_2
1 `( I' ?2 W$ y     DJNZ R4,SB3_1
, h7 Y: O0 `3 |) c2 C% o     JMP START
+ o( a$ D* C5 o" J  k; f3 z! ZSB4:                    1 g& x7 @- q1 _
     MOV R5,#5
+ t. O9 B/ ^% F( s4 ]& r$ ZSB4_1:
* p5 d' g- W  V     JB P3.7,SB3_2
( J' C# K# y0 {( T     DJNZ R5,SB4_1
* E5 f' r3 x7 b/ Y$ N) g$ n( W     MOV R1,#1AH  
0 I; [, ~9 ^4 n     MOV R2,#4
+ ]4 k& b" T7 f7 UPP:  MOV R3,#8/ D" p4 r7 P9 w
JJJJ:
% n4 i; O. R" \$ r4 i     MOV R5,#250
! s1 J; W' _# I3 GJJJJ2:                % h( ?2 K, ~! b# s
     JB P3.7,JJJJ37 [( J9 P4 {# f' d
     DJNZ R5,JJJJ2
: V" L  v& |# X4 M$ `     JMP START! E# `" z9 J3 d+ n" _
JJJJ3:- p) s: W7 C* F9 z# Y) ^
     LCALL YS1  ( q6 S1 B  V2 L+ o. I4 T
     MOV C,P3.7   
8 `: f3 {& e2 C6 n" n6 S     JNC UUU      % o/ ?( o2 o# E
     MOV R5,#250
$ s& Z! f, g4 w3 ^' B7 x2 L1 y, s' CJJJJ4:
. o: j- g" S: N' q( x$ m     JNB P3.7,UUU, s, i. m8 r6 T4 J
    NOP8 Q$ q% `# R7 [: g: F( P* L
     DJNZ R5,JJJJ41 U$ M  L- F7 D1 l
     JMP START
$ C/ b6 A& l$ w4 a' \. lUUU: MOV A,@R1  
$ T: S* A( h( h7 u     RRC A           
5 ~( D, V7 c8 l, @( [3 A+ K' ~     MOV @R1,A      
( x# v. N4 x7 A7 y! M1 I     DJNZ R3,JJJJ   , x# [: Q9 N( S: u5 s/ p* e
     INC R1       " z- d; p! K, x
     DJNZ R2,PP   
# u9 E% i8 B8 V- s( c
: w4 `! F8 S8 F; D4 {. i/ r     MOV A,1AH
) }6 b' s* r' D  l: M     XRL A,#11101110B- t9 T& B/ a* I0 h% c$ w0 N
     JNZ EXIT 9 r# d9 t; e$ r% s
     MOV A,1BH # ?# a3 i' T0 ?, z( f$ @+ ]6 g
     XRL A,#10000111B! o: R# e0 {1 I6 ]) u
     JNZ EXIT
& i. N2 T2 _6 r% F8 a1 B     LCALL YS3( }5 F( x, m0 A5 l2 Q
     MOV A,1DH 8 N# G9 @8 r( R4 u3 g3 q
     CJNE A,#10111100B,EXIT
! P- e+ Q5 c7 B+ e! D* {4 p     LCALL YS3
" h! |# o1 s7 {9 v6 J5 v" H     CLR P2.6  
) \' L$ s6 h: N/ M7 F     AJMP BIJIAO( N$ S2 W4 Z( `/ r
   
  H/ o0 M! y  x) M% {AA:
, U6 h3 `, \* O     MOV R1,#25
1 x/ O; N) h4 D# K, qXX:
$ s6 m# |  ~$ k$ W2 ^     ACALL YS2  k' M, o0 _4 {1 x* A# j2 E, e
     JNB P3.7,HH
# v$ N8 O- d1 e/ j5 z     DJNZ R1,XX1 a5 }  S" v: }' V4 ^
EXIT:    % m6 y; t/ U) u/ |& u4 d& O( y
     AJMP START+ K  O' G. s9 o( f: S  U$ A) B
   2 S# T" }  @8 n' X" O
HH:4 A. X: r: I2 g5 q- b* z
     MOV R6,#4
0 E( A" p% ^2 R  P: tS: ' }- N( p& _) S. w" @
     ACALL YS1 . {9 d1 d8 z4 l( i3 M
     JB P3.7,EXIT
- i, z( N$ P7 z6 ~: a$ R' L; |     DJNZ R6, S
. S/ {& t' L" w8 E( U# N" X     JNB P3.7, $  7 o. A/ b/ m" \4 }$ |. z% \
     LCALL YS3
+ w! j* P  Z( I     AJMP AA8 r9 U1 Y9 Z" k! j/ Q
BIJIAO:, ]3 N* L& p3 g$ ^
     MOV A,1CH
& x1 I2 n# E7 C( _" P8 ?     CJNE A,#03H,N1  
, e$ E  W, h7 H$ W+ u+ `7 k! v2 e     MOV P0,#7EH    % n+ D& r4 M. T# s, l7 O* ?
                        F; p% H1 ]% t' N( l" `
;处理STUDERV录音机控制码
: M1 H) d% C+ ?: r; CN1:
! n$ Z) T7 v6 v; M. C/ s     CJNE A,#5FH,N2 ;播放键
( f4 M' P; }3 D; m+ `& |     MOV DPTR,#REP0 [* Q6 ?4 ~! T/ u2 u! V0 F, I
     ACALL SENDA
0 D* z* f8 f; `+ r/ v1 ?$ }     ACALL YS4
3 d4 f9 X3 a  k8 z     MOV DPTR,#PLY
  f/ I1 O5 I" Y$ ~8 T% G# U: q     ACALL SENDA0 }8 J1 V. ?8 @8 N1 g2 k1 [* A
N2:' T4 F  W" o9 D
     CJNE A,#5CH,N3  ;停止键
1 j! @. j+ h) E# c     MOV DPTR,#STP/ f: r) c* A7 x; W- _2 L
     ACALL SENDA
# A$ R: v, G! b$ k! UN3:9 B: ^# N0 @& ]) [
     CJNE A,#06H,N4 ;快进键4 M, Y  F1 R/ t& A2 `7 i) R2 x
     MOV DPTR,#FWD- L* u" b5 h% [$ z6 D; i! J4 v
     ACALL SENDA
9 O9 r+ L9 \/ Z0 fN4:! b9 k% Z: A2 @  P9 p) j. H
     CJNE A,#09H,N5  ;快倒键9 g/ j1 b6 E- X8 D4 H7 o
     MOV DPTR,#RWD9 H: P* k% U+ u& b1 a
     ACALL SENDA
. A) Y# D3 k, U6 P2 [* E0 TN5:: o# Y; ?0 [# e0 d6 Z9 ?& W: ^
      CJNE A,#0AH,N6  ;置零键: O; y- ~4 l, Z
      MOV DPTR,#RTM
' W# |; z' y  |/ e     ACALL SENDA
; g/ Q& M4 y4 i, U2 g+ bN6:
' Y$ S( ^$ S1 I7 r0 o     CJNE A,#0CH,N7  ;定位到零键- k  h8 s0 ^2 v$ Q2 v- {" M
     MOV DPTR,#LZA) e- G" j7 ?6 A1 g6 T: E& z
     ACALL SENDA
( Q3 d! R7 Y1 y4 U/ d# N5 k2 gN7:
# |, u( g3 @' [" m6 K8 s3 D     AJMP AA2 m$ F. \; x( K& L3 ?9 d9 w) E
SENDA:7 c7 C8 e( [8 O6 a+ W0 P- w: E
     CLR A- g$ |) K6 F  W& a; Y2 y
     MOVC A,@A+DPTR
' J: p/ t2 H9 _     CJNE A,#'$',SENDB7 D" d3 C& ~! _* t& G. N- I1 d
     AJMP SENDC' I2 |; G7 d0 ~: X$ y! R( O
SENDB:
- N6 G# X% |0 L, R/ J  {6 q+ Z9 S     MOV SBUF,A9 W% z) r; P$ h/ [
     JNB TI,$* j# u1 |1 m+ E, ^3 f) u
     CLR TI2 i7 ^" t' U+ g  c
     INC DPTR
: e' A( K* G( ]4 l, m/ u. ]     AJMP SENDA
  U2 I) k. [! d3 V% TSENDC:
& o- }! w& I0 e2 w2 a     RET
: S% h) v) [8 G
! O" y8 J( b; I' lPLY:  db "PLY ",0dh,0ah,'$'2 W# S7 G. G7 W3 ]
STP:  db "STP ",0dh,0ah,'$'# k6 b! b) Z2 n3 F
FWD:  db "FWD ",0dh,0ah,'$') L1 G2 b4 ]/ x$ w0 [4 m, c
RWD:  db "RWD ",0dh,0ah,'$'* [) R2 w% _- e8 a9 W. a, e; ^0 e
RTM:  db "RTM ",0dh,0ah,'$'
' f3 |+ t6 o, k% |LZA:  db "LZA ",0dh,0ah,'$'+ U7 ^, B& f$ o! S- T# H
REP:  db "REP F ",0dh,0ah,'$'
% t) n6 u; i5 B# \8 U, F" o1 M  }$ h; H
YS1:  L3 Q# Q# {1 C. @5 ^2 a
     MOV R4,#20
. Q9 S, [# G3 _- O$ Y  \D1:
4 O1 z) l& k/ \; `     MOV R5,#20& l6 x6 \# W# c" g' U' E
     DJNZ R5,$
( h! O, Y0 s( x/ y; ^  G     DJNZ R4,D1! ]7 V1 X  R1 T
     RET9 D" L. X0 U3 w

2 w' W( b! H3 z2 _+ YYS2:( S' f* U1 j7 F& S8 I  D3 |8 L8 b
     MOV R4,#101 e; ]5 A8 T. g0 V
D2:" J+ d: b! {+ S$ M7 [* x
     MOV R5,#235% W/ A* \7 S) U2 W; `/ q4 b! M
     DJNZ R5,$
3 [! B; h" h3 W6 }8 a' c     DJNZ R4,D2
! x& O0 H0 S, Z9 [" N     RET6 t: J/ R. S5 Z

" k, ^6 ?7 S8 T6 _* b8 Z; IYS3:
1 O6 v: d# J7 H% r, t7 p     MOV R4,#2  p0 ]0 s: D% g3 C% k
D3:
' b* q# ?/ Z/ c$ A0 F, o/ y# {2 H     MOV R5,#248
; |5 @) [: N- q0 I. A. C     DJNZ R5,$
% n& v4 x3 P% S  ]; O     DJNZ R4,D3$ ?; j' x6 A# n  z7 Z. m$ L& h7 _
     RET
4 [2 o2 `0 b( K) w$ E! i! N
# O8 \" C/ N, H( XYS4:
- A1 X- X+ f9 W4 D* q1 r     MOV R4,#200
! d5 J) w7 X$ h; r6 zD4:. A( x1 K9 i& j  V5 s
     MOV R5,#248' P/ ~% P# D! v! U# q
     DJNZ R5,$/ [: [( F; |8 b* E% f+ m
     DJNZ R4,D3; i+ S' l' Q: b6 P
     RET
& j) M/ A! Z' H     END
/ @* z$ [/ a# |$ ]
$ [+ p, C. |& @% T有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。8 ~3 ], H9 A" d/ m% s
是不是很惬意,嗯!% F% d+ j( W, c7 J" t% f

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
8 W, d2 d2 ~* u: L: M3 T YK 005.JPG
) g) s6 W) e0 N
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
  N+ w* I% i! S6 F  u
发表于 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
5 @' Y( q5 T: @, j, A最终的样子,有点简陋哈!

9 F0 L* o4 R. h) |# N这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-9-10 09:55 , Processed in 0.184909 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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