收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑   z2 z5 F0 o" K5 f, b% c% t( k

7 E) Y5 Q( i. C本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
9 b) U' t$ [4 r: Q# w8 K2 G
4 e( Z# f) {% N说明:, |2 ]2 W* E3 n* }/ t: F; l
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
0 o2 u" R1 y# _! P2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
' |4 a! k$ E+ [& Q
2 ?( _+ h6 Q; a3 i4 Y3 [& ]( ]一、基本思路
$ ]% N5 V" ?( p5 B% G$ l7 O8 s7 `使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
" I' H/ U2 S$ [- h
' M. A! U. N) g8 x& T4 v二、红外遥控器
" c# I; @3 S  z: I( _, y6 b我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
; ^- w1 c0 K: B- ]+ z8 ?# w* U Apple-Remote.jpg & l) t5 \1 _& H) J& g
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
# `% k+ K, @8 q2 U4 R% S; M, b( ?% W1 T: r Apple-Remote - 副本.jpg 6 n- F+ T! _. J- z" E9 c
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:0 L  q- `' V  n" |
Apple-Remote - 副本.jpg
9 z' }: m- F5 v4 [$ p
, q& d, f. v- j; u- h8 x三、红外编码& X/ |- |$ |! F& Y/ s1 [6 E
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。8 b) G% g" L9 w
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。  _, U1 m. `; t& s. Z
后16位为控制码,主要用于实施具体的控制。
/ A# X6 N+ I( ?: N这16位中高8位和低8位互为反码,以提高可靠度。, H7 K. s/ ], U" h( s4 _$ q
+ ?% g: b- j. R0 E8 z; b: L) o
以播放为例,其编码如下:0 Z3 c/ u) w/ T1 f. z& {# Z  x5 D/ Z
00000000 00000000 01011100 00000000
: A1 N! c% V; `7 ~: O8 r5 Z5 U6 O" W) O8 f4 t" ]; O" U
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
8 `. S) [1 j9 n; C$ f3 V+ s  t7 w$ H4 h. o; [" b" Z+ b
四、单片机系统
0 G. x3 P7 U( T* X9 u. z
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。9 y! S; n" V: y( q+ k% g4 M
c51.png
$ C/ B2 k$ s9 r# i: `5 V 9 S( p/ j. V% k" x
电路很简单,功能如下:1 |2 u% b% C5 \3 T7 W
1、一个AT89S52单片机作为核心;; F" g9 F9 l7 P) @
2、一个TL1838为红外接收头直接串行输出数据信号;
, A/ `4 m8 d7 \7 f1 g8 y) N7 q3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
$ L5 w9 L# J3 y: P4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。* f: d# q3 F8 I/ p

) c* g& ?* l1 Y8 n  A/ A关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
* ]; N6 c& E  Z8 S; f7 u$ X/ f" b" C: N7 S( |" ?  q9 `4 |" C

; e9 g2 ?  P9 |# K8 E五、控制软件
" [% b# G' Y/ T4 K
控制软件用汇编语言写,源程序如下:
) Z" g" o% G  s% D     ORG 00H  A) u( P( \; Y4 R( o
     LJMP MAIN; z" k: z$ k/ W# q& G7 Z. ^/ I
     ORG 30H
0 n4 _7 d; p! F1 nMAIN:
  z+ b1 r8 F9 y! `. r  A! e% E     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
: b' B3 v% n$ W8 V     MOV TMOD,#22H  ;22H
- r( ?# N) b6 E; @3 t     MOV SCON,#40H  ;40H
* g8 C3 `2 B, ]7 W0 {  Y. g     MOV TH1,#0FAH  ;F3H
( A+ G4 |: u0 Z% p. ~! h" x     MOV PCON,#80H1 _9 b9 M2 X) p  \
     SETB TR1
9 A* P3 S% ~1 _0 p. A) r0 A! e, b- g) ASTART:
4 C( ~+ c3 `1 b/ Q8 f     JB P3.7,$ ;遥控信号处理
5 {8 w" N. l# _5 t0 q1 ]! p# [9 ?( BSB:
/ }& Y) M! E0 P: ?     MOV R4,#8    % X0 O7 b: a5 G+ T+ r
SBA:
2 w& z+ S2 K5 E/ ]2 _" b     MOV R5,#250
+ c* K+ \/ n" {$ l7 y4 K0 \: zSBB:
4 ?4 l% U7 n3 [* Y! Q$ J% |     JB P3.7,SXB19 W5 Z+ q7 [- z5 J; k1 c- ]
     DJNZ R5,SBB
% G" X5 ]8 @  H) L. L, D; O     DJNZ R4,SBA
4 G8 i5 c) t' m- Z     MOV R4,#2) E$ l3 R+ l/ h/ P1 m. x" }4 i, E5 b
     JMP SBC& n/ c2 T% T' s- E$ E1 j$ W
SXB1:' Z6 Q; p2 H  d: p& C
     MOV R5,#51 K/ I" y9 K$ v: V  O4 I
SXB2:              
2 F' j/ P1 l# c     JNB P3.7,SBB5 z  \: P% K; {% `( _
     DJNZ R5,SXB2  ]7 Q4 }0 t( }. N2 [
     JMP START0 P2 F  T  }- d$ o1 P! V
SBC:( N: z  i% t% ~2 A, q
     MOV R5,#250
7 Q! n# D; F9 W' BSB1:9 P$ a  X; Z& s) m+ \
     JB P3.7,SB2  3 m9 i& O; O3 y% H+ d. P
     DJNZ R5,SB1, R% _' D: q# g
DJNZ R4,SBC, B2 C1 C3 h' B: ^! o
     JMP START
" |% k; j5 V3 g( h; L# E7 |SB2:                 6 x  w8 @! ?+ E) v- d- c
     MOV R5,#57 Q  G  \1 f2 A  I* j* N9 s
SB2_A:
1 O* L5 V$ M. x* o. K9 M' B     JNB P3.7,SB18 Y$ J5 q& ]9 O5 t6 d
     DJNZ R5,SB2_A
3 ^% s+ j) [; f3 A! F; {. r     MOV R4,#3! Q/ R! q* M  m
SB2_1:) G1 ~1 L( q! m# q+ n, C! T2 O( b8 q
     MOV R5,#250
- v  |2 K+ Z! c2 l" F. A+ `SB3:                  
$ w8 B; E  N( ]/ P' q+ K  [     JNB P3.7,SXC
- I  T+ f9 A$ j     DJNZ R5,SB3
; V6 i0 O; B% e. p$ v     DJNZ R4,SB2_1
3 h/ @% B8 X9 d; M+ R$ Z6 }     MOV R4,#2. g3 K: [8 d3 l$ B& U
     JMP SB3_1+ `' Q3 ^' W2 C- I$ M* B
SXC:                  6 f4 r5 D/ |2 ^" t/ o9 C$ G5 X* u
     MOV R5,#5
6 R9 ?, P6 y1 c* Q- CSXC1:
) J  I7 r  Z: m, c: x     JB P3.7,SB3, _0 ]) \: e- M3 H
     DJNZ R5,SXC1& N& B8 D% a) `5 G
     JMP START
  ?$ k) [7 E9 s$ M& M7 [SB3_1:                 
0 ]$ [$ }  C0 L4 R     MOV R5,#250
$ h" W  ], i9 N* TSB3_2:
) X! g9 S; o4 l. e# M- a, B3 [1 Z: F. B     JNB P3.7,SB4
, D* f) J1 Z3 t2 w9 g     DJNZ R5,SB3_2
) i) q1 S" D' l# O# y     DJNZ R4,SB3_1. l1 l6 o! n7 d
     JMP START7 \0 A1 {, |/ \# n6 B
SB4:                    ( w% ~5 f2 Z0 t
     MOV R5,#5
4 T: n6 V. P) ^: kSB4_1:
0 \" k1 S7 q% {     JB P3.7,SB3_2
3 q5 [( ]. z; G7 e+ t5 K     DJNZ R5,SB4_1
9 E& T7 {5 ~. e3 Z3 a' d2 }     MOV R1,#1AH  + S9 o$ y' ?3 f* x$ r5 p, t
     MOV R2,#46 U% T( Z7 b7 T" f
PP:  MOV R3,#8; h) K$ F' \) z1 n3 v
JJJJ:
# X4 e0 a* `, R& p+ ?     MOV R5,#250
; @6 `/ _( I, f3 R; |  n) q  E( DJJJJ2:                * v9 c7 H2 l) l; D" f$ [
     JB P3.7,JJJJ3
" ^! ~) \$ l8 z1 C9 U) T5 W3 |     DJNZ R5,JJJJ2( _! W: s- m- r
     JMP START
/ o6 h$ g' Y0 _/ pJJJJ3:' [  I. i9 O- Y* B
     LCALL YS1  1 C" k  r8 |! \
     MOV C,P3.7   
$ e1 |+ C# e. R/ q' `  D: f     JNC UUU      ( s" k: }6 M  A$ z6 k
     MOV R5,#250
1 L; p* z. J6 Y6 Y9 n+ K; }/ d, mJJJJ4:8 m/ m! j4 H% _  n
     JNB P3.7,UUU# H  B( M3 G1 C& i' K2 I. {. M7 B5 y" Q
    NOP
8 j, D, j, D. X+ H  M     DJNZ R5,JJJJ4  `) `7 ?+ s3 _% N$ q0 m
     JMP START
" D+ J4 h+ j/ Y7 CUUU: MOV A,@R1  
1 J* |7 O+ O; \7 U     RRC A           
$ K9 z+ @- F, o& K" B9 t     MOV @R1,A      
: w; f# j' r+ h  I8 I9 W     DJNZ R3,JJJJ   ( q) N# w8 o2 Y$ m
     INC R1      
9 l/ Q0 m* m  X- g0 S     DJNZ R2,PP   & b2 z( G2 K# y, P0 U
/ I' @2 S1 c4 u8 R' {0 a% w
     MOV A,1AH ( C( _% ~: R+ m1 g+ k# S/ d" \
     XRL A,#11101110B7 G1 @: V) |* {! z) @0 q! W) K2 ?
     JNZ EXIT
( D7 a% c, n$ i" V  f3 i     MOV A,1BH 3 ^( Y$ ^  M% u: Q
     XRL A,#10000111B1 K% t5 P9 x( V' U8 ~. u* n
     JNZ EXIT
$ X& ^- f. K" w3 |     LCALL YS3' _+ X1 u% {7 @) d
     MOV A,1DH ( M% k1 I5 k) |8 l! L9 y
     CJNE A,#10111100B,EXIT! @! q7 k8 z+ A; E3 |
     LCALL YS3% i7 u2 [7 A! d; C* w
     CLR P2.6  
+ F2 [% V: _$ Y: e" w- d: K1 M     AJMP BIJIAO- d' Y3 a+ Q  O" c5 b
   
5 _4 |* B" ?: M3 P. rAA:
1 W7 I0 c2 W( [  @& B8 Z     MOV R1,#25; I" B8 `! H( ~( L- _! w; E
XX: 9 C& e# ~$ k9 ^* H
     ACALL YS2
3 a9 h8 q9 @8 E     JNB P3.7,HH ; l% G( u- U4 A& \
     DJNZ R1,XX" n( r8 l" |* n  j  s  _
EXIT:    : x) V2 \& m! w* \6 u
     AJMP START4 D6 {2 V! U! e" c, F, t4 p
   
# S- p/ q* |5 ~& w; _HH:
% B( c7 o+ z; L5 F5 C     MOV R6,#4: M$ [  W+ V. I
S: 9 b8 X: n. L  `! J
     ACALL YS1 5 e  [, Y& B9 x( {; i9 D6 L
     JB P3.7,EXIT
7 N" P# s5 ~% K# n  D) L     DJNZ R6, S
/ N& G% ~. h0 c0 T- g/ j1 F& N4 O     JNB P3.7, $  , B. n+ P' ?, y0 D8 F. e; J
     LCALL YS3
) K6 w# Z; ^9 w/ f     AJMP AA
$ D9 p) s: }3 Y5 M" X( k4 o1 gBIJIAO:
/ \. I; d3 {1 j5 w# J     MOV A,1CH
4 |4 x3 {% `; C     CJNE A,#03H,N1  
" \6 o8 O. ]( f, S$ _     MOV P0,#7EH   
# P# ?: m2 }  F/ S7 C/ f/ `8 k: [                     
9 ]) s3 b+ z/ r7 @( j$ S ;处理STUDERV录音机控制码8 l6 X) ?$ W. d9 u1 g6 W
N1: 4 K; {7 ]! P2 _$ y# E# W6 {
     CJNE A,#5FH,N2 ;播放键
! t) W" N) V5 P1 m) }: B; v     MOV DPTR,#REP
5 y5 X8 v* {" [! l2 l4 {$ I! m  `/ i8 O     ACALL SENDA3 p8 o! P; m; U% N8 C
     ACALL YS4
4 ]- l+ I/ R' P* }7 }9 ^$ c     MOV DPTR,#PLY' ]1 r$ [+ ~) }1 O4 i+ b" [
     ACALL SENDA
2 }7 [) R! t( r$ U' r, x. Y; W/ e) R3 @N2:
" o  E, G) |7 x% d8 ]     CJNE A,#5CH,N3  ;停止键
' W% l8 X) p; A9 E     MOV DPTR,#STP
6 k8 j! }5 k) ?$ b. ~     ACALL SENDA1 _& ]' ~! F) ?! _
N3:
1 l6 }  x' N: R9 f6 s     CJNE A,#06H,N4 ;快进键
5 _) T) \9 h3 U4 `     MOV DPTR,#FWD
8 l0 S% e% X* o' x     ACALL SENDA: M# m$ \& G) @; V2 w, W
N4:
0 E( n( m* P* Z* s2 s% ?4 i     CJNE A,#09H,N5  ;快倒键
9 A0 N6 K- [. z1 `& L, X! l     MOV DPTR,#RWD
* U0 ~6 ], Q; [" [' O& S5 T; M     ACALL SENDA
2 [: q3 f+ Y4 e. H) q$ AN5:$ q3 m2 v, J' g" z1 V: V: U
      CJNE A,#0AH,N6  ;置零键; f+ y5 D8 O/ U5 Z. Z1 h
      MOV DPTR,#RTM( j5 k& L' z  e6 |* V0 \( w
     ACALL SENDA4 K. L1 b$ H# Y( d( a9 |7 g
N6:
  F1 H$ N- s$ Z3 G. g( r     CJNE A,#0CH,N7  ;定位到零键
6 L8 p5 b# T3 b0 d5 o/ o     MOV DPTR,#LZA, s) V5 [' Y* A
     ACALL SENDA7 y( @* G& b2 n8 I- U& w. A$ O
N7:, l- v* y; {4 U% o5 p
     AJMP AA
) I* S. d4 A7 S0 ASENDA:" }1 `' X/ v5 \, N9 X# D" Q" _
     CLR A" Y6 k9 R1 u8 F% N+ ]* q7 I8 \0 n
     MOVC A,@A+DPTR" S0 x! `3 p* W+ J/ |9 {
     CJNE A,#'$',SENDB
. E1 v% ?7 t7 K3 s     AJMP SENDC2 _3 F$ p0 M, p% @! U
SENDB:
) q! Q4 Z& ~8 ]+ _5 }9 b     MOV SBUF,A
  J5 S- ]( r5 X3 }5 `     JNB TI,$
+ |( ^% I# B* C5 }* B     CLR TI
9 P$ q( w+ ~8 c- w     INC DPTR
+ @$ c: l+ o5 _* N     AJMP SENDA
1 H( I# U# G" M6 Z& ?SENDC:; U8 g: H1 o) [$ F: F
     RET
6 ]- n/ e& E3 ?5 q
# R6 X  C0 Q* K, z' e9 n$ ~7 QPLY:  db "PLY ",0dh,0ah,'$'6 K; c  l  N. ]/ Z4 ?# ^
STP:  db "STP ",0dh,0ah,'$'
, |* G. e2 U* {FWD:  db "FWD ",0dh,0ah,'$'! y! g! b) ^9 `' M3 O
RWD:  db "RWD ",0dh,0ah,'$'
5 h1 q1 O7 |/ ERTM:  db "RTM ",0dh,0ah,'$'
% t& I6 y" M! H; \LZA:  db "LZA ",0dh,0ah,'$'
4 D+ s9 M* N7 }% c1 xREP:  db "REP F ",0dh,0ah,'$'. y" Y/ B2 E# M* Z+ t& i/ J6 F! a, a# T
0 I) Z! `9 W' S$ a
YS1:
0 w" p9 r9 i1 T- j9 _: v; w     MOV R4,#20
6 C7 ]8 Z( X, v( @8 jD1:
& X/ l$ ^  y6 L2 m/ u* Q     MOV R5,#20% ?/ f  \5 y! Y; ]8 ^/ j
     DJNZ R5,$
: P* D* l/ e) ?) t" t     DJNZ R4,D19 j" |$ c( I3 W4 z2 `
     RET0 r+ P: u* d7 a$ h* Q$ q. |
9 }" j7 s! e( H! N
YS2:
  t6 w/ U0 o( m, P     MOV R4,#10
  ?# P; s, ^1 N* T3 c" xD2:3 \* l* P2 J) _
     MOV R5,#235; l0 O8 r% X2 n2 ^  h
     DJNZ R5,$& g4 B. q# p+ B4 x7 W7 v% X# W1 W- Q
     DJNZ R4,D2
6 l- s! ]6 w" ^& {8 {# @9 i+ {     RET( e! ^0 {2 @# n% y' B8 Q6 R
- T; u. Z- \# `2 n  M
YS3:, d0 k' N3 T2 r1 q
     MOV R4,#2! O& H7 b+ a( b- C
D3:
( S& `3 N6 P7 r$ {$ i0 P     MOV R5,#248
  P% N, z  a% g; Q) ?# o3 C4 K     DJNZ R5,$
' z/ R1 w2 |- k9 n7 X     DJNZ R4,D3# _" T6 F% m$ p- e: e! O  l
     RET
+ G0 Z7 T6 a9 \9 d% c
7 G& p1 ?" `6 _! n5 WYS4:4 ~, |8 m: Y* X! W0 S3 m2 [! Q
     MOV R4,#200: O. J# |; o6 M  P9 s) \4 }
D4:) m0 f; Q3 e1 r. `- j+ s" X0 p
     MOV R5,#248" O" F  a3 v& M
     DJNZ R5,$
* j$ l5 V" V3 ^6 }: a3 E     DJNZ R4,D3" R. W9 i/ o7 _$ G8 X( B! \
     RET
2 T/ c9 N2 z2 B  k; P     END
8 Y3 t+ z4 O! @! _+ U+ l' o% _! S/ e/ ?5 l+ b$ y+ c
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
/ y' I  `6 g" r是不是很惬意,嗯!# h2 B1 R. [* k. Y

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!/ K8 o7 O# \3 h+ T* M# Z1 x
YK 005.JPG
/ l: n8 p: `0 w7 o
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
3 f1 z" [+ p8 o, _- E( Y, U5 C$ e
发表于 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
0 K0 m! l( `0 n  y* T最终的样子,有点简陋哈!

% j( z$ g+ s, d这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-12-24 03:01 , Processed in 0.076977 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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