赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 5 Y4 V! T1 ~3 X6 H% `! Q' s2 n
' ^$ W8 J4 L/ A# `# Z本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
( v" V" U/ A! }0 n( ?: K1 D
5 x6 E2 A3 p2 O# g1 F说明:
7 N- }, s- ? S1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
! E5 n/ M; @! g; r% `" w) \7 J. g2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;* Z1 m. m# d( _( g7 G, O; r5 I
5 D" @* Q3 A( @% l) a; O0 Q一、基本思路+ b a; T. b0 E1 |3 ?% U1 x
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
) i- l7 d5 a. i# x+ T0 X
7 r; j% ?. c8 s8 l二、红外遥控器/ v" p5 c% X$ K4 }9 m7 ?# d
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。 \! q+ I' d/ S M0 f0 Y% V
- |# i" r$ f7 z( h2 b! c$ V好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。# u, W9 |4 N- r6 v0 A, u5 Z+ t
# {- G% I/ [( Y9 m7 i# }在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:7 r R- [' u1 ?& b5 f: a5 J& W
5 W( ~! Q* m6 x+ v: b6 l7 {0 }! w
! ?, g' L( j9 j& P1 M& b三、红外编码
4 B0 g+ w# I9 r9 a; }: ~红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
( f( b4 ?9 R; m# Q前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。; p6 h5 }7 ~" m6 n9 F3 M Y
后16位为控制码,主要用于实施具体的控制。5 |+ Q+ v5 F: _+ z | o
这16位中高8位和低8位互为反码,以提高可靠度。' }5 p8 D! a4 a7 J* G! C& p' ?* W% [
) {3 ^. S. a7 v+ a% \以播放为例,其编码如下:2 d# @$ T/ n. ^1 b
00000000 00000000 01011100 00000000* T( I" w0 d2 i" j$ I& E7 p
- Z- y% b! G% @' B你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。5 `* `/ g. @% O/ F. v& z- j( ^
5 g) e/ d) ~! u4 e1 m9 V
四、单片机系统
; ^) G& t5 t2 J1 h这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
# N( s3 g/ b2 Z% X, O0 P
! N/ P X+ @1 Q3 W7 y& b1 M* S
7 t0 g1 S ~, R8 [9 I# y7 ?电路很简单,功能如下:
, ^, B6 V3 y# Q+ v. B1、一个AT89S52单片机作为核心;
' \- U$ s0 M5 o& |! d+ N2、一个TL1838为红外接收头直接串行输出数据信号;
9 G5 h* q7 R) I1 e; i3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
$ A( @( X/ u8 q& Y/ E+ C8 ^& Z4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。" Z! h4 s4 W7 |
. a! l' C( g1 P' q关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
f7 |9 E [+ o9 S1 \' h) D' x: F; r( g1 D* D
" Y7 H! e3 W+ z2 B9 P
五、控制软件
6 C* F; e1 l8 c0 l! Y7 L ~控制软件用汇编语言写,源程序如下:
) Y. u2 L. H6 _8 Z. \- e; Z ORG 00H
0 W6 |! e# n& L. d( ^! ? LJMP MAIN c. W& j! x2 N" E" I
ORG 30H" N( M3 A. [6 _& w
MAIN:
9 p, Y7 o$ K7 L; c$ Q' L3 g# f MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
9 Q: m3 F5 x) B! s0 m MOV TMOD,#22H ;22H: |1 ?; V: }3 l1 E$ y
MOV SCON,#40H ;40H
9 S2 c6 {/ |# H2 l3 B) c2 X MOV TH1,#0FAH ;F3H
! ]+ g" v# D1 i! Q; _% v9 a( L MOV PCON,#80H
8 k0 {9 F' v6 }4 \, |0 d SETB TR1
2 ^9 E' Z( K# |" d; jSTART:
! V1 `, s9 D( D& C) [. f( x: R JB P3.7,$ ;遥控信号处理# N6 l; C1 b3 `; B
SB:/ H0 n1 J3 j: U/ N! {
MOV R4,#8 + T4 y4 ~# h0 z5 S1 a1 g# o6 s
SBA:2 i: ~( _! i! I8 g! A
MOV R5,#250
4 l/ d7 v5 n, A9 [3 FSBB:! z6 _( ?5 r8 G4 e
JB P3.7,SXB1
* e+ h( _4 x2 F' w! B1 `3 l r DJNZ R5,SBB! o; e7 S5 z6 s7 `- {1 z& J
DJNZ R4,SBA7 E; u. G/ m5 [' p$ X; Q
MOV R4,#25 b: i( s% V0 |: K6 }
JMP SBC
* U6 E% F6 l! ~& F; d; @SXB1:
# w; R& V$ `7 O" M" J MOV R5,#5
1 W5 @8 Q1 O! t3 V6 q- x1 ASXB2:
% w& D; ]8 y9 ]. Y. \ JNB P3.7,SBB: F# }7 {9 D' |% ], J9 u
DJNZ R5,SXB2' x3 B8 H/ T: L5 d
JMP START! E8 w7 H9 C: C, V/ G; @' W
SBC:9 {3 y) I) m: Y8 K, q9 T; z
MOV R5,#250$ `4 h0 K* z# Q( _. X/ Z
SB1:
$ D4 l$ T7 R4 m% l; }' v; j o JB P3.7,SB2 ! ]3 c/ Z0 J$ e, h2 J
DJNZ R5,SB1& R- `! n: c6 D
DJNZ R4,SBC& |2 W; r( ^5 N
JMP START
$ m7 a" Q- W! dSB2: $ `; Q; m& }/ ?1 G% r
MOV R5,#5
1 D0 I& W$ ~2 J) L% p# Z. M6 ^$ z% ]SB2_A:
9 K7 m$ \$ @. E! S" T( ^ JNB P3.7,SB1( o- @ ?1 `3 |3 p
DJNZ R5,SB2_A
& Y4 V$ w- i, t MOV R4,#37 T* ^. k6 g4 U7 e V! R
SB2_1:
7 Y! a, P) u2 L" Z/ L+ h* T- d MOV R5,#2507 B- M6 d1 z( @/ d" |- z8 X
SB3:
3 \9 h8 ?3 {! S- c+ ^+ { JNB P3.7,SXC
: U6 {9 s. [; M% c0 |* ^8 o/ q DJNZ R5,SB3
+ P, d5 Q( j5 J n) @ DJNZ R4,SB2_1
* f+ E# a/ }/ ^, S MOV R4,#2; b7 _' G4 J4 g
JMP SB3_1# M0 Z( `! N+ d2 X0 k4 f
SXC:
. @ r$ i+ |! n$ e% A MOV R5,#5; K1 p6 U0 h) N& S8 v
SXC1:
, b* c# P2 }/ e5 t$ G# Z JB P3.7,SB3
: T9 D! H( |. W1 Q! q DJNZ R5,SXC1' O8 J5 [ f" k8 q+ Z2 l" ^1 Z
JMP START
1 C( B) F! X; i! ]# d4 ?1 ]SB3_1:
! d& B+ U# A# r- ` MOV R5,#250' _" M% d4 ^6 Y% |, T% U
SB3_2:
1 \2 e- L3 Z, }( v JNB P3.7,SB4
4 S' p" h2 a _7 B4 @+ b: Z9 L/ I DJNZ R5,SB3_26 g: @" F3 `, b$ M% x+ _( \. V2 }! c
DJNZ R4,SB3_1
7 Y& H; G' J" l7 [* X JMP START/ u! ]9 g! o2 Y0 m- S
SB4: , }' z! v/ V! w" F6 A" ?8 b
MOV R5,#53 o& m: J4 ^3 _& H
SB4_1:
' J \. B" ]. b( P3 \( k* S: A. d1 g JB P3.7,SB3_2. t; C% P2 C D; n" G
DJNZ R5,SB4_1
% m+ B- X6 G6 l3 ~9 e. Y MOV R1,#1AH
$ h6 Y( S( Z0 F! R3 H0 W# i MOV R2,#4
! `4 |, D6 a; E: [5 ~8 rPP: MOV R3,#82 J" _6 i6 {6 b" R6 e( d
JJJJ:
: I! h& j' Z" z2 o. G1 I MOV R5,#250
~# _1 l! S+ J" d3 q2 lJJJJ2:
1 W# H% ?. W5 W6 [7 Z0 n& k" i1 \ JB P3.7,JJJJ3. k9 R; q% L. G' w8 J
DJNZ R5,JJJJ27 |1 e o7 ^5 l' T, j
JMP START
5 ]0 N! R1 u- p VJJJJ3:
o- m6 l0 b% n t3 Y: V& q LCALL YS1 ! c& S, N# G2 n, }# l- B
MOV C,P3.7
' P( K$ V- U7 T7 M0 f+ H JNC UUU # V3 ] ^6 {! c6 m
MOV R5,#250
7 Y3 _$ b* e/ q' z% R8 HJJJJ4:5 q$ M1 u0 A; r
JNB P3.7,UUU
+ o" c* g' h B- R" y NOP
9 q/ i. n: P$ g& M( I8 B n; b DJNZ R5,JJJJ44 t8 _5 |9 i: `. t; f8 f
JMP START
" p& L% X7 L! H" r! n2 bUUU: MOV A,@R1 7 r, {+ x) v5 \9 P9 Z" i
RRC A 5 i4 ?$ I4 F& L. X, l k
MOV @R1,A
& H/ U9 V- Y, \7 g, ]( | DJNZ R3,JJJJ
/ H P7 P( h F) n3 x INC R1
: Y4 P8 I" `, `1 Y) E: U DJNZ R2,PP ) c; d" B- H) r: Y) _
z- G6 t3 n1 e: t$ c- _5 { MOV A,1AH
8 S# U q7 o. m4 d7 N( r+ O XRL A,#11101110B/ ~6 Q/ _4 R4 Q" p' c; n
JNZ EXIT
9 {; t5 A* c: N/ m1 o. b8 n3 }- d MOV A,1BH $ x9 G7 @ Q7 t/ q# T( v
XRL A,#10000111B7 s P% F( g9 E0 d: I
JNZ EXIT 6 `+ ~2 e' A7 @: |
LCALL YS3- c: b6 `# w8 _6 A1 F( L
MOV A,1DH 6 ^" \5 J4 M! I
CJNE A,#10111100B,EXIT
% @7 U) Z! j5 N( |; v s4 ~+ S6 D6 M( Y4 z LCALL YS30 l8 y- ^/ q9 l+ j. ?; j
CLR P2.6
' q0 t* V: g% ?0 l% G7 n AJMP BIJIAO
+ `2 M {6 C' I7 K3 r9 s a7 Z
1 y0 s% t. _7 ]1 C9 EAA: 0 C& N$ A! P0 ?! p
MOV R1,#251 L* H P% u4 n) t1 T( I$ d
XX: 1 z, N2 K' B! o. D8 u9 K$ K
ACALL YS2; d6 S6 A! z4 v. Z, r# e/ R# I0 v+ f
JNB P3.7,HH
9 z% s( T+ j- ?; M" m DJNZ R1,XX
l& z [9 O. D. U) W' K/ MEXIT: ! j$ H7 h) |/ k7 o. s
AJMP START
/ \: ]$ J' j0 ^$ d % } ]; O3 c! y z' x
HH:/ l6 n5 j4 n5 \" R5 B9 x3 J
MOV R6,#4
; b$ z5 e% N3 W4 o, `S:
. o5 P+ G9 x% E' M. e* }( _/ e. b ACALL YS1 ' {* P! `- P- D
JB P3.7,EXIT
& O: s1 S- e! A DJNZ R6, S : C f$ {6 ^% i$ [( ]
JNB P3.7, $
: U' A6 e& ~5 ?1 F0 w LCALL YS3
3 E! n! h! q! J. L/ ] AJMP AA8 m& X% ~5 }6 i* D' ~# [
BIJIAO:, X; X: P# t+ k
MOV A,1CH
5 z6 q1 x9 n \# x$ g CJNE A,#03H,N1 ( \. V" T8 v" [* e
MOV P0,#7EH
, E3 O4 W9 }, d( ^4 O3 w" ~ 0 Z9 m; ]# \- \* m+ C& ?0 ? I4 W1 p
;处理STUDERV录音机控制码
% e" ^$ n& o. I+ q8 `5 E4 iN1: ( e6 H$ L6 d, I8 e3 _8 [
CJNE A,#5FH,N2 ;播放键
0 w m2 [" I# T6 K' L1 t+ ~; c8 C MOV DPTR,#REP4 X7 j% s% Y* u# ]4 j
ACALL SENDA# }6 K& u! V$ i
ACALL YS4
9 ]! L" ?& G8 _" Q/ L MOV DPTR,#PLY
/ C2 J7 R% R( H: N7 U* K ACALL SENDA! i" Z$ i' u2 Z( b+ \0 f6 d
N2:6 Z9 r! l) O4 e# j5 N
CJNE A,#5CH,N3 ;停止键, X% J4 G5 i% a# d, p) d
MOV DPTR,#STP8 _ j$ R/ D; D2 p+ b
ACALL SENDA
* W8 N! f/ i$ {6 ^* IN3:
0 t8 L9 b4 G0 H# ]; j2 {9 V CJNE A,#06H,N4 ;快进键
% v; s$ R) P4 n7 A* k" @ w MOV DPTR,#FWD
& @2 K4 x+ A: Y/ S1 t* C; a ACALL SENDA
; O& E( F: m7 I# q7 P; l* W& aN4:
( D4 p( F0 _1 N9 r7 F0 a CJNE A,#09H,N5 ;快倒键, n6 t9 `3 }0 [7 M4 x! E/ B7 K
MOV DPTR,#RWD
6 I; h& `% [4 X( Q% {! V7 N ACALL SENDA9 n% M" ?7 ~) J% U; N2 M# V( \3 G
N5:
& A/ p4 {/ i/ m2 E8 x9 m CJNE A,#0AH,N6 ;置零键
4 b+ h6 K/ ~* {: H% p D# }1 r ~$ A MOV DPTR,#RTM
+ z7 |. y! }# i9 Q! U ACALL SENDA
. V7 k7 h! }, r$ CN6:# x7 \$ Q1 e: D2 Y
CJNE A,#0CH,N7 ;定位到零键 M2 J3 m" b3 B( M
MOV DPTR,#LZA/ C: c: s+ o: N2 |9 s r- ?$ w3 N j
ACALL SENDA. y, r; s3 x# V O. @6 c2 S! u
N7:" a5 `, V/ {9 j& [4 D) E
AJMP AA
8 M) k! D' @0 q1 z0 i! |SENDA:5 V4 q- u: n/ i' Z8 p# v* H
CLR A0 G0 j+ ^. H3 n) f6 m8 M; @: q
MOVC A,@A+DPTR
9 i4 x+ a- t! ~2 e U$ ?! m8 m: j CJNE A,#'$',SENDB& r ?* P( P& }4 A4 K; M7 @' K
AJMP SENDC
; C' U; ?5 H' r- Z# S* ]! Y8 p; eSENDB:
0 G& g- A6 Y" I* ?, D/ E MOV SBUF,A
3 C/ \7 r. A8 {- D3 q JNB TI,$; N6 b, U1 G H' J
CLR TI# {% E9 l# _& d5 X9 X
INC DPTR
% [& k$ h: x/ Y1 n" U/ o AJMP SENDA$ b: M3 `$ \4 O* x! U2 [1 }
SENDC:3 G1 S$ _$ M3 }
RET) j. w+ B& t' `& X7 t' Y) n" [* O
8 P- Y% I6 R9 j3 ]* W2 t$ VPLY: db "PLY ",0dh,0ah,'$'
7 l. m6 k" P7 I6 k, f2 w. a- ^' PSTP: db "STP ",0dh,0ah,'$'
9 |; t4 {3 _" FFWD: db "FWD ",0dh,0ah,'$'
) V! ]2 n5 [6 f9 y+ r- Z ]RWD: db "RWD ",0dh,0ah,'$'
- s8 x" R8 D3 hRTM: db "RTM ",0dh,0ah,'$'" p4 I+ T6 d7 m' k4 h( k4 B
LZA: db "LZA ",0dh,0ah,'$'+ w: e4 J, \; N! ^. R" [3 l
REP: db "REP F ",0dh,0ah,'$'0 L, E* i0 i. a$ Y% j: |. G
) C$ x% T8 r& d9 i
YS1:3 h7 \" Y! f$ `; _4 z/ Q
MOV R4,#20
( y! `5 u2 P) z$ @0 lD1:
7 M9 u$ A2 e0 \+ ]9 K, y MOV R5,#20! m6 m' `2 B5 S8 y* e' _( i
DJNZ R5,$6 W& I1 I0 @; u$ K
DJNZ R4,D1
, |: | u9 K7 h9 ?! }0 P RET8 R, I6 Y! u( [7 ?$ C6 [
; G1 [# K$ T; N2 U% p$ p
YS2:
# h$ ~1 C) d% I0 F! v9 y8 u# s MOV R4,#10
$ v7 C# g5 N p- m* GD2:
& I" U l( _; C0 z/ R MOV R5,#235# y6 l! c9 _9 d1 n8 ?
DJNZ R5,$
+ p1 @8 S3 C, k# r DJNZ R4,D2
6 F6 x; j5 U9 e, B: l$ K' c RET
" R+ x/ h0 ]1 C, d. F# p" X/ T G" b. O' d1 N; m
YS3:
% u+ u6 H4 E% C MOV R4,#2* L3 D" F% P$ `) c, R# e/ G2 M
D3:
2 D$ B$ \9 ^' W/ [% e MOV R5,#248
( }- z+ [ ], \" R DJNZ R5,$
2 g; ]' z& C+ q) m# ~' c; w% d6 e" p DJNZ R4,D3% N) _( o c0 D+ ?0 }, s1 a9 @- q
RET
- W) x7 j c' q; d5 B5 O- H9 W
9 H3 C" L! Q4 Z, ~YS4:
/ w& c) ~4 g. D, n0 u4 N MOV R4,#200" ]1 W: x4 H5 |
D4:( t# C6 d4 k$ X" A& }
MOV R5,#248
( G; D$ ?. u |& J6 l/ d) E DJNZ R5,$
7 \0 N6 |+ V8 @1 I; B DJNZ R4,D3
3 t. m+ a! @5 @3 U: @+ d RET) F. G2 S* D, V- G ?3 s0 R- V
END
8 z) j' r- _) q( V; I9 [- `* z9 u" c4 b4 m6 q; a* F
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
5 S) M! D: I7 b是不是很惬意,嗯!
3 G8 d( j9 A9 g. j- h M |