收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 5 C6 w* g/ c! k. J
+ f9 J) @1 ?/ Y6 H* R. p
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。- y. T2 x/ E7 W# K, I/ a
9 Y" J3 p( q# j& _+ s- V
说明:
% _2 m. I* I$ `" d9 |5 W! c' N1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;& u  u0 e5 O$ J  [
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
. [! E/ y4 S% ]9 M
8 d% Q: k3 n+ ?6 q一、基本思路
' I7 B  ?. D& v7 ?) I- \) R: x使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
0 `3 ^  l4 g4 C
0 ~; j- `: q  q5 N二、红外遥控器
. f2 c; w5 c4 G, o我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。- P* j- v, p0 f1 d2 d( z
Apple-Remote.jpg 6 r& H3 R1 m( c" p/ q" T; S" r. ]
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。6 @! G1 R2 b" c- I- N
Apple-Remote - 副本.jpg
1 ]4 L, O8 F8 Q3 h7 h' o在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:3 L* X% t# {) ?, D$ @* g
Apple-Remote - 副本.jpg 6 t3 s4 e( R+ Q% @1 G2 F: v" h
$ V6 q" x* b. m# G1 S/ \! j; h( e
三、红外编码
5 Z8 G4 u' W& E- q) m" h红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。7 @4 A4 d6 M! }+ h+ }, M8 v' O
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。7 q8 I0 T. Y. H' e( I
后16位为控制码,主要用于实施具体的控制。% e* |* O+ w2 V3 S+ Q
这16位中高8位和低8位互为反码,以提高可靠度。3 t5 t2 h: H; Y

3 [/ \) _9 ~# O6 C* v2 [/ `以播放为例,其编码如下:& e& \% \5 b, R; E" ]- E" Z: q& E
00000000 00000000 01011100 00000000
1 \* C: U: a# ~& u
9 s- F' r4 L' U/ t- j你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
  ^2 a2 Q( U: A( f+ r1 b7 ]" z. p: Q8 O/ }  i
四、单片机系统
" R4 v8 o0 e5 r1 {2 k
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。2 E& m1 i) i2 y$ C
c51.png
0 l& q1 F% W6 l
2 L: L. p5 H5 A电路很简单,功能如下:
: Y. d! z' \8 X( A3 q7 Z4 H; P1、一个AT89S52单片机作为核心;
- e+ A6 z+ {2 Q, ]/ q" z2、一个TL1838为红外接收头直接串行输出数据信号;/ W$ }- `% S0 U# L
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;6 u) |% {% f: ~, n. U* _
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。: k7 T. X& a6 R/ }# V8 W+ R& V, T* u

( B' M7 I* h  C6 H8 f关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。- G* T, T5 M( U7 [3 u( X  r- p

2 _$ O# t  @" ~, S# I' [
5 ]1 u& T1 H  t& ?! q, l& A7 U五、控制软件9 t. l5 y0 ~' x/ A* a
控制软件用汇编语言写,源程序如下:
! a0 M0 R! A" ~     ORG 00H
& _& R' G) y, w/ m     LJMP MAIN* c1 |% D7 S& X$ ?
     ORG 30H1 N: y9 T4 V: O, ?5 t4 O
MAIN:
5 e) X5 e9 l1 H+ w     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
4 H1 f3 J8 y+ e( T; u7 B! ]     MOV TMOD,#22H  ;22H
' I* C; ?7 F7 i& a, i& L     MOV SCON,#40H  ;40H
0 k# N* [2 G' s     MOV TH1,#0FAH  ;F3H0 [0 v% c( i3 G0 j; T( t7 Q
     MOV PCON,#80H
/ `) j$ ~: z0 M: N  r4 |     SETB TR1
9 v' {' x* b# f3 B5 e5 J( H) `) n+ iSTART:  u+ ~7 |- [& ?6 q2 F
     JB P3.7,$ ;遥控信号处理
: {8 Y, `& ]; f1 W$ r" x- }SB:- ]& ^4 _: O8 Q. A5 I
     MOV R4,#8   
9 ]$ |! x# R1 l% }5 e' b- x% W" lSBA:
, A9 |- b3 x$ ]) B     MOV R5,#250( n7 G; j% P6 e  ?, b1 G) }* S
SBB:$ ^4 D9 I9 k* @+ p
     JB P3.7,SXB1
  K4 X6 e5 \) T7 f! R     DJNZ R5,SBB% O8 H+ L) T+ B, I5 ~) q4 f; P  G
     DJNZ R4,SBA
1 q( M  s( b6 K" s1 }9 M/ j     MOV R4,#26 K- P1 K: E2 h4 j  |
     JMP SBC
, Y2 ~3 q5 p2 _) V. o  B% \% m5 FSXB1:
' V$ F. j  M* }- A- p     MOV R5,#5
$ f" n2 Y+ ]9 h& cSXB2:              
$ u: T1 S7 v. ?6 f: X& G     JNB P3.7,SBB
0 I, Q8 E- H# r: p+ }/ [     DJNZ R5,SXB2; w2 P$ e  E+ ~2 J4 g. A2 q
     JMP START5 T1 x6 {4 V- G2 S. D1 X3 e" E4 X
SBC:
: j: ^4 C, k( Z     MOV R5,#250
8 y* f: G, d% ^) B: ASB1:
  }# {7 Y/ Y( x7 F( d- O' Z+ y# i     JB P3.7,SB2  $ ~& r0 ]" w* r: t
     DJNZ R5,SB1( r3 V8 A) U7 n# r0 `
DJNZ R4,SBC
% [  F" J6 r% c- Z1 ?     JMP START
, D  X5 o7 g/ o  u, }. \" G% xSB2:                 
  x" [3 n, ]- e" H  M% @     MOV R5,#52 j; v7 o# B* y3 G6 }- y
SB2_A:
1 g: |$ P* }& K& e( B2 A     JNB P3.7,SB1
9 e' x. U* t  X% ~& v     DJNZ R5,SB2_A& i2 g. I6 E) B7 J, ^7 E. ~; G# S" R* t: b
     MOV R4,#30 a, s, a" R2 D$ [+ E* ~2 P
SB2_1:
3 s, b) _: I9 U" \4 t6 }" ~     MOV R5,#2506 T4 i5 ~( [! o" N
SB3:                  
7 b0 Q' F# c# l4 G     JNB P3.7,SXC9 N; F) R  p6 s6 D' `+ ~0 y  U
     DJNZ R5,SB3
6 e" O: M/ S* [( {     DJNZ R4,SB2_1
" T% w' H& e! G) \' G7 U$ j0 R9 r     MOV R4,#2- g  e9 j3 N' [5 v6 l
     JMP SB3_1
0 L' Q: ]2 Z4 z+ _% RSXC:                  
+ t( `2 U) X  k* p+ e7 |2 R     MOV R5,#5) n9 J0 F" B" h6 A! v, k# \
SXC1:# G" G" k2 s, U$ |9 V( W
     JB P3.7,SB3
' H  t$ J, Q& Y) B3 k6 p     DJNZ R5,SXC18 q% C+ W! B6 e8 n* \. y9 Z7 S
     JMP START. `8 Q3 D; N8 p6 f  ~
SB3_1:                 
( a5 z, ?  h! J5 x, \; j" _     MOV R5,#250: K5 X) H  Y8 \4 S% Y
SB3_2:
# k+ Y2 t1 d# [2 Z* ^' I! [, C# Z     JNB P3.7,SB4) x) X% o# E1 N7 Y
     DJNZ R5,SB3_2, E. Y0 K5 W& f% h' F
     DJNZ R4,SB3_1
# e! q6 E' F4 r9 u2 P. O     JMP START  f) g6 N( b3 t; e8 o
SB4:                    ( a1 ?+ O# Y! D
     MOV R5,#54 ~* D1 x& V- s' v) r& U
SB4_1:0 Q, p( J0 }( n+ M6 r' [9 J* M  o
     JB P3.7,SB3_20 y3 E& i9 \$ z& |- y& {; O% X
     DJNZ R5,SB4_1
4 J. W: [2 S+ B* x% |- k, j8 T     MOV R1,#1AH  
# ~3 C$ }5 ^2 C9 {     MOV R2,#4
8 j9 j& p1 ~. x, B( \0 c" M- APP:  MOV R3,#8
' x* W0 t# t7 l" Z8 tJJJJ:! q2 r3 X6 o) g. |2 V
     MOV R5,#250
" K: X8 H# o1 R; I3 X: q2 \JJJJ2:                % S/ l% a( ^$ w$ d
     JB P3.7,JJJJ3
2 @8 M- t2 b5 f& o5 T     DJNZ R5,JJJJ2! }" c. H! I1 K7 ~1 I+ u
     JMP START) N- T2 t" A) x( Q8 b
JJJJ3:5 p7 A+ W4 k, v# q
     LCALL YS1  ( I7 q' _+ N6 w% ]1 s: V
     MOV C,P3.7   " v" X  V; U) w
     JNC UUU      
' f: z: G9 u4 [  P$ u$ e" a: O     MOV R5,#250
- X5 P* N4 T: K1 d  m7 OJJJJ4:
4 S( f9 K- S; w* ^3 z2 V! E  E4 Q     JNB P3.7,UUU( K8 V0 @1 l& A) B+ l+ ~
    NOP
0 W% f& D8 u& h* ^! a8 `. t     DJNZ R5,JJJJ4
2 v' M5 j# c' C% {. [0 K( }4 y     JMP START5 f* S$ A. l0 \6 P1 q( O3 a
UUU: MOV A,@R1  4 o$ I/ \, W/ R8 e% ^# }4 h
     RRC A           , W- \/ a- J& H+ d7 {
     MOV @R1,A      
8 y5 j0 \( \, u     DJNZ R3,JJJJ   
* z2 e7 B, K) f( }     INC R1       7 m  G6 k  |1 _/ y: n+ V* _! `
     DJNZ R2,PP   $ T5 {. C% Z1 W' b4 U8 M
3 i+ @" l! r. w! b
     MOV A,1AH " ]4 `  ^& F- T$ H" d. A
     XRL A,#11101110B8 h: T; ?2 C; Q4 Z+ \) q
     JNZ EXIT
$ K  V( A$ e( W     MOV A,1BH 5 N% Z4 _* t( l5 W
     XRL A,#10000111B
( c  D& U/ I- o, t) c/ G' c     JNZ EXIT * \4 Y; z. r" [9 e1 F: t
     LCALL YS38 V/ }; b- i- k( ]' w
     MOV A,1DH % F9 q. A& Z+ E- m# M
     CJNE A,#10111100B,EXIT$ U" I4 W5 O, {% ^- f
     LCALL YS3, I6 T% R! ^, K) |8 \
     CLR P2.6  0 {) s9 F- o1 n6 F4 R
     AJMP BIJIAO
; {% X  C3 Y9 P. T   
9 |  {* ^! a8 c0 G/ M, n  a* w" u; |AA: 7 b! T& d9 w7 K: h! O  L# V! F
     MOV R1,#251 N4 [8 c1 v' h9 D5 k
XX:
- ]- O- [! m% M     ACALL YS2
% d7 ?% J5 o$ f     JNB P3.7,HH & |/ F* E- p7 J( j: q" X5 Z
     DJNZ R1,XX
- d! Y  \. k( ]7 p' L0 PEXIT:   
! p  C  h6 |0 ?5 H1 A     AJMP START
7 B6 I* G" T) [   
& P1 ]3 o" J: _6 l' X% |+ y0 \HH:2 {/ `, `" e8 z$ P$ i1 i
     MOV R6,#4
, T/ l4 n! _* e# e$ mS:
; n8 P6 r4 _+ v8 G, o. N" d' }7 G     ACALL YS1
) s  k7 P. H8 p( Q* M( ~     JB P3.7,EXIT
1 _5 z. ~8 C, ]     DJNZ R6, S
  h8 e1 q- W& ^6 U     JNB P3.7, $  
8 B: i3 O, l& v, y     LCALL YS3
2 m5 a6 {2 E  \+ q7 @     AJMP AA4 {* j' s% O  L' {# G& P
BIJIAO:+ S, S8 g# K4 H! @9 s
     MOV A,1CH ) _' N7 Q. ~( a
     CJNE A,#03H,N1  " y8 f6 I" n; Q: h; S1 \
     MOV P0,#7EH   
/ a1 F- O$ \1 w, q. w$ ?& l  W6 y                      0 N+ J; D+ T1 J8 w9 Y+ r
;处理STUDERV录音机控制码, @, f* Z* d6 z2 D& M5 t
N1:
. K  ~' T* }/ {2 K     CJNE A,#5FH,N2 ;播放键+ \9 c, f4 m) P) o* ]- ]
     MOV DPTR,#REP) C  L3 \7 |  x3 P1 }
     ACALL SENDA7 e* W: M! S: X
     ACALL YS4
8 l: V. g' b& Q     MOV DPTR,#PLY! j3 l* M& E' Q
     ACALL SENDA$ y9 g" X9 ~5 d4 r) W
N2:
3 b( D3 K8 D6 F- N6 o' X1 [6 r     CJNE A,#5CH,N3  ;停止键3 T& D0 c$ y5 y
     MOV DPTR,#STP! L2 I( w3 b. V# P7 ^4 e
     ACALL SENDA
0 {5 b# a2 ?( a0 @/ nN3:
& j2 `7 D! m* a+ i; D; `     CJNE A,#06H,N4 ;快进键
  \3 m  L6 ^8 Y     MOV DPTR,#FWD5 s! U0 A5 w2 I9 x. r
     ACALL SENDA$ Z& ]6 P6 ]% P, T" s5 N' y
N4:
! l6 x8 V, W' A5 V     CJNE A,#09H,N5  ;快倒键1 f- r1 Q' l8 Z1 I$ n
     MOV DPTR,#RWD" y  N+ H, Q, ~1 S; P$ }
     ACALL SENDA
% G7 z! g, \' G$ w2 Y' s' O; tN5:
8 Z- e  L: U+ ~; k. \# [3 ?: w+ T      CJNE A,#0AH,N6  ;置零键0 n  Y2 v7 s8 P$ e# \) q' J& n
      MOV DPTR,#RTM( y! E! o$ h' S+ Z# y
     ACALL SENDA
4 c/ b* ^5 ?4 w3 ]# |N6:# ^) T; l7 w6 ~7 Q% H# I
     CJNE A,#0CH,N7  ;定位到零键( ^/ \/ q4 {* D
     MOV DPTR,#LZA
. O- f* x  p2 O4 c6 i     ACALL SENDA
5 E8 j' f0 }9 U3 V/ x0 l9 t" I) }2 ^N7:
' [( t; P9 b; [  p     AJMP AA
- P0 h6 G2 k" B/ L/ Z# eSENDA:
. v2 P. G6 |! N6 ]5 ^( k     CLR A; r1 c* s6 b: D3 A: K& M5 M
     MOVC A,@A+DPTR
' f9 k+ n. b/ Q$ R6 B     CJNE A,#'$',SENDB/ z3 G& l2 H! `) s3 D* j
     AJMP SENDC# W% e/ [7 R% R8 h2 [
SENDB:
9 P6 l( h7 ]+ \3 i) S# s     MOV SBUF,A$ \( y: J) H7 i2 g' q8 `
     JNB TI,$
0 f1 G( }' \4 W* [     CLR TI
3 t2 e. |: E6 A5 y" ~4 n     INC DPTR
; C: T- b) }0 r     AJMP SENDA
% K1 w4 q8 l7 {, [- s6 S) e$ A  t% @' vSENDC:
$ q( @) @0 E* M: j; q# G) v$ H. p     RET
& V) r6 X6 L$ p2 [% @# |$ P$ {% m
  a' e  @, [/ V! L1 _) a6 k7 I! k- l1 xPLY:  db "PLY ",0dh,0ah,'$'
0 R8 x* E3 A- ?" }7 ISTP:  db "STP ",0dh,0ah,'$'
  F8 a  N! q4 U, @5 pFWD:  db "FWD ",0dh,0ah,'$'# _  x( F% R7 D+ b
RWD:  db "RWD ",0dh,0ah,'$'. t! j# [) |9 c( z$ F
RTM:  db "RTM ",0dh,0ah,'$'9 ^0 H, {  \" E( @/ |
LZA:  db "LZA ",0dh,0ah,'$'' T4 H7 V& g& E8 d' r  l
REP:  db "REP F ",0dh,0ah,'$'
; v1 }0 m; L8 S' Y' i9 G) a7 c4 r) t8 [
YS1:) p+ U$ D) |8 Y7 p% k
     MOV R4,#20" H4 S5 _. y! {
D1:& h# m5 X+ g; k1 ^
     MOV R5,#20' k' z* ^* e# ~
     DJNZ R5,$0 E8 `- S/ d: X$ W8 l6 `
     DJNZ R4,D1  j- h0 z" q8 d  d" L, K- a' N
     RET
+ ]* M) A% g0 T
9 S7 v, X4 v9 S" l  O4 aYS2:
  S. W8 K4 O/ y     MOV R4,#10
; Y6 ]& l; P/ X4 f& C2 i8 w/ @D2:+ ~3 V$ X7 h. X5 B: m$ K1 C9 [
     MOV R5,#235
& b$ Y4 o7 R3 u0 {     DJNZ R5,$
# s2 s  p7 i7 ^) u: K     DJNZ R4,D2
7 w4 t6 y% Z; K! s* Y# v     RET$ [* B. H" u& t! N
4 s, c9 f+ P- ]- k8 P# E  X2 O- C
YS3:
, b' m, N5 `) x2 ~     MOV R4,#2
: C  `  T! J( l* i4 [, T+ CD3:
2 L) T. B0 p8 i9 `     MOV R5,#248
; H9 a* X/ X3 p2 D  Y( y     DJNZ R5,$
- g& v8 t7 V) ^2 g1 x2 G7 d. Z     DJNZ R4,D3
8 x) ~  ?! p0 P  C( g4 B  w9 s     RET
6 t, B0 Z& c0 m6 i' ?1 |9 ?
  m! U' {3 }; E+ F2 r: N# RYS4:
: g8 ~: d( V: l4 ~+ i" s     MOV R4,#200$ I: B+ w% p3 K/ Z& w, U% k5 B
D4:
! [' b- b& p# E2 V7 {4 d2 u# x     MOV R5,#248* o/ q. O6 T# [" V3 X! Q: m
     DJNZ R5,$: J% t3 l0 G$ U2 K) H" {/ }
     DJNZ R4,D3  S4 c9 [5 c& U' @! `) }
     RET
( h8 n' {# [4 I+ N% e( i     END
& w5 j7 V% m6 e7 e* }
9 t- ~9 ?& R# s: [! U, B6 j有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。3 M" [  y6 v1 v# @5 Y# R1 v. L
是不是很惬意,嗯!
6 M3 L  H- V( w2 s

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!" Y' ^8 b" V4 M
YK 005.JPG
" H1 J+ J6 n% \9 ?$ @
发表于 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( W2 `' F( d# f( X: H( t: q( g
发表于 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
! @' Y1 h# y1 J  g. t( |9 d& N! L最终的样子,有点简陋哈!

4 K4 i( h$ ^& _& k3 A6 U2 r这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-5-20 14:13 , Processed in 0.112978 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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