赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ! r; H" A; {/ {4 m
5 {% a) I6 Y9 a5 T O本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
. u2 l7 Z: Q0 w/ g) d
1 Q4 ]( ]1 J+ A: t' K! V* Z F说明:
& \1 A B5 @/ q3 W0 S- s( r1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;: B2 C% |( n) {, Q0 Q2 Q5 V
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;) X+ L9 L! O. @0 _. u+ {. n3 w, G+ P
+ @- o9 O! n7 [" y4 T- t0 r
一、基本思路) j/ e; G" _5 Z4 @& R _
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
5 B& i" _! v% M0 e! [4 | b5 g- p R- ]7 n
二、红外遥控器
, x& u/ s7 A: p7 u( f( H我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。 O- [- [; ~5 b0 w Q
: B: P7 p& x5 A$ V* U好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。% U- d5 S/ W! U m c, J; d: [; o
3 {% M! S% d6 L
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:$ \* J7 K2 d7 S h. z
( p# D4 F$ b$ D- C9 {) z% G- B7 y+ f; {
三、红外编码" b- s ~ D2 l+ q2 a
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
! j) q/ B8 Q: w& y6 S" v前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
+ \0 L( O& h0 B% T1 b- |后16位为控制码,主要用于实施具体的控制。2 l" V" T7 E5 [1 J7 m
这16位中高8位和低8位互为反码,以提高可靠度。/ i' x Y2 q" i" n, p) ~
( [6 j5 h" ?+ R8 @
以播放为例,其编码如下:
[9 I, D! N7 O' S5 y: K00000000 00000000 01011100 00000000
& v0 Q8 u1 m- z* m# _& D( r5 l1 N0 W, Y9 v5 @0 M
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
2 _ E9 o9 c6 f+ E- k$ d g; Z4 r7 A% Q* Z
四、单片机系统
) h' R2 N. \, E6 f# n这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。. L8 I8 t7 s4 t' K7 A# [5 B2 e0 u
" g8 H% t! ?8 E- ~. g , ?( J* \! U8 s7 J! M1 S$ J
电路很简单,功能如下:
: T0 B$ D' W% `' I- f3 l0 E- b8 x1、一个AT89S52单片机作为核心;
' e/ k: k# D I. A2、一个TL1838为红外接收头直接串行输出数据信号;
) Y: W6 h' o* E: H$ i, \/ Z3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ Z$ v5 D( `, ~: S( |. i" Y4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
' r4 E* K# B: k/ {$ K 2 ~+ q5 O7 O: K. g9 h- w& f
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。% _1 A3 x/ d" T
9 p% S& \4 t: [7 w/ B7 U& Y( C. Y% V2 t% W: I9 r% M
五、控制软件5 e- N2 [! N/ f' `& R% T
控制软件用汇编语言写,源程序如下:
9 Z+ O U3 U7 D% W ORG 00H
* O9 ^8 a0 r$ Y( U9 Q" K) q LJMP MAIN
: U( t: v5 _% h' q, E# D* p" @; c3 Q ORG 30H/ v6 ~) Z, ^/ e
MAIN:
1 f" {! g( F* Q1 \ B MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
' x" T* j% v9 G+ d2 y) P" D MOV TMOD,#22H ;22H1 U) b5 C( y9 c V, i J
MOV SCON,#40H ;40H
- p$ m Y! n2 `& W MOV TH1,#0FAH ;F3H/ \# V" H3 f; r$ D/ W; Q; W. k: \
MOV PCON,#80H
1 b/ Y9 Z+ l) V/ T C( P& |1 x SETB TR1
8 G0 H! W/ ?- s2 w5 ASTART:! H* {; s$ J& V2 M6 {
JB P3.7,$ ;遥控信号处理+ N2 u V; M% i3 A- Y
SB:
& {% U: a B6 k: l/ H MOV R4,#8
; Z4 Q4 ]2 @& W1 t5 B7 G+ b2 CSBA:) n: [) U6 U C. G F l: \, g/ J& K
MOV R5,#250. ~3 x4 {3 G9 \7 n3 f2 K, j
SBB:
5 o% s K3 P) ~( W JB P3.7,SXB1, N$ X" c( F) [# M1 u$ m. v
DJNZ R5,SBB
" a% H7 @) D5 S) s DJNZ R4,SBA
, H7 P1 c5 d% ^: g: q1 E MOV R4,#27 F0 @1 D, x8 {) P4 H* A( A9 S
JMP SBC
8 U& ^ A. R5 q* G! DSXB1:. x0 @6 i; @) G/ v
MOV R5,#5 h2 C/ f2 {( Q
SXB2: " A2 U0 v! R5 ?2 v6 P$ ~
JNB P3.7,SBB; l6 ^' c* j* y& f
DJNZ R5,SXB2: t2 Y2 \/ C# W' [! o! ?, |! [( Y
JMP START7 |0 C1 O; ?: ^9 D, ^
SBC:- b7 [6 |& e8 D' ~
MOV R5,#250
. d/ t' J7 ~ k1 x JSB1:0 z1 H6 @3 J# E' H
JB P3.7,SB2 J, K) n4 @1 [
DJNZ R5,SB12 o, j! @3 d0 ]& E9 |0 S7 f
DJNZ R4,SBC
$ `( @1 e% c1 `+ s+ ]4 A- r/ S JMP START
# Q9 {% F; u2 L; ], P! n* ]SB2:
+ P3 I7 v u* [, ]5 @- y MOV R5,#5
( A' ?8 k3 }% A4 GSB2_A:
6 l5 @/ y, q; {6 ^! M N8 O1 Q; x8 a& K JNB P3.7,SB13 D N- l& a9 Z4 j
DJNZ R5,SB2_A5 j% b. R* T+ L% p
MOV R4,#3
' _& A# p, \" ESB2_1:
# U" f: H( i7 \2 J6 o2 R8 l5 ? MOV R5,#250 Y8 r1 T5 Z+ P
SB3: 2 v% ?% u8 G/ G6 H9 t0 l/ x
JNB P3.7,SXC
2 M Y# U, U9 n7 H( ` DJNZ R5,SB3
2 D: H/ j' q! r' N1 I DJNZ R4,SB2_1/ e! G" b0 Z; |- p
MOV R4,#2
0 M; h" [2 @- y/ F- S JMP SB3_1, f) _: k3 P1 Z. U2 O$ N
SXC:
2 C! B! L/ h1 Y& w MOV R5,#55 o6 P- [# W; n0 m3 v
SXC1:& Z. B& c* \0 N" E
JB P3.7,SB3
" {" r. x7 d+ B DJNZ R5,SXC1* O2 K) C, d B, S, x* N
JMP START
& p; \8 H# x" c5 fSB3_1: L: Z% A4 \" P" x
MOV R5,#250: |) A$ M3 v& i0 ~/ a! y" \
SB3_2:3 @. V& X: B! r v. i
JNB P3.7,SB4" U2 e0 m4 q8 U! Q5 ^% l0 O/ ^
DJNZ R5,SB3_2
, I# j0 V' F V( T% h: K9 \ DJNZ R4,SB3_1
5 ^; _ \( `! O% z JMP START. E4 ] I( R+ a e- c
SB4: + C' ~/ I9 h9 y" {6 n% }% X
MOV R5,#5
. D. I5 q3 @+ ?$ E3 Q! W0 q) n: I( rSB4_1:' k5 F S; M$ m- I: h
JB P3.7,SB3_26 `. x9 z; A! k$ m% {. p
DJNZ R5,SB4_1
7 \* B z! G; Z, g/ w MOV R1,#1AH
* l' J' X' @; x% H MOV R2,#4
! T9 l+ L; _1 g1 @1 M, L( LPP: MOV R3,#84 V P4 d( A+ i2 Z
JJJJ:
8 p$ V9 H: D' M MOV R5,#2508 k5 q0 x. H. F( p4 v1 U
JJJJ2:
/ \1 C: l8 q( a# i6 U, q JB P3.7,JJJJ3' S# R. n5 u' a% w* |
DJNZ R5,JJJJ2# r/ m: _5 S/ q3 c
JMP START
1 u, d% ?7 |" u1 eJJJJ3:
" i, P/ N% J/ M& M1 Y LCALL YS1
- B* }$ P9 s% A& W* o4 [3 \ MOV C,P3.7 + M. t D8 ~- T- Y7 J( V4 R
JNC UUU + u% h5 C0 _( x- S* ]
MOV R5,#250
$ x9 }2 A: }" j0 ~% bJJJJ4:
/ ]6 C' i. n0 f JNB P3.7,UUU
3 g6 O8 T' Z3 u2 q5 j NOP! Y k9 Y/ l1 a! [
DJNZ R5,JJJJ4; s3 R1 w) L2 i1 Y; h
JMP START. G6 B+ c4 d4 M
UUU: MOV A,@R1 + Q( K$ O4 ? t9 |
RRC A 3 A, D3 J4 r& w2 v
MOV @R1,A / W; F, d) }* E6 ~: C) Z
DJNZ R3,JJJJ 7 A- C9 g+ V9 O) y+ \+ e/ I) B2 y2 D4 Q
INC R1
T3 _/ [1 {3 v6 |' w; y A DJNZ R2,PP $ ?# y( c( B# L/ b0 b1 T( C# |& j
3 Z& w8 ]/ L5 n1 |, l MOV A,1AH
0 n, G) D$ }7 e2 Q+ m. F" n$ ? XRL A,#11101110B
2 X; ?6 N" e) a+ }- O JNZ EXIT
3 T6 C9 I$ K$ ]0 j2 h, I MOV A,1BH ; o" Z; j1 L# T0 z2 {* O& _; |
XRL A,#10000111B
" b+ p- R8 J( \4 G# P1 ~/ ` JNZ EXIT + _8 l; E( @' b* M$ O; u# j
LCALL YS3' k- b/ R9 l* |% |% e2 T5 x1 h
MOV A,1DH ( e1 A4 ?8 d! |
CJNE A,#10111100B,EXIT
2 U! j1 l4 y% s; U8 v; ~ LCALL YS3
) d6 D; w \6 B/ H CLR P2.6 ; w9 H/ Z" c# i) U1 j
AJMP BIJIAO
5 z9 E& e7 o3 g+ p! z x: a4 \( h: i V' I
AA:
5 J: P9 y0 r+ a. C/ C z MOV R1,#25
0 v. i, _: c4 `# Q$ y$ a! jXX: , F) H, c" l' l' \/ I, a
ACALL YS2
! u( G) d% H/ T' ]8 w) h S5 z JNB P3.7,HH
) @' F x7 d$ t( N DJNZ R1,XX
/ u1 y! S6 K/ d# w% cEXIT: ; g$ `0 x& u1 ]4 |1 _6 l
AJMP START
: M6 ]( \7 V" s. U 7 ~4 i! m- {8 F! F! V# s; k- _0 z6 a
HH:
: R' {' L* t& E1 f MOV R6,#4
/ G" j. y" C6 d! Q) hS: $ P: r4 Q3 F7 y! q) f# X
ACALL YS1 7 e! e, }5 o/ @* `9 B, K
JB P3.7,EXIT & O# c2 w [) }' o( h4 k
DJNZ R6, S
) _# ` Y' n6 t# _. ?2 M. y JNB P3.7, $
) y3 e# s1 H G. |- N [4 I: \, a LCALL YS3
. @9 ] K7 a- g0 J AJMP AA6 s7 ~' P5 g4 s1 ~1 O
BIJIAO:7 [8 o% Z' _+ W
MOV A,1CH 6 W8 T% X; h9 W( }1 ~
CJNE A,#03H,N1
3 @: A' m: `: c0 L MOV P0,#7EH 2 _ G! D& h* ~) b+ X5 k" u; G
1 e) }4 a' R+ x/ \6 L
;处理STUDERV录音机控制码. _, @$ ?: V( s; s( Q
N1:
5 _9 z2 T- Z U CJNE A,#5FH,N2 ;播放键4 J) | u) J- x: L$ q2 F
MOV DPTR,#REP
- f$ I+ ~5 \/ N4 u7 |; h& L8 \ ACALL SENDA' g6 u, X$ V7 O" ^) W2 l6 F
ACALL YS4
* A/ l& w7 ]. l( Q- V; x MOV DPTR,#PLY9 ^' C1 W6 O* }% i1 s* I3 T. e
ACALL SENDA
, @2 K" j, f$ b XN2:1 v# ~, @6 f) C6 C7 Q* A W9 h' c
CJNE A,#5CH,N3 ;停止键' r8 {4 {+ o& N$ Q+ n. q
MOV DPTR,#STP
: K4 F+ t$ V, L0 a" C ACALL SENDA
. a: ]1 q. l$ ^- j- [# p# {! v* Z! nN3:, q4 ^6 B- a0 G! ~( P
CJNE A,#06H,N4 ;快进键3 c4 L2 s8 _; @4 y" F% S8 ^
MOV DPTR,#FWD; U( B% x7 M) z: R' j# }9 j
ACALL SENDA
, \" v: v* f1 ON4:+ X+ I2 z2 U9 b
CJNE A,#09H,N5 ;快倒键1 Q: q/ n, k9 H# Y; L& Z0 l! a
MOV DPTR,#RWD3 j+ t; Q+ |4 |: R
ACALL SENDA$ Q3 g- y) e3 V0 X# ?$ b
N5:! G! W8 O \+ {; J0 S5 E
CJNE A,#0AH,N6 ;置零键
3 w" R- Q; r9 ]$ _ MOV DPTR,#RTM
0 w/ r' @; u; g9 s ACALL SENDA
. V7 U, t2 ]8 Y* FN6:
7 A. y7 o4 w+ a6 u0 k( o+ T CJNE A,#0CH,N7 ;定位到零键
0 e1 E8 W ?/ w0 m) V" @- ]& P MOV DPTR,#LZA. ?# o0 n0 ~+ B! t6 a* j
ACALL SENDA
& `' P& T4 l+ E" a2 f1 rN7:
# x: a* @+ l8 b) c" h AJMP AA( G+ x; s" s, i, s; ?! L9 g
SENDA:
|6 y: M+ s2 Q P/ o CLR A
# ^2 I' Y& o# s9 b MOVC A,@A+DPTR
K& X& n# X5 P CJNE A,#'$',SENDB+ H& G2 g9 l* Y# r0 U! D* J3 b
AJMP SENDC' k" K, c; d6 _/ o; L
SENDB:
p* _5 S9 H) [5 a MOV SBUF,A
9 M" T% ?2 u: b' F9 V! s JNB TI,$
1 N$ H& O, y3 n0 S! j, ^ CLR TI4 r+ A6 h% y; M6 X7 }, H) U
INC DPTR
, q6 z5 B" O( w9 p6 t) x AJMP SENDA; a2 t" D$ G- O+ A' P, ], k3 {; Q- L
SENDC:
, T. w8 `& H& `) u% z& H0 w, l; w% j RET
. p' c$ ]. w4 V1 g2 F3 d/ O2 l; H8 |& q1 p# f
PLY: db "PLY ",0dh,0ah,'$'! U7 L# V5 i- p2 d. e# Z4 M
STP: db "STP ",0dh,0ah,'$'5 T5 }2 O- }& a6 [* N$ a! N
FWD: db "FWD ",0dh,0ah,'$'
; B( {; V0 r/ ~& @; A! F% z8 sRWD: db "RWD ",0dh,0ah,'$') y& k1 I; d1 a* X
RTM: db "RTM ",0dh,0ah,'$'2 D# g8 O0 l% K" m2 e: T2 `! q# o
LZA: db "LZA ",0dh,0ah,'$'
3 S' x5 P8 M+ ZREP: db "REP F ",0dh,0ah,'$'& A, j. S. t" R7 t0 E/ J
! e p6 N& _1 u7 M+ RYS1:
' ~+ A7 q" t7 D; d$ E3 g6 N MOV R4,#203 A, J+ ?# c3 u" a
D1:2 M; y! w& U5 h9 J9 E* g
MOV R5,#20
1 H( T8 x$ u z# |" m N/ T DJNZ R5,$7 o. _% _! D c' s( i, d
DJNZ R4,D1( ^( S+ O/ q8 G
RET
: a4 X9 k4 J( U, R! A6 e* M @
9 A8 {/ B8 E* r# Z) NYS2:, U. O3 q) @% i- R( a' z, U
MOV R4,#10
( V8 [" h4 s$ f; ?' }D2:
0 ~( d1 Z! a: \% r/ s7 X MOV R5,#235& u$ K8 b% {' a: }. |2 P3 o
DJNZ R5,$* i- ^# ~/ k1 Y7 {( f
DJNZ R4,D2
5 G3 ~" A' ?0 `6 O5 d, O0 O% Z" U RET
* ^& f A$ g) [ h; S
! w+ G" h; Q8 UYS3:4 a9 \& t7 w& r1 J3 ?
MOV R4,#2& L" l! g% z4 H3 } r" b' G2 T9 a `
D3:
1 b- A) K/ b& B& G5 \8 V7 Y MOV R5,#248$ ?- y+ T* A5 n0 O/ W1 [
DJNZ R5,$
6 n9 B5 f E2 l+ O. N; h* K( s DJNZ R4,D3
0 t }6 s, z# d RET+ i+ M. X6 i: U
0 V1 @: p0 e/ y" Q! Q
YS4:! Z3 s- x9 e. d e+ z1 L! f
MOV R4,#200
- E) ^ p( J3 G: `: I' ?& m4 ID4:! i9 ?" m5 B$ ]
MOV R5,#2488 |7 g" t1 v: n# W
DJNZ R5,$+ ~3 w( T" k! B* h9 c" H
DJNZ R4,D3
" [2 ~7 g* H/ |% ] RET
+ s# W7 ~ y8 a! {, Q+ V END$ L# ?$ n l; y# c( ^
% S0 X* H0 J8 _/ n6 y' \! w有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。) j1 ^9 A! L& L& d* j
是不是很惬意,嗯!$ O# y& r# p* Z" L5 ]& H
|