赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 - |) P: k9 X4 \1 w5 i7 V
' t8 u3 ^% x5 v0 X
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
& W3 u( @ b( }4 E
+ ^1 B P+ |7 b; E" B' u; u说明:4 i: w9 W. s8 X( r6 e' T5 e
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
* x. p. k8 l4 w' ?0 `5 z7 F2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
) F' @6 C) E1 T9 f2 _0 h0 |" i+ b8 f8 H
一、基本思路
2 G8 ?/ q0 Y/ C% C( Z使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。! X# ?$ A9 [0 Q0 M9 f7 _+ E8 G
" U/ z) v! k" A$ [/ h7 y二、红外遥控器
1 e* s" w' T- @- I3 x我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。! {9 L8 g2 ^3 y7 V% Z" [
) R6 p# a+ J4 i a7 _3 ]1 `
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。' `' B4 S7 ]2 w
/ f3 W6 f6 j, m. f6 O0 r# e5 B
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:" }: s# G2 w$ e1 J0 x
, X: R# E4 O j' z
/ b8 y4 I+ R8 G9 g2 P$ U9 J三、红外编码7 e" P) g; q3 T* ^& C# C8 A2 T
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
" n" z. b- k/ [6 o) y前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
. P1 n4 J% w$ S. L2 j; O后16位为控制码,主要用于实施具体的控制。
4 y8 L" T$ M3 p) w7 ]& }这16位中高8位和低8位互为反码,以提高可靠度。
" ]2 C0 e( O& i: _+ b- v1 o, {. I3 t8 W
以播放为例,其编码如下:
' D/ W! \& {$ `) T5 n. \9 m1 @1 C00000000 00000000 01011100 00000000
: A+ u& |' C1 n" S( u- y
! f I" o5 P/ k* }2 a2 w你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。% z s; w( f+ K( M
; [2 J8 ~4 n9 G! `+ }
四、单片机系统
8 V" G3 c `0 w0 ?+ Q: A3 q这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
" W' R- G7 j P4 h- z2 ~
# b; R0 I G0 X2 b. j* k
6 j& Z6 M8 T$ N$ X$ O) a C电路很简单,功能如下:' }9 M+ w% \2 C' r
1、一个AT89S52单片机作为核心;
7 l2 q" M9 U7 w2、一个TL1838为红外接收头直接串行输出数据信号;! u# u+ C; k9 N9 U( D0 a
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;/ [6 l4 q8 ~! N( O% S
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
/ m& N1 L* e% Z" Q $ u' _1 f @: S: Z' W
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
8 h7 w# t4 ^ i" p/ Z# r6 @; @+ G* V8 K A& S! X7 P4 m
# A( ]. `0 D) v5 e* p
五、控制软件8 r1 [2 b* w5 ~+ I+ Q7 t
控制软件用汇编语言写,源程序如下:: ]: i3 g+ |8 l" T2 v
ORG 00H
7 o- C, T3 O$ H& r/ E/ W LJMP MAIN4 s5 z0 F e4 L
ORG 30H0 O$ Z: E* r- \1 U& M" R2 P
MAIN:
* ]: C& q b9 Q3 J/ b* [: F' l# U4 Q8 t MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
7 N0 H, ]4 O0 d* o% q MOV TMOD,#22H ;22H/ C8 X& p5 a* L+ b6 U* @ d) @
MOV SCON,#40H ;40H
6 L/ j- Y- ?+ m MOV TH1,#0FAH ;F3H
. c' c- v8 c& { V1 j6 m$ ~2 f2 d' u MOV PCON,#80H
3 P. d+ Z) [0 G& D+ o1 i% E- K SETB TR1
: J" n* o2 U' m$ z, Z9 A) nSTART:1 f7 c3 i: C$ ~8 K
JB P3.7,$ ;遥控信号处理
% \7 i9 B$ K' b$ L& l5 J+ E5 pSB:7 m1 B& Q# c! D" r
MOV R4,#8
v- j( s% ]: b0 K8 p" RSBA:3 O* \8 F4 j5 ?0 {% V1 G* ^
MOV R5,#250; @3 N( e4 L- a$ P1 T5 ~
SBB:' v T9 f/ A2 h8 T. Q0 C
JB P3.7,SXB17 B5 A2 m! D: F9 `* M' q; ] h& m
DJNZ R5,SBB
+ W1 M; \, Q. N3 [: h& [- B DJNZ R4,SBA6 D/ Q" b% w7 W
MOV R4,#2
: c! o( l9 q' C8 ^5 y- M, V JMP SBC
; x! I5 f% A" M1 r/ { h* ^SXB1:
8 z; O s ~6 N" Z MOV R5,#5
$ d3 |8 Q" ^4 x4 n2 _/ aSXB2: , N# b* r0 d! _ M
JNB P3.7,SBB
1 u: S0 g3 v) @1 }) z3 X DJNZ R5,SXB2: `! x* ]9 L0 \: x
JMP START
1 |/ g9 [3 l6 g4 g" zSBC:
6 v( d1 |; ^- B2 A E MOV R5,#250& R8 F2 L' n4 r1 J3 [
SB1:
l8 A! A, b1 ~4 g JB P3.7,SB2 ( L+ j h$ y7 T" @5 n- V. B
DJNZ R5,SB1
- j$ l4 J! X: E+ q" q* g1 P DJNZ R4,SBC5 Q8 X# D. p, x8 ~* q% i, s R0 N, {
JMP START# X$ u8 A, c9 |4 T, w2 Y
SB2: " I( I2 {2 {0 e W
MOV R5,#57 l* _) @* q6 I2 [' h. w$ s+ c2 E
SB2_A:
- V4 f+ {! a: R: Y3 v1 \ JNB P3.7,SB1
% ~# J+ b! w# D) [) B DJNZ R5,SB2_A- X* C. U! _& {
MOV R4,#3
; z' C9 |9 Q/ X! QSB2_1:
" u% w1 h+ T$ p" Y; j7 L% y2 } MOV R5,#250& [) v* f6 O( J. v
SB3:
. h' Y" X0 G7 E. Y6 g: ?0 ] JNB P3.7,SXC
* C. U4 D) {7 _+ l# k) ?# q DJNZ R5,SB3
% k9 X! h6 g( k: I! }1 o$ E DJNZ R4,SB2_11 g; \4 w2 S/ x |) l) ]
MOV R4,#2
: Z$ p1 T1 }$ `& I& ?0 x: x JMP SB3_1( i8 y+ y0 J# ~+ L0 I: z
SXC: $ d9 ^2 q, y0 G- ~5 A @
MOV R5,#5, T! }; V" h& W5 B6 G1 Y y
SXC1:
* y& B' a+ s1 n) p( I, `5 h+ n JB P3.7,SB3
$ M% K( D- D- G9 `4 z9 F. X DJNZ R5,SXC1
6 d: F' a3 R( o9 n JMP START" h8 p, u2 N( y: `
SB3_1:
+ H2 R( q: N# G MOV R5,#250
9 m0 }2 }' B1 W2 Z* n/ Y( JSB3_2:. A6 z! y( H5 A$ N* O1 {
JNB P3.7,SB4& u1 b* o. g' b
DJNZ R5,SB3_22 b" k% n$ O2 G* x% T( O1 Y4 r
DJNZ R4,SB3_18 S7 O! p& _+ b( z
JMP START
$ E/ ?$ P( R! {2 ZSB4: ; w- O3 D: c. \
MOV R5,#5! j$ t( I6 N/ {% A
SB4_1:
: i5 V3 u4 B. j k t' c3 X" n JB P3.7,SB3_2
1 l/ s: @ D6 K% D+ i6 h DJNZ R5,SB4_1
) N7 Y) s! {9 F8 f8 `/ K$ {7 T0 g MOV R1,#1AH - Z5 {" U4 K0 O1 W9 D' T
MOV R2,#4" L+ z9 [0 I( A
PP: MOV R3,#88 a$ N+ E$ q4 \1 Y2 h2 ^, ?/ k
JJJJ:
H0 p, f7 N' K- X MOV R5,#2504 `: p( j$ K4 a L- O9 b- [" i
JJJJ2:
2 ^ f! M4 f3 L, M* c0 s9 j6 R JB P3.7,JJJJ3* M' y' I* L2 D; `2 \5 L
DJNZ R5,JJJJ2
) K. o& b, [+ d6 q& B JMP START( x4 n& y+ X+ q: D- d" h
JJJJ3:
/ y* \) W$ Z; w' N0 N' h; N LCALL YS1
" e5 ` m' A4 Z( x0 h MOV C,P3.7 ' w" ^* c& G) N8 w) ~. g' n
JNC UUU ) s9 p4 r* h3 P2 ]- r% Y, v: Q
MOV R5,#250, G" p X/ V$ v9 d( ~: H
JJJJ4:
% S/ z! X+ T/ F& k: Z4 V' a JNB P3.7,UUU
% Y( V& g- J* m& ]+ G NOP
% Y( ?! A4 `3 E. q4 L DJNZ R5,JJJJ4) C) t) B3 M9 F: o6 S0 Y/ T1 w
JMP START
6 q$ ]) U7 G% bUUU: MOV A,@R1 9 }. J# j K3 ]
RRC A 0 T. B. @% f+ ^8 `3 o9 r
MOV @R1,A 7 s& c) a7 z* `& Y# D# |) B1 V4 u
DJNZ R3,JJJJ
2 n3 R n/ P3 U; |2 `: d INC R1 * u& ?, [ C; o
DJNZ R2,PP
' ?8 D# H b ?/ }, @% {! P8 l- s8 c4 E. y {% Y# {
MOV A,1AH 5 S9 b, R1 F7 O: N- D
XRL A,#11101110B
4 }: k4 l9 _, I$ J1 I& i JNZ EXIT
6 i. B+ O% n) Q2 s6 Y | MOV A,1BH
% o. Q5 a1 N+ j; V) B, D- s XRL A,#10000111B+ H) f2 p% Q+ E' f, P6 _, g
JNZ EXIT
7 f' h8 V& y' m LCALL YS3( n5 q, y( A8 A- m
MOV A,1DH 2 U* ?8 O( N& B# R& I* ?8 G8 y$ O
CJNE A,#10111100B,EXIT [# n! S( b9 K9 _ i0 k' g
LCALL YS38 f1 ~$ v- `7 h' j
CLR P2.6
$ ^, O8 P1 S% ]( K z" @+ I AJMP BIJIAO' |- ^" J: t6 C! z0 J' \
4 ?# I1 ~8 i3 @! t0 ]0 Y+ ?AA: ( x3 _1 ?1 K0 {
MOV R1,#25* U! l8 f0 h2 e& Y0 c6 U
XX: ; ]4 |' j6 h& N4 y- U" `
ACALL YS2
4 r w# u3 e- e! Q7 V$ ]7 }+ ? JNB P3.7,HH ' g6 l! m7 S$ v* C
DJNZ R1,XX; x1 ^$ H4 C, S m0 G
EXIT:
7 R0 N% ]. E$ \- m$ j AJMP START1 B# A- Q" }3 u+ p, L7 f/ j# H4 `! }
7 ^& V. c% T/ @3 u6 R) fHH:
2 {; H/ a- A3 y! J" A MOV R6,#45 v7 h( t% g, k+ B. m, [ d$ A* L
S:
! v+ n% _- j$ P Y r ACALL YS1 3 o1 M8 u) y- G' X* d B
JB P3.7,EXIT , E4 F% Y$ y; U/ [4 `
DJNZ R6, S 9 }3 Y! Y6 `0 z* L
JNB P3.7, $ 9 h) p4 u; {3 \; J U* C- u0 N
LCALL YS3# f) K% C9 [" i3 W' {8 F3 ^
AJMP AA
, h& G0 ] }: j1 jBIJIAO:
! @" m/ q2 J8 ` a$ h) M. H MOV A,1CH
. i6 S* U% ]$ T2 R! w; X% u' T CJNE A,#03H,N1
6 F/ }) u( r* K$ b3 T( f MOV P0,#7EH
. d* L- \3 L8 s; p8 G& a 2 F( `! e' Y3 E' g
;处理STUDERV录音机控制码: Y! S6 d# A- b, P
N1:
6 s/ m; Q& S K CJNE A,#5FH,N2 ;播放键
, {# g# m. ]4 {7 d5 z: V, {! u! x8 X MOV DPTR,#REP
3 R1 H: q& h9 { ACALL SENDA
( X6 o4 D% H" a/ y+ z ACALL YS4* @( J0 z: }# P+ R4 @3 z { B
MOV DPTR,#PLY% U6 F) w5 C1 g2 p# b
ACALL SENDA7 ~: R V# j) Y& R8 P( S9 }; U- l6 Y
N2:6 m- ~6 b: r$ ^& N% B: `5 W4 a# p: h
CJNE A,#5CH,N3 ;停止键
2 @4 F/ \/ Y0 j/ y MOV DPTR,#STP
3 j4 U' c4 _/ i# I% [ ACALL SENDA
7 @) J5 Z3 S$ t; ?3 E1 d; I; EN3:' t) p* X+ ]3 u4 A: L3 ^. j
CJNE A,#06H,N4 ;快进键
+ M7 W e/ x4 ]. U MOV DPTR,#FWD7 S* I4 i, Z$ U: J6 Z2 `
ACALL SENDA) k( N) \" C; f# Y
N4:
, j. k3 `* f5 a3 m4 @ V Q CJNE A,#09H,N5 ;快倒键
2 K; i0 |7 R9 V6 g O4 s7 P MOV DPTR,#RWD- m, h, J8 u4 {* X& x5 g4 G: ?
ACALL SENDA
6 Z# E$ j9 S' T3 |) \1 xN5:
8 @- _. F6 K7 C Y/ \/ O CJNE A,#0AH,N6 ;置零键
" g( c0 W2 a5 W* k MOV DPTR,#RTM# ^- `2 o4 o# M$ ^9 O$ H
ACALL SENDA
' G. f h2 m) Z+ M/ g5 oN6:; O8 E' E) R) r: p& H
CJNE A,#0CH,N7 ;定位到零键) Y" u* Z' Q$ i
MOV DPTR,#LZA
# t3 j @2 G8 z ACALL SENDA
( u B$ U/ x- T/ c% uN7:
( N/ A# w$ \6 c5 Q' J! K u2 X: h+ z AJMP AA
; {! C# Q V3 S& q7 _$ xSENDA:
$ I) q5 m+ U/ r. X( B7 V! ^! K( d CLR A& S; B1 n2 S6 @1 O6 e5 V
MOVC A,@A+DPTR$ y1 ?1 \2 M+ Q7 T( C7 j% q
CJNE A,#'$',SENDB0 D' R9 S. A# M
AJMP SENDC
" T1 \. W+ F* N$ D) R+ H* x% V+ ASENDB:
- ?5 U- x" V1 s" \. L$ m MOV SBUF,A$ i# l6 g! j" o" ]- d7 @; G- i
JNB TI,$) l) ]) N9 u) J( j
CLR TI& _/ E6 X; G. S/ A) G1 c& w) R/ f
INC DPTR
0 o5 p) |% q4 Z8 g AJMP SENDA
5 H$ E, y$ ~$ Q& ^3 X0 l# Z VSENDC:
6 q% Q4 t" f" z( {# T' W* l6 k* W RET
; ^! i' x' }' h7 g/ }" [* ? L! y5 E- k
PLY: db "PLY ",0dh,0ah,'$'
" V! d, S! C) \. D/ x6 J( o6 YSTP: db "STP ",0dh,0ah,'$'& e' j1 K$ I+ g8 T$ d0 F
FWD: db "FWD ",0dh,0ah,'$'; c' {1 P# c1 W' F( P h+ r) {
RWD: db "RWD ",0dh,0ah,'$'
5 O% r3 a7 G# i2 r; D8 s' M2 [RTM: db "RTM ",0dh,0ah,'$'. f s& G' f* s4 m m
LZA: db "LZA ",0dh,0ah,'$'& ]: T! P% ]6 x* g6 e. c
REP: db "REP F ",0dh,0ah,'$'' n( Z' j6 G6 B9 q1 @
% a3 V. D7 V1 ]. u
YS1:) o) |3 h* {. C
MOV R4,#20
/ t8 E' e3 C8 Q6 g2 RD1:7 `: B2 y1 \$ ]' Z7 T
MOV R5,#20, o. E" Y( U& u/ Q3 ~9 e, z8 w) Z
DJNZ R5,$
0 c, ^% Z% U2 ]9 D" u DJNZ R4,D1
, W7 O0 f! A0 ~9 O* ] RET% b) y- P2 l' Q' q6 z% ?
4 |' |9 z/ o. ]5 |/ T
YS2:. i/ [) b! r6 C6 m
MOV R4,#107 w( b7 R: D9 f) \ |2 x
D2:
7 ]' |. o/ Y* {9 B! h9 f3 R MOV R5,#235
) x( w9 W q8 O: y# z- P' Z$ X. c5 o, J4 [ DJNZ R5,$0 V5 U* O3 w6 @. l9 h
DJNZ R4,D2
" M3 P0 q( P, g RET6 [: B4 k) R# a/ n- T o( G5 W5 r
. E+ a/ g# A. i [" B5 YYS3:$ Y* j- c1 ` g# Q. j- p
MOV R4,#2
; Z8 z' c7 y0 y' Z! _- ^$ f1 f5 ^D3:3 d$ ^! T% r6 T, D6 {) H# f8 F6 d. C
MOV R5,#248& D f0 b7 Q' [9 Z# O9 U7 l" N
DJNZ R5,$
- H9 v( d- C+ \ ]' D, b# u& m DJNZ R4,D3; b( m2 Z! M5 w6 j5 E) g/ D
RET0 S: |3 ?6 c, H$ Z) B
8 r0 K- @( g6 _& i9 _
YS4:
X9 X2 W/ ~2 X0 d# w; e MOV R4,#2006 T& e7 P+ b. X
D4:
/ v( G o9 x( E$ S* j; w( d: T MOV R5,#248/ V$ C4 O- N$ |$ i+ b' `& a' Y! ^
DJNZ R5,$
9 o& D. w, \- }: T2 i ] DJNZ R4,D3
Q1 j3 f0 {1 I6 H+ v RET
, K9 P- W( F, M) W3 u7 x- F END
$ ^% W! E; ~0 [, |; Y* g
9 L! n7 W( j" R5 r有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。# d8 N" l/ v+ I
是不是很惬意,嗯!3 m0 Q; s, x/ z& u; m) A
|