赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
* V+ D. y/ N5 |2 e* O$ k; K
' U! z8 U3 H$ O6 [2 }* f本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。1 h5 }& D% d0 J- F$ P/ s
0 m; K$ ?3 g5 f5 I说明:
& J% _/ d1 L& ?" m" v+ u1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
2 N' d. d4 y9 d' q2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;4 x0 c1 c/ @/ P; }
6 F' W0 i7 h, ~. r一、基本思路
7 T' D- p& F8 \: t8 M4 g* A+ B7 f使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
$ | l7 _, b" O% W- t; @! W8 i# T! y$ |: S! p( r$ O
二、红外遥控器& c' h J+ B6 o3 d: o, a2 H3 T
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* I$ e, ^2 I5 h% `# l
! B3 l; c* w; c: z: @+ e7 }好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
+ E& u7 E( R% }5 M# G) e
, t4 S8 e# x, ]0 {* E6 `在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:3 x9 Z2 [: r8 }4 R: C6 B# X3 U p
+ E) h6 D6 j% `9 @
" K$ W' V( B( v! K1 Z三、红外编码5 H7 Q7 y: q: K* k. k/ V
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。: F5 T9 ]2 D6 o/ Z, e/ ?
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。% w5 T+ M6 y: B* d$ x9 [ F
后16位为控制码,主要用于实施具体的控制。8 \6 F3 O7 P- Z; d; f1 f
这16位中高8位和低8位互为反码,以提高可靠度。
' o9 i) J3 g1 l! h' k% U& u3 k( G3 t9 T" b2 T: K6 B2 T
以播放为例,其编码如下:
# ~- V4 d4 ?7 G/ j8 y: L00000000 00000000 01011100 00000000
! m8 n0 @5 r" @: O) f: F1 e- S7 r' }0 R) e: U9 K8 i
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。& d9 N. _. x* s7 K0 D, ]/ V% t
, u* I( ?+ _8 f9 E$ U$ Q
四、单片机系统
6 O2 R& c8 ~" [& V8 t. o. }这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
! g2 T7 I1 F$ I; v* r
/ `+ C$ a- n! g) |" A, d
3 R/ M7 h' w; M5 I7 ^" u1 J+ `4 K0 J电路很简单,功能如下:3 z! X0 r5 g( n) @/ F
1、一个AT89S52单片机作为核心;: l! V ]9 f3 [0 s z: ^
2、一个TL1838为红外接收头直接串行输出数据信号;3 C0 D" I) l7 `9 Z" v
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;: h% G9 B( _1 h- ?5 {1 E
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
0 ]0 B9 \& A! i- ~1 \ 1 K; E7 ?- `$ {/ }
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。( t: B% M" V }4 G: ~# a% G
8 S. N) I+ E- c7 e) R" F0 T) x/ q! M) E7 q5 I$ `
五、控制软件
' p, r) ^3 r1 i- V3 k控制软件用汇编语言写,源程序如下:: v# A5 A3 H& O
ORG 00H
; b8 n' T1 O" l D n LJMP MAIN3 v, s- g/ u' J( `9 L5 ?: z/ ~4 I
ORG 30H
* \, c9 l! y: H. `" p, nMAIN:& u& Z4 k" E6 \6 e: v1 O8 F# s) Z
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
1 ]+ y3 w' u' |+ M+ K6 h) r MOV TMOD,#22H ;22H) g+ g. s/ H: _2 @1 J8 S+ ^
MOV SCON,#40H ;40H1 Y" |$ `7 Z$ R/ n1 ~
MOV TH1,#0FAH ;F3H1 L5 z% ?/ o$ v9 d! K
MOV PCON,#80H Q6 l5 `7 t9 a3 H
SETB TR15 j6 [( @: B& F: l. Y* b
START:9 g" w8 [( y: E9 V7 m$ m
JB P3.7,$ ;遥控信号处理
( \+ e) n/ B2 Y2 {( P+ l6 zSB:
5 T0 O' p$ }( G+ {. m MOV R4,#8
! ]; G2 Y4 _# B* ~; hSBA:
1 d# k; w- t B& a# V" [/ b% t: s MOV R5,#2501 @* w( J! a" |2 l
SBB:
# u3 q: j2 W" A$ q' U2 K JB P3.7,SXB1! w' }2 n$ S- e" {3 T) e, U1 U- ^
DJNZ R5,SBB
/ o( s: X; ?; G* X! @ DJNZ R4,SBA/ u: z$ T/ r6 ^3 V
MOV R4,#2; D, T" Z2 L# S3 S$ {6 a
JMP SBC1 G7 U8 X* q7 {* W8 }; r
SXB1:
3 J# [! e3 x) t+ H0 [. m. T O* e MOV R5,#5$ _7 N3 Q; _! p, L2 m6 R8 O4 U
SXB2:
* _1 v T3 I* [) v2 w( Z5 N" x# w ] JNB P3.7,SBB, A9 }! G4 Y- F- g! }1 P) ?1 G4 m
DJNZ R5,SXB23 a h& z1 V. Y8 K# o0 {* H5 a
JMP START, s, u* M: V1 ^! \4 q+ [% s- H
SBC:
! z9 V5 [" p# `. p" F9 T3 d: o MOV R5,#250
0 T9 W8 O& X! uSB1:' l e4 a* b* s( K7 U: j4 q- r5 |& ]
JB P3.7,SB2
; g. R. X, A; b8 U5 \ DJNZ R5,SB1; r6 O' U& X$ h. w' e
DJNZ R4,SBC
, F1 C: p% U9 F. _9 X JMP START- U/ ?) Q7 q' `4 c* a5 {) c
SB2: 6 x% s, R9 B4 {- c
MOV R5,#5* H& g* C! O+ F- ?" g2 V
SB2_A:) D/ H/ f' T) g2 F
JNB P3.7,SB1
`+ N- U1 d! h4 f# f2 } r: q7 F* x DJNZ R5,SB2_A4 p- i# t8 D. `1 E" g' g" T) G
MOV R4,#3# _& G' K! l X5 }5 t' g
SB2_1: u5 q+ ~0 g) o6 i: ~9 p# U
MOV R5,#250/ G; I& F2 m* h0 X9 M4 ]8 ~4 w- h
SB3: 3 F8 c8 x9 |3 o
JNB P3.7,SXC" l& ~: M- v9 n
DJNZ R5,SB3
0 F$ _9 y* w& d) t" j7 ?0 q% W DJNZ R4,SB2_1
6 o- u1 G2 I* N8 e, @. f4 D4 `4 } MOV R4,#2
) G4 c5 k# u' B4 ?. q JMP SB3_1
9 u: ]; x$ s4 b/ ISXC:
0 `) R4 g" H0 O- J MOV R5,#57 H: w! w% }: k1 q) L. }7 J7 \
SXC1:
5 q2 w( p) J$ z' [) P( m JB P3.7,SB3
7 a7 Q9 h6 B$ R) O8 z DJNZ R5,SXC1$ _3 x5 B s) X1 ], i* h$ c6 J
JMP START+ E$ ]' E: J' Z! f/ d5 u
SB3_1: 0 R6 w) K7 i! E4 ]% w& `
MOV R5,#250
. U9 x3 v" s, ]2 h5 xSB3_2:4 x3 v3 V0 v6 [0 s4 g2 T) @
JNB P3.7,SB4
( ^* V7 g! Q2 |) b1 t1 | DJNZ R5,SB3_2
s& O# X- o' C% `3 @, ]0 f DJNZ R4,SB3_1& R% S* U! e, z5 ]* H: W0 r; m
JMP START7 D- ?) N7 j9 s3 [( R$ X& e
SB4:
/ ?7 ]- k8 f0 r! n; t MOV R5,#5' D3 O1 L K% t5 Y
SB4_1:
6 z6 [6 h C9 G* S+ p JB P3.7,SB3_2: ?. T W2 `# D2 S, v: E% y
DJNZ R5,SB4_1; X1 m s( u& g& M' u
MOV R1,#1AH & {" [: |4 D! `. S& Q$ A. f' Y! C2 F
MOV R2,#4
2 K! G* c7 M' _PP: MOV R3,#8
8 N R2 y( G/ n; l) ~- D. zJJJJ:
" M7 T% p, U, g+ V2 p' ^ MOV R5,#250
, f: ], p6 i- b/ v0 G; h/ Q$ QJJJJ2:
7 [& y/ \6 f9 G3 X" ^' B0 ? JB P3.7,JJJJ33 a" v. k: h( | o! F; k
DJNZ R5,JJJJ2
9 d2 {; h: o8 O1 a JMP START; Q% B6 N( x2 }1 t7 Y# X8 e
JJJJ3:( T" m. ]# ~& V1 j& \) f
LCALL YS1
5 ~5 V& X+ |8 q2 }( F" z MOV C,P3.7
7 W( R7 w8 e: p+ e& E4 U5 V JNC UUU & S6 f. K, h. B1 W. S( F
MOV R5,#250
) b5 B" C7 [- m" _2 u `JJJJ4:% B& [! _2 |: g( Q8 ]' \( [( u U" B
JNB P3.7,UUU. U! O @! ~4 ^! p1 A; D$ q
NOP, w# w, F0 g: ]. h
DJNZ R5,JJJJ4
" @+ N# q9 g3 ]# ?$ z0 T2 b, Y, b6 J JMP START8 U* G$ f1 R: F( J7 I" f, n
UUU: MOV A,@R1
' t- s4 P+ P& i' P5 D9 r RRC A 1 S6 |5 b. Q/ _8 U$ b$ \
MOV @R1,A
6 ?( w: c2 d, } H8 O; b DJNZ R3,JJJJ 1 ?3 p1 ?; Z5 ?! D/ e; n
INC R1 ) U' T2 b3 T0 t# u
DJNZ R2,PP " `, z8 j7 r* @
( |; T; m0 ~7 |/ Z
MOV A,1AH " p8 ]4 `8 j. R/ `
XRL A,#11101110B
3 V% |( A% a" [ JNZ EXIT ! M, V- g% ]" j1 c* X4 _
MOV A,1BH
/ @; \. n& ~ e& U% B1 ~ XRL A,#10000111B
X8 v: j: L: p; ?0 U3 |, T6 F. m6 z JNZ EXIT s# g; `9 d1 H& ^# w I
LCALL YS3( U) V3 q1 I4 O) z. P
MOV A,1DH
0 R0 y5 a2 p& Q$ ~ CJNE A,#10111100B,EXIT
% v# V8 \% H4 x# R6 u% a LCALL YS3: |( F2 N! W! e+ F8 t
CLR P2.6 , Q" @* C. }3 |( I, H
AJMP BIJIAO
6 r# l' p' |1 Q! B
# Z* Z; _% e B% q/ ~AA: $ [& P9 w" x# A$ S
MOV R1,#25
! d* x" D4 J; x/ tXX:
9 W* k! M+ R+ S8 `/ g# F# c" a ACALL YS2
" s: x- P1 V q% E, @ JNB P3.7,HH + w% J( x" g9 a7 a7 @
DJNZ R1,XX
a5 |) |& y9 aEXIT: " T6 r1 p, V' t& T% D$ A; ?
AJMP START
# C, Q$ n4 w; d2 ^2 O9 o
/ b5 m& r: w9 d2 MHH:6 y$ O/ V! R7 s* r1 D. V7 s
MOV R6,#41 C( N' I) U0 } W" m
S: 8 Q% l, z% i4 n
ACALL YS1 9 R# \$ o: E1 _$ U5 |/ t
JB P3.7,EXIT ) P" R4 \& B! d. v0 g ~8 h
DJNZ R6, S 8 e6 i) y& m9 @. C8 h# Q( U- E1 C
JNB P3.7, $
: g: ]; S! p/ y% n2 n2 | LCALL YS3
2 a d5 x5 V, k% m2 w' x) ~& E1 g AJMP AA! F8 Q: w9 Y# i3 [2 ]/ ?; y' d
BIJIAO:
$ `; N) P2 ?" H5 l; X MOV A,1CH
$ e7 M4 f, y3 c7 j CJNE A,#03H,N1
! J5 e7 g1 A" M5 ] MOV P0,#7EH , r' \# \. Y0 a- D1 F; P
0 h8 H4 F; b; k( w, ^6 s; o8 e: ? ;处理STUDERV录音机控制码1 h* l% O3 y& w& G* s3 X/ }
N1: ) Z. y1 c5 v5 n% V
CJNE A,#5FH,N2 ;播放键5 W: `6 E- D% f( M* ~; c
MOV DPTR,#REP `, Q6 J1 C+ m! N1 T
ACALL SENDA
9 o4 |# u' P0 m4 e0 y ACALL YS47 U, t0 E. B* X
MOV DPTR,#PLY4 D* E; i/ k% m: ^
ACALL SENDA, p: Q% ?3 g( d
N2:
+ ?6 u3 |1 r8 @( i' [( h CJNE A,#5CH,N3 ;停止键
9 J: O% E4 K, D/ V- N W, D. M! }; ^ MOV DPTR,#STP& h/ Z. p3 S, C# y
ACALL SENDA
) X! t, Y% I5 A+ }N3:% L! j! I: _/ Z
CJNE A,#06H,N4 ;快进键
8 k& }+ p5 \6 n9 e* x& U5 d MOV DPTR,#FWD* k; n# [$ L p, m! h
ACALL SENDA" U4 K" f* x5 l+ }% h5 Q! h
N4:
! k( t- a' e3 ^; D CJNE A,#09H,N5 ;快倒键$ M; i) p F3 k0 M2 P
MOV DPTR,#RWD1 F0 T& ]5 y( V+ F/ d$ k
ACALL SENDA
8 L% V/ v& B9 s% U! U7 N3 O. i3 L* [- QN5:
1 t) |. S' Z3 _ CJNE A,#0AH,N6 ;置零键1 Z: `% b7 h$ Y- R% ^& ?+ Q
MOV DPTR,#RTM$ H2 }$ O, |% X }, N% B
ACALL SENDA
) Z/ H6 j/ j! |7 s m: O. ^N6:3 Y7 `$ ]% [- j/ Y# _- ~# }
CJNE A,#0CH,N7 ;定位到零键
+ A# v8 z9 r$ u# h1 | T5 Y! `# ^ MOV DPTR,#LZA9 |! H* M0 C1 G; ^/ i2 I' m. R
ACALL SENDA& k5 ]5 N: @; w: S4 O
N7:
& b/ Y3 q" Q- o& \ AJMP AA* ?% e( \2 x7 i1 v8 B. s
SENDA:+ ?, l: f4 @0 S, u6 r" x% Y
CLR A" t% Z6 ?8 K2 l* D5 c9 T; q# c
MOVC A,@A+DPTR/ e$ v" G4 f2 e$ }8 e2 A+ e
CJNE A,#'$',SENDB
* U- F6 Z. k: C) \( | AJMP SENDC$ }5 c7 R6 p! @
SENDB:
2 h2 R. M; C3 C. R/ ?7 k MOV SBUF,A
, N+ b8 v' X9 \$ G# x1 [ JNB TI,$7 l- m8 [+ `& V1 c8 _+ f& j' G! w8 {. m
CLR TI |5 O) i* r% F, q
INC DPTR+ N, m3 k% `6 H6 |
AJMP SENDA
8 p$ U7 g$ m u/ g3 xSENDC:. e# L+ u+ A a% G+ Q) h& p& L
RET
5 [/ Q& k6 s- t4 @$ N3 E- g7 Z; h. p1 A4 r( i6 P! {) Z/ ?0 n
PLY: db "PLY ",0dh,0ah,'$'
8 n* b9 I' o u$ k% nSTP: db "STP ",0dh,0ah,'$') k6 C/ [4 [7 H& C
FWD: db "FWD ",0dh,0ah,'$'/ ~; b) J. e8 B6 V) c
RWD: db "RWD ",0dh,0ah,'$'
/ ]6 r% b- Z. T% w2 ]- U+ SRTM: db "RTM ",0dh,0ah,'$'
. ~# p( R% c5 f8 A9 `LZA: db "LZA ",0dh,0ah,'$'! J6 p$ c! |' N E
REP: db "REP F ",0dh,0ah,'$'
) _& X8 @, w2 A; a& M, E# z/ Y( ^0 w( Z1 y. B1 T: x* I
YS1:
+ N" R* Z, b2 \. O0 ?2 P1 X MOV R4,#209 d. P1 u: w0 e5 B
D1:5 d `, s' w5 ^& U" n) w
MOV R5,#20
2 i, A% b' O7 S9 w- p0 C DJNZ R5,$2 |7 n( v. x3 B2 `8 }
DJNZ R4,D1# V T/ M% [" _2 j
RET
a( D7 g* |: Y% ?) V6 u5 f+ z) a. I
YS2:; a4 l& C# n) I& F
MOV R4,#10. p- t! j9 }: e
D2:
/ n7 c9 s+ M) l, J MOV R5,#235% x ]" K1 t7 h
DJNZ R5,$6 t" Q- c# u' a- J: K
DJNZ R4,D2! S5 X" i, Q* ^9 _! F9 F' \
RET
% ~* k- D/ {0 i$ V* x6 {! _- q9 l+ O6 G* U* {! i1 @$ S
YS3:1 @0 D# |( y$ Z2 l: I
MOV R4,#2
* N7 m' {" P5 ~0 n! j! ED3:7 k. T# ]8 b+ ^( F" ]
MOV R5,#248
3 f9 }/ L7 I8 ]9 E: z2 n DJNZ R5,$* C* c7 K5 s5 b( F7 u0 p% B
DJNZ R4,D3
. ]4 D& m& d7 Z; U RET4 c, c& ?$ ~$ o3 M
0 G( x5 \# w# l5 I5 n+ S
YS4:7 G. q% r! C3 w4 {8 W
MOV R4,#2006 Z* ]. ]& _( v' h
D4:
+ l' ~; }$ n) W' A0 c; u) q& h- e: [ MOV R5,#248* k4 P- a9 q* B/ o) Q
DJNZ R5,$
: O- W; u: W* n# M% R% X DJNZ R4,D35 m+ e4 c r- ]1 H
RET
+ K# ^: {7 p( o! m7 D2 X7 o END
/ T S1 D7 V( c1 X4 ?1 y- Y, h5 y2 K" [% H6 O3 d( G: W
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
; V P$ [- y+ K! H1 _# ]是不是很惬意,嗯!
0 D( p5 c: g7 c8 ^/ J. e) H& l! T |