收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
+ H. c9 y5 x* i  b7 \. U# J$ @" v3 |6 x. m# g
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
. k# F3 r8 D" j8 t/ Y, D
6 m1 S; @/ ^5 c, D6 \说明:: m- J- `& G( c' \
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
+ v) Q' h# U3 t6 r. Q, b" \2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
% @) c) G! P6 o# V, M, y) R
) C! \( k+ R6 g& I一、基本思路
3 k4 x$ g) P4 v" i/ {- {$ c使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
* ^# Y% c3 ?2 ?, `! q* a, `7 e- f6 V
二、红外遥控器
1 \; C9 T+ s' y5 G. q我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
5 b, Q3 l6 w4 c; f' m% A Apple-Remote.jpg 3 u  j9 l* n% V2 [# E
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
. e! v5 V8 a3 i8 C4 H# {8 F0 V Apple-Remote - 副本.jpg
& y& c) _1 o: T* N0 r* V在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:/ q9 s. Q% k- F& A" U6 [5 E7 Q
Apple-Remote - 副本.jpg
( C) n0 k2 N; Q( z$ g
! F- q- @. {, s0 D  h# `三、红外编码2 _" W! G6 u2 i7 U; q
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。1 Z% W4 r$ w) y& b
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
: K& w) Q6 ~1 k5 |. ?; H后16位为控制码,主要用于实施具体的控制。( d, C- s1 O( B, f: H9 u6 W+ s, A
这16位中高8位和低8位互为反码,以提高可靠度。0 B5 U6 s! v; \& B: W

8 T3 l/ o! S: [' V4 m& X以播放为例,其编码如下:
9 T( i. h6 I6 c) e6 W00000000 00000000 01011100 00000000
0 u0 S3 O4 L6 U' n8 L
, b- v! d$ a2 R* t, W6 j1 L5 J你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。  e' q: }+ @8 T6 q* Q
, W/ @* a' x( a+ ^! x, B
四、单片机系统
& q/ K! o* x  j9 a3 t* d$ K0 |7 C
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
0 L) e( T$ z9 p c51.png
' O7 E+ q! k4 }& Z- y3 C
7 ?3 i8 D: M" g, Z电路很简单,功能如下:8 P4 I' f' g# i, ]
1、一个AT89S52单片机作为核心;9 K: X& P9 `) n- x4 J1 C5 [, ?3 [
2、一个TL1838为红外接收头直接串行输出数据信号;7 T# J( p2 I4 E  y
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ O; `" P& ]; D% }4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
6 P7 j$ t( }7 a! ?3 w% O
' n+ @. i: W2 {# g% r( z* X9 l关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。' O$ S- W! y; F/ `0 {

+ y* K/ M! Z( M/ ?0 `
, k5 [: X2 l# {9 M" W五、控制软件
, M9 o( `  x4 g! M5 \& c8 q, @
控制软件用汇编语言写,源程序如下:
6 C- |* r& ]6 E7 n. _6 ~9 B     ORG 00H) }  g* q$ H; [" k9 e6 \
     LJMP MAIN
! ~. W( h+ k) X     ORG 30H
. U7 v0 c! {5 ]8 c3 k8 ^. O7 z% X4 jMAIN:
5 c' l$ I; B8 a  z( w+ A     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
" h2 r# m" \: O. R     MOV TMOD,#22H  ;22H1 o; k- W, ]8 c3 T$ [" H3 r
     MOV SCON,#40H  ;40H7 k6 S$ w7 i% e- q- j
     MOV TH1,#0FAH  ;F3H; w+ h% \4 A1 B8 [2 c9 [, }" G
     MOV PCON,#80H
9 d: A& i# f& s- r* B: M     SETB TR1. {, f- @/ z. g3 X; Y& `
START:
8 z) q4 c+ ~: f. b     JB P3.7,$ ;遥控信号处理* X1 \5 B+ x; R" {& O
SB:6 R! b8 b" m% p0 S4 y& _4 H% c  k* y
     MOV R4,#8    . y1 }& y0 Z+ J' i' R
SBA:
$ @, \7 ~8 u1 j' J     MOV R5,#250
, ]6 |9 d) {) f6 |9 F4 [. zSBB:
: C$ H, q. K$ j# ^0 i     JB P3.7,SXB15 k: q; h4 |+ G: G9 a
     DJNZ R5,SBB, G; g3 y% l" D
     DJNZ R4,SBA
+ u: b9 f4 W+ m) j  H$ I     MOV R4,#2
: A) _2 y# |9 G% h8 Q     JMP SBC
4 f& H9 ?, `: \2 B- YSXB1:
8 X# W8 P/ ]$ `! K+ \     MOV R5,#5
& v0 x8 J% {/ D/ {SXB2:                L* ^: G  Y2 \% i1 A
     JNB P3.7,SBB
5 ]; k& B( n6 x; {4 k     DJNZ R5,SXB23 p. `6 d  ~$ E1 y) f5 r9 i$ G3 x1 J1 m
     JMP START$ B1 z  T. Y  e' P, u
SBC:+ [3 z/ F$ [0 f- G2 D0 ?' x
     MOV R5,#250; @" ?: C3 p* I) d* ]2 [
SB1:2 p6 r+ D# P# M  I4 L1 D& @; O
     JB P3.7,SB2  
" E$ n( S( v- P% D0 ~# P5 d/ f     DJNZ R5,SB1- l. d& ?) i$ x! x. ^' u1 [+ i4 j/ I
DJNZ R4,SBC
: F6 f+ ?/ x5 [, h' K' \* n     JMP START2 a4 H- x0 d% L2 A9 e$ j) R
SB2:                 
. ^0 w; U2 W- M: q     MOV R5,#5
4 v, D+ y8 D: P! L# T& KSB2_A:. \# ~% v; ?9 O- s# g' t
     JNB P3.7,SB1
, L8 h5 h# A4 I, K" D/ E+ a     DJNZ R5,SB2_A6 @! m% Y( S3 e
     MOV R4,#34 _4 |, F! ?: w( ?
SB2_1:# V; G7 n* t: O' L" g
     MOV R5,#250
: A) Q: @5 q, C/ q) A. R! zSB3:                  9 @# L5 R4 [+ }- Z& I4 O8 A
     JNB P3.7,SXC
0 @" o$ ]' ^4 F  i7 q5 l     DJNZ R5,SB3" f$ t4 ~& L* v( ?+ F+ a
     DJNZ R4,SB2_1  w2 A" O; o  N! P( k
     MOV R4,#29 i) {$ f, [& \8 ^$ u
     JMP SB3_1: \, G$ p! y- j; q, q2 B
SXC:                  
  V$ T2 V( Y  K% Y7 Y* O( x     MOV R5,#58 s# l6 }* Z: B: Y! m
SXC1:
- i  l1 Y' G" U! Y6 r     JB P3.7,SB39 \6 O3 q$ Z( c8 ]4 [0 E, y
     DJNZ R5,SXC1
: d6 n5 ~) b. r9 {9 U+ O     JMP START
& K: J$ ^! M- `* _- y3 _9 }SB3_1:                 
( D& A! f, f; s) b4 O     MOV R5,#250
. u4 d$ g7 f2 [% h' wSB3_2:0 f% w' L7 `4 F
     JNB P3.7,SB4
% y0 a$ P4 Y# @  t/ E6 _2 a     DJNZ R5,SB3_2
$ Q5 L+ o& J, v' v     DJNZ R4,SB3_19 X, [+ i/ w% w' K/ V
     JMP START
: o( W4 n9 U" O8 e- W- tSB4:                    
$ i3 G$ G! T) ^( H( P! d# ]: l     MOV R5,#5
& x. I8 x& k+ _4 Z) jSB4_1:
$ U- W- ]8 v) ^9 y6 g9 k: e     JB P3.7,SB3_2/ }) k5 o) Y0 Z
     DJNZ R5,SB4_1; ?* M) s) u% y8 P- r. x9 Y' s
     MOV R1,#1AH  / K; s+ ?$ L" [: p# L/ C
     MOV R2,#4
! B7 O- p1 I$ t3 hPP:  MOV R3,#8
: {! {- y8 T. F- xJJJJ:- L' h4 |! _: K0 H0 J- D1 s* E1 V3 p+ e
     MOV R5,#2501 |0 O0 l% q4 d. W
JJJJ2:                * W) ^  x2 ~# q" N7 L+ o$ E' f& R8 M. ]
     JB P3.7,JJJJ3
% }# d" c) X; h" a9 Q+ U     DJNZ R5,JJJJ22 Z3 X- V- y2 L, X0 _! ~) h; }
     JMP START/ ]5 U; o7 ?, D  D2 U3 _
JJJJ3:
& e) I# x- U' }2 P; x     LCALL YS1  
7 S" M( Z+ M! w     MOV C,P3.7   . r( j# x% Z4 M
     JNC UUU      $ p0 X4 Z# [& L
     MOV R5,#250
$ m9 c2 w. S+ p, L3 p& S. }3 [JJJJ4:4 v& B% S7 |2 E+ h2 }# z" [. M
     JNB P3.7,UUU1 i* {* s% c& Z
    NOP' E/ T) f) i7 r* A3 D
     DJNZ R5,JJJJ4
! v. |- |1 ]4 N9 t0 v     JMP START& z  d3 q$ I% I4 l) e
UUU: MOV A,@R1  2 h1 t! J; s: d+ S
     RRC A           - a8 ~+ b9 X: w2 Z; N* K4 N
     MOV @R1,A       # F2 i; o' _4 e! A1 ~4 l7 M, r
     DJNZ R3,JJJJ   % l8 d& Z8 G2 f$ v+ m9 u- r
     INC R1      
! A& s5 M0 D8 W* `5 t" U     DJNZ R2,PP   6 n; u/ k' f, y+ Y9 P6 {1 O% P

1 `( l7 G. B. E; u# z- D0 X# {     MOV A,1AH 9 s+ M* H6 S/ C
     XRL A,#11101110B
2 ~& Z% i( M9 {+ F0 C* n     JNZ EXIT 7 e5 D. Q2 t! o5 d% T8 @- o! \: g
     MOV A,1BH
8 A8 O8 R! T& ]8 i     XRL A,#10000111B
, G( u1 h  j  V  ]  b     JNZ EXIT
: l+ y9 [9 w( G# a( r% r     LCALL YS3% r, [% [4 R  E1 P/ V" ^8 s
     MOV A,1DH , U# e1 t$ K( Q, [. u; V; \/ ^
     CJNE A,#10111100B,EXIT
% g! C7 a' ?* x. ]- ?. S     LCALL YS3. ]4 e! w2 P; @3 C9 m: Q+ w1 I% [
     CLR P2.6  ) z3 s! ^& o! x7 l2 r9 K2 T) K
     AJMP BIJIAO
& |; {$ \3 ?  Y( F   
  c; Y8 M* _& @, o! q6 jAA:
8 ^) \1 x7 _3 {8 h$ W" M, ?     MOV R1,#25
6 D+ x+ m, Y; O2 u" a. FXX: : |1 C: C$ h) K+ s, {9 `3 A  V4 e
     ACALL YS25 w9 _# a" H5 K
     JNB P3.7,HH - E' T  w* P1 q2 _$ @% t0 v; x
     DJNZ R1,XX
$ Y, @) U/ }1 C+ @. XEXIT:    # B! a+ I% B" v) F0 H7 W& Z# K
     AJMP START
* F$ M* M' v* P  h+ m: K   
2 j) p) C2 a1 @* ^) PHH:
9 U" K- A! `5 u/ X: D, @     MOV R6,#4
0 G" `4 i; Q- VS: + m% [( n; E' Y) h# T3 g, Q5 e
     ACALL YS1 - g9 K! I2 d; f
     JB P3.7,EXIT
% y. P( x7 Y- |% y3 b$ B. g; [+ Q     DJNZ R6, S 0 m" n1 v) ?  N; H# Z' `0 ]5 L
     JNB P3.7, $  
# Y& b+ ]5 g, e! K     LCALL YS3
' ^! p+ z, H. [/ `( J     AJMP AA
$ m( p& G* v% O' x8 u: |8 d  uBIJIAO:
- K% R0 Z+ k- J6 Q. G& F0 C( G0 n     MOV A,1CH
* F9 |+ d  H2 {9 h' n' R% ?5 v     CJNE A,#03H,N1  # B& Y! h; Q% m# k7 M" l
     MOV P0,#7EH   
) v* l1 a3 v& }  ?) E7 e                     
5 ^/ g; f" ^2 W/ e  I/ D ;处理STUDERV录音机控制码6 c' N9 g: Q, Z' g: P0 P. F
N1:
% e( V9 t, t7 s: F* a' F     CJNE A,#5FH,N2 ;播放键% S$ s- c# E8 b) a# f
     MOV DPTR,#REP
. u  A* f8 g8 |. \. L. b; B8 w     ACALL SENDA! \  V: m, b  A+ E/ H
     ACALL YS4
$ f8 h/ J3 a" i! z     MOV DPTR,#PLY0 _7 q* E5 R/ K0 @3 ^) u
     ACALL SENDA
/ r+ ^% m( M8 f( ]* TN2:
; |6 w4 c% C( U+ a; f     CJNE A,#5CH,N3  ;停止键2 Q% h9 s1 N7 {4 j: Z) d
     MOV DPTR,#STP  _8 T9 B7 l9 o
     ACALL SENDA" L3 {7 A5 I& I* Z# e3 @
N3:
# i* ~' G  n# {/ B& v! c+ |- k     CJNE A,#06H,N4 ;快进键
9 n9 H& [0 r! i  k6 v. t     MOV DPTR,#FWD, M% R6 h' g1 M: ^
     ACALL SENDA
5 @8 T9 b4 q' K" @# ?- x5 UN4:
, f1 |8 E/ {8 r     CJNE A,#09H,N5  ;快倒键+ r# x& `* @, O# ?! O! w; W& y
     MOV DPTR,#RWD
7 w' k3 M0 d. D& E     ACALL SENDA6 s2 K" l% l& a! h3 G8 E
N5:
% E+ t! x# I2 Z1 c      CJNE A,#0AH,N6  ;置零键9 T/ z' S+ j& W/ P. a
      MOV DPTR,#RTM: s& r: ]2 B& F: j4 N
     ACALL SENDA  d; w0 d# H* Q" n9 i/ r
N6:) }: j3 ]9 i9 b- x! i
     CJNE A,#0CH,N7  ;定位到零键; l# z, T9 C4 s+ X4 n, J) g
     MOV DPTR,#LZA% H! ~6 y& p* `
     ACALL SENDA
# H  \- k. C- h+ `* t7 P! oN7:8 I, |8 X$ N& B$ h
     AJMP AA; M4 _1 z$ e  y' d/ F
SENDA:/ T/ L4 O2 ^0 @
     CLR A. P1 e, o1 _1 b3 y
     MOVC A,@A+DPTR
- c' @, A, V/ a1 ?! W( l     CJNE A,#'$',SENDB
% y! H! O* s) v& \& B     AJMP SENDC1 q5 u+ g/ Z5 ~9 m1 o  r
SENDB:
% s' x- g1 k5 |7 E$ p# f! F     MOV SBUF,A
1 O) B, P! z& Y( p     JNB TI,$
7 r& X/ [) {+ p. z) f     CLR TI
8 t  d4 r! ~% d5 I' y  X     INC DPTR$ k" W. u) ]6 z3 H
     AJMP SENDA# Z; e) O8 j6 L' p& W+ n
SENDC:
, `! p6 Z3 X1 N8 L& Q     RET
4 z2 S, L7 l; X- N: |- F1 o$ r  s% j* W; I
PLY:  db "PLY ",0dh,0ah,'$'
( A2 T7 ?1 l2 XSTP:  db "STP ",0dh,0ah,'$'8 ~; Q( m6 z* B1 L! }5 ~' T
FWD:  db "FWD ",0dh,0ah,'$'1 g! l7 E% S! T
RWD:  db "RWD ",0dh,0ah,'$'! R. u- _% [! B2 w
RTM:  db "RTM ",0dh,0ah,'$'; m; E- Q, e  I) X3 G
LZA:  db "LZA ",0dh,0ah,'$'8 G8 E1 W+ B7 @! w* h
REP:  db "REP F ",0dh,0ah,'$'
/ y4 ~: r- H# f' o
4 I# F+ I& v  W( ]1 q# XYS1:3 R3 S! |6 u( Q& W. i
     MOV R4,#20/ [% }. i- a  ?
D1:3 f/ ~+ z9 P$ J6 t
     MOV R5,#20
$ e8 G( K- ?4 N2 e6 p/ `% Z     DJNZ R5,$
: X1 p5 ]7 T1 F5 {$ @; O     DJNZ R4,D1
. w  ^% V' @9 {8 i! w1 Q2 G9 C     RET
( `8 w: ^9 |" \( ~" W( G1 K1 K: X3 W
YS2:6 I; k5 f* C$ A6 J; }' T  F6 h
     MOV R4,#10
8 K$ n0 F( f8 b2 \D2:/ R" }! K# V- U8 R! |8 {
     MOV R5,#235
6 Y5 z( o. k  H     DJNZ R5,$5 f/ f& T3 ~! l$ z
     DJNZ R4,D2
/ L; T+ M) U" B8 [. [     RET6 w' b" A& \2 ~' @1 p. P

6 ^- J) |8 s9 Z& O, q& g  PYS3:2 c" |; U+ U4 X4 J
     MOV R4,#2# p& u* y4 c2 z; |. q( J! z; t8 E
D3:
9 m- R% B! }- k+ H3 P     MOV R5,#248& N; b1 M! R) z9 n
     DJNZ R5,$
/ g8 p1 p3 P- @6 B3 Q2 j/ T  t, C. {, \     DJNZ R4,D3' Y; W9 X' n0 b) E* D
     RET7 A9 V0 ~' e+ `  m$ V  j
# M5 N! b) m8 M- b/ e( t* U
YS4:( y! b$ _3 |7 G6 {
     MOV R4,#200& l) E* b. p) o% d- k5 D
D4:' y. K; t3 G. E- A
     MOV R5,#248* P- f9 C+ ?5 v1 z" j& \9 b) Q* X
     DJNZ R5,$
2 ^/ {5 g$ D- S, w/ h6 z     DJNZ R4,D3
+ X& N/ m0 ~- l7 l0 g4 g+ V$ ^  w     RET
" n$ |+ D, ~) ^) @( J5 O7 R     END
+ A7 u* E1 T3 x& i) ^" h/ m" b' q3 \1 x
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
! r7 U) G" `7 c; {是不是很惬意,嗯!
$ a8 O4 q+ f% R' M1 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 | 显示全部楼层
最终的样子,有点简陋哈!! c) s/ f/ ~$ A/ e% ?5 v
YK 005.JPG
4 {! T  {! ]& }2 _" E( ~
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下4 E6 Y1 A9 a( A/ B
发表于 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) y% `; r8 s' W% R4 o/ C! Q
最终的样子,有点简陋哈!

5 \% ^8 d: \4 [& y& Z5 o5 F这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-1-26 00:02 , Processed in 0.222909 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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