赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ! R5 ~6 w, x; c6 A
7 p1 d* [) M! z
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
3 x3 n, I& R ]/ K7 f
. T7 G" }5 ]) i说明:
% ?3 p4 d y& ^! W: X4 d* |1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;1 F$ [9 O( J5 E: j
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释; q+ Y+ h0 D1 _2 ~+ f
8 q, Z* X' I) |/ }$ j一、基本思路
; y( ?3 B, `, a* a使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。% H8 ]( U) D! G
) e4 l( \* L1 M4 B5 B- ?
二、红外遥控器4 e3 O; _: p- k. L
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
: e! a* m& B }6 s: ^1 T
1 X- |4 W, N$ _( `) `
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
! G& M# P+ P+ W5 u. u+ V$ g7 I
3 b' e" t ?2 J# c3 P- U3 @! e在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:' r6 F& w+ `! V, B& y
' S4 R& K: f3 s/ Q& e7 l: T
0 U0 ~/ `, m8 _; }0 E* Z& v三、红外编码, I$ j" \( T+ A' d9 r
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。% X8 y; n, f& I& ]- |" X* n9 ?
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
+ e7 X. I( z* m+ ~, ^后16位为控制码,主要用于实施具体的控制。* N; [# |! n# W. u+ X# A" t
这16位中高8位和低8位互为反码,以提高可靠度。0 b' x: e- a1 S+ f( X4 D
4 Y0 }* h0 z4 r7 }5 T: v$ S; A. m
以播放为例,其编码如下:
+ `$ T. B! b0 T* m00000000 00000000 01011100 00000000+ l1 ~; D+ J- f: r3 J
2 Y( x, x( l+ K你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。6 _3 c" w" y* u5 B( A/ K2 v1 W4 z, x
" C& P2 o0 N1 S9 K- S5 z& ^4 K
四、单片机系统
8 `/ P2 ?! {8 [5 W9 ]: g' b这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
4 ?. W3 \. @$ s6 ^, ^) U# S. U: ?* w
- Q; |$ r/ N8 o* n) g & W5 l$ ^; w) D* _* U% c7 n3 O7 ?
电路很简单,功能如下:
1 I) N+ ^5 J! }4 R1、一个AT89S52单片机作为核心;
" G S. j1 C+ L( {6 A" H4 P2、一个TL1838为红外接收头直接串行输出数据信号;1 C1 A) |3 G5 a3 x. W _1 `
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
6 i1 f% `9 Y' @4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。1 C. D( _9 e& y& b6 v F1 p7 Z
4 Q: y1 d6 y% {% N, Z$ G" F( X关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。, Y D* E; E0 f
9 G5 k4 j# A. `3 c" g% l
. N+ @9 R- x( J8 G
五、控制软件% u- _+ ^- w4 b' o7 }% k
控制软件用汇编语言写,源程序如下:) B+ A% i! E3 u
ORG 00H
! M: f9 S R% @' m, [# o LJMP MAIN
# R% R& a) z7 r6 i! W6 W. M2 l5 s ORG 30H
0 ?1 ~' `" ]) G7 a2 Y. {1 AMAIN:% {! [8 l) J! V) g
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)* `6 y; M% [' j
MOV TMOD,#22H ;22H
! }+ ~& C- D9 e2 I: v, t0 Z MOV SCON,#40H ;40H, M! N. T5 u8 {0 Y
MOV TH1,#0FAH ;F3H
" x e! y2 F: V/ ?, ^6 x MOV PCON,#80H
, X$ s+ w; p- `, ?, P, c z SETB TR1. l0 j( z5 N: \% K. I
START:
+ X2 x5 }; Z5 x e) x# q JB P3.7,$ ;遥控信号处理0 j, f5 C" `0 @5 {0 \8 w( s+ t
SB:
& C8 |/ W# J. w4 ~ MOV R4,#8 5 |- G/ V4 b( D( f7 K' f$ O
SBA:% Q; |3 h* x6 M
MOV R5,#250
9 I/ T# i7 e: L) m! k+ TSBB:
% K5 }) Q& t$ b* s JB P3.7,SXB1
2 O( T1 s: N2 J+ a# S3 z DJNZ R5,SBB; q2 Z8 E( T; [: C
DJNZ R4,SBA
4 R6 h7 k3 c) E. b" Y- F" z MOV R4,#2( D& G0 s9 A+ C1 D$ W6 _- x
JMP SBC
: j$ }( X f( T# o e7 m5 nSXB1:
7 {6 T% z0 a5 U' f4 D MOV R5,#5' ?' \$ l" _9 {( }0 x
SXB2:
/ T) L, U) E p2 h+ r JNB P3.7,SBB
! _! e. `+ B/ H" {9 D DJNZ R5,SXB2: y/ m. b# ^: [5 n% t, E8 a
JMP START) `) }9 |# h9 K2 H& x
SBC:
- X, k8 F( x* G: X9 Z MOV R5,#250
7 Z2 D2 l4 y8 _" \8 q8 hSB1:
2 I" X8 O6 Y. R: w# x JB P3.7,SB2 5 u7 G0 ~6 a* \0 y' ~6 A
DJNZ R5,SB1
- F0 ~2 a7 E, O* E/ M/ h DJNZ R4,SBC
* e% v0 X5 S- @; O1 o JMP START, b) X* ~1 c9 c8 D' w
SB2:
- Y# N* R: T0 B) W MOV R5,#5, t; _, ?9 ]+ I2 J# |
SB2_A:4 r3 C6 B; I$ Y* X8 ~* @, W
JNB P3.7,SB1( q& r! M' n; T; z) G7 j0 j
DJNZ R5,SB2_A5 G8 ]) f0 ?5 K% S, p" z* k* n
MOV R4,#3; b$ g, j! ?$ v
SB2_1:
$ n8 T3 s" H1 }1 n+ ^ MOV R5,#250* a$ C" X1 L1 Z( m6 C
SB3:
+ R* M8 _' u3 J/ V% @ JNB P3.7,SXC' V1 e9 l9 S6 j) m5 n- h, F
DJNZ R5,SB35 v6 H1 f5 m1 Z
DJNZ R4,SB2_1
3 x3 L4 }$ F0 B1 g/ x8 V0 _/ u MOV R4,#24 J* D2 Y" n4 K- K: ^$ P. p
JMP SB3_1: R3 \1 _! Y- v% G. e$ r+ w
SXC:
9 T7 G& w- U8 b9 J' v MOV R5,#5
9 s; I0 _* T2 O" f2 ZSXC1:/ K9 U, v! B* ~% c. T/ R/ Y
JB P3.7,SB3
8 o# c( H) i7 U# y2 E DJNZ R5,SXC1& W/ F9 G+ X% u! i3 R7 b* c9 {
JMP START/ G" ]' ~$ S/ _
SB3_1: 0 W; A8 G3 ^5 K4 P; |
MOV R5,#250
n+ k5 L$ m8 D' \SB3_2:" S9 X0 ?/ z7 H3 m
JNB P3.7,SB4
( N0 x$ F; Q l- Y' E! b DJNZ R5,SB3_2
" P( p0 P) I$ r( @ DJNZ R4,SB3_1
8 a2 Y/ j( r2 Z5 _6 ?) C- G JMP START( ]# L; ^( [! L0 |1 b, k# m
SB4: 7 `& f! B& L0 c/ r' \
MOV R5,#54 }! A2 y4 K w( }, o4 t/ e7 H
SB4_1:+ \" ] v1 i1 a6 J. p
JB P3.7,SB3_2
9 @* y% _$ ]" s1 Q DJNZ R5,SB4_14 n; R6 x1 Q- [( T- H1 c2 ]
MOV R1,#1AH
* }: |" ?# n6 F1 ^' m MOV R2,#43 m9 g2 C# w7 J7 M/ K! ~
PP: MOV R3,#8: U0 A" ~8 W6 T0 Q$ x' }
JJJJ:4 m! M2 S- t t: v$ g* H
MOV R5,#250
4 |7 t/ P j- Q! G( r IJJJJ2:
7 @5 C2 Q' v6 H: n JB P3.7,JJJJ3- Y( }$ q$ T8 z8 n" s6 |0 M
DJNZ R5,JJJJ2
# M9 k$ R# U0 L JMP START
! r" H- Q4 i( k5 p4 e1 YJJJJ3:: F4 G" M1 R1 h5 e9 |' b- f
LCALL YS1 ; S3 y7 f+ ?" ]) {4 I
MOV C,P3.7 8 W2 h. H5 A. \: L: u; ]+ C4 f
JNC UUU
* X3 F5 |" Y% c4 O( L MOV R5,#2506 u# z; g5 i- n# j0 s
JJJJ4:) N& |- n( Z# y% g+ F2 @
JNB P3.7,UUU; Y5 p" t* x4 g! y( \) v
NOP
, Z3 S" Y. x! f9 s4 x DJNZ R5,JJJJ4' P+ q; J& o0 N2 \
JMP START
; F8 X8 D; N5 W1 o; h v; T, kUUU: MOV A,@R1 9 @/ S" R# i* X# D9 L) R: i
RRC A # i6 V, z; ?2 }+ }& q5 _7 d
MOV @R1,A 6 j/ v( z+ t8 `( }. N% N
DJNZ R3,JJJJ
: O& W! B+ m# k INC R1 2 v7 F" E' f% Q( y
DJNZ R2,PP : }; m& d4 o8 h: U7 \9 ?
) ~8 V3 D* l( R: w% H( v* s MOV A,1AH
- k& K/ E$ L9 d) y3 l' Z; \ XRL A,#11101110B& v/ y8 C# o( `- W( `1 e' `
JNZ EXIT
: w* g. y6 h( i7 x) e! g, K. t5 J3 N MOV A,1BH . M; k/ S( ^6 ]. W0 H; C% d
XRL A,#10000111B! f. D( b0 y4 D% V3 ~
JNZ EXIT 8 j* h! \( ~ T$ E- F
LCALL YS37 o: Q" B0 ]# {
MOV A,1DH : m: Y- z7 I. b8 h% \3 c6 w
CJNE A,#10111100B,EXIT( f- v$ {, ^2 m5 a& S
LCALL YS3
4 ~& x! a, z' x1 F' w' h: n CLR P2.6 , L; A9 O5 F) G1 G% e
AJMP BIJIAO
2 \7 L8 d) \8 C! r' d % F Q* h: D5 S/ z- d) Y
AA: + j7 h7 A( ?! F) E
MOV R1,#25
9 {4 Z" Z3 R/ E- ]1 C7 v" J; YXX:
& f( }. l" j5 D; p ACALL YS2( z5 n M9 }8 u) x; l. G
JNB P3.7,HH " x6 e& {9 [' Y; h2 Y9 L
DJNZ R1,XX1 R% G! L$ | o- Q$ x
EXIT: . |2 i% a. J- G v" W' ^
AJMP START. @& |5 x3 L$ L# V$ m1 Y1 t
( u: {& c2 ~& T
HH:
9 k8 @! s C9 t* r MOV R6,#4
6 i; ~ P1 R7 k6 ZS:
# S) C( \' Y/ H! J H8 X ACALL YS1
+ W8 E7 _+ s* l JB P3.7,EXIT
1 Q+ e+ Q* {1 n5 d) o DJNZ R6, S 0 B/ p4 c; e: k
JNB P3.7, $ 6 r7 Z0 g& X) k' m4 A" S
LCALL YS36 _# Q7 t, q+ e- Y# j( ?# S
AJMP AA
- u& I# f) k6 @1 E" nBIJIAO:
! F0 U9 E, W/ O4 O MOV A,1CH
3 G2 M( B2 P9 c' H4 n1 ?1 O CJNE A,#03H,N1
( z; v; @; ^- X& A MOV P0,#7EH * d. v( P1 C8 q! w/ O/ y" [
& d6 ~6 d# ]5 _& i( f v
;处理STUDERV录音机控制码
; R: z1 D- N i5 cN1: 7 x1 t; w3 K- G% ^4 C
CJNE A,#5FH,N2 ;播放键
5 \+ n V! h6 k) D) \ MOV DPTR,#REP
f3 m; P5 P) l8 S ACALL SENDA
3 i/ m9 G9 G+ P- b* a4 {5 N ACALL YS43 h% d7 _5 _. g8 Y( b
MOV DPTR,#PLY3 `6 [" j% S4 {- i4 X2 F
ACALL SENDA
+ j4 }! j2 K! }6 e2 w- r$ B- VN2:
7 W$ [- \/ f+ d. ^! x. X: y1 f3 ^ CJNE A,#5CH,N3 ;停止键
- v; a! U% h" z/ G! X' X1 R MOV DPTR,#STP
6 K. b8 y+ }. n4 I. K7 Z" C; ] ACALL SENDA
) C) I( z$ a6 u! k/ P# j; J. |, Z2 mN3:
1 j$ Y3 i# d, ?# a$ o6 j( q CJNE A,#06H,N4 ;快进键+ X* A3 N; V2 K* T6 f8 P% J7 t
MOV DPTR,#FWD* Y7 p; s$ B+ i7 I& V, Z1 i5 p
ACALL SENDA
5 ? E* H. g; n6 M# D& `N4:
6 ]7 i" C! M) G$ n% R CJNE A,#09H,N5 ;快倒键) `! t4 b. Q) j' k( B5 F) j3 D
MOV DPTR,#RWD- G$ C) @' H5 S" `/ K# F
ACALL SENDA& s( B' b& o5 C* W; s
N5:
5 B* {# G" D/ d+ ^ b# a& m$ j/ q G CJNE A,#0AH,N6 ;置零键) z8 s! a' Q6 O+ g6 \+ u& P! f( Y
MOV DPTR,#RTM* a* q6 j8 }- I. N; C
ACALL SENDA
5 C! c/ d: r1 l" [8 wN6:3 f8 d9 Q+ U6 D+ t/ H
CJNE A,#0CH,N7 ;定位到零键
, _, i: T, l6 V+ ] MOV DPTR,#LZA
) g) K- L2 l0 G" x! z4 p$ b. C ACALL SENDA
7 t" V/ O0 i' }+ j2 ^& A# q$ k% [N7:) G3 R5 e5 X9 M$ P5 W) j7 G! H8 _
AJMP AA- S. l' l3 b2 a! m0 C
SENDA:
6 w$ V& _( G3 f8 O5 s" B" z CLR A6 l( K0 ~" h4 j
MOVC A,@A+DPTR
* A" X( x6 b8 N$ U0 i+ [' I CJNE A,#'$',SENDB! c9 \1 T+ W" Z$ X% o7 N0 T
AJMP SENDC. f& T7 W1 l2 d& [8 l
SENDB:& x# D1 s' N" x( u1 B
MOV SBUF,A
, q; f1 |( _4 h JNB TI,$* G6 d, [3 U% Z C
CLR TI7 O( Z& E: @: j: H5 a1 \! H
INC DPTR
* O, z% G. C7 m! X4 T AJMP SENDA7 S9 _" J- G1 C* Q- ^: N
SENDC:. \6 ]: q- _) G# L0 i6 f- h
RET
( c$ I8 |, R6 s8 V" J' U7 q* n" o5 \* T& I& M# A0 ~
PLY: db "PLY ",0dh,0ah,'$'( O. o9 ~4 \, ^+ y! `
STP: db "STP ",0dh,0ah,'$'
: O5 y& g/ R" ~, L4 SFWD: db "FWD ",0dh,0ah,'$'
' l' p! c0 \" H3 Y* w0 HRWD: db "RWD ",0dh,0ah,'$'4 B2 W( ?9 `" K( S5 M( f
RTM: db "RTM ",0dh,0ah,'$'2 B+ m7 q, V& h' n% G: S
LZA: db "LZA ",0dh,0ah,'$'4 u2 j7 ^- g- {! z. t9 H
REP: db "REP F ",0dh,0ah,'$'+ h# a2 u( f {0 ~4 E
\" R0 k0 b T& K1 N- c& q: P
YS1:* S, x8 H+ B6 s W8 Z* K8 D
MOV R4,#20) `$ [! f1 i: H; T7 `" J9 _
D1:; | ~# r( i# \7 K6 C' c
MOV R5,#20' R$ c" e7 p8 p6 C+ m0 N8 M
DJNZ R5,$; a* Y. m8 }" i
DJNZ R4,D1
; Y1 v0 i2 q A- i; P# A RET
/ h- K' y* }) |0 A$ l+ _ Z3 b! Z* A. j( d. f$ l
YS2:
1 ~+ l, E9 F6 [4 u. T6 _1 _+ w# c MOV R4,#10) J8 x# t8 r: h8 z% h N
D2:! t4 ~2 j1 c" n8 I0 k$ }
MOV R5,#235% E9 m, T9 M: X2 I3 U; @
DJNZ R5,$
S) ^, |7 K5 Y# W+ c% M" z$ G DJNZ R4,D2! f, j+ G3 k. ?8 U. r
RET
2 m( A+ N( t+ d5 R) [& D1 b/ @3 Q K) Q! D
YS3:
, k7 v4 E+ \' n2 V1 j1 Q U9 @+ ] MOV R4,#2
/ c7 U% U3 T. T. r' uD3:5 |! {5 ?3 G' X F8 c- g" p
MOV R5,#2482 x5 B$ Y/ A5 `& F# B( B
DJNZ R5,$" T# t' t4 G( n1 W
DJNZ R4,D33 S4 e: w9 `0 K% W! M0 X
RET
3 }1 u) I, V2 F- y7 t% [0 K2 R5 \# g {9 R8 B, o% c8 v
YS4:
( H3 _, d- [9 G: Q4 h MOV R4,#200! ^6 N& r# z! i% `' n9 ] I
D4:
; P: C) J: w& e8 d) L# r MOV R5,#248 C- i$ F) t0 x) X# U
DJNZ R5,$
: O( {1 f. k8 e: K% U+ W' i7 I DJNZ R4,D3/ \' M6 W0 h8 \( H: x- Z( S
RET6 \9 v! ` k$ l0 n4 n8 g( b
END6 e1 O, N5 ], I- k. [8 E6 _
5 h8 E, s, o3 G" B
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。8 ?+ C+ l1 i C: D7 U4 L
是不是很惬意,嗯!; I# H* v8 {7 Y; C" ?1 g
|