收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
4 \2 B1 _( F1 h, L8 p: ~" U# t* P; i9 B/ y; O+ u9 V
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。& w0 c" S. e# R: w4 w% T9 ^4 Z

# \- ~7 \& h; A, I. l( S2 Y说明:
. w8 C1 c7 w9 P, M1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
0 v/ A+ k, l9 o* s1 v4 u2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
% G" Q0 d; j' G& G$ m% G* L1 \
) b8 K& _  w; _) a) b一、基本思路
- z& h* A  |7 j' N; s使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
  O+ X% G8 f% ^: T. u3 c! n: y3 t& y$ H1 c' p6 W
二、红外遥控器/ @  y) V4 U3 p/ L& }  }7 y1 L1 E
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。9 K5 t* p# k, ^. n* J; @: w
Apple-Remote.jpg
6 e: x$ u; J$ A" F- ]: v% L  b好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
- ^8 ^! c& u+ Z0 m9 Q- s" n: ?% \ Apple-Remote - 副本.jpg
3 z5 a9 L0 m3 g, g9 |: Y* a在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
; s" [  o& ]' K+ l/ d2 A7 Y Apple-Remote - 副本.jpg ; G+ e( e" n& ]1 V
" K, B9 e& q& u" \5 |
三、红外编码. \. L& e  I& z. \/ m/ R
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( G# n1 S; G3 [7 y" z- _
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
! u) z( @: A; p5 `- I; ]5 P* ?6 A后16位为控制码,主要用于实施具体的控制。
5 p9 G' u& N# N0 b) d7 q, s这16位中高8位和低8位互为反码,以提高可靠度。0 y  h# o' U9 @6 i3 X

: A+ m( |( E! x: z0 X8 o! x+ F! z. W以播放为例,其编码如下:( m# b" e  N- k+ c8 r8 H( K
00000000 00000000 01011100 00000000
6 z, F0 O) o  V  g) b  G2 L# m$ x* g% S
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
4 e% q' J1 h' M0 Z9 ?1 c) }5 d1 X; E* a7 e5 _' X) L
四、单片机系统
: g0 L2 ?  j7 K
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。1 `! b1 F& o* q% }& T6 ?* w
c51.png 1 M! l7 Q7 G$ n2 ?1 {5 I

2 q: S" s# }- `) P5 g$ r+ `+ E5 _电路很简单,功能如下:
7 Y; K8 b! a8 r- [5 G1、一个AT89S52单片机作为核心;4 Q: V0 y( ?# c
2、一个TL1838为红外接收头直接串行输出数据信号;, \9 ^8 z4 u& E/ j
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
! b+ ?/ L' ]2 X$ J4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
  v; T6 W+ Y: a : p/ k3 T4 F! Z. Y! ]
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
8 \7 ~' Z9 }# D) b  z
7 j8 t  Q/ ?6 h8 j8 Q2 x: M- G
% ]7 X' h; |: C五、控制软件
4 e; \/ N# b0 u9 @
控制软件用汇编语言写,源程序如下:
* `: F% i/ Q7 H, H" q6 X7 S     ORG 00H
) u: M. X* P2 {! ]: J     LJMP MAIN
) c9 H2 [) I. q     ORG 30H
) Z9 x' f2 w0 `MAIN:
& s& I+ \% z" f+ z3 F     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)$ d: K$ V; [4 S1 p% L3 J5 Y; w' d
     MOV TMOD,#22H  ;22H1 ]. G- [9 y  C4 C2 i- x
     MOV SCON,#40H  ;40H' U4 y9 ~- c, A- s6 e+ t
     MOV TH1,#0FAH  ;F3H- D! L/ {5 h) n& Z0 B
     MOV PCON,#80H- V0 S$ p& n$ H( R
     SETB TR1& v& j9 v- V( _5 u" h3 v
START:+ H0 S8 x: L) y7 U; |
     JB P3.7,$ ;遥控信号处理
& y$ U4 W3 u. J3 t1 Z4 B' oSB:+ ]' l5 {1 a0 A' Q$ n. t& ]! ^' W
     MOV R4,#8   
5 I; X0 j. B: f, BSBA:. e$ q* t( N4 S/ _6 R, Y5 e
     MOV R5,#250
; H2 Q( p8 a; y" O# \& ]2 s: }SBB:
9 n6 R  F! b9 `4 J! c# Z& @     JB P3.7,SXB1- V0 p5 y+ S5 d% e
     DJNZ R5,SBB- q4 K# l& X# `! \; W) L5 Z
     DJNZ R4,SBA! L) U( V0 `( h- I9 _: D2 E9 o
     MOV R4,#20 k" _% _' q! T1 D- H& T9 W1 G; _
     JMP SBC; ?+ D0 d1 {7 M( j3 ~6 H
SXB1:
) Y5 q+ z6 U  ~0 q; B     MOV R5,#5
* b% q* h: q9 H. wSXB2:                l+ Y7 d: [. F
     JNB P3.7,SBB
5 j" x& ^5 G% g7 {, ~4 D# g     DJNZ R5,SXB2. w" F. R! i7 e) ?5 `4 D
     JMP START
, z3 Z6 U% V( N( ~5 ISBC:4 |8 a( S/ l% t+ C
     MOV R5,#250" u4 @2 u/ D" U) Q; C9 b8 Y+ `
SB1:
6 O# J, d2 f5 V$ {' C' l; x     JB P3.7,SB2  7 O2 S$ n0 Z, ?4 S: Z( q) ?
     DJNZ R5,SB1
( O6 R6 s$ c5 M) X  I DJNZ R4,SBC
; i. j) p2 l, ?0 U     JMP START5 ~6 R1 M/ Q. ~5 T( b! `% L# P
SB2:                 ' q+ N9 m2 _$ d! b, E7 ^; M
     MOV R5,#5
; ]0 x( B$ V3 |# x5 ]! h$ N$ ~SB2_A:
8 j. T) o$ k# v- T" G     JNB P3.7,SB1
0 j* v8 X% F3 y3 e% K     DJNZ R5,SB2_A
4 U) y' ]* B7 `" C6 C( {5 Z& p8 k     MOV R4,#3
7 {- |/ H8 c0 V$ x; U+ VSB2_1:
% [2 X3 N- s) v! N8 L     MOV R5,#2508 A1 Y8 m0 b* m( V( o6 _' S* \
SB3:                  
- h5 s  w- ~* ]3 S     JNB P3.7,SXC. }8 h" l8 ^4 u2 U. p2 Q6 y
     DJNZ R5,SB3
: j. I; W. j/ @! y) [     DJNZ R4,SB2_1
: l8 Z$ S% u4 y" |     MOV R4,#2
3 v, f" T/ Q" X4 B8 v     JMP SB3_1
) Y! x5 K( [0 x+ k3 D' M; }1 xSXC:                  
9 g9 ?- \3 y) T! J- P3 L     MOV R5,#5
/ i* k  N3 I6 H4 Y- G+ v8 mSXC1:
4 W: r6 i) C/ {     JB P3.7,SB3
! p% S' Z2 o/ w4 N3 W     DJNZ R5,SXC14 z' @4 o/ v0 ^. Q
     JMP START# w! v( ?9 U* v4 [& r
SB3_1:                 
* h; S; O1 R+ f8 Y. ?$ n- g     MOV R5,#250
# q+ o! f, A  }" i5 E: dSB3_2:
0 ?7 D! i0 [3 u3 Z! E3 \& u' q% u     JNB P3.7,SB4
3 I- d/ _; z; Q' N     DJNZ R5,SB3_24 W4 u* C" t7 [$ C
     DJNZ R4,SB3_1
& H9 M1 p" T1 K5 _  g* {     JMP START
' z* ?/ P7 s( eSB4:                    
5 j4 Z/ W, v5 ~" o     MOV R5,#5. `% V; b- k! K+ s5 }8 ?% ~0 ^
SB4_1:
' N0 f: @7 S! }1 @- ?$ T     JB P3.7,SB3_2* f/ v1 B, ]7 T4 a! u
     DJNZ R5,SB4_12 z+ `3 @9 q& ~  I% B, ]
     MOV R1,#1AH  
: w4 R$ a8 u, \' e     MOV R2,#4
6 Z7 T4 |. O$ W/ q8 E2 W/ N3 EPP:  MOV R3,#8
8 P7 V1 |- s* p- B& _. ~* vJJJJ:! F* _5 y  J1 ?  ^3 @$ E" L( r
     MOV R5,#250
! T$ B8 q8 x( ^* Z# HJJJJ2:                3 O4 B  r: V- c2 r1 r5 G2 e
     JB P3.7,JJJJ3
. X4 O3 _5 a8 @     DJNZ R5,JJJJ2
" ^$ t! ^; D3 J# \9 H     JMP START
, d0 s: V( m( ?+ H. N# I( F) sJJJJ3:
! A' x, p1 J% J$ n     LCALL YS1  4 X+ _! F3 ~* l6 B
     MOV C,P3.7   $ E0 }* ?; f# {! `9 ~% q
     JNC UUU      / S2 A  \) K' }2 W
     MOV R5,#250
+ ~7 M) ~, |" s+ y8 O: w! W0 `2 b$ HJJJJ4:
- r4 W: r$ R+ [' M6 l     JNB P3.7,UUU5 d3 M3 b0 V+ w# y# S1 U
    NOP" K2 g* ^9 h  p! |/ v. r' n1 L
     DJNZ R5,JJJJ4
' S9 M5 @& U* t7 f/ a+ A+ {; H  [1 p     JMP START0 C! S+ a2 C: P
UUU: MOV A,@R1  
& v2 a. V- Y' t& {3 N     RRC A           
/ k4 h  T6 W% q     MOV @R1,A      
; I/ L; W7 ^- `; U; y     DJNZ R3,JJJJ   ; x& {/ l3 u4 v7 b( P7 d3 ^
     INC R1      
7 R( X. ?( N2 ^3 n, [8 ]% p4 l4 X" n     DJNZ R2,PP   ' W7 W. v5 n) E. l& M3 {2 Y7 i

+ c% h/ g2 Y9 w( F8 R+ ~     MOV A,1AH 6 ?2 E8 j; W1 x- r
     XRL A,#11101110B
; T& Y$ }4 g0 [1 N# W     JNZ EXIT
3 |: z5 L8 m4 l' F  h/ Z     MOV A,1BH
- A; q8 H( J/ @) x     XRL A,#10000111B4 ?. p/ W2 j& W
     JNZ EXIT
: A" L. a; k% r5 m     LCALL YS3
& R: v: N* x% {/ o0 K9 [     MOV A,1DH : d/ P1 s3 |/ Y
     CJNE A,#10111100B,EXIT
+ Q6 a# [0 P% X( s0 u6 ^5 n" E9 Q     LCALL YS3
0 F; q8 U" m& j     CLR P2.6  
- w, t4 f( Q8 Q% P5 f& y( L     AJMP BIJIAO' V0 _1 v8 p+ h
   
6 w  s8 e; ?$ l; ^* ^AA:
7 c, e% }( M3 [  r1 o5 ]( u( {3 M     MOV R1,#25
- n( M- T! z% D; aXX: ( q# a) G9 `5 N: M% L: J1 J
     ACALL YS2' G. u  _2 H7 R
     JNB P3.7,HH
3 ?+ A: s1 H5 o' ^* x     DJNZ R1,XX
* Z$ K6 Z; R* k+ ]( M, G* `  Z8 SEXIT:    # C0 H$ x0 I. ?8 @1 c
     AJMP START
2 f( ]$ y9 h$ F: F1 j" M8 s   8 R, y+ @2 v% ~( W1 r
HH:
7 P7 L. R; ?. ]1 y! E2 m9 C' o     MOV R6,#4
; Z* J  d4 u% gS:
8 n5 p* G& r" H     ACALL YS1 / s7 S' e) c7 \, z: O
     JB P3.7,EXIT
6 L0 k. P4 M6 ^  m: n$ B     DJNZ R6, S
+ R" I2 _7 p# D; i  [/ A     JNB P3.7, $  # w; _( q" Z8 H- z# z# d1 @
     LCALL YS33 f4 y2 D0 p* h/ p! ~1 m- S
     AJMP AA
! I' u$ c) o, y/ l+ n3 O  cBIJIAO:
0 k! g0 g* R4 v6 c- t3 _     MOV A,1CH $ b( W/ C% v0 D: W+ V& E
     CJNE A,#03H,N1  
4 L  t( x. a# y0 H! |3 x! c     MOV P0,#7EH   
& b) |& q4 p$ i' ]& X                      ' \$ l' L" d  H0 s- _, p7 @# M: z( p
;处理STUDERV录音机控制码, e* U7 u% U* J* E! e8 d& d; r
N1: ! E! X# @( x7 U' I: L
     CJNE A,#5FH,N2 ;播放键
! g" e. v7 ]" }) s+ `6 Y     MOV DPTR,#REP1 I- p! l+ V3 v9 A; l
     ACALL SENDA
, o+ I% f+ _% w2 ~     ACALL YS4
/ l+ z/ J  [' w3 z  u8 o     MOV DPTR,#PLY
$ e8 r. o$ X. W+ J# @- T     ACALL SENDA6 t5 Z3 [6 [9 s! }/ U
N2:3 i/ `6 R: l1 c( M9 q. [% F% P$ }
     CJNE A,#5CH,N3  ;停止键
5 _7 s5 E% O5 J& i: u$ Z     MOV DPTR,#STP. e$ C5 A% D4 d; n# B0 z
     ACALL SENDA
( j( W5 n" E% n5 DN3:6 A) S) e$ g5 @% j2 u: Z: D7 R
     CJNE A,#06H,N4 ;快进键
) F/ B. ^/ I$ E: F+ w     MOV DPTR,#FWD8 {/ N3 x8 D# E& e
     ACALL SENDA/ O, _8 w0 z5 A. d8 M1 K/ }1 {! a
N4:
9 i: q9 T7 H( g# E8 p3 n& q* @6 x     CJNE A,#09H,N5  ;快倒键4 S3 v6 D7 k; @
     MOV DPTR,#RWD
/ i2 C- A' p. _/ f: I     ACALL SENDA% X! h; M! g) v' C8 Z) S! ?  d
N5:2 O" i: [7 L) C% W% T6 l4 y
      CJNE A,#0AH,N6  ;置零键; u3 z1 W5 z0 r4 L6 ^
      MOV DPTR,#RTM* R' c8 {- Y8 Y( {+ P
     ACALL SENDA
) J8 ?$ r! N1 r5 e8 b' hN6:
1 D* E. j5 C1 {- k( @8 r7 W( @) f     CJNE A,#0CH,N7  ;定位到零键
3 v6 \% }" Z& z! ~2 ^     MOV DPTR,#LZA3 X# ~: m. D+ n1 W! `
     ACALL SENDA5 [1 J7 Z9 j3 Q! e
N7:
6 \: z  i* [, N3 }6 B     AJMP AA2 H$ Q6 ]3 L' {5 M" Z3 s/ x
SENDA:
% J% J% p) \0 y; B9 y  E     CLR A
1 x+ x3 O) n% c+ b$ V     MOVC A,@A+DPTR
9 P! B7 j4 v6 ~! t. Z     CJNE A,#'$',SENDB5 A5 O5 Q& }6 Y, t( @
     AJMP SENDC# v3 ^8 ?3 `9 L! X/ {
SENDB:1 w/ t: G) t+ q; P9 K7 u9 [3 n5 |
     MOV SBUF,A0 m% h  f+ J, q) c% S, G* V% p( j9 {
     JNB TI,$
8 Z8 S) A, _4 u     CLR TI# Z1 {' b% I; Y7 G
     INC DPTR7 }- F5 @' G& u: T
     AJMP SENDA
9 S' h9 i) J8 X  ~  p7 ySENDC:
5 |' C5 c- C: w0 Q" W  x     RET" B9 d5 H# b! p, G8 d/ ^
  P8 M; K/ H8 `& D
PLY:  db "PLY ",0dh,0ah,'$'
0 w8 Y7 p& F2 L6 K5 m! r2 {STP:  db "STP ",0dh,0ah,'$'5 t5 V! [& p% V. F1 @
FWD:  db "FWD ",0dh,0ah,'$'* h. H" C6 x6 `& Z
RWD:  db "RWD ",0dh,0ah,'$'
" t# v- }+ Q% Y: D2 FRTM:  db "RTM ",0dh,0ah,'$'
# S, R5 n0 p$ n' h" ~+ v3 b+ w  oLZA:  db "LZA ",0dh,0ah,'$'
2 i4 ^7 k5 _& X0 VREP:  db "REP F ",0dh,0ah,'$'
: ]0 n* |- w% u, V4 N% Y1 F8 D7 @& J
: n6 a! D+ B6 r- e: V( U6 j+ J% pYS1:
: w" A5 n% l% H7 K  d     MOV R4,#20
+ K2 f: u9 Z/ }0 o0 ~  R% w6 a, eD1:/ d  V( U, ]$ c& B7 x, Z+ E
     MOV R5,#209 M) v7 B4 u0 K+ M# n
     DJNZ R5,$, X7 p) E. `2 o; @3 o. d8 c5 ^  l
     DJNZ R4,D1
" f8 |  C3 V  D) b     RET9 `- H+ K2 r7 s, |2 J
4 K/ p; G' l* E
YS2:
- G& P6 Z* }/ m1 Q     MOV R4,#108 B0 J( h: ]) w% g" d4 e( y
D2:3 g  ^, n' x( Y
     MOV R5,#2354 U$ M" e, F+ U
     DJNZ R5,$, j: ~: Q  w- \' ?/ s+ w- a
     DJNZ R4,D22 j# a5 p  F- y) `' I
     RET! O% e( L5 S0 g9 L7 S; B3 F* L4 Y
# |" s3 g4 d4 ^3 g0 M  o/ P8 X
YS3:
8 ?8 p7 w; P9 ^" I) _* X$ q. x     MOV R4,#2
! P) C* r1 X# `! e4 {; w! vD3:: W% n2 |; ^, p
     MOV R5,#248
- I) z* Q! m" k. Q7 ~4 e1 ^0 t3 d     DJNZ R5,$
& H2 Y$ f  v4 c- q* v! W3 t     DJNZ R4,D3
) w2 `3 s' G, S/ |     RET! B! S) A! Q2 c! d( L# k; X5 x4 o
* q( ^& y1 E( r
YS4:: I/ `. n9 [5 b- h2 ^
     MOV R4,#2001 J; M0 N5 g6 F' E/ p
D4:* ~4 l7 ]5 t1 B+ ~, {! J0 G% ?" \6 H2 t
     MOV R5,#248
2 ]# \3 |0 w4 Z! \8 D3 @     DJNZ R5,$
$ [& d# Q& V/ ?6 B, q; K1 y: U     DJNZ R4,D3; {+ q( e  O, t" q3 K# E3 U
     RET' @) c1 g9 l% J) @3 K2 {
     END4 O7 @* P# F4 M  e( F$ b

& t. O) y9 A; _有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。  t. }. D6 M- p
是不是很惬意,嗯!
/ ?# S% N  b" l" ~% J  z# t/ }

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
" B; l, N6 p  J! G YK 005.JPG   J2 K) ]+ m7 s: 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 | 显示全部楼层
洋为中用,真棒!我得试验下* S# J/ r/ }2 p* N# d
发表于 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
" Z# [) ~5 ]. P7 j2 R- l最终的样子,有点简陋哈!

3 K* k0 a, M/ K! V4 @这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-6-18 02:04 , Processed in 0.165624 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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