赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 9 a. Q8 o3 S5 f9 z& T# d* ]
1 h/ ~( W: n- H* O! v Z) |* N4 ?( ^
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
: y" ^- J8 @5 y
. x0 V; A- Z B4 w" C; V1 Y说明:
! l) b& r+ c3 {. T1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
1 `3 l" q1 {/ t% C4 J' l2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;. }- W$ [. Q- l3 [. k) v" i
+ n& C% g! J: `0 ~$ h+ s* `: l
一、基本思路( e! m2 g% o" Z+ @
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。( ? [+ f2 p8 o+ m! d" I9 ?1 m) S
' o: o* {7 `) o( s9 N D二、红外遥控器
: ?0 q) ~( k! ]" v3 q8 ^我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。2 f, b' f$ v/ B
" c7 g$ n! Y* U) ~! C6 A' u
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
8 x; l8 C! q' i
! @6 u! n0 D% H9 I9 @) _
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
" N Y: l# j6 U3 u7 o
+ A: E% X, n( l n' V5 J
' x2 c) a/ N2 w5 M. n, d# \三、红外编码7 v) ~: Y; ~6 k J- P
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。, I4 x" x; q9 q2 Y) Q9 |: @" O
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。9 `+ f6 s- B" k/ q9 Z s: q
后16位为控制码,主要用于实施具体的控制。
$ T, W4 V7 O& o/ z这16位中高8位和低8位互为反码,以提高可靠度。3 T0 z; j9 Z3 W
7 y% {( J% ]6 }6 @' n+ ]
以播放为例,其编码如下:
" ?, t1 B. O& O4 \! q00000000 00000000 01011100 00000000: W0 l' q* S* t3 {
9 g z) c- Q. O8 G' y, m
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。8 L: g; }" ^- R) z$ G+ b7 ?, n
9 O4 t5 I" O- u; J
四、单片机系统
) C6 m1 m! S5 j这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
$ D2 W/ m! }1 r6 m% ?0 d8 I
* n$ \2 W: P- E7 x
/ }4 x i& r H: H: r' U
电路很简单,功能如下:9 c+ S" ?7 a3 g8 ~
1、一个AT89S52单片机作为核心;
: q9 X8 ~+ W p: k: ^2、一个TL1838为红外接收头直接串行输出数据信号;# y- n, P7 }: Z4 z/ |9 a. Z: v
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
0 r( F. y4 ~$ A0 Y% I4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
* U, ^* ^9 B* p: y% o 1 f$ h% v8 Z9 u k) K
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
3 ^, I/ q* o" Y- W+ _# k& H# S3 ~/ f' f+ R: e4 O
- o2 ? L, l( C, F; j9 @ C8 S
五、控制软件0 N, Q" ]$ S- H+ c8 f$ s" W
控制软件用汇编语言写,源程序如下:
) s3 @7 _; A( T" z ORG 00H* l' Q6 ~3 x; I6 \, ^- T4 Q' \: T
LJMP MAIN
# J# C7 J$ A$ z5 T4 }7 O ORG 30H
3 f+ O2 ]! s8 l1 d3 y9 Q7 M2 GMAIN:' s' f* K5 ?2 s! D! n ~4 e
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)4 N$ g1 Y% i$ y1 e; x8 b2 C' R U
MOV TMOD,#22H ;22H
/ J" e* W0 C! S# {' I# B" r f MOV SCON,#40H ;40H
! f: b6 E, X6 w+ P0 ]7 N4 D) \+ v! B MOV TH1,#0FAH ;F3H0 Y9 j8 v# j4 y
MOV PCON,#80H% N {" i0 j) ]/ H# L
SETB TR13 ?- S. s+ |# B2 X% @+ s
START:7 t2 T; t, Z' ]! j* g# p H# y
JB P3.7,$ ;遥控信号处理
% A' i! d1 A2 BSB:
% K0 `0 a/ T8 R: [6 l5 W" ^ MOV R4,#8 7 e/ C N# i* o2 d: p
SBA:
5 w- j) f' ~6 \3 D% [9 B; X MOV R5,#250
~* c* t# q/ ]; H: [2 wSBB:
: M5 j& N: X' Y N( o5 E4 x JB P3.7,SXB1
& L! I; c8 o+ F DJNZ R5,SBB5 S* {) b/ q% v% I
DJNZ R4,SBA+ d% P' O% D4 e$ S7 e! a$ b+ U# A
MOV R4,#2 _- f3 B4 r, _8 N7 H
JMP SBC$ e. s, I) ~9 E# m* \5 l
SXB1:. ~8 ?" b( f7 L6 ]* `5 Q
MOV R5,#5* I2 d5 d/ Y) q; A7 Y# m5 j( v
SXB2: + ?/ G1 S8 A5 M s
JNB P3.7,SBB; _% ]* v! c) L# M4 C$ J' Y
DJNZ R5,SXB23 ?( c8 m# X/ k9 i }9 q$ V
JMP START( G0 V# p* ]% p
SBC:# \0 a S# e' B1 H# q
MOV R5,#250
! z* I _* f$ Y0 Q) {SB1:
7 a8 B6 L5 ~, s8 k JB P3.7,SB2 # x! L m3 ]" V2 E# U
DJNZ R5,SB1
; t0 S2 @& F: [ F& l0 [ DJNZ R4,SBC$ g1 z' @- Z- h5 P/ m0 @0 X, s' ^, @
JMP START
/ z$ @ e9 Q" i) jSB2:
}' T1 p/ v) @% m, T MOV R5,#5
9 b* G5 d% Y4 s7 o# q4 n% Y' k4 bSB2_A: Z! r( O8 d9 h4 F: |# L
JNB P3.7,SB1, k0 |; m+ ?1 ~
DJNZ R5,SB2_A5 G7 r! I' ^- C1 G- u$ _
MOV R4,#3( c5 Z' S+ b( s+ Z; l" X* v& J
SB2_1:, J* Y+ [1 J5 g$ ^; L# {
MOV R5,#250 X# a: b @* C7 D# Y- G4 i5 l$ y' x
SB3: & @# G# g4 H4 T6 }4 x! F/ n1 s* {
JNB P3.7,SXC( P; o) b( S/ f, C" d
DJNZ R5,SB3
* {3 @& x5 k6 e DJNZ R4,SB2_1# |/ `+ j5 j5 C0 B N1 C) I7 p
MOV R4,#26 d# t4 L% Y% Y4 E5 x
JMP SB3_1
) x4 R) E! p! JSXC: + I! t% T' N" r4 k9 `$ h% _
MOV R5,#5, I. E8 i! y- J8 `
SXC1:
* m$ y2 {7 l0 ~ JB P3.7,SB3
1 b7 P. T: f+ a# B/ Q DJNZ R5,SXC1- d2 R$ o& i% Y
JMP START
% j! }3 I, R3 R1 g+ @7 v4 [SB3_1:
3 W3 d5 N# o: f0 J1 A7 a MOV R5,#250
4 E5 Z; b- Q( J5 Q; `7 wSB3_2:! e* V$ f0 E) X9 W' x6 ?. E
JNB P3.7,SB48 ~( _4 ?& |& R) f, j
DJNZ R5,SB3_2
' B, O) M: c) ]) _ o& E/ [ DJNZ R4,SB3_1
; V3 D$ i2 Q5 g JMP START
4 x. A5 X. ?& o* k; SSB4:
- `) k4 T/ H$ ~: s3 U8 P MOV R5,#5: ~/ W" }+ g+ M* A
SB4_1:$ p' D6 x+ Z: w, j f
JB P3.7,SB3_2& q& x3 d* \ Q5 f$ D
DJNZ R5,SB4_1
3 B' t# ?; Q) t MOV R1,#1AH 1 Y: ?" C6 P# g* v
MOV R2,#4( l8 U8 [ ]. P/ S" c
PP: MOV R3,#8
: i% W; p2 w6 t- v3 U' LJJJJ:
5 q8 e0 ?$ B7 {6 \6 S2 |8 P) o MOV R5,#250
+ g* H+ S+ C- P# _9 ]) w, T/ KJJJJ2:
& }& z4 q" u) F% b% j/ t ~0 T JB P3.7,JJJJ3
9 d% U5 o3 |' ?8 ]4 q1 e" A DJNZ R5,JJJJ2
, N2 k! m$ y" ?+ U JMP START
7 R4 H/ M' I* J4 \/ qJJJJ3:( h/ T/ c' f5 V% j
LCALL YS1 8 U9 M0 s; j, Y( h
MOV C,P3.7 * S5 n. S. z4 }6 x
JNC UUU
* `2 J8 Q6 n9 b$ `0 Z2 d MOV R5,#250' e& l( c5 D; ~# T: x7 z6 w
JJJJ4:
- H4 Q N6 \+ W& Y- }* G* K) ^ JNB P3.7,UUU
$ B1 k' u0 a4 d) J, p NOP+ A2 F4 c' a" y1 m2 y8 \
DJNZ R5,JJJJ4
$ m6 d2 o/ ~ Z2 B JMP START! A- E2 A( X$ P; m9 K
UUU: MOV A,@R1 $ U; S X; S6 D3 [: V( z: g. [
RRC A
5 O8 D& u, j: G8 V; `; U+ S5 w0 V MOV @R1,A 1 f6 P3 a# J1 [( r0 d. a0 y% _# e
DJNZ R3,JJJJ
& v4 O2 ~! D3 s0 D `5 g: }0 w INC R1 1 z5 A' a+ C1 l) x3 S
DJNZ R2,PP ) h6 p7 F* g& g
; C+ e& I' Y9 Y; Y3 y MOV A,1AH
( R8 U' y) V( a! P" ^ XRL A,#11101110B
# q" c7 M w0 G0 V) x JNZ EXIT ' {. t& w/ `! e3 r* d
MOV A,1BH . j+ U5 k& Z) U( ]0 k
XRL A,#10000111B4 R- |) g1 J) d9 Q3 W+ y( f+ Q
JNZ EXIT
! f! D: V; m. R LCALL YS3
( D% p7 h& k' Q% J& s& A MOV A,1DH . g0 q2 q) X b' l; O( U' L/ F
CJNE A,#10111100B,EXIT3 r" N% ^( E# k# o& i& k4 M
LCALL YS3) d0 J9 o& h }" d2 u& d% _ `
CLR P2.6 ; {; T% p/ @ d3 j
AJMP BIJIAO0 x, I, g( I. q6 u4 T
; U" J% h- p# H! @2 d8 a" A
AA:
% h6 K9 l: F" u/ A1 G6 m1 G MOV R1,#25
# B# w3 T7 q( p* ]6 {+ X" qXX: ; ]* w+ N) T. S' o4 z6 i
ACALL YS2. _7 s) V5 I5 w' w4 d4 K* L
JNB P3.7,HH
( Z+ f. m- F/ X0 @1 S4 r! j6 E, F DJNZ R1,XX
' ^1 J" ]7 l; K# iEXIT:
7 X# G' W) x+ J4 }- h8 g. X! R4 m AJMP START
' p9 k. l# x9 F! k8 O k+ s$ f : V& t! W# Z. i5 Q1 h
HH:" a5 r. F( Q* B% ]2 \' ^
MOV R6,#4- [5 B3 r; G8 c- K+ ^
S: 1 C1 c4 d7 M& z* _/ q l3 v" n
ACALL YS1 ' `4 ~: w' a- C$ i: g( k
JB P3.7,EXIT
5 D6 i: j. v, e" q& B DJNZ R6, S
' E/ i1 }$ S# I5 r/ E2 S' B- f9 B9 h$ q JNB P3.7, $
$ ^! n: W7 t5 x5 l LCALL YS3
* e5 V5 f! J& l y3 ~# } AJMP AA
6 X0 e8 u7 I, K* k& c0 ]! LBIJIAO:
E8 G; K. H, T2 x. J) X# _ MOV A,1CH 2 x4 _/ Q1 ?* U) C
CJNE A,#03H,N1 $ q5 g5 g' l2 _* r. o/ X* p8 U
MOV P0,#7EH , @* Q# J1 H, | [: |5 w
- e) c% J0 V: O$ F
;处理STUDERV录音机控制码; H, }0 Q I/ u9 X3 @" O2 u) D( x
N1: + N0 F, [; m" j$ ?. A4 l; w
CJNE A,#5FH,N2 ;播放键
3 r: j# }" [* n# Q MOV DPTR,#REP4 c8 a/ N) o& g- w) k
ACALL SENDA7 {+ |) z2 o" R7 y
ACALL YS4
. L& E" [3 `( j# ^1 t; z/ L8 } MOV DPTR,#PLY
$ |8 m) {) i+ _) F- {+ f ACALL SENDA$ S0 B; I8 w( a* s% G* X! }
N2:! {$ `: U3 x2 ~. [- \6 ^
CJNE A,#5CH,N3 ;停止键' l0 x: b: l& g# P: M" W/ P
MOV DPTR,#STP
: T' c& J9 d2 C- m$ h) A ACALL SENDA. \2 z% |6 H% T5 q8 v$ g
N3:
9 R7 a/ ]4 V& @4 e CJNE A,#06H,N4 ;快进键6 C' s* w1 w! Y) H B
MOV DPTR,#FWD
% \5 ~! m. A ~1 w$ N2 ?0 C ACALL SENDA
X0 `- I6 ]7 J) iN4:$ l9 m, K8 u$ p% C
CJNE A,#09H,N5 ;快倒键7 G- ]! N) e; f' e4 u1 s1 j
MOV DPTR,#RWD6 ?9 K* D% c" L8 m l1 S; k
ACALL SENDA
2 ]1 t7 O( L8 g) ]2 ~. @. RN5:
0 ~" `7 F& G9 a/ } CJNE A,#0AH,N6 ;置零键2 ] L$ t. M% {
MOV DPTR,#RTM o' n8 i" B" }# c) ^: k% u6 i5 _
ACALL SENDA
. d) k g# U( {0 oN6:
0 P9 Z; b( ?3 b) x" z) K CJNE A,#0CH,N7 ;定位到零键# u' W. Z4 u4 M% p8 u' Z
MOV DPTR,#LZA
5 R5 }2 k5 `7 d$ Z ACALL SENDA
! p0 V, b/ i0 h' k2 E. tN7:$ r" F& W8 w1 f9 y) p
AJMP AA. k2 k/ C8 w ^8 D7 ~1 }) T
SENDA:
w! c& a7 Y8 G. C1 s: C' y CLR A" f1 H1 Y( [0 H0 Q a; P* H
MOVC A,@A+DPTR( o8 F# k# J, q6 p2 [
CJNE A,#'$',SENDB
& J6 C+ }9 |1 P AJMP SENDC# }4 t% p2 y, q
SENDB:' F$ b! G1 l5 T6 X" g/ y
MOV SBUF,A# G) Z( |! _2 t+ j, h, {
JNB TI,$. s* j" F; S+ k* o8 C
CLR TI
|! Y9 I. f( s: R( B* a0 j* ] INC DPTR' ?$ f0 N' d9 C
AJMP SENDA
# [7 @$ c8 L$ p0 W7 H- W8 Q) JSENDC:
5 F' R: u3 W0 j0 ~/ j RET3 H# k6 ^2 v/ A2 W. ^ ?
7 V7 [' W1 j* ~" V, U
PLY: db "PLY ",0dh,0ah,'$'" U& C$ o2 q, }) g) Y+ {) y4 t/ A0 y
STP: db "STP ",0dh,0ah,'$'
+ D6 \- Y$ S: ^ o: V. {FWD: db "FWD ",0dh,0ah,'$' t' m$ m; v. |0 s/ i
RWD: db "RWD ",0dh,0ah,'$'7 k1 K5 t, s% G4 e+ A P
RTM: db "RTM ",0dh,0ah,'$'- i* i* k6 H5 M! ]! i
LZA: db "LZA ",0dh,0ah,'$'
8 X* ], w" _5 M1 n* \: `' n, aREP: db "REP F ",0dh,0ah,'$'2 ^7 x* _; u$ p2 ?* t. D+ ~% e
/ _& s' o7 V+ d# I
YS1:
/ i& P9 J* \5 |' O& e1 ~& V2 v K MOV R4,#20
, c$ [ a J1 u& u" AD1:& X. W* k. t4 u; \" C
MOV R5,#205 Y: w6 J6 `' x$ N
DJNZ R5,$
- A% c; G5 d4 v DJNZ R4,D1
& C$ ^( H* P8 Z7 q: j K RET5 q' d+ r9 G$ P! j
: A/ W- [, H6 ~ G9 WYS2:/ l9 D" E7 { [3 r
MOV R4,#10
% h1 H+ W; {3 P1 g* j2 ID2:
. J) q% _' J5 [, E MOV R5,#235! R& R. y# e. T
DJNZ R5,$
. V6 e6 e! w- A DJNZ R4,D2# O! y6 R4 `6 O7 G* ^
RET( l. d, H# _* q8 Q, i$ F$ h
8 G6 b4 A3 r/ ~) w/ g0 dYS3:& U$ r# J+ Y$ A9 d& @) S4 H
MOV R4,#2: H; l3 R2 p0 y& b& H9 q; N$ |5 b, i
D3:
4 _1 J6 O4 G$ t, o: m MOV R5,#248
3 }, D* b+ T0 z @" I DJNZ R5,$
4 ?# H6 l+ y1 e. D9 n+ G& V DJNZ R4,D38 V' ]( i4 ~- R! [% x0 @
RET2 K6 A! }; m7 R6 D/ l
5 e3 I" A0 ]. MYS4:2 M5 x4 X% o5 f
MOV R4,#2000 X$ b/ A' G4 W+ J/ i' ]
D4:7 u, s4 Z$ }, D" `% A2 o6 N9 S) @
MOV R5,#248
6 o; Y, t# x/ H$ h( h) r. W: L DJNZ R5,$
) E, @" \; O7 U1 W DJNZ R4,D3
) ?& j/ z2 h/ d! G0 ^0 W RET/ i6 t( u7 c9 H/ h! r6 I4 v) O
END7 J# z8 c3 o% y
' P( B+ \+ U$ q( v# u. M有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。9 q p7 G$ T' R. l; ]; f* f* z
是不是很惬意,嗯!& ~: x4 o, r. J+ H- o m
|