赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ! k2 J( x. z$ p+ d) R1 N1 S" d
* k* k( L) R9 N$ o) [) d本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
8 s5 y( d9 Z" D) E9 o
0 v6 i i ]+ Q. M' K说明:
7 X5 ?6 a$ l( \0 k: f! N: P1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;+ I) t8 [5 b, L" h! t
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;' @) B% i9 x0 h) }6 v2 n- m
7 J* b" } @$ G' k6 j一、基本思路5 m" ]' y% o" I/ J! n, H- X0 [. A4 W
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
6 ], M* q/ Y k% n( \2 n
* q. E# i* N8 X0 r二、红外遥控器
% _2 K: Z* M! A+ {+ }$ T我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* z* \7 z) a3 B( s4 U
7 \% w+ O, L, v! Y# G好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。1 V, \2 x/ I8 E. d
! c) W9 y3 S5 z) r3 d. g* g4 d8 o# g在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
1 Y8 H# d& l) _8 b6 ^1 P% K
/ ]4 X4 p, T e0 @5 M; ^( I
- G" @ n$ U5 y- I6 U K( I
三、红外编码8 W/ ~) w! r; z$ |
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。$ |9 a3 L$ T4 U! S
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。# |- Y. K/ v9 b) i
后16位为控制码,主要用于实施具体的控制。
N( `! C- w/ J这16位中高8位和低8位互为反码,以提高可靠度。4 C. n' ?' {3 P: M' {! Z
# z% R. }' f1 j, W$ o* w- q% ]% [以播放为例,其编码如下:3 F# u1 S* N0 V9 r7 f5 u
00000000 00000000 01011100 00000000
9 s! u$ a- h4 r! a
. d7 p2 z& q& J5 j1 W你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。: N4 ]1 k6 {, @4 _
0 c. z; ~$ w% M) F7 H# i% V四、单片机系统
6 p/ ], x/ o. r3 V0 i2 r4 t0 Y9 ]! U6 o这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。: `6 K, ]2 `" d. v H! e
( m0 ~5 L# w/ C
: ~9 A" a B2 K0 i5 S
电路很简单,功能如下:( \. M: E; e& U- d; Y/ J, h1 }
1、一个AT89S52单片机作为核心;$ M. S: _' @" o8 Y( h! `3 X6 Y
2、一个TL1838为红外接收头直接串行输出数据信号;
/ m5 K; [2 P8 D1 k% F3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
% v- [0 e% V z3 z! b4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
" b: S% T9 s2 z% y3 O4 i
- w: V8 h5 X! \! U+ y1 S2 ]( Q4 Q关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
. L8 k) A% J% R
X7 F9 t* ~3 v$ d; Y% _$ C
. \8 @1 h4 x1 U: `五、控制软件
% R0 m5 W6 T- s+ P! E n$ P控制软件用汇编语言写,源程序如下:
1 `- J# \% c& B, _( ^ ORG 00H- D L& v; u8 _! B
LJMP MAIN
* b: ?) D! a2 A: W ORG 30H$ Y# ?' d( K7 l3 ], f& _3 H2 o
MAIN:: O1 f6 |3 a' D/ y. K% i
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
( _/ J5 |) F+ a4 z1 s' F" p+ k MOV TMOD,#22H ;22H
% B( p: O- I7 x& c) x0 D) ^& e MOV SCON,#40H ;40H
2 F' H9 @1 U0 }$ `$ i MOV TH1,#0FAH ;F3H
9 f8 |: h7 w; V7 x8 B) h4 ^# }4 j MOV PCON,#80H+ f$ s+ n8 ^ Y5 p1 _
SETB TR1
8 v1 a/ O0 O3 \- kSTART:
0 p+ K \3 k) N2 h7 T/ ^) u JB P3.7,$ ;遥控信号处理
6 g) I( f( A( Z" d/ S: N8 hSB:% ?& h+ R; n3 p* _* @8 U& q; F L
MOV R4,#8
- a# R8 [0 ]& e. J) g" K' u! h! }SBA:
" U% a) _ l( F3 M3 t' o b& a MOV R5,#250! u1 q: g! {( c) ~
SBB:
0 t7 _$ T' x( h9 \: D9 Y JB P3.7,SXB1( k3 Y, K$ X. v6 ]0 B% z# A0 B4 f
DJNZ R5,SBB
& u6 Q) Y1 [& K7 l5 t; T DJNZ R4,SBA J; P: ?: o4 V! g
MOV R4,#2
+ A R) j2 t2 v( e& \5 m& T' K" Y JMP SBC
' u. H2 s- b) M! T3 E1 v/ HSXB1:& F. t- _7 x7 K) ]
MOV R5,#5
8 k8 N1 x6 S) G7 i0 c0 b9 jSXB2:
. l6 q& ]. Y. K$ _+ K JNB P3.7,SBB2 H3 {) Q- K0 M- r6 ?2 M2 p4 X7 O+ V
DJNZ R5,SXB2
: ?& z* F# s) D/ ~ D& N JMP START
3 k8 |6 Z. P1 ~6 q4 p2 HSBC:$ S" e- q( u" m- \! R4 L3 f
MOV R5,#250
& w4 S: u5 Z1 T' |SB1:6 }0 A* V6 D" } }* C
JB P3.7,SB2
/ Y! i" _/ i2 l& Y: x( L DJNZ R5,SB10 u. l8 a( v$ P7 l
DJNZ R4,SBC) U$ n+ |& o D% ?4 F
JMP START
$ F3 I2 r! C3 q: t d; Y! Q' qSB2:
0 @' O; a( j- Z$ r8 y2 a MOV R5,#5. D3 N0 D+ k8 G
SB2_A: [) n- N/ g% `
JNB P3.7,SB1: g) K) D2 p2 }; U$ k( w; w+ R( y4 E
DJNZ R5,SB2_A
- I" A* g! k! k. v. j. ] MOV R4,#3
' E8 F3 T p. O# P7 X9 X7 ?SB2_1:
; l3 M4 B9 E& F MOV R5,#250 L" C0 \& j; P# S+ C
SB3: 1 o( {; F1 s3 ?; y2 `
JNB P3.7,SXC
: R, D) J- J c3 Z DJNZ R5,SB3
- U! I2 A* G4 \ DJNZ R4,SB2_1% g* r, }7 d; S2 N) o- e$ r
MOV R4,#2
9 J/ p9 q2 E: l) _* Z$ f& m JMP SB3_15 ~9 h8 I) m$ \+ Q
SXC: 3 [( N& ], _' h6 {4 Q
MOV R5,#5
6 o" c; _7 c. B" u' S* DSXC1:
! _4 ~& F8 \( i( T% v- j3 k JB P3.7,SB3" o, @ \7 ^- x) x2 W
DJNZ R5,SXC1* G" z- g9 m( ]7 {- _, ^' n
JMP START
4 o0 ]9 o! w3 U: {1 d2 L' Q q* OSB3_1: 2 m0 f) ]: ]1 g- u; r5 Z
MOV R5,#250
* O( D9 d- U; a. \; r# {SB3_2:6 M# J( _; A3 B0 A" B7 H6 h5 n# R) P
JNB P3.7,SB40 q- ]* D4 H* S
DJNZ R5,SB3_29 C0 J9 O ~! |! t( Z0 B
DJNZ R4,SB3_1
' h% [( f( J- Z( k9 h l m1 m JMP START
( _5 _9 M1 x& T* lSB4: ) H2 p, v/ ]- o, |5 O9 W1 F
MOV R5,#5
, ^" a+ K6 ]8 n' B7 V2 ~* QSB4_1:
: W2 t4 ]. L5 K; g6 v+ n JB P3.7,SB3_2
$ p5 y2 c0 s: m# ` DJNZ R5,SB4_1, e. Q" j5 F; A% ?
MOV R1,#1AH
; F$ W% D: ]3 o A MOV R2,#40 a- h3 @" h) A
PP: MOV R3,#87 v$ j' y' D4 ?
JJJJ:0 [, r% A6 {5 ?' @# V! n
MOV R5,#250
7 f# j- Y$ z$ N4 ]8 w c. uJJJJ2:
" x3 K: \* Z0 t0 c) V% [$ r# J* X JB P3.7,JJJJ3: ~5 j2 R* f8 A0 |( P
DJNZ R5,JJJJ2, b( n' d/ J- ^8 E) R! }
JMP START3 e+ G6 P) Y# j4 I! ~: @
JJJJ3:# O: l( |0 [+ F, d% J% b
LCALL YS1 " ^ e! _ f5 T& N7 K
MOV C,P3.7
" [# p- M2 {: l& i9 J; i JNC UUU
7 V8 E! K- d1 L. }: a J/ ] MOV R5,#250
0 z1 H% @# o: lJJJJ4:3 Z! c) k0 h( G) Y7 N
JNB P3.7,UUU
8 y z/ H7 J( f- U* G( |; I1 n NOP
7 J; b$ C! H! V( b8 s DJNZ R5,JJJJ4
! n5 E$ x$ x; ?/ q$ I3 J" x JMP START
8 Q" t' t0 e0 Z: {UUU: MOV A,@R1
2 m/ g2 u1 H) O7 v RRC A * W8 W! J+ _: y( e) ?- p1 R/ C
MOV @R1,A ' A6 o5 Z: D, |0 L! ?
DJNZ R3,JJJJ 4 N3 k# C/ P# ]# i3 D. _6 j4 _
INC R1 Q2 l7 [* ?$ O' F& d
DJNZ R2,PP
% s% w6 u% k4 j0 s" o! t3 S! ^7 }" P& i, ?% h% s& ?" r
MOV A,1AH
7 a( c4 x+ b5 l8 d/ A XRL A,#11101110B
8 A9 L+ Y1 A% N, q9 o" U9 I JNZ EXIT ! {3 w! i$ N5 D4 y
MOV A,1BH
; x( u! |) q0 w9 @1 W2 S$ J3 H# J XRL A,#10000111B% C$ r s8 d7 Y* p! D( j
JNZ EXIT
: s5 X' Q5 n8 C$ U) L# D LCALL YS3
& P+ w- ]( b2 k2 F MOV A,1DH 8 j/ t% m) t. \! H+ t4 B* J
CJNE A,#10111100B,EXIT
: P! I ~0 } n) F LCALL YS3
! _' ]; C) w/ ^# o, p. m CLR P2.6
" V" _& T5 ] h6 ] AJMP BIJIAO
' {$ m* a" }( `! Z6 J' L8 T
& n' t4 e' t( ` t' N" E* T8 `6 ?AA:
5 [' C& D( l8 ~6 J MOV R1,#25
, S$ }& k2 G" t4 |XX:
3 m$ y% G; z( C& u, f4 I( k' p2 l( N ACALL YS2
) S+ W8 _0 ^ G1 o JNB P3.7,HH 3 L/ b% w' p# H/ t7 _+ u
DJNZ R1,XX8 D; e, t# y5 i2 s) ~" r7 B
EXIT: % B5 X1 @; z, j1 o1 _
AJMP START
# @; N! e$ k; O) v1 f , N n' o, {, s% j3 n& M0 K
HH:, S0 X" n# H! ~( W
MOV R6,#4
1 X( {8 C2 r" N, m+ q9 `; ]S: * Z2 P d% }" F! J6 q0 \
ACALL YS1
0 ]) s/ I0 [$ H) f7 @- O9 m' x JB P3.7,EXIT
g, Y/ w! ? F8 e" B; ?# ^ DJNZ R6, S 6 ^' ^ P& ^4 l o1 Y7 _; ?+ }
JNB P3.7, $
6 x4 Y9 h2 x/ h) Z/ W* | LCALL YS3
1 s# \7 o2 ^4 g) x AJMP AA7 S5 {/ N4 k `/ U6 Q
BIJIAO:7 u" d0 N* C+ w$ P3 @3 Z4 T+ r- _5 E
MOV A,1CH 7 }* ~+ A; c5 n- E; p3 _
CJNE A,#03H,N1
8 j" l9 r q" s/ @ MOV P0,#7EH
) ]* C7 n1 y' y* h3 }$ \
+ M$ V# t9 z8 a+ O ;处理STUDERV录音机控制码$ } p. B: h- V) c A/ t: B% U) c
N1: " @# i: F/ |) Z) _" q: V1 o: C
CJNE A,#5FH,N2 ;播放键
, s" y3 b0 }: y# I7 h0 J. h# I" x MOV DPTR,#REP8 B" `* W4 y* B1 N. W8 g; r% i
ACALL SENDA
% M/ }/ X5 ^+ a% H ACALL YS4
- I+ D# h7 Z! j1 ~+ _$ A% o MOV DPTR,#PLY6 r5 M6 h/ o8 q6 @
ACALL SENDA& m& H+ I* W, B" ]( {1 e# ]
N2:3 l3 w5 Z" {9 [. {! c
CJNE A,#5CH,N3 ;停止键
s* o" {( g$ y: T% ` MOV DPTR,#STP# o- ~1 G1 {- H8 k+ j L; C
ACALL SENDA% z0 T7 U( u* c# k, j
N3:; N% w5 V2 z: O. O2 i* N
CJNE A,#06H,N4 ;快进键$ d+ }5 Z! E9 a% \" G
MOV DPTR,#FWD7 t& u" u/ d* r' K4 E+ i _
ACALL SENDA# G! f. H: ]% x
N4:' \/ g! [" @, c4 `# V% a
CJNE A,#09H,N5 ;快倒键4 t6 `& I: Q% X* O0 B' S7 s/ o
MOV DPTR,#RWD
5 g! _6 M/ G, C' d- Q ACALL SENDA
. z+ m0 V7 ~1 N/ e( }N5:
8 L: w3 m% N& |6 f CJNE A,#0AH,N6 ;置零键1 @7 h( s* ^8 [/ j: {0 P+ ^, T. x
MOV DPTR,#RTM8 x1 W: S6 W6 R
ACALL SENDA/ A- X. e+ f0 K0 s+ S) {
N6:
2 {# |/ M& N; k2 x6 Y9 r. f CJNE A,#0CH,N7 ;定位到零键( l8 C) R9 x8 _! r, ]& y& q% z
MOV DPTR,#LZA- p5 b' s! O, V8 j t
ACALL SENDA
" K2 p/ i. u) ^# A/ _- cN7:8 D8 v7 f) R( s5 d
AJMP AA
" X( G, L( H. s( @3 ySENDA:8 U" f" X8 U: y
CLR A& L" N. q* i- z2 C5 |
MOVC A,@A+DPTR
$ z( p2 G* O4 X# X l% } CJNE A,#'$',SENDB9 e+ ~( Z9 [7 A5 w* R
AJMP SENDC
. O4 Q% @& t0 p: f4 ]1 d. QSENDB:
. p4 f8 I. T- T! S MOV SBUF,A
; I1 Z' o% R' u7 a! j. R JNB TI,$( u0 { s/ h8 @ _
CLR TI
- ^! b1 m2 F% x( c0 y INC DPTR
4 E- B7 l; s# K, }. V AJMP SENDA+ _7 p6 j5 j- y9 F8 `* l2 Q0 |
SENDC:
, k1 I( E3 }3 t$ ~7 b7 J0 a RET; {. S0 U2 C' [( O8 y4 Y
. V+ X" [8 l3 s* N) I: SPLY: db "PLY ",0dh,0ah,'$'
; i- `2 Q" y, c3 f0 pSTP: db "STP ",0dh,0ah,'$'8 D X7 B$ Q. ]
FWD: db "FWD ",0dh,0ah,'$'
$ P# u8 m+ v; Y! b: P- W, |RWD: db "RWD ",0dh,0ah,'$'" {0 j" i; G% ], r) P
RTM: db "RTM ",0dh,0ah,'$'
# R5 V( \4 O. }# B2 KLZA: db "LZA ",0dh,0ah,'$'3 w% J1 w- x2 V3 r2 j* y5 y
REP: db "REP F ",0dh,0ah,'$'
; j; u. Y2 p$ v
) p. M& Q; t9 b/ w2 lYS1:
* l& O$ L: R$ K# z/ X1 O. N MOV R4,#20
' F$ O% @3 q1 i, @2 y' {1 yD1:
' h0 H+ s; O0 j. c Z/ a1 m1 h4 x MOV R5,#20
0 c9 x( N# i) Z" U7 e1 l5 d. M DJNZ R5,$% [6 X7 g, D5 ^( K8 H; l+ k
DJNZ R4,D1
, n; \0 ~1 }; Z RET" _/ E$ {- s6 @2 d2 h
3 } Q6 q0 l; o/ O8 IYS2:
, Q7 f% u% S1 h, ~. g& g MOV R4,#10
. {2 u4 R8 v& R( qD2:
/ [9 m! E3 @4 @* ?8 h MOV R5,#235% s! M6 _0 ^ ^* }% R$ E
DJNZ R5,$
9 Q/ x9 a) Y: w B' o" B5 p" ?* P% T DJNZ R4,D2/ k" A7 }- {+ Z7 c5 l: I
RET6 x0 b0 O0 o' p$ n- e
9 _# x: S+ P+ } vYS3:
( H2 ]( m+ |0 o1 H* T% f7 s0 h MOV R4,#2
) Q2 \: G* ~+ s) P: }0 ND3:
2 j/ o( \" t/ g4 c1 a0 v" \ MOV R5,#248
* |3 i. v5 s7 D! t8 e. k DJNZ R5,$
; ]" M! v/ b, T5 D3 ] DJNZ R4,D3! @/ k8 M- K8 t& C0 Y3 T$ G7 v! g1 q+ y
RET7 i: r4 }7 C: a% `# P
- P A. |" g, tYS4:+ u2 x5 B9 H7 F0 q# ^
MOV R4,#200
% A/ U& Y# W% [% ED4:3 S/ E/ y' s- G! |
MOV R5,#248
; r1 _ P% A* g$ _. ^ DJNZ R5,$
- p5 K* j, d* X, i5 {6 L' D DJNZ R4,D3
! m7 x4 K- Z- G1 I( p4 G' A8 k+ I RET, [$ o/ ~9 I6 x# W% W2 K; m, f( L
END
: l# H! B# F& L$ D5 g# Z# _. \& S, B" D& @# \
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
: N, y* [+ a+ ~, d' q" o3 U+ O是不是很惬意,嗯!( |, X) v N1 B# A' `/ z7 Z& r
|