收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
( T, i. T- C3 o  ]% z1 C& A6 I  A; \* X- N; a" r6 {
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。( q; L+ X; K0 S- x5 ]5 l2 v

* @2 g  n1 w8 h/ I6 H7 [9 f1 Q说明:2 \; D2 R0 v" `6 W
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;: R& d/ t* H4 r# i
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
. A1 h9 |; b: @* ?7 c# S, c' h2 K  w/ ?+ ^- J* v! H
一、基本思路7 b  f8 h" Q; R
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
; x+ v% w  v0 _" L+ k+ B7 B; D5 L1 e- X( _% N+ K" ]
二、红外遥控器
1 [0 v5 Q- i; W$ C/ m" k# t. f我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
; A0 O. f2 ]) `* N* Z Apple-Remote.jpg
, ?# y* g: n( L好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
( P) V! N6 G- V$ e% P" Q+ v0 U Apple-Remote - 副本.jpg . y+ p+ p& C: p4 S% Z# f3 p
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
# }/ h; R% e6 I0 X Apple-Remote - 副本.jpg
0 \  n% t0 }, n$ Z) R. N- n8 p: \9 h* l/ M
三、红外编码
- j6 k# Q7 v1 S1 j红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。' g& r' }# N3 ]4 t) T! i" N1 g
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
& V6 \0 w2 W, R+ S) r2 f% L6 L后16位为控制码,主要用于实施具体的控制。# @4 C7 r, @7 s
这16位中高8位和低8位互为反码,以提高可靠度。
. o: N$ @1 O/ A) A/ Y+ I2 m3 K7 ]* z: _: _* h: X1 M+ S# ?
以播放为例,其编码如下:- x9 U: m' \: b1 s
00000000 00000000 01011100 00000000
; r! g/ o2 l, F( Q" _* I7 `7 u$ M# X- U/ u4 o/ G. u
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
' b4 z4 i2 j) a& {' H' y
, o% T$ Y+ r0 r# N) F9 Q$ F四、单片机系统
& t1 V1 g: O9 a8 _0 e* |
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。. T4 z( c5 J6 c# m" K6 G( ?
c51.png ) b9 z0 ]# k1 r( E
  b) Y4 @3 a* A
电路很简单,功能如下:; E: q1 {/ b5 N* m& u6 ~
1、一个AT89S52单片机作为核心;9 S; A4 v  K& P; x+ U; W$ R
2、一个TL1838为红外接收头直接串行输出数据信号;
- t. \6 B8 J) o! ~  G* r$ \+ g, ?3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;; p* h) j6 |3 Z/ C2 I+ d$ m5 d* G
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。+ y5 i6 I2 W, V; X* \

( x: O- e4 ^0 O/ R7 `8 t8 K关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
8 ]) |$ d- e; N! ~! k( e8 F6 t% R8 V6 q7 Y0 z4 a

. c$ H5 }# T- |7 }五、控制软件
1 Q! v& Y4 Q( T
控制软件用汇编语言写,源程序如下:6 ?9 j: c" M" H8 b  y2 \
     ORG 00H
; c! }5 y- Q8 U- ?9 c     LJMP MAIN* a+ N! D& O' c9 O# g
     ORG 30H0 V6 ^: C; F6 O" h
MAIN:
! x& ]5 N; ], l( i     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
% A3 U" K. V: j6 V/ m7 b     MOV TMOD,#22H  ;22H/ L$ ?" D$ C7 F7 Y" s% }! W4 g2 E- W
     MOV SCON,#40H  ;40H
' W+ r$ |, i1 j5 |# o. W7 I     MOV TH1,#0FAH  ;F3H- _- `4 H8 }: R4 G2 C8 K7 T# q
     MOV PCON,#80H
+ k; z$ Y& \% d' c: s( f     SETB TR1- l9 p% d) y8 X* ?; p; B
START:
% h" I. k3 U5 E4 x1 O     JB P3.7,$ ;遥控信号处理
$ S6 ?8 l5 Y: a$ g3 x8 |SB:: ]0 U- @$ {/ B2 J
     MOV R4,#8   
' P) _' A" F2 ^9 E% G/ mSBA:
0 n9 c( c5 ^* \( W7 G     MOV R5,#250+ ~; _  q7 L5 \
SBB:! J: K' k7 g  c3 |$ f7 R/ }6 D
     JB P3.7,SXB1' P' ^- L( J* s$ v9 y
     DJNZ R5,SBB
- S1 J" c3 }! n2 y4 ]& e     DJNZ R4,SBA
3 b% `! F+ Z; n* ~     MOV R4,#2" V' G5 Y0 N! }8 R
     JMP SBC, z# n$ f/ L% m% l8 r% W: X: q5 x0 m
SXB1:+ n  D# [( F( t: v, \
     MOV R5,#5; ^7 A& e% [" G% J5 ]6 c' f
SXB2:              
& {/ z2 ^" l: a, I4 Y8 m  ^     JNB P3.7,SBB) Y0 [  e5 _$ H. e1 W/ j
     DJNZ R5,SXB2
2 W$ `9 b8 W+ F     JMP START8 r$ X5 h4 \, g
SBC:
+ I! S8 _7 P! k3 |+ m- c* i     MOV R5,#250# y4 ~( K- [  O, ^
SB1:
! J9 P$ w) k( L0 u- x+ c# U     JB P3.7,SB2  
: F' Y; p2 w$ @2 Z     DJNZ R5,SB1# l+ _+ w( x/ U5 w
DJNZ R4,SBC: ~9 {! V: o5 a
     JMP START
! D% u/ i6 J* _- R$ VSB2:                 
" z7 c" W! a  v* h     MOV R5,#53 c! S& l* p# O/ ]* X, q5 h' Z
SB2_A:
1 E7 g/ u; _+ h  q) d     JNB P3.7,SB1
8 V; ~  z" s7 W2 R     DJNZ R5,SB2_A
" }9 l$ E: R$ h2 \" H2 s3 g     MOV R4,#3' b) z- K5 D2 ?) o% e4 F  }6 X
SB2_1:! R, W5 J  U4 z$ I+ P- ~  q
     MOV R5,#250
8 Y( P/ _9 X* h1 d; P3 o9 LSB3:                  " R3 {( m6 ^/ Z. Q- v4 c" L
     JNB P3.7,SXC
6 n' Z) K3 W5 D! {% b; _     DJNZ R5,SB32 l. G5 z: q/ X) x8 Q7 t; O# Y
     DJNZ R4,SB2_1$ A5 [1 Y- _4 d1 K, g
     MOV R4,#2! c* x8 y: j( {* x: U4 r
     JMP SB3_1
, ~: n. g! D7 c5 C/ b* CSXC:                  
6 g0 \0 `# W0 Z) S. v     MOV R5,#5
9 S# J3 g1 T* q( DSXC1:
5 s! y2 O% L. J) r     JB P3.7,SB3
: j, J& y' F8 w) ]4 x7 |; W6 x     DJNZ R5,SXC1
! h# u& n6 Q; c) W$ r! M- M: l     JMP START( \4 L8 [9 {4 |
SB3_1:                 
2 P8 B* z- J  M; E     MOV R5,#250  d3 C$ c+ B( K. Z- Z: n
SB3_2:/ ~3 _4 _9 A  W! U! W0 a# r" @4 S: \
     JNB P3.7,SB4
; B7 w* P8 X5 h  f     DJNZ R5,SB3_22 \6 q, W9 u  `  r% |! e/ @
     DJNZ R4,SB3_1
- {) V' V7 \' q% f: t" n5 r& `$ E% ]     JMP START
  f+ Z' W0 W6 t+ \5 KSB4:                    
$ Y3 F& x# U! ?4 B     MOV R5,#54 M. U( S" r$ n) |% G) t
SB4_1:
  ~* w* f' u, M& L* L4 g     JB P3.7,SB3_2; r2 v9 R- |5 _/ V4 F0 L/ C
     DJNZ R5,SB4_1
" e0 n, o9 ]4 O1 F     MOV R1,#1AH  + Y( F# J: n' c
     MOV R2,#4* Z" C9 D- H9 l- K
PP:  MOV R3,#84 @+ _6 D" U& g& [6 D& p$ h! q
JJJJ:
9 p3 J) L  d% {8 r2 F: q& z     MOV R5,#250: T2 S5 f* w, l
JJJJ2:               
: [1 e7 j; \; M; L     JB P3.7,JJJJ3
! Q9 y) k, S7 e     DJNZ R5,JJJJ2  A- s0 t+ F2 _7 [; A
     JMP START
$ `$ h7 S6 ^; _( G- @5 v; k+ c4 ]JJJJ3:$ H, S5 y. ?7 m* t& A6 W6 q, [
     LCALL YS1  & `* M: C4 G  d6 h
     MOV C,P3.7   & M% X9 g% b5 H2 H( l
     JNC UUU      2 c+ n+ ~3 y4 i7 S: A
     MOV R5,#250. r3 E* l- V, s; f& I) r0 Y
JJJJ4:
$ C. @7 p& o3 _  d1 z     JNB P3.7,UUU
) S7 p( Q+ E1 V  F    NOP2 {% m* u3 }* C0 o: Q% L
     DJNZ R5,JJJJ4
4 }0 Z* f" T! |) W* r- ]$ J; F     JMP START
8 K+ E+ G% G- U0 ~% p2 {UUU: MOV A,@R1  4 q% `  g, u+ I
     RRC A           / h( e5 Z3 y5 [
     MOV @R1,A      
1 x# ]- y# k# O- u7 u. D     DJNZ R3,JJJJ   
, e. M2 e3 G. x3 d+ Z     INC R1      
; ]  W: o& r6 U     DJNZ R2,PP   * O, O0 [( h! z3 `; `

; ~' I6 T6 N, }  i; R1 o     MOV A,1AH
2 z6 H% i, q& \) l% A     XRL A,#11101110B
( n% l$ ], Z8 z' `1 q. c9 \+ R     JNZ EXIT
4 K( d  E" I2 M! h     MOV A,1BH 0 O' v+ ]3 C8 X9 z5 p& G- T
     XRL A,#10000111B
" J! g+ J9 D+ `$ ~& {     JNZ EXIT 8 C6 y. N, c1 _  l" {) r" E, L; N! H
     LCALL YS3
  a4 q3 _$ I# M! A; G     MOV A,1DH
( y/ D! R( P+ p! n5 X  q' a' u. [     CJNE A,#10111100B,EXIT
9 g6 O; y7 p' n: u  ?( A     LCALL YS35 Q' I+ B' I) e
     CLR P2.6  $ Z: k: B& n2 h
     AJMP BIJIAO
0 p7 [% ^9 l4 ^. A; C   
! Z+ @1 M- ^) |; u+ FAA: # ?/ C% w# g& P, E& l2 N8 y+ Y
     MOV R1,#25
& @/ {6 v, w- E5 w( XXX:
7 A+ K9 C1 N6 x9 T     ACALL YS2
& O# `& ~3 l; I: c7 {. h# _# D( [& V. r     JNB P3.7,HH ( T/ l! k2 C6 l- t
     DJNZ R1,XX
9 p5 h9 ]; A( Q* u5 k) O) K- KEXIT:    0 j: p/ P1 K2 z/ D% [$ m% B
     AJMP START
* {* h* x8 `9 T! j1 w  ?7 q! Z   
3 ]$ b- Q: }. g, P8 O; qHH:
; Q) D' a7 x) u6 S2 P# _/ m" n' z     MOV R6,#4
% c8 E% |7 ]7 X4 H/ ~5 aS:
2 k( P4 O1 ?* |+ z' n  U     ACALL YS1 ; Y. @, D2 i% V( Z- P
     JB P3.7,EXIT , J* l+ `2 _2 _* D
     DJNZ R6, S + A: |" ~) R" F  l5 N$ w' g  R
     JNB P3.7, $  ; R0 d1 F3 C" e6 B, Y
     LCALL YS3
3 b. P$ y( L, }0 H; Z% v     AJMP AA
( r$ E3 `) N% r+ @) z2 M2 h1 \BIJIAO:
& j1 a" \8 |# O1 m+ Y     MOV A,1CH
+ T5 m0 l+ m% C" x8 K( i6 z  }# _3 z     CJNE A,#03H,N1  6 M" D, a( q. B* A: u/ `
     MOV P0,#7EH   
, K; }4 W( }* f  Y% a, G& p                     
% f5 A1 W1 z) D8 b ;处理STUDERV录音机控制码! {6 M# l& E, q0 v6 ]4 C6 f  \
N1:
4 K" |1 ^- |9 C0 {* ?' B     CJNE A,#5FH,N2 ;播放键
0 }. R  z9 v2 d3 g     MOV DPTR,#REP
1 [  M: P; `3 w: t: K/ j8 ^$ \2 s6 ?     ACALL SENDA* V5 [0 f3 Y4 `0 N" l( W
     ACALL YS4
3 I( I7 U  J: X9 u/ j3 L     MOV DPTR,#PLY/ R+ o* A' k& b
     ACALL SENDA
" `4 x2 b3 J# I( GN2:
8 s) y4 ^0 z# }, m' y. @; t     CJNE A,#5CH,N3  ;停止键& a/ @- t+ M- y# p+ d1 E
     MOV DPTR,#STP
0 a5 Z, f5 d% j1 Z     ACALL SENDA  }: Y2 s: V& l* f
N3:5 b; S: \8 E* A* n2 Z
     CJNE A,#06H,N4 ;快进键
# \3 u$ f  T$ \3 Q9 I; t8 D* c' U     MOV DPTR,#FWD
7 O' `% \( }( x: l- W     ACALL SENDA% l' N  ?% _1 z2 ~- p
N4:7 ^0 y7 \+ k6 G9 y
     CJNE A,#09H,N5  ;快倒键7 X; V* B+ O4 F" X% k! u( \- E* N
     MOV DPTR,#RWD
9 q+ J# j0 e$ n% h& u) C. b7 n1 a     ACALL SENDA
( r1 C6 B8 ?1 B7 P4 Z% ~! [6 Z8 ~N5:
/ ?$ e0 N& o# e9 i6 W0 T      CJNE A,#0AH,N6  ;置零键
( n5 W$ g  @0 h! a; n: l      MOV DPTR,#RTM: i( k7 V/ D2 P3 P7 c  k
     ACALL SENDA- X: \* M8 K' m7 w
N6:
9 }; k, ]& c4 v. p7 s0 b* s4 `     CJNE A,#0CH,N7  ;定位到零键" a- }4 j& T4 J3 s+ x
     MOV DPTR,#LZA/ {9 L: j$ A+ D! y, |
     ACALL SENDA$ ]3 Y  x8 m+ |7 _4 A' e; I0 ~
N7:+ J/ r2 Y7 z! R; x0 k* W# }
     AJMP AA; y1 t3 J# a  u1 S4 G" s% a$ k
SENDA:; U; c; e. Y4 ~: q
     CLR A1 L' S, A, \4 ^9 j0 e1 R3 `
     MOVC A,@A+DPTR" {' d8 Y& R4 R9 S2 |, y
     CJNE A,#'$',SENDB. F8 S  w. E3 D) [# O
     AJMP SENDC
5 Z( q& [4 ^! `5 w4 ^SENDB:
2 {! R/ U! L1 C5 I. s     MOV SBUF,A, h: |, T  s, f! |  k+ A  B0 _
     JNB TI,$
9 Z8 v0 h& s7 l, n/ z" L* u     CLR TI8 u0 ?) Y! g  O6 J+ @) {$ d
     INC DPTR
, I8 V- [* x9 y& Y. E6 b     AJMP SENDA* n/ Z8 u$ R: N2 i; a
SENDC:
3 a" G! E3 h7 f) k     RET5 P) q# Q6 p0 z/ c

; \  t+ H( g* }5 h* V2 iPLY:  db "PLY ",0dh,0ah,'$'# i5 n$ L7 h/ A
STP:  db "STP ",0dh,0ah,'$'
# w8 s, l0 m' i* DFWD:  db "FWD ",0dh,0ah,'$') F1 j( z8 w' I/ x1 B/ l- \
RWD:  db "RWD ",0dh,0ah,'$'
' Y! R) }) |3 C! x2 S. HRTM:  db "RTM ",0dh,0ah,'$'& X9 T' l; b9 V( E. b+ V$ V
LZA:  db "LZA ",0dh,0ah,'$': ?- \, E  s* ?) i3 b3 A- y
REP:  db "REP F ",0dh,0ah,'$'" }2 ~" s7 G/ {/ c
# c& ?0 L$ {; s2 H" O5 ]! J6 u
YS1:
  w2 L; a$ P& U% s7 i5 M2 t, C     MOV R4,#20
/ S6 F* a2 Q+ T& V) I) [D1:
8 `# B* q. W1 W0 @     MOV R5,#20( z2 L# Q) i+ G0 n
     DJNZ R5,$. L( v/ C6 G+ h8 n; k4 u
     DJNZ R4,D1
% e1 C7 p! T$ ?. K     RET& s/ t, f$ t0 @" h3 C
+ M; Q8 W# @' E8 [( J$ g2 d
YS2:2 {) y) H: C' g& Q3 `; O% U
     MOV R4,#10
# F; L" f. y3 y' R2 gD2:, O. ?0 X/ j2 T' [: W: [
     MOV R5,#235
2 i. P1 T! O3 A* O. x' M, H) u     DJNZ R5,$
9 Q' N) @6 D; E1 T% S& [     DJNZ R4,D2
$ D& }' v' u1 [  B8 K8 t  x4 X     RET, ?  D/ ]4 N6 `$ n+ d9 i- |
" j" W$ a* o5 S3 c/ ]& b
YS3:( T' ]. o0 ?: h# x5 h( H0 b
     MOV R4,#2
7 J# L0 B1 \) h9 L% PD3:, Y& P$ y7 B, k3 }! Q2 n$ B
     MOV R5,#248
/ S. a* s- p( D( O9 G4 d     DJNZ R5,$
  H, H' L8 k1 A0 t     DJNZ R4,D3. I7 `$ n9 d+ B/ g- S! U
     RET
2 f9 g0 S- T3 x; o; g6 K
8 V. X" U* g0 U5 pYS4:5 Z: T) {7 C/ {; \
     MOV R4,#200
+ S9 e5 e; v$ V+ @; R; nD4:+ z$ D: X7 r! L) t% L
     MOV R5,#248
. Z/ k1 h2 u+ j3 K     DJNZ R5,$0 a" w5 u, ?2 z9 b* o/ R! [
     DJNZ R4,D3* A% ]* x, y3 O9 R0 ~! Y! U5 L: c! L
     RET7 t3 o; M7 A* D
     END
$ C: C: i: B. g  {% F( n3 _1 u& v& |& _2 ]9 q1 x1 y8 x
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
7 T0 g5 u  y2 m# Y3 v是不是很惬意,嗯!
  F1 |- a$ j1 {: r, F. V

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!7 a! h4 q$ F* Y1 v
YK 005.JPG
- \5 u* z7 w1 Y! B! [; N& a. H! j" Z
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
/ d9 j2 a$ m* z1 V% O* q0 P& @; w2 Y
发表于 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' S7 F. Z. J6 a! r3 J' Q
最终的样子,有点简陋哈!
5 |% I- y. n3 c! W: P, t- h
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-11-28 23:46 , Processed in 0.205579 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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