赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 9 R- G0 |' t: s& U6 e- W2 K# k
, R( y3 a( l) S( H4 i本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。+ Y) e6 J' u% u: y1 q
8 |* P9 M2 U% B: z+ |+ R
说明:
+ r1 M/ U0 `6 r: I# Z) @9 k+ B1 }1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
8 z6 G% r! x& h; ]! d3 L# u2 b2 f2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
/ l, p, X- F) ~
; e) t: j1 L8 D# i一、基本思路
7 x# D# b6 M; D4 X: C; e8 _8 D使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。7 x- V# `! \3 y+ l/ a; n) d2 _
5 o d& S# y; H+ j: n二、红外遥控器; t7 g J+ ?' e. A0 H: H
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
# S' h5 W1 M8 ?
1 ^1 \* l; M7 w* o
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
3 s; F1 |& x9 R/ l
3 [5 \6 b8 W7 l在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
% f9 l/ w% f3 J% V3 `& Z
$ a- |1 y1 K3 w" Z2 V6 w
9 N) L7 h& p6 v三、红外编码3 f8 U6 ]( q+ |; B
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。+ m- d( w$ F; b1 T
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。' O6 S, `# w" `4 ?/ w9 y1 N
后16位为控制码,主要用于实施具体的控制。
8 o0 y( Q7 }; o. o这16位中高8位和低8位互为反码,以提高可靠度。
* {2 v/ F3 q, k0 @
3 |! y8 j1 N5 K以播放为例,其编码如下:. u5 G: E( N4 p) z6 ]2 s
00000000 00000000 01011100 00000000
* _% \! }+ b/ v) c8 z0 k2 B T" A/ d$ I: U: |% `# }
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。% i8 c+ R3 [+ [4 J
3 t3 n$ C& x- O8 V
四、单片机系统
/ X" k& ^. s& E% Q3 @0 | |这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。' }6 [ d- j2 I& S6 x
3 |- D k! Z9 i$ p$ P" r0 m
0 W& n8 Y: Z8 k& p1 ?, m% s电路很简单,功能如下:& H, @/ _% a; B: k ^1 {8 [+ U6 c. b
1、一个AT89S52单片机作为核心;
0 X4 l' X5 J2 |4 _2 a2、一个TL1838为红外接收头直接串行输出数据信号;
) [( F; {2 Q0 q; K3 A& B3 r; I7 ?* r3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
4 W! t* T% m: n9 _3 ~4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。* F0 c9 P: t( j Y2 @' g
4 u) l/ ~- K* c1 U2 ~" I# ~" Q关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。; d9 ^7 y, j& Z j. z8 J
. B, P' L$ V- r. g
$ j& I: y$ f2 n1 w: Z# o五、控制软件0 s. Q/ G& e7 P7 l2 ?
控制软件用汇编语言写,源程序如下:( Z5 |# q9 K+ T9 s' X
ORG 00H- u$ O# D' k8 @
LJMP MAIN
; t- @+ K+ J- S0 F: c ORG 30H
1 j$ I! T$ h) G# y1 XMAIN:
! ^9 T p r( _: J MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
% N1 J M* B/ U$ k) _/ N6 ? MOV TMOD,#22H ;22H
: _. O0 J+ J, }+ g MOV SCON,#40H ;40H
o" j8 Z; j/ h* N' y3 L" r MOV TH1,#0FAH ;F3H
+ X' Z2 e+ Z/ _5 L- s$ Y5 h9 U MOV PCON,#80H
9 S5 f: y$ H& F( q/ D: v; | SETB TR1* B$ l; I( a0 t9 ]) Q, E
START:9 n6 m8 F) y1 g6 |# y3 N* e1 b7 C
JB P3.7,$ ;遥控信号处理3 \, ^+ F7 i/ e: \6 P
SB:- n; A; A6 E3 M4 f+ r( C4 O" G. z% {
MOV R4,#8 7 c, ~) y4 k6 v, n4 \& L6 l
SBA:
1 \! |0 L0 z* h5 B i MOV R5,#250" u$ W6 L: r, q: e
SBB:
( {4 l$ f0 g+ H) N2 D5 ? JB P3.7,SXB1
8 m" A! D6 e* [5 x3 L: l% r DJNZ R5,SBB
" [! B( o; N8 k" j8 x" \ DJNZ R4,SBA
4 H2 j0 @3 _8 q; i0 P! S3 a MOV R4,#2
2 m& F5 u$ g8 A& C; t* q% I JMP SBC
# [7 l, X% W3 O5 E( S. R2 @SXB1:& d4 V" k! A( d" Z0 H
MOV R5,#5
- m8 S- S/ H3 v6 u8 Z; HSXB2:
) m/ p& a% r8 I" n JNB P3.7,SBB
+ G( e8 v1 u( c- I. b DJNZ R5,SXB26 |1 s& r; g+ m
JMP START% d! g& a- _3 V, Y% m
SBC:
- N) K1 M0 E! G. { MOV R5,#2500 z& \2 b( D7 Y
SB1:6 ^. o) G/ L7 `7 Q% w0 N, g
JB P3.7,SB2 ( h V( o1 E6 A" p$ o6 P
DJNZ R5,SB1& C4 l3 a1 q0 Z! P" H8 R- E
DJNZ R4,SBC1 j8 s( P& \4 ]4 W; J2 {
JMP START
h; p" N& q# y& U& a2 kSB2:
# \( |- y$ k3 H. N4 E MOV R5,#5 J# R4 C- D% m/ n
SB2_A:
. B, k2 Q: q' M/ b; ? JNB P3.7,SB1' N% n$ `: c+ \4 E8 d% h3 N/ d, o
DJNZ R5,SB2_A
9 Z* z+ D [- W3 o MOV R4,#30 @! p: j2 l. T, o
SB2_1:
! N* b0 H. q: I% J MOV R5,#250
3 V2 O- K1 Y! h+ q# v5 ySB3: . T& O5 f" i1 d- N( b9 Y: f
JNB P3.7,SXC
6 I+ H5 `! j, B) ?6 ?$ r DJNZ R5,SB3! o% L) K4 E' E0 X
DJNZ R4,SB2_1
* l# N: j5 K. _ MOV R4,#2; |1 Q5 }) l/ @/ O
JMP SB3_1
p6 s9 k- o) p/ x+ m0 uSXC: " O- \% Z+ F( _! ?1 }
MOV R5,#5
6 U: P- B$ g- T6 a) }, A8 E5 `: ^SXC1:: B: G2 }& Q% A; q; M7 J8 P2 ~
JB P3.7,SB32 p1 V2 L* ]+ Y- m2 Z6 L
DJNZ R5,SXC10 t. u' g# X6 X! @
JMP START3 X0 _# A3 J7 z) c- a
SB3_1:
% c0 m' R1 X1 f P' X+ H9 I! K MOV R5,#250
5 r) k4 P) _/ `# PSB3_2:
+ N8 u# B) Y' j JNB P3.7,SB4
# _1 j" C7 p* Q# k/ h8 h DJNZ R5,SB3_2; x* t8 h& H2 Y
DJNZ R4,SB3_1( ?2 t- C- h' {# p8 H
JMP START9 K* m( k2 @; T6 o
SB4:
1 M: A# q& B1 h* @ MOV R5,#57 v% ~7 V+ l& X- Q
SB4_1:2 N8 Y' y2 t* Q6 j! ~
JB P3.7,SB3_20 A1 Y1 I! X8 ]: t; I6 U
DJNZ R5,SB4_1* S% i9 x4 x- l% V8 l
MOV R1,#1AH 8 l; S v! Q% |4 e+ n- |
MOV R2,#4
% Y5 F9 h* \5 O. T0 ?: f- j( B! APP: MOV R3,#8
8 e$ O( ~. c" j5 R# S% U) wJJJJ: y- z) K: m5 N9 x
MOV R5,#2506 K' Q) {8 E2 e: U* c0 K7 H* Y! A, g
JJJJ2:
6 ?- `. c8 L& B* I7 o& |2 u JB P3.7,JJJJ3" F" S. a: W( d5 m: @% c
DJNZ R5,JJJJ26 T" E' U; ~# i- e9 S( s
JMP START
* O) g4 D8 P9 b* dJJJJ3:
/ y# _# Z k3 |5 F- [ LCALL YS1
3 x5 g2 p5 l5 y# Z! @3 l% v MOV C,P3.7 ( R/ ]4 l7 {+ D6 n# t
JNC UUU
1 ~! m5 A# b' _: I MOV R5,#250. U5 {4 d( ^# U( b+ M
JJJJ4:
2 H( P6 E* e* n- U$ {0 k JNB P3.7,UUU
# _1 m6 A' ^2 A0 D2 q% i* E F/ ?( G NOP/ `: @! Z" }5 t4 w1 O
DJNZ R5,JJJJ47 a K' R* d7 l R: c" Y
JMP START
5 ~/ A2 m7 M. iUUU: MOV A,@R1 / B$ c, }" r* W1 [# A
RRC A % H. z" y7 n6 E: V1 G
MOV @R1,A
1 W0 o ~* Q+ T L+ q. Y DJNZ R3,JJJJ
& ?; Q; Z. \1 d' s" v INC R1
8 \9 H8 m7 M, {. Z0 \ DJNZ R2,PP ( C- ] M3 c% |# x! w9 \& f
8 C5 k* Q' J' k
MOV A,1AH a! k: N5 C' A" O* L
XRL A,#11101110B, c& }. x- \0 }5 S0 B. ?
JNZ EXIT , u8 t; V7 | p+ |8 G
MOV A,1BH
1 M t; Y% Z p( o- v XRL A,#10000111B
, I& k* k2 y7 }6 @ JNZ EXIT ; Q5 I+ d2 }. T$ J c0 F' N+ o
LCALL YS3. h \0 Z; U4 G$ V' Z
MOV A,1DH
& S) O& V# N. Y8 m G CJNE A,#10111100B,EXIT
% }2 T0 R% ?+ Z6 t2 S! a0 S LCALL YS30 v7 `/ G/ r w( Y
CLR P2.6
1 T$ s9 C- S2 k6 R AJMP BIJIAO
0 P0 J2 D/ E+ v. P8 L3 n1 }% i5 w: Q
# D- _' v) j b" XAA: & Q* {, @( {4 U1 l' h- l
MOV R1,#25
* V0 s8 Z: w4 I4 a% f/ Y# K. PXX:
$ g0 k6 d: T9 I& l$ p7 {6 y ACALL YS2$ e/ j4 _% \* M/ \5 X# \9 Y& b
JNB P3.7,HH # N: ^8 l* Q7 L H1 Q. C/ [
DJNZ R1,XX* o S9 `* z5 ^% p& c
EXIT: * O1 V2 j6 O* o+ h/ f3 L9 }
AJMP START8 u5 ]: n; {$ S6 E/ N3 G
3 N( j0 O8 `0 n! Q/ PHH:
- ^( d: p9 Y. ]+ H MOV R6,#47 c e5 ^! i$ k: S9 x4 I
S: 2 E( Y' b, X+ k6 k
ACALL YS1
* y/ P0 X3 `: k6 h JB P3.7,EXIT
3 F9 j! d2 X" ? DJNZ R6, S
9 P! i6 {; q& X% g JNB P3.7, $ $ a! U9 C( ]6 F7 ]9 W. {8 x* Y
LCALL YS3. P, G% _% m0 v& e" s
AJMP AA
& i, M, Q) ?3 t2 SBIJIAO:
$ V% R: N5 E* A MOV A,1CH 4 B- u' X6 _/ A6 x2 A
CJNE A,#03H,N1 $ u, j9 [# H2 Z" c- T9 P
MOV P0,#7EH
$ [, j& l2 [: }& U: |7 S1 ? 8 f: M; J* y3 ?$ |3 `# I+ R
;处理STUDERV录音机控制码
/ R" x5 b' s! c' m; t1 JN1: J7 l N& b6 e8 H8 v
CJNE A,#5FH,N2 ;播放键9 l* D- B; b4 [4 R
MOV DPTR,#REP
! ^* q# r* L* F6 [0 o# n) k ACALL SENDA
- v8 j- |- x. \1 z2 c. |" e+ Z/ u ACALL YS4$ b! v; s9 L3 q
MOV DPTR,#PLY3 z8 l& g% Q$ s' F/ [ a1 w
ACALL SENDA
6 C" X( f* B& K1 v: s |1 RN2:
) x, J% t* M! z' Y6 e CJNE A,#5CH,N3 ;停止键$ p( i8 N/ {$ m5 @5 L" d
MOV DPTR,#STP' ]4 F! o& f6 R q6 z# Y
ACALL SENDA
3 _$ s: q0 S' N! t+ ]* ]. `# LN3:
! a6 y6 H1 x& g, T% X: ~ CJNE A,#06H,N4 ;快进键$ ^1 t6 d* B$ l# e, K% d& m8 a4 m
MOV DPTR,#FWD l* z* w$ Q8 l# h- T0 g
ACALL SENDA
: N2 M2 G' u& V4 ON4:
) g4 r! q6 N+ ^: m" h1 ]$ O9 p CJNE A,#09H,N5 ;快倒键2 t% y& o# o% d' @' ~2 ?0 b0 @( h7 y' O
MOV DPTR,#RWD$ t. y# J3 w" L- Z8 Y* r# I7 @
ACALL SENDA5 _" h0 K: s& F; S5 a1 m N. A
N5:4 d7 \! y. Q; j1 |
CJNE A,#0AH,N6 ;置零键, l) g: a6 P6 f/ [
MOV DPTR,#RTM
/ ? ~. F3 M& G( l' {0 q6 K, ?6 u ACALL SENDA4 C, ?5 x$ s, L
N6:- D* e0 t+ I: H2 X' `" V. a) g- f
CJNE A,#0CH,N7 ;定位到零键+ T$ D9 M( v7 v7 n& W1 a$ i
MOV DPTR,#LZA
, I1 b' P6 W. Z! p! g ACALL SENDA
5 Z4 M2 Y( P% d; ?N7:. w6 n9 E4 c5 B3 a/ t# _* d
AJMP AA
g& d) l6 \* F. ?SENDA:
; K# @% d; S- g8 C! O) e: Y CLR A5 u. ]- a( b* W& U
MOVC A,@A+DPTR2 J2 u2 s% i7 m- f
CJNE A,#'$',SENDB# A# J5 ]# l' x3 v/ }1 r
AJMP SENDC
% m2 {5 E& N( ]3 i+ ZSENDB:/ n9 G1 E h' K- n8 p E W1 {0 b8 u
MOV SBUF,A% d) d' v" V* ]7 J% V" j* J
JNB TI,$
4 W9 H% m# @+ ~% L' H1 | CLR TI( y. y; D$ |, A* y# `
INC DPTR0 _9 K0 \% j2 T1 t; g9 f8 i1 [
AJMP SENDA) ?9 W* V% A0 h0 j8 b; v" r3 o
SENDC:
" }/ m! r1 y- \" N" `# N' ^ RET7 U0 R+ X7 C. q4 S2 g1 C5 Z
7 X6 W" r; ~. A4 C6 g* LPLY: db "PLY ",0dh,0ah,'$'
. [' n8 o4 f3 P* ^4 GSTP: db "STP ",0dh,0ah,'$'
4 _% t: E. Q+ c$ P- V/ B# P: PFWD: db "FWD ",0dh,0ah,'$'
* T$ P, q$ o& {5 ]# d. \; VRWD: db "RWD ",0dh,0ah,'$'
/ P) [" p: D* DRTM: db "RTM ",0dh,0ah,'$'
- y: E6 z3 D4 Z4 k) d. w( WLZA: db "LZA ",0dh,0ah,'$'$ ?7 H. `- Y* d' J* t- m' S$ k3 w
REP: db "REP F ",0dh,0ah,'$'
9 w S; ^' u, O
9 ]) i: C( Q$ kYS1:
" J* C9 \+ f! M c MOV R4,#20
' K) ?* t6 y+ g' v* J+ L6 eD1:
; z, n" K' x' V MOV R5,#20
0 |6 l6 C! f$ k6 v DJNZ R5,$3 C' p) }1 h: |: z, v& K
DJNZ R4,D1; I+ |. E& Z! w
RET. j* t) ~: b. q7 @0 ^
7 H6 i8 W% f5 h( l. X9 y$ r9 M6 f
YS2:
4 C7 p" r4 g. a( O5 a MOV R4,#107 O- K8 y! a5 u. h
D2: x% @3 o3 x1 Q. V
MOV R5,#235- }% c& k4 ^6 @0 }9 Z
DJNZ R5,$
$ G+ k; `8 F; L+ _ DJNZ R4,D2) L9 J2 P% x3 P+ w( D2 ?
RET6 e" E" D1 Z7 u% b5 n; y6 ^0 m4 x
$ L/ q4 ^8 t# z3 V$ C( L( [
YS3:7 a8 e, t- t1 U9 u9 V' a
MOV R4,#2$ i* K9 Y0 Y; q! \. h5 Y
D3:
; }6 Q' I9 K# @% S' \( R MOV R5,#2481 x2 | P. q; F6 b2 `
DJNZ R5,$
' X( _0 E( @' q0 q$ ]1 W2 a7 ?& b DJNZ R4,D38 E3 g' W) \( m9 Y t
RET
& g4 @5 K, z. z( j6 u9 Y/ P7 C* Y* j0 J8 C5 { I6 d: R: P0 ]2 l
YS4:
7 Q! i5 |& i# R' B' \; h MOV R4,#200% L! R1 S0 ] e
D4:
5 e j8 X' @. g/ e MOV R5,#2488 g+ h! N1 P: @6 p' K3 s/ k) n
DJNZ R5,$+ @0 j; F6 k! d4 X; ]
DJNZ R4,D3
' @7 \; i: {, G2 A3 P3 M9 Q RET: {& y( {. |& W3 ]
END! h3 x- T$ z2 e( m$ M5 x
2 } Q# t2 A: i( S0 i* J有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。1 ]8 G5 N& o- s( s, E/ z
是不是很惬意,嗯!. b8 G( w4 a& ]6 ]0 K! H5 j
|