收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
+ u- k- J3 N% ~' K' `1 R0 d$ V( e# @# q3 ~9 f4 F6 C
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
, [# |' w. |; G* U1 r+ y1 o! B
4 i$ K: L1 t, s0 U; F/ _说明:
8 k! n- \2 @; p+ @/ U' K0 I& U2 w1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
7 ]! a& v. S/ g. m( N2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;. i% w! k$ E( u+ `

4 [: F% _) i( j$ X  L- D4 i) f; N一、基本思路' N0 J  d9 F8 |3 V, F
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
9 z3 I7 t8 Z8 {! ~4 {8 f6 G6 o9 {( M8 V: B3 _& c! q- b2 y0 S
二、红外遥控器
% n) g' a% i4 T& o& l8 _我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。: S) y  F* }# P5 w: V# ^1 f
Apple-Remote.jpg $ A+ e1 |2 `: Z
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。# x( y5 @- H' Y: }' }
Apple-Remote - 副本.jpg $ f1 k! d  d# @2 Q5 \8 G" \
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
! t$ w% K9 [4 `1 [8 d0 ]: v$ Y$ b Apple-Remote - 副本.jpg
3 w3 _, R+ }: t# R1 C" Z# z
  F1 i$ ?, n" c6 C- H- @' ?# ?, Y三、红外编码
- Y/ g5 a0 W' O红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
! l  W% {( j: X9 k前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。3 j. x% t9 x$ t' F% }' j
后16位为控制码,主要用于实施具体的控制。
: T2 @0 _/ m2 ^, ]8 [这16位中高8位和低8位互为反码,以提高可靠度。
) H+ W" P( o: r" s8 v6 H
7 ?3 `' V! d6 }+ c1 q5 S& W以播放为例,其编码如下:
  B" L* a) v- {  Y00000000 00000000 01011100 00000000, d1 a# u. ?" ^) ^* y( R4 F

  \2 X- t  X0 P你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。0 {3 X$ u) X1 V, x1 {/ s5 v

" s3 _( B5 ]. E: M3 U$ q( ?四、单片机系统
: l8 Z  Z/ x# H# K- U
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。( P0 V' l7 c4 Q4 B1 Q$ [# v
c51.png 8 Z1 |# p: p; `& H

. [# x( Y9 ^8 g8 w/ X# q' O) M* p电路很简单,功能如下:: \% o9 n- O. V7 l
1、一个AT89S52单片机作为核心;
; z) P  r- V+ P; H3 L3 Q# A: g2、一个TL1838为红外接收头直接串行输出数据信号;6 k# \9 ~' }* a
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
, X5 p, ^& [9 y4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。% z6 R" b0 Z+ U6 A$ {4 a: {
8 j4 T9 v! J7 }; z$ y5 h* a
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
- j* L/ l* d# v" N- ~( S2 g, i3 V- E( x/ l2 M- j
6 h& Y0 Y. x7 w7 @4 L7 T7 d
五、控制软件5 N8 c2 ], A! M8 `+ Z2 {
控制软件用汇编语言写,源程序如下:. K6 U1 Z# X. q
     ORG 00H
0 N- `: b0 _' g- X7 ~     LJMP MAIN
7 p0 M% t. n/ Y% z% Y( R     ORG 30H
( Z/ B2 d: n8 D& WMAIN:
6 A: g4 X9 u6 I& g' _     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
( y- y: f* |: D- g" J) T- B     MOV TMOD,#22H  ;22H% |( v1 U1 S8 T# ^' U* [
     MOV SCON,#40H  ;40H* O2 L  q: Y, A' c
     MOV TH1,#0FAH  ;F3H
5 w1 r5 l, Q& x     MOV PCON,#80H! m! r, J& @$ F+ U
     SETB TR18 X$ D, h+ K# X
START:+ M) N$ M4 u% e: J
     JB P3.7,$ ;遥控信号处理. |& |5 B( _# o8 U' j2 N1 X6 P
SB:6 U) S( S( j! n( `' m
     MOV R4,#8   
( N9 ^7 H9 T, ]) n: vSBA:4 {4 W( F/ x& r
     MOV R5,#250( G% l/ p0 c) i! K3 T
SBB:
1 ]( B, v. q: o5 Q     JB P3.7,SXB1
$ i# r: I+ a! L( s8 L9 Q# w     DJNZ R5,SBB
* d" e; f5 K) N) B0 r+ A1 R     DJNZ R4,SBA4 [- k( a. j1 o4 C+ ^3 @
     MOV R4,#2
- d6 B' E) {: |) D5 F     JMP SBC
9 e  `% o% S9 o0 `SXB1:, N4 L! K& O# a; T! O6 k
     MOV R5,#5& r' z0 ~) ~8 @4 w
SXB2:              & ?* K' @) k* g( d: S& Y
     JNB P3.7,SBB3 I! P; ]3 H4 s+ |* ]6 P
     DJNZ R5,SXB2
2 B' k0 g0 @' _& L) C/ @     JMP START
2 ~; F' b, Z1 Z- i2 `+ QSBC:
  }- `# u) P# c; ~. M' E) c: J; u     MOV R5,#250- V/ l' z1 \$ h
SB1:
" H8 j2 h4 [! M6 z1 v  V0 d9 G     JB P3.7,SB2  
3 {% I4 l. a) i& B: G8 w     DJNZ R5,SB1
* Q  V1 l2 q7 K9 u+ K4 c: T( F+ m DJNZ R4,SBC8 M4 ~6 c- |. s
     JMP START% ~+ B$ A- t2 K2 h
SB2:                 
0 Y2 [# e  R8 C0 L     MOV R5,#53 s9 c9 p, y, f
SB2_A:( D& |4 ~8 O- z4 ?' G" V
     JNB P3.7,SB10 t) m2 c/ c+ q% c
     DJNZ R5,SB2_A) v9 M5 c! `* \* M9 z
     MOV R4,#3- D; f4 \  L) B) M& M
SB2_1:
% x! T2 y# g; c$ O     MOV R5,#2504 F, J8 @2 B7 R  N
SB3:                  
0 F+ ~6 G% D4 Q; y     JNB P3.7,SXC
: b$ q" H; y; I1 F$ B     DJNZ R5,SB3
; o. T* X3 _3 ~" S     DJNZ R4,SB2_10 ~7 x/ O/ Y/ }! N/ Z+ s3 d! E
     MOV R4,#2
& G+ S# G( i1 D4 R# \     JMP SB3_1
7 F0 \, v  w+ s% R2 uSXC:                  6 X4 j+ y( Z4 \1 [3 ]6 @/ a2 `* m6 b
     MOV R5,#5, K* \/ r$ |: w( {
SXC1:3 r% X$ E' a  l! b4 ]' b
     JB P3.7,SB3" g$ P7 f0 S9 R0 L
     DJNZ R5,SXC1
# k' W: w1 y) L, k6 L. J     JMP START
, m6 y& s- d& R5 ~, dSB3_1:                 
* o1 ]: |7 Z% W! m& T0 p$ Z     MOV R5,#250: ?# E, n4 U* g$ ]# K9 j
SB3_2:' U! x% l* c) {' q0 ^: T
     JNB P3.7,SB4& B' B* Q; p: {% B2 P+ m
     DJNZ R5,SB3_25 C; \' i- |) i/ W0 W( }# C
     DJNZ R4,SB3_16 V6 {# u: n4 @; l# b. O  d
     JMP START
7 A" D: g  R; J8 L- m! nSB4:                    " L" a* C; @& x
     MOV R5,#51 V) A! j9 N  k% p1 h: W3 {
SB4_1:" `9 \' S/ c$ D" O
     JB P3.7,SB3_2+ ?. T6 W# g, |! N- Y
     DJNZ R5,SB4_1& B8 \1 L, W' g+ J7 N
     MOV R1,#1AH  2 A2 M. H, x6 `; e7 s! ?& k
     MOV R2,#4
/ u0 T7 f; e" Z5 P& }6 U  T3 ZPP:  MOV R3,#8
0 ~( p: `3 e; z' i2 hJJJJ:3 @0 O, Z" m/ |; j
     MOV R5,#250
7 `) E5 T( \3 n, p- j' f% }0 U' u3 pJJJJ2:               
$ {% I! u% @% Q, ]$ x     JB P3.7,JJJJ3
% @0 E* [$ V/ U( i* T     DJNZ R5,JJJJ2" D$ @3 D8 U% U; n( w% @/ s
     JMP START0 K! z& r5 M% d0 h/ C1 E9 R& w* f+ Y
JJJJ3:! Y% ?9 W# d' i; p0 b7 X
     LCALL YS1  
+ y2 w% J  ~1 z: s; Z6 [' `$ t     MOV C,P3.7   ! q& |. ]& t2 _9 l% b: L% X; m- l1 H
     JNC UUU      
1 B! @7 W* s" f% B     MOV R5,#250. P& |' a& s. C4 Z7 e0 c9 D% i
JJJJ4:7 G$ O' ?& a1 p9 Z9 S
     JNB P3.7,UUU
6 ?2 v9 e9 C2 S8 N) d    NOP
$ l5 y8 Q% L$ J2 d     DJNZ R5,JJJJ4
" S% A& I5 |4 s  h2 `     JMP START
: l4 j7 Y3 M+ `# A4 PUUU: MOV A,@R1  . Y6 J/ D% w: [, q
     RRC A           ( e* U) L& J+ I; q. M
     MOV @R1,A       ) L8 N6 M3 {7 m& ?4 m& _, u  E
     DJNZ R3,JJJJ   0 n0 p3 O4 f9 H7 V' V$ t4 b
     INC R1      
9 G7 R9 {, f* O9 E& ^; O  D     DJNZ R2,PP   
: D" T, A- [, G6 w: o4 B
" e2 Z' K) L3 [5 V; v1 O     MOV A,1AH . B/ k/ `+ x/ y
     XRL A,#11101110B
, l" b+ E/ I/ p# c  m     JNZ EXIT
; y7 \$ k6 h" R     MOV A,1BH ) `) q% ^5 _! G6 E5 k* s1 \( o. ^
     XRL A,#10000111B- ?* f6 P6 |& i! n
     JNZ EXIT
: I! H# r1 W8 T! S     LCALL YS3& I. m: [+ t4 t; L
     MOV A,1DH
3 L% n- E+ l' l. N& X5 z     CJNE A,#10111100B,EXIT
1 c6 @$ S3 ^1 g4 i8 c     LCALL YS30 z3 a6 r* K& F* V! f/ V
     CLR P2.6  2 ^$ x3 [2 r  v$ j
     AJMP BIJIAO
3 {5 f5 c7 E: ?2 @9 p# M$ b+ Y   3 l2 a3 [2 }1 A5 A# S7 |0 P6 i
AA: * [$ B" A3 P1 [% [3 ~4 Y
     MOV R1,#25* p$ c) v6 R+ j; D4 K3 _
XX:
- U7 R+ p- M0 }. L7 S; n  Y     ACALL YS2
$ Y/ ~4 s/ ^3 X7 z3 e3 s     JNB P3.7,HH 6 L3 ~. {1 H+ k! {# {1 a1 Y
     DJNZ R1,XX/ B* R1 F; {; c4 F$ D0 o
EXIT:   
9 A7 g  t8 q3 C7 V     AJMP START
/ R, S! m" b' t  ^2 y+ V   % P, i& B  G( B
HH:1 o+ t# W: _( Q8 @$ N9 h, D
     MOV R6,#4& t' S( ^, O& Z2 J; i; J% p0 e
S: ( z: y, d2 y: p/ k- f  B. Q
     ACALL YS1
4 s/ `9 ]" v  E$ k5 @0 k     JB P3.7,EXIT
* L4 o; @' A' C( Z- `     DJNZ R6, S 9 X+ C7 g5 j' Y5 `1 \' P. a7 q
     JNB P3.7, $  
3 |( L8 L' p! S7 c. p3 Z! N6 h+ ^     LCALL YS33 W5 N" n  w* L3 l' s! M$ S
     AJMP AA
' j7 M/ o; G2 |) Y2 z3 M- q; QBIJIAO:
; t# P5 U7 b( t     MOV A,1CH
4 ~4 J/ v3 M, q1 I3 [     CJNE A,#03H,N1  
; \  T, h; }! V5 D     MOV P0,#7EH    , j1 X5 a2 w( h' ?8 v
                     
0 t  q! w  m5 M, F4 g ;处理STUDERV录音机控制码
8 t; Y$ Y* n( O) H( k4 uN1: . n4 s* O- a  `& c- n
     CJNE A,#5FH,N2 ;播放键
. r5 W1 _9 C( M6 @2 }     MOV DPTR,#REP
( q( y, D5 ~$ ^     ACALL SENDA
" ~0 M6 R) ?6 p4 S     ACALL YS4
6 p" F& r  H/ |6 D/ W1 o! l7 D     MOV DPTR,#PLY
# @! \% X! p4 b* m4 k1 i     ACALL SENDA6 f/ V; C, ?- @! B% l) |
N2:
0 o0 {4 H- b9 H  k1 l: `* U     CJNE A,#5CH,N3  ;停止键1 ~! p& m$ T4 k9 H3 V  X; p, I
     MOV DPTR,#STP
: X" P) M3 A7 m7 _, _2 u; A     ACALL SENDA3 K& @3 ~7 F; Z" Z! P; I6 q; n$ @
N3:
( ^; y4 t+ t- k. p     CJNE A,#06H,N4 ;快进键1 X( l; F1 w4 I- S$ r; i8 P
     MOV DPTR,#FWD  I; O! X5 C2 r" r/ ~
     ACALL SENDA, D4 x1 D8 X& y. N7 d6 s
N4:
" X4 Z0 A2 ?8 h     CJNE A,#09H,N5  ;快倒键
2 I3 i0 q, E- {7 D8 |     MOV DPTR,#RWD
$ t; _7 A! ?" W# N8 n1 ?     ACALL SENDA
: F  n. q" v' h2 A( BN5:3 O! v: |/ C/ ~; |$ M- G* x
      CJNE A,#0AH,N6  ;置零键
* l  M3 d$ a3 {& c; q/ A' @      MOV DPTR,#RTM7 y8 l& v' L' Z6 F
     ACALL SENDA8 Q: P( `( h( o& [: p7 y  `! e/ V" v
N6:9 [1 d( r5 k2 q- }5 n* A6 v! ~
     CJNE A,#0CH,N7  ;定位到零键
6 r" L% o, B4 t* c( l# F+ ?     MOV DPTR,#LZA% |! e; ^1 k( y: S5 X( J: z
     ACALL SENDA
: k3 S5 a6 K  W; ?  FN7:
* U  W& }2 U: A% J     AJMP AA
* l  {8 G" k3 cSENDA:% m4 e1 l; y' F- u! G7 V' O$ q
     CLR A$ v. {& G0 }8 D, `; D/ b
     MOVC A,@A+DPTR
, E: r+ g! j& E5 M' }1 x9 ~     CJNE A,#'$',SENDB
/ x7 I( A( B2 e5 i# |) c     AJMP SENDC, h' T+ v8 `0 g9 O! p; g
SENDB:% T) o2 J: P% M& S( f2 q
     MOV SBUF,A
! J0 C6 x1 L1 K1 F4 V* U; Z9 \     JNB TI,$  e7 [& D0 v2 _+ e) i
     CLR TI4 F" j  g2 @. V" _
     INC DPTR! [5 z* x/ g8 E
     AJMP SENDA
& E$ Y& K: B+ F# F% B  `8 [+ PSENDC:! ^: i0 T3 ?" @( h) g3 L8 [
     RET
9 E2 @+ K0 b: Z1 ^
7 b/ d' ^: A. b6 x! p9 cPLY:  db "PLY ",0dh,0ah,'$'
3 R- \. g* I9 m1 @* BSTP:  db "STP ",0dh,0ah,'$'  k. `! f5 N9 @5 L
FWD:  db "FWD ",0dh,0ah,'$'
1 h5 W! x$ J6 U" E7 f- rRWD:  db "RWD ",0dh,0ah,'$', N& [- [6 r6 ]2 \4 U/ \" E4 O
RTM:  db "RTM ",0dh,0ah,'$'
0 x: e4 \/ ~, sLZA:  db "LZA ",0dh,0ah,'$'
8 a% z) W$ i2 b! T8 F6 bREP:  db "REP F ",0dh,0ah,'$'
4 H( n  a! c5 s3 v
# M7 b7 n( N8 V& \3 h7 cYS1:7 T3 M( {3 ?) `/ w& f% k  e
     MOV R4,#20
! Y6 V* b3 j( R. t( ^( a+ H6 r2 I# gD1:
6 X; k# A  \1 D" T9 }     MOV R5,#20
2 Z" v/ f" A! ]: f& s1 V- h     DJNZ R5,$( E/ a. F# N% K$ P5 [8 |
     DJNZ R4,D1
+ l; G0 N! b! i# Y1 d% \2 z     RET
: J, \0 _% u# G: c1 t" p. c( ^, J: W2 U( T& A$ v  v
YS2:
! I9 k, P% z4 ]4 k( ^" S3 j, s     MOV R4,#109 K3 s8 L" b0 G0 |+ }
D2:
; [) H7 q, W* Z( ]9 v+ k# j' ~     MOV R5,#235
" w( A! Q9 U% N7 |9 C  c     DJNZ R5,$
; o1 b) b$ Q- R# w4 O     DJNZ R4,D2* ~) s9 I9 _4 G' V- S6 k
     RET
( z1 ^) \/ b! R1 X# M
+ p. g) M7 k) @YS3:1 e( H* ?, J% F8 w7 ]) u. P
     MOV R4,#2
. s/ b3 z! }, N: w. V/ J  b0 vD3:) Y& i4 _  G( F5 A6 e9 v% e
     MOV R5,#2483 J0 Q  w% d$ @2 e" c, i
     DJNZ R5,$0 @  \  v" X7 {& Z  z3 H+ Q
     DJNZ R4,D3# C/ v; \8 ~/ j0 J% r
     RET+ p" l' y$ y: R; R

/ X: g5 m6 S- ~# Q) d+ ]YS4:
# W( r1 E0 A$ v, Z1 c% J9 E     MOV R4,#200
- c4 X( e4 V# gD4:
3 E+ V4 s5 N; n; u6 S' i     MOV R5,#248. B  E3 S# C/ E9 u. K; F6 u! z/ X$ I
     DJNZ R5,$
9 w1 Q6 E& Z0 ~" |, E     DJNZ R4,D3+ b8 ^8 i0 s3 `* k/ R$ A
     RET
% k8 F  P5 R: s$ @, W5 r$ a) J1 O! p     END
2 I$ K. z( r% {) G
$ V0 C) z; P6 t( S+ j有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。4 J+ B* q# q8 K4 ]
是不是很惬意,嗯!
$ Q  X/ Y( s( w% c+ H8 p

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!6 A% K. V8 |, M! m3 v
YK 005.JPG 3 E' U% K  j7 O9 f/ i# |
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下- w. ?- r0 j% n7 n' P* s" H- o
发表于 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( ^- g% l- g4 ]  ~6 I2 t0 J2 X, x* T; C
最终的样子,有点简陋哈!

, T6 w* f; _8 F2 }7 c' t这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-4-2 16:46 , Processed in 0.074866 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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