收藏本站

开盘机音响技术网

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

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

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

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

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

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ( ~  a1 T0 g8 A+ d$ g# Q
$ q9 p3 a) X4 a8 Y
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。  t' s' V5 H* ?8 o
9 o# u6 n0 P  B4 r3 d% B/ B) S# {  O
说明:
# s  ^- [# s. X8 j1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;% z4 W  e4 ]  j, K: a% U' r! K
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;- X: y. D9 J& i+ y- A
* v& `$ n( u1 \5 V5 l: h/ L
一、基本思路1 M- r! U* s& c5 `! H5 }$ y4 `& x
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。5 P- {. e0 w6 Q+ F, e/ D

7 ~9 C' F, t9 o# b" N( |二、红外遥控器& g; m( w0 f) K- J" ~' B
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
* r" }3 [7 W1 |9 c Apple-Remote.jpg
9 Z! _; m2 S9 d4 E好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。  Q% U' `* N$ V: ?/ t. t) H
Apple-Remote - 副本.jpg + V4 f7 k# W! Q
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
: n' j6 }# C3 V$ P. A9 i Apple-Remote - 副本.jpg
# y) J$ g. n) }
2 H& B9 [3 }+ w: O三、红外编码% Z3 C. W9 p0 ]* J
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。" `7 j1 i6 B/ f2 z6 a
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。+ U2 |; T; G7 R2 Z' u
后16位为控制码,主要用于实施具体的控制。
: X" E- L' ]- U3 g9 N这16位中高8位和低8位互为反码,以提高可靠度。1 ^/ T% d1 z0 D  W7 O* ~

/ t' Q% F0 R5 G+ n以播放为例,其编码如下:
7 c$ L3 W# b  Q+ N4 n6 \+ o00000000 00000000 01011100 00000000
9 _# U2 m6 n" N& b, Z7 K, X' J4 M+ {9 e3 J2 f
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。, c9 E; P( F* ~
( o, Q. o' Q/ \) z' y/ x0 ]
四、单片机系统
( }; T  H( a' b! }& e
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
( [, b8 {$ l& k/ y2 b1 i, v c51.png 2 U$ b/ `6 _# q4 q
# ]# F2 r7 [( w4 Z- `, U; N
电路很简单,功能如下:
; I$ S2 o6 I; X% {4 d  W& d1、一个AT89S52单片机作为核心;9 s1 J' A$ S1 S2 ~+ X
2、一个TL1838为红外接收头直接串行输出数据信号;2 B3 c0 ~- y. X. T7 A- D' D* l
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;; [3 \) }. g! F- V5 ~
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。5 ~- c0 P. t; z3 {5 E% D

' Y6 X2 d9 u+ S/ a3 p! m/ c" J! G6 }关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
3 t$ M$ Q+ ]+ e6 s1 E2 \0 k
! y9 ~. @- K. K* M* g5 c
- C5 y4 A' v5 p7 \五、控制软件. n7 i* J6 I+ e1 y4 k6 f3 W% |$ H
控制软件用汇编语言写,源程序如下:
) y/ I! @4 G7 ?$ h     ORG 00H
9 u: x/ K3 y) w8 G. q5 y     LJMP MAIN( y1 ?: f* f; g6 @! w
     ORG 30H* q3 [' ]1 q9 `  |: D2 R
MAIN:
( j3 v. X3 P4 U' b; c+ L) s     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体), a6 Q! T+ J6 j9 l
     MOV TMOD,#22H  ;22H! ?9 I& E$ n: z5 t5 u( d" m
     MOV SCON,#40H  ;40H* j) {: t5 g8 E) w: ?
     MOV TH1,#0FAH  ;F3H
; D. \( X2 c1 U9 Z# G     MOV PCON,#80H
! M" v, @4 e( {! d     SETB TR1- A7 A! {- a! Y. ~# i
START:- J0 K( Q& |. J! z! A$ f
     JB P3.7,$ ;遥控信号处理5 W, g: X1 a, \/ {
SB:
1 T/ F9 z% `( E' R) N9 w     MOV R4,#8   
$ x8 J$ m* E4 h4 t" ~4 o3 SSBA:
. M8 ~, I/ h! W) a" ~9 ^+ j     MOV R5,#250
4 V% B$ Z4 \% S* b6 o$ }6 nSBB:" x* f9 D, |7 T( r4 _
     JB P3.7,SXB19 z4 K* }; y# ^1 k# E& G* T( ~6 [
     DJNZ R5,SBB
$ [3 p3 [- I7 Q( b5 M     DJNZ R4,SBA$ H8 E) K: g: x
     MOV R4,#2
0 }' Y) [+ n$ o3 p     JMP SBC
7 I" J/ ]- k4 E& o% |SXB1:
- ?3 k  Z) @- I; j2 g     MOV R5,#59 p7 h2 N# Q( G6 @4 [9 s! a" G
SXB2:              
, x8 b5 [; G+ D+ z, D     JNB P3.7,SBB) g) K# k( N" z8 \' k1 v9 T
     DJNZ R5,SXB2* x6 h& A) u. D, J+ v: W5 o
     JMP START
; t/ ?' O2 p# U, XSBC:5 W- z  D6 c6 y! d, |* B# |
     MOV R5,#250
% Z/ Y: c) `$ cSB1:
- w# X5 B3 s) j1 s0 R     JB P3.7,SB2    F0 x" o% ^- r9 o9 x$ B; }
     DJNZ R5,SB19 ~- a: T' T$ U! B' c& T+ F
DJNZ R4,SBC
% C: z/ X0 T/ c  s     JMP START% ~, S& S) j% Z* h" C
SB2:                 . i. a9 [, z2 h5 J5 o0 O+ u
     MOV R5,#5
" B1 D2 P5 p, S( ]- qSB2_A:8 o+ A9 i' h" w
     JNB P3.7,SB1
4 t: d( V1 ^3 M7 G     DJNZ R5,SB2_A
& a9 W9 j6 Y# l. I' o     MOV R4,#3) e- n0 S+ l" N- d" R2 E
SB2_1:
- z0 V6 n/ h. y& a/ J! J     MOV R5,#250: g3 ]- W: f! Q, U3 t& W1 b
SB3:                  
8 A8 ~( p6 Z. }! j! W' [9 p3 `1 [     JNB P3.7,SXC
( J1 @' ^& Y3 k0 i0 v5 p     DJNZ R5,SB37 `+ V' w$ }4 r
     DJNZ R4,SB2_1
- s1 Z2 X% C) b6 |7 D     MOV R4,#23 }4 V0 z7 T3 F0 I
     JMP SB3_1
% k- R: }% u, q$ B6 U( W+ `SXC:                  
! R7 _& b( ~. E! c' z4 N     MOV R5,#5# ]+ a+ U' ~% }$ I4 \3 J4 r1 Q
SXC1:
, ]6 l% s' |9 u/ n     JB P3.7,SB3/ \' j0 ?1 \& `6 w
     DJNZ R5,SXC1
4 b. H5 g$ y1 r" G; k     JMP START- B3 y6 L6 w4 s: P' a7 |7 i6 p8 H
SB3_1:                 # P( W7 @, m% a! M5 a
     MOV R5,#250
+ L( V4 e. {+ a2 I1 C3 T/ ]" CSB3_2:* t7 b+ B9 Q  b. P
     JNB P3.7,SB40 b4 i2 A7 Y9 ^# _1 R2 m" Q* a
     DJNZ R5,SB3_2; J5 O: L3 j" N0 k
     DJNZ R4,SB3_1
5 B. z3 `3 o, m     JMP START% {5 @. H  d! q# F7 M
SB4:                    
* f6 {9 ?' u# Y% r' p& z0 K     MOV R5,#5
$ F2 ]" |% G+ t. W. I+ {, r) qSB4_1:9 b% I" F7 r3 G: u
     JB P3.7,SB3_21 l9 N3 q0 O2 i4 Y
     DJNZ R5,SB4_14 Q$ @$ p/ _% ?, {
     MOV R1,#1AH  ! K8 b; V; x) ]: @; j& K
     MOV R2,#4
- w0 ?! J( F, T2 o3 f- i0 e0 ^PP:  MOV R3,#8
, U" H) o4 A! [  PJJJJ:8 X9 b. V6 C( W3 M
     MOV R5,#250
3 U# z" f4 j7 J  P" J" c# N6 kJJJJ2:               
% S7 q" v  v* _! X$ A: t8 h     JB P3.7,JJJJ30 |2 N% h+ w2 H0 O2 J1 R
     DJNZ R5,JJJJ2
# @/ t1 m2 ?5 D/ _/ M3 g) A( k     JMP START' o$ w8 r" x0 e( c" m3 ]: V
JJJJ3:
8 m0 E5 Z6 ~6 S2 i3 K     LCALL YS1  . l  {+ B8 e9 m) n. m. C
     MOV C,P3.7   5 e2 N  {$ Z4 P1 @: D
     JNC UUU        I" S1 }2 }; F* d+ k7 i* F
     MOV R5,#250
8 i" n1 m" ^7 S6 o- Z( ]  LJJJJ4:+ \! t1 o+ u5 x) y- q( q
     JNB P3.7,UUU- A4 o. J6 Z, e8 B. p  u
    NOP! m) L) j4 V3 t1 s. F% [
     DJNZ R5,JJJJ4; [- b( y7 k: e( u& T% u7 y4 b% E; @
     JMP START
9 \2 S6 Y4 d' _# o! f- EUUU: MOV A,@R1  
( [% q1 d; s1 R0 L0 R* Y5 c# L/ M     RRC A             ~5 p2 k  l: D1 r: J
     MOV @R1,A      
0 G$ }& Q( ?9 h' f! H     DJNZ R3,JJJJ   
+ |& ^- ~4 C7 A) Q0 ]. L     INC R1       ; X$ N$ _) {0 x* ~7 k% P, z
     DJNZ R2,PP   
  f5 L+ a2 N0 c5 F) N* q' K( ~; O9 B% Q0 Z% L1 |% [6 L
     MOV A,1AH 0 A6 O7 n# P0 }4 i8 Y, o
     XRL A,#11101110B
# |% U6 @/ n) b8 Z( }( l9 |% j! E& `  G     JNZ EXIT - O# d4 H1 Z1 A  ?. L/ Q
     MOV A,1BH 2 S- X, |# o* ~0 `
     XRL A,#10000111B
- d' V' C/ t6 }9 O1 L2 G     JNZ EXIT
) |+ c: N& H8 s6 p9 Q1 N( s0 [. Q     LCALL YS3
3 p* Y( u3 O2 z* @0 e% @% \     MOV A,1DH ' F2 s3 e2 R* i( I6 N9 o" Q3 H
     CJNE A,#10111100B,EXIT. _1 c$ s5 B$ N$ s' O  f1 w
     LCALL YS3: a0 r6 r9 f. {4 v) B
     CLR P2.6  
5 p& K9 Z9 M' t- o     AJMP BIJIAO
( r) h' i% Q6 {4 G+ p; V! B! l# v) a   , g) s  x" R$ i# ]: N6 J
AA: 0 Q1 D+ C: `! E( {
     MOV R1,#25. l4 z8 e* q( P
XX:
. Y, @0 S/ o$ L$ u4 b& G     ACALL YS2+ ~. o; ~2 i( r. C0 t3 s
     JNB P3.7,HH
% }7 b8 k2 h! S! }     DJNZ R1,XX
1 G  n. f- M" J6 R. _" ]2 pEXIT:   
7 V2 r! _3 F5 _6 b- {. o- E& }     AJMP START
% |8 }' D; u. h5 {" ?   , d; O: n  G2 Q) e8 e: N
HH:+ E% d4 m) B: P0 c8 b, E' H
     MOV R6,#4
8 a  n2 Y$ F9 Y2 |1 xS: 5 e' ?* y1 D$ N) C7 A
     ACALL YS1
7 z6 ]. C8 O8 Q3 u     JB P3.7,EXIT ! ?) E/ I- q5 Z2 B* i  N9 @& M: I/ I; _
     DJNZ R6, S 2 O& o8 H- ?  c7 Z
     JNB P3.7, $  * B) M8 v; W. _  u! v5 G$ r6 Q" l
     LCALL YS3* ^5 c6 h9 g1 I1 Q) y. B) o7 Y5 T
     AJMP AA; z. T3 z$ ]! G
BIJIAO:
, V. V& N: }: l: h2 ~4 `. I     MOV A,1CH
3 @7 r# x, A- g9 Q2 l& F     CJNE A,#03H,N1  
( Y5 M  r  N' _+ I7 F     MOV P0,#7EH    - ?1 X$ @' D9 K! {
                      3 U# I% P6 y% P' }8 K
;处理STUDERV录音机控制码: g1 O# Y! Y& m5 y  B
N1:
8 e6 D4 p+ k) [  \     CJNE A,#5FH,N2 ;播放键$ a/ f+ K; Z1 q/ j/ x8 T& E: R% A
     MOV DPTR,#REP
3 }/ N& f- @& i3 E5 O  z/ T. X     ACALL SENDA
( E5 U( M0 t7 p! T2 `" p* v) q6 M     ACALL YS4
/ Q5 S7 X2 ~3 y5 |6 w8 R     MOV DPTR,#PLY# F% Q0 |) `7 T+ j
     ACALL SENDA
2 x# l) u/ G* zN2:
* ^1 L7 L3 r, J1 |: W# e     CJNE A,#5CH,N3  ;停止键9 o4 V/ j$ U; L! [3 ^. p" U
     MOV DPTR,#STP
1 z- J& m* S- \: T# B( ^     ACALL SENDA
- I- h( L& }! o* k2 p5 W7 T; W7 N) lN3:
, x6 j0 x# Q( t: D     CJNE A,#06H,N4 ;快进键
: t) I+ S- o. ?  Y, e* j: D     MOV DPTR,#FWD
0 N* K/ y: `$ b& J9 ?2 Q     ACALL SENDA
$ O$ R$ T& B# S4 ~/ iN4:! O) C, u% W9 P% I" K
     CJNE A,#09H,N5  ;快倒键
9 L. U5 G6 z; I! V$ d     MOV DPTR,#RWD0 D; W; V8 a/ Y* m8 D
     ACALL SENDA
/ s$ d+ c& `0 LN5:
. d. i& E$ J' j) \/ q+ n* Q      CJNE A,#0AH,N6  ;置零键) C0 B/ @1 K- o3 g* f1 ^" m9 C" h
      MOV DPTR,#RTM# ?, o5 M' N5 |  K
     ACALL SENDA& z  y( _( n, f2 @% v: G
N6:7 ?; p0 S; c, G
     CJNE A,#0CH,N7  ;定位到零键
1 |8 d3 q' v0 J& S2 U     MOV DPTR,#LZA  c0 c1 K1 D6 J8 }
     ACALL SENDA
" }: W' S2 y$ w2 y, \+ e: G& k. DN7:
/ @+ t, J/ t# E+ @; Z& M     AJMP AA2 q4 L6 b; _: f; b
SENDA:
; L: @" y: i/ T8 e1 N- G8 p     CLR A+ F# o2 }& \1 _
     MOVC A,@A+DPTR
' U" v( o- o9 m     CJNE A,#'$',SENDB
: E( f% o) A/ b# I! X6 E/ r     AJMP SENDC. a) m8 X0 r7 b, N
SENDB:# i' k, u: w/ Y4 v9 l1 Z
     MOV SBUF,A2 `  k8 ?) @! ?
     JNB TI,$
4 f, T: N8 y; ?' ?: @+ l- M     CLR TI
9 I9 S* v, D* u" x7 c7 J     INC DPTR  G( _6 _6 a  @; H
     AJMP SENDA  I. ^" |' G0 F0 X7 ]0 H- }# ?
SENDC:2 |- C+ U; j* Z" b
     RET$ s6 T3 w. Z  \) j
) o* `% W' U1 l% o) Y
PLY:  db "PLY ",0dh,0ah,'$'+ W- ~! |& z3 e4 W9 @! w. v* h. \) Z8 Q
STP:  db "STP ",0dh,0ah,'$'
( f' e9 k, C& Y; A- kFWD:  db "FWD ",0dh,0ah,'$'
1 S' |% m: f8 [  J7 URWD:  db "RWD ",0dh,0ah,'$'
# m$ R+ {5 F* ~) ^' Q6 Q  G2 jRTM:  db "RTM ",0dh,0ah,'$'+ `6 d- l; c7 ?
LZA:  db "LZA ",0dh,0ah,'$'
6 ^8 H, U! e% Y. \" sREP:  db "REP F ",0dh,0ah,'$'
+ Z! G5 G% _# C4 o& T9 p. o
' T& e7 ^: A* g, B: n& k7 PYS1:* v! ?' x7 i4 z! P8 e( `5 `0 e
     MOV R4,#20. w3 e3 t6 K6 D: ]8 I3 N' [3 c
D1:2 R3 l3 l/ \& ^( {
     MOV R5,#20
# h( C8 M" |8 y3 O8 [" N     DJNZ R5,$
$ l) r7 f* P: B" Z# J7 R     DJNZ R4,D1& z* O2 R8 v, p) \8 r9 z9 [: J
     RET1 p( m' S1 J! `" Z/ b
8 i  H4 v% X+ _( {
YS2:" a. }0 z- i5 ]( Z) S0 ~
     MOV R4,#10( Y( r. G  w+ d
D2:
& U4 W6 b1 F. V; _( l6 p     MOV R5,#235
3 S! K1 c; v2 Z1 _5 L/ e     DJNZ R5,$  e3 [4 F  i/ ^, i/ q
     DJNZ R4,D2
7 n4 |5 Q- Y+ v! M     RET
1 H, G% J0 B5 R0 S) T2 @6 J- W5 S' `) k
5 x5 H& y- {/ VYS3:' `( X4 ~. v) ^! y
     MOV R4,#2( s; u; U5 H% Y! Y
D3:0 b2 ]8 ~% I) a4 x# A1 c5 h6 m
     MOV R5,#248
" D: X6 D$ N" W/ `, s8 r     DJNZ R5,$
, l+ J0 N# C& P5 S/ X     DJNZ R4,D3: h2 m, V' W5 ~  V: w# [
     RET* w8 C0 X0 |9 j3 V% r
& C" a% M+ Q+ O* [
YS4:" x$ q- y9 I* T3 q' @9 a
     MOV R4,#200
3 r: x" I+ z6 R1 O" e2 N; N5 GD4:* I5 f% K: \* ^( n8 S, ^! Y6 r
     MOV R5,#248
) y2 N+ P" a7 W5 f2 _- N     DJNZ R5,$4 Z# f* [# l. B1 Y  W# c0 x8 y# h
     DJNZ R4,D38 j# j  _' j  o% m) y
     RET: R# k# b7 q7 M$ g- Z
     END
" f9 P( i  D& w2 U/ P5 [
# }1 o: M/ C: Z2 }# |有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
1 l0 [, X! P' J' C3 s! L- \% z是不是很惬意,嗯!
, a0 m8 b( z+ C& w5 B  `2 ^5 n2 Z3 |

评分

参与人数 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 | 显示全部楼层
最终的样子,有点简陋哈!
/ h: ]9 D2 I- u* l- |" W YK 005.JPG 7 Z  M3 R( h' M7 h  G4 G3 q! r: ~
发表于 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 | 显示全部楼层
洋为中用,真棒!我得试验下
. ?7 l8 S6 `% K' @" w. G6 M6 J6 J
发表于 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
6 v8 V: X- M) |& P0 }最终的样子,有点简陋哈!
* R5 S* o; \- y' K( S' j
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-12-6 00:56 , Processed in 0.085651 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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