收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
# N5 @" m! s( E6 H' c( H
$ r% X+ A! ~- z, b; G% R本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
7 A0 j: e8 U) S7 P
  y' e+ ~& Z, u4 @说明:
5 \7 w; Y9 u" \9 E2 z$ [0 y1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;3 j1 G; f* v$ D2 u
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
; `9 B) X8 {: u2 [
. N, w* m  d0 b. k4 I5 t一、基本思路
- i4 x9 h7 W2 \9 o1 G使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。7 P# F) Y, ^2 W9 ~& u/ X
$ S5 t6 h1 A+ P1 O, M* D
二、红外遥控器$ |1 v1 a$ X: a6 I
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
6 K& E  q: R) q! d- O Apple-Remote.jpg
" g& V8 ]' T7 y2 U, G好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。+ i  B/ W6 s! Q# B6 V+ ]& P" m
Apple-Remote - 副本.jpg 0 i8 x# e% l7 Y7 r1 E3 Q8 E
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:# m3 l# w) T! R! l; y- c2 X. h1 _
Apple-Remote - 副本.jpg 2 ?' C8 \, D3 K2 \. K* q: x/ ]2 E- L

# k' ]7 x/ o# h3 }& B9 n% u1 J三、红外编码6 V% a+ c& c8 [; a, z
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( z5 I" u! F4 u3 g$ ~! ~: S
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
6 _7 C3 g' `# l1 I9 |! F后16位为控制码,主要用于实施具体的控制。
- {$ _1 f% b% t! v/ g! I6 K这16位中高8位和低8位互为反码,以提高可靠度。: W2 g8 \. C+ _( c, Q+ D- L  k/ Q

' E. W7 L9 N) z以播放为例,其编码如下:
" D( G- f3 K5 E3 z9 z: i00000000 00000000 01011100 000000004 j$ ]7 M- S, w2 r. r4 V

! O- S6 E- g1 Y. i0 p- Q2 g5 C你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。5 e! i. Z$ s& [7 Z! {6 [
9 g" S# A; ~+ }7 o) n
四、单片机系统) ~& |8 d" Y( Y# G% M7 X4 R& [/ w
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。" t: Q+ i: E, V# Q3 z6 {* N
c51.png
4 R6 I% e, l0 Y/ Y" V/ K" n
0 t/ t1 F* z( g& l电路很简单,功能如下:; I0 `! k% a" ~% m! V3 d
1、一个AT89S52单片机作为核心;
0 b3 {3 r' w1 Z. _! k2、一个TL1838为红外接收头直接串行输出数据信号;
, q( D& F; p3 {9 o3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
" S; J; S1 Q. D) Q) J. b4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
$ Y( U9 h3 k0 z6 U
9 C( `. D* l9 Q) g% X/ p" p$ Q. e关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。7 Y2 t( ]! G/ L* l( h9 \
% v, ?# P3 z( o0 B
( N% J1 X% {; v3 }: n( G
五、控制软件, [7 \* K* X7 I
控制软件用汇编语言写,源程序如下:
! K( T1 t  Q* n/ ~* A) e" S/ |     ORG 00H
, ]" N) g  ]7 D/ T  }6 p! m     LJMP MAIN
0 k" C/ ]3 j+ ^, x: g9 z  R( H     ORG 30H
+ e+ }. x9 a9 N9 lMAIN:( w/ T4 [. w* q
     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
5 M8 m" v) R; G. Q% n' y     MOV TMOD,#22H  ;22H
- M% k8 P5 M# Q6 d# `     MOV SCON,#40H  ;40H( n, D( _8 n" t  ~/ r
     MOV TH1,#0FAH  ;F3H
3 x+ G2 e  a3 k" ]! g     MOV PCON,#80H
' O& u2 b% F0 R4 w+ a$ u* c     SETB TR1
5 v4 @+ W1 }8 {% R% h. JSTART:( Y& c1 `% j9 O% i" ~' {1 P- J
     JB P3.7,$ ;遥控信号处理
1 [3 \3 `6 T& r6 s; TSB:
! N! C4 q! h6 w  O     MOV R4,#8    ; S) D( o0 g! u& H
SBA:
0 m8 g+ j; [- h  q- H/ [" |     MOV R5,#250- A( ?/ \: ]- }0 n/ g8 P( E
SBB:
- V" p  s& z2 M1 S$ t5 I# H8 U     JB P3.7,SXB1
' Z. q, Z' X5 {- ?9 @) b     DJNZ R5,SBB
# L3 E# |9 Z! M; C% h, ]     DJNZ R4,SBA0 w2 c- d+ f# u: R( O9 r
     MOV R4,#2
9 @$ l% K9 S/ Y: N     JMP SBC
3 K4 w  y0 k$ y$ U6 |9 oSXB1:
! ~- Q5 O: P/ N     MOV R5,#5& G: R% s# ], I2 P! w0 Q& h* `
SXB2:              
, i8 b  q9 ?* B3 B+ K' j+ f2 U: A     JNB P3.7,SBB
, y& N; P$ Q' [; s0 O6 ~     DJNZ R5,SXB2
: ^. N* w) L8 q     JMP START
, t2 A( |3 N9 {# j+ ]8 l4 g/ ySBC:" b  x% z7 u) C1 b5 G* y
     MOV R5,#250
- P- n: h) T: j' ]! `SB1:
- D( E1 q7 j$ f( {: `/ O. e, ^: S     JB P3.7,SB2  
$ f' E6 a, u  J5 p+ ~/ y     DJNZ R5,SB1
( Q1 A* J/ w) {8 C; m5 R8 d DJNZ R4,SBC+ ^& o" I  h; {9 |! H1 x8 ~5 [
     JMP START
  W# T/ ?$ L0 S( h& D6 s) NSB2:                 . K# U' ]- p3 p' t6 t
     MOV R5,#5  |  B  A0 K/ \4 c
SB2_A:7 W! J5 l. j- F$ _7 K8 T
     JNB P3.7,SB13 R! K8 V/ m+ \
     DJNZ R5,SB2_A) h7 g6 I9 x5 H1 q# U! |0 l
     MOV R4,#3
! E6 O. W& R5 p) [& pSB2_1:2 l7 K! }- K+ H7 o9 f  j
     MOV R5,#250( n( K- c. J% P
SB3:                  
- c/ d5 E! \0 n     JNB P3.7,SXC8 D3 Y( e/ a  L$ j' v& {
     DJNZ R5,SB3& o  s. W' J9 S: y; U3 ^% E
     DJNZ R4,SB2_1
9 `& g) h; T% X) d3 ~     MOV R4,#2$ H/ U. P9 g0 S
     JMP SB3_1% Z  p2 }, Q$ F2 u$ v
SXC:                  4 d( y1 f, i0 u9 A% w
     MOV R5,#50 R$ W- m% r+ H  P
SXC1:
1 `+ g6 O  Q. ~: d& {, N5 x- i5 Q     JB P3.7,SB3
2 W' B6 @+ ~1 Y     DJNZ R5,SXC1
$ Y1 e1 M1 l, G6 X# q4 l- D     JMP START2 N# {; q; N. V1 `2 B
SB3_1:                 & V* K5 M1 L# ^8 e
     MOV R5,#250# g0 d' A/ G5 A6 O
SB3_2:
2 B. o2 V, `. O. P% W4 _, R3 X" i" K     JNB P3.7,SB4$ i+ h# e* o! ~( X5 r
     DJNZ R5,SB3_2
0 g4 B9 V5 T5 L% m4 e9 W$ _* Y     DJNZ R4,SB3_1
% M4 `2 I1 H( I3 ]# F" J8 r+ W     JMP START0 H* u, k" p9 S% s$ m1 x; ?# |
SB4:                    
, P6 n+ [, a. ~+ \1 P$ ]     MOV R5,#5
% P, F! g0 d0 C. G* A8 |" iSB4_1:
0 t3 Z5 X* b# d" @+ Q8 h; j* d     JB P3.7,SB3_2
$ G; [+ s* F! |, s+ k3 n* V     DJNZ R5,SB4_1
- y* D* g" H0 y     MOV R1,#1AH  ( Q4 }4 i3 d; ]2 h$ t
     MOV R2,#4
) b! D6 b/ Y8 Q1 g* CPP:  MOV R3,#8* a$ K8 i# c) ^$ N
JJJJ:  j) E1 i. |' S* G6 ]
     MOV R5,#250* j  |3 P! o" N% S) \, j, q
JJJJ2:               
, c5 C  U1 w/ D     JB P3.7,JJJJ3
% N9 v& {8 H. i6 t8 b     DJNZ R5,JJJJ2$ N  E; u: Y; r+ n. Y2 ~8 C! t
     JMP START
. I( b! H- V7 g" F8 A( f7 P6 [JJJJ3:
* `2 A1 `5 @, F8 o3 p     LCALL YS1  + U! @8 P* f2 s4 p
     MOV C,P3.7   
1 d: U( ]( [' [. w3 m7 _     JNC UUU      
! d9 J! G  m0 r6 T     MOV R5,#250
" L; N, v  B! I9 K4 @( i& U. l  f3 f$ hJJJJ4:6 ]- }5 H# M! ?3 Y+ q5 j; b
     JNB P3.7,UUU  s9 T5 `: c$ N
    NOP% o% p( v; H) r. B
     DJNZ R5,JJJJ4! ^% d# N9 z  S( M8 x  D8 A# S
     JMP START8 D( ~: D7 b4 C* Z4 \% L  J" Q
UUU: MOV A,@R1  4 Z6 i* J# r4 E# F/ x# {0 t
     RRC A           / G% ?* o1 I8 h6 w
     MOV @R1,A      
7 X4 j& ^( U+ W+ k1 m  |8 E     DJNZ R3,JJJJ   
3 `' j3 _0 {0 ~) Y4 q; c) u6 z     INC R1      
5 C  U! X& Q5 s- z9 B4 r     DJNZ R2,PP   
& R* P! c! f3 c& }6 \
8 B& O1 m( X8 y# ]$ B     MOV A,1AH % F! |5 Z( W! p  S& I
     XRL A,#11101110B
7 u9 ~! W+ C' `* z     JNZ EXIT 2 U) s: o0 Z& w. s( s$ _$ z) i
     MOV A,1BH / ^3 ~1 ~0 N+ e
     XRL A,#10000111B. L" H/ O0 R) b" g, p3 q# K
     JNZ EXIT
+ M* S2 a3 I3 e2 P9 @     LCALL YS35 Z/ S/ `8 L+ v( ~4 a
     MOV A,1DH ; d: g- t$ v2 Z+ I
     CJNE A,#10111100B,EXIT
& j& h7 t3 p+ A6 H1 J7 Z     LCALL YS34 }% ?: ]% Q( c4 `+ W5 |9 Y
     CLR P2.6  5 G) b7 o, a' {" h
     AJMP BIJIAO
; U3 _: O' M5 g0 }) [, K1 X   
8 ?* X3 I, E$ P% cAA: ! C( P; o6 B4 m
     MOV R1,#258 C, Z6 [1 |5 y) U" b& m# p2 I
XX: 4 L' Y) U$ f6 ?* g1 Y
     ACALL YS2# \% C' n0 }' y4 M1 D( x4 k
     JNB P3.7,HH . k0 k) k. `9 O1 F
     DJNZ R1,XX2 D! T" B' Z  Q: F) M- y- X
EXIT:   
/ G1 l" K7 A# ^. r$ |' R: [0 i     AJMP START
- p# M, V" t+ ^3 r" N) w   / t8 J) x, O. }
HH:; K( Y8 c  c. P6 J. h' j/ ^
     MOV R6,#44 O/ _$ G8 ^+ |7 R- j( D, ?& R! z8 ~& g$ N
S: + ~' M& {9 }3 c; N) G
     ACALL YS1
" f: m: }. C) A     JB P3.7,EXIT
+ `0 R4 L! }. m1 \4 h% R) x     DJNZ R6, S 5 v; u; Q+ w  t4 }5 Y+ U4 T" }! z
     JNB P3.7, $  0 n/ j2 a% i0 T3 W! X3 E( }
     LCALL YS3
: z# h1 i0 ?' g( ]* M; @1 S; `     AJMP AA
* w4 X3 g) y1 R% ^2 e# iBIJIAO:
& d+ Z1 P; p- U5 ]) b4 m* W/ g     MOV A,1CH " @) |6 K8 ]5 k/ o
     CJNE A,#03H,N1  # o: `' j3 n- q, N7 B- c, f3 R
     MOV P0,#7EH    ( h& k1 u4 O, {3 V+ m% a% P  ?
                      % ]/ u. M' q! ]  v1 @2 R
;处理STUDERV录音机控制码
( |3 A3 y* f1 T  X9 rN1: 3 ^0 T8 R* [) C
     CJNE A,#5FH,N2 ;播放键" Z; r8 G+ L9 o( ?; w: c+ D! W2 R
     MOV DPTR,#REP' v0 L2 I' k1 B! @& d  p, i% C
     ACALL SENDA
  ~. h- a- Y* n7 k4 d     ACALL YS4: I+ r% y# \4 r; E* f
     MOV DPTR,#PLY$ ?3 P& U) J- j' e% `
     ACALL SENDA
+ P2 f+ O7 w& lN2:
' h  T' m" Y4 Z     CJNE A,#5CH,N3  ;停止键8 x. _) a( l* @0 {* j
     MOV DPTR,#STP
; V& a& K, \; \$ Y9 q3 i     ACALL SENDA
  _9 g0 O- O6 Z! h4 vN3:0 ?0 i1 B. |+ s( w
     CJNE A,#06H,N4 ;快进键
, K, \3 J  p, D; M     MOV DPTR,#FWD% i0 s4 J& v" \; V$ Z& q7 \7 @
     ACALL SENDA4 g; @; ]; A/ {  k9 M5 J
N4:! j* s2 i" A# f3 G2 j4 s( E
     CJNE A,#09H,N5  ;快倒键1 K, M. U  O0 E& x
     MOV DPTR,#RWD7 g2 }4 ?* F; A9 f+ E, X! `
     ACALL SENDA; s6 D' W6 {6 x4 q' Y
N5:
, N% b  o! o9 F" \      CJNE A,#0AH,N6  ;置零键9 o, G: E7 {' [
      MOV DPTR,#RTM! h. n% f) I+ ^$ a1 i) z; Y4 ^% S0 {
     ACALL SENDA& h( n  S. t! c# E3 c5 Z# C
N6:
+ N6 v' G8 P5 k* k) c2 D& H" {     CJNE A,#0CH,N7  ;定位到零键& w; Q, n/ i& V* g6 e" m
     MOV DPTR,#LZA
4 {' N  a! G2 X7 J$ m5 f4 n     ACALL SENDA4 ?* i6 w5 w0 w% T: t5 `9 t, Z
N7:
, G6 Y( ]1 x1 H, G     AJMP AA
3 M: k* F7 a2 A4 g- @SENDA:
5 a' O& u: \1 R- q$ ~3 V0 ~, A     CLR A
& X/ H, @' {# ^/ f' @3 h     MOVC A,@A+DPTR
, f# ]" r! o/ j8 L9 Z     CJNE A,#'$',SENDB
; d' n: F  j3 R     AJMP SENDC& {& I/ P; P/ ]3 ]' x
SENDB:7 n( }7 l6 _  ~% h$ M
     MOV SBUF,A# H9 F+ B. }5 M" ?- N# y  S$ R
     JNB TI,$
7 u9 U& D$ v. A* u     CLR TI
8 j3 r, N5 ]! _. {     INC DPTR! K( x* z& N( k" {. x- W7 ?
     AJMP SENDA
" t5 Y& H# n  a1 |$ m3 CSENDC:
- w' R2 R  y/ Y  D% P/ e- I2 d     RET/ ?. d: h$ J8 o& n4 v( H0 ]6 g
9 t: g: s2 |" L3 w8 I5 I8 ]& Z
PLY:  db "PLY ",0dh,0ah,'$'
8 v! u6 T, [# pSTP:  db "STP ",0dh,0ah,'$'5 u1 g7 E+ u* S4 l' L
FWD:  db "FWD ",0dh,0ah,'$'
3 q: M- J. i- ^# g) t6 y' URWD:  db "RWD ",0dh,0ah,'$'% x: X2 v1 Q9 `$ R' H& _- L
RTM:  db "RTM ",0dh,0ah,'$'
! h" j. y$ r3 z3 ~7 P0 BLZA:  db "LZA ",0dh,0ah,'$'
/ Q4 r+ g- n$ }. d/ x# w+ ^: yREP:  db "REP F ",0dh,0ah,'$'; k( |; J* B% G0 P! G, K1 E
0 L! @, b  [- k0 Q; P
YS1:
4 _! I: ?" I# w0 t/ d7 P     MOV R4,#20
  s6 \3 G" b0 o& @% ~D1:, W# @% |  V( C1 i- d0 i
     MOV R5,#20
7 u3 `, C3 q: w     DJNZ R5,$
. w+ K3 I% c$ q+ b7 k+ `/ `5 l     DJNZ R4,D1; I* _" W5 l' t4 y1 Z/ F! b
     RET
7 Z( I3 Y; t4 y* A) g1 h2 i  V5 [2 T: {. _$ B  X& E) u
YS2:+ i4 O" I( m5 a; L8 c
     MOV R4,#10! C9 ~+ x+ G+ C9 q" K* i! c/ c
D2:
) r8 E! C4 u+ X' D# I* z1 G     MOV R5,#2354 ?( L1 d; U3 Z  u2 S7 o( C) R/ R
     DJNZ R5,$
$ y; c  G* [$ k     DJNZ R4,D2  e8 r+ n! o3 g3 h9 K1 s
     RET1 I6 |! t9 C' D7 Q. f, c) F$ P

. U, \- w% u  Q5 kYS3:
4 \: F5 H) ?* W7 v5 n( g. B" Y     MOV R4,#2+ q; b# _2 U. x) Q1 F/ i
D3:
8 T4 u2 x" @' F     MOV R5,#248
3 i  n' Q1 Z/ o1 J     DJNZ R5,$
# H* J. p$ U3 Q+ A     DJNZ R4,D35 v" R/ ]( e2 ?
     RET
; }1 M5 Z" U; {  O- ]9 k4 K' y" R+ o
YS4:0 H% p+ s/ ]& g9 p9 b3 C9 x
     MOV R4,#200
! {/ e7 X6 V. N  UD4:
. ?" p4 W. i7 @! N     MOV R5,#248
* K" X& w4 }( o2 w     DJNZ R5,$  ?7 f0 @, r2 P& {* ~6 t: @- V
     DJNZ R4,D3
( K2 j9 k8 K" t) \0 y4 i     RET9 I9 [5 f% t5 Z$ _0 Z) {/ U4 Q& N
     END
2 Y2 S: n7 }+ ?5 E4 a1 f& O6 D" O0 ~% o' v* X! A' t
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
7 l: A  S: Z( T( o- t  B是不是很惬意,嗯!7 M$ M$ ?, Z7 h" R2 B

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
, F9 c  |& E) L% U' O. w' m YK 005.JPG & i, }6 I3 A& h6 y$ \& r* @- ?" 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 | 显示全部楼层
洋为中用,真棒!我得试验下
5 r) }/ C6 S: E/ f+ G9 c0 Q: q2 z
发表于 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+ J- Q8 q( n5 n4 i- W4 f+ X4 t) d
最终的样子,有点简陋哈!
" ?5 ]" m: _, o) ^- h2 ~/ S
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-12-15 19:09 , Processed in 0.089260 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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