赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
; w# ?2 K4 e2 v4 I
7 H# r; A0 a3 p3 h1 [8 @本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
- T7 }2 C$ J2 Z7 G/ l2 H
3 C& C6 @( ?. W/ U7 r说明:5 S- c& u8 P$ N, ]3 h
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
9 q/ \! L4 Q/ i2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;: }. f! k/ _. D" ?
4 D9 I- y9 O+ p1 k$ E+ ~6 W8 ?+ ^
一、基本思路
& r" Q3 g: [. o. E( [3 Z使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
/ B* B1 U3 V8 ]+ c- l/ i0 Y- Z
. B4 z$ i( B3 @+ K& [0 M4 a+ w二、红外遥控器
2 R9 e6 F$ J1 t我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
1 |1 x% C. p! Z6 s
, a& O/ k' Y6 A/ x% }1 o( y
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。7 c! _# P6 I+ P4 ?8 Y, G; ?
: W; t7 q: F2 Y- s1 J
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
2 J' R" D J9 V9 l, J
4 h0 r5 H; m! c8 t' }3 O) {
" I- Q2 h+ j& U S& G" P' `
三、红外编码$ M- f, C# Q5 O
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
) e* z8 g. n' L" M* }* h' E前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。: A% d+ }# a4 D" P3 o5 F* z
后16位为控制码,主要用于实施具体的控制。
: E- r3 w2 w! n3 d/ y/ ]5 V这16位中高8位和低8位互为反码,以提高可靠度。
9 y- F; T' O2 g" f2 N- K
$ c* ]7 Q7 X+ g( C以播放为例,其编码如下:
2 ^2 _8 |7 ^# q$ t& y- r& e7 ?00000000 00000000 01011100 00000000: q" ]+ O9 E) \5 r/ N
& H2 ~1 _; W+ U, K. {8 q2 L7 J! I你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
8 j" h: p Q- A+ R: y
* d# ~8 n3 j0 O" K: V0 K" X8 |# N四、单片机系统
2 F* x; Y7 h$ M* R) V这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。5 H( |/ R4 b: T4 U7 s8 B3 T/ X* ]
* H% G3 E! {* t3 I# D
5 ]0 b! ~# Z. \; i+ _! W* {电路很简单,功能如下:% N# }. @( a1 U# S
1、一个AT89S52单片机作为核心;
6 a0 o' d$ E9 a7 w3 B2、一个TL1838为红外接收头直接串行输出数据信号;
8 d7 u w$ D' H% u+ Z3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
, @) N* k' l G) k% B4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。5 V) S H8 \5 |- x- @6 ~9 q
5 p$ R1 O0 Y. W5 E9 J' c
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。8 E4 U8 X" z: H' i
* ?. v- f8 c4 e: m# P/ d8 x& }
5 v3 K/ a# Z& j4 s8 j6 A五、控制软件0 K" I% |; c2 `+ }% o8 E* b% M
控制软件用汇编语言写,源程序如下:# ?% ~+ k( P: z- G1 \
ORG 00H- f& x2 t: {3 s1 h6 o
LJMP MAIN
& X3 V1 F6 q& E) ^' j4 k/ k8 } ORG 30H+ s% k3 e; K/ w8 |
MAIN:
, r6 E+ Q2 T# K3 S MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)3 @: s! r/ |- R: r% \1 r
MOV TMOD,#22H ;22H
0 j$ M& i$ H6 T, z* m4 d# v7 ] MOV SCON,#40H ;40H# c+ a' t- R: X/ o) I$ r* `
MOV TH1,#0FAH ;F3H; z) @' v' D) D) k
MOV PCON,#80H
# O& v7 Z' n+ V5 G- y SETB TR1- J( @0 g v" k: \$ T
START:; t5 w0 i% ~- v1 G
JB P3.7,$ ;遥控信号处理
+ c* d9 Y' H) J/ P. `, S( y! ~SB:2 w& [: ]3 ]/ e ?. B7 O8 Q
MOV R4,#8 0 h. F7 F- \2 z, G: C. U* l9 w. j% _
SBA:
( X2 U+ }, ?6 m3 y- p" O; K MOV R5,#250
& m, J% w! v* p# P! GSBB:. r M: J0 H) F/ u4 ^. W) O! {
JB P3.7,SXB1
4 f. |4 m2 r- g' w* W0 ^ DJNZ R5,SBB
- i* r( F" a+ K5 k6 p5 ? DJNZ R4,SBA
A; j, }) C( v. }. y' k MOV R4,#2; t; o9 r0 a- w5 b
JMP SBC
, \/ c$ A9 t4 ]' |" XSXB1:* g8 }/ l# M9 u! C- |7 q
MOV R5,#5
$ t- q4 I9 i R& W5 N+ xSXB2: # d! y6 S# ]" P' M0 d5 n+ _6 e6 K
JNB P3.7,SBB5 G' \, D4 d3 [9 N
DJNZ R5,SXB2
' X3 S; h5 }" N7 W" k# ? U8 m* r JMP START
# `- z" m0 s. [/ U% V1 PSBC:
) }: z7 H6 D5 e) {4 D- U+ S0 m MOV R5,#250
: a' C8 o! v" s( I4 PSB1:& Y( H( f0 p5 P/ g; q9 h
JB P3.7,SB2 - a5 b/ d0 _" q0 V3 [
DJNZ R5,SB1
% |% t( {7 ?7 U5 V; g DJNZ R4,SBC
% ~& T: U9 e7 f, l9 f% Y/ V9 e JMP START7 E& q% z& t0 x7 I5 F2 V: I# c
SB2: * h7 \' ~4 s# V H' i( ^
MOV R5,#5
' p, B9 u( k$ @SB2_A:% p5 } V! i8 _3 m& a5 b. U! R6 \7 U
JNB P3.7,SB1+ m% P+ Z" I# C4 H3 b. ]; L
DJNZ R5,SB2_A
$ i( e+ }. C2 K: g2 l2 u MOV R4,#3
# Z3 }5 Q1 v1 u4 F, VSB2_1:
2 K; _9 d& {0 D1 d; F* l MOV R5,#2501 I8 d( b( B D( V
SB3:
. ]& G- D- N3 ~- x4 ~& l* R JNB P3.7,SXC: Y& ]5 `) `* O [# O
DJNZ R5,SB3
4 b# _' C% l0 Y% }% f5 o. z DJNZ R4,SB2_1
# H6 E& {$ J' o MOV R4,#2: L' h" T3 v. Q( D& ` ~
JMP SB3_1
5 A7 S, S! a; dSXC:
9 M7 h$ r6 P# X5 q; l MOV R5,#5# C: e8 K& S* r6 z. f5 P p) R
SXC1:
0 S3 O2 O6 `* U, Z2 M/ ^ JB P3.7,SB3
+ I3 {; a/ Y* B DJNZ R5,SXC1
% W$ M1 H7 h A/ ` JMP START3 @& j0 L2 M; Z+ R
SB3_1: 3 X9 p9 R9 z* `8 E4 Q& h9 T
MOV R5,#2504 @$ B' V8 o9 n( o! ~& U u* c
SB3_2:
! O! B( M( T2 q3 A, z) W' c3 W# p JNB P3.7,SB4
& B# J: f6 c7 p' h m! v DJNZ R5,SB3_2: j& g/ ^9 m1 P. k; V! n
DJNZ R4,SB3_1
# \6 t) S8 [7 D JMP START3 P- Y0 @1 `7 |# P H! [0 E
SB4: ) c5 N# j/ s# M0 h
MOV R5,#5$ {4 V9 i) K, f& B
SB4_1:
+ S. R. ]7 z- x7 Q+ ?2 C JB P3.7,SB3_25 @6 l/ U' E) |$ U) D$ j
DJNZ R5,SB4_1
. p( r6 s1 s2 Y' t! [0 T- T MOV R1,#1AH
; M. T" ]8 v6 I. f. R7 V MOV R2,#4
5 K+ x% e& N# ]* PPP: MOV R3,#85 u x" L2 W/ ^1 t( i# x
JJJJ:
+ s" o( a! a4 s, x3 T! B& f MOV R5,#2502 U/ ~2 F y% _6 E
JJJJ2:
" r4 n: ^0 Z T/ Y* k/ P. L# h JB P3.7,JJJJ33 q) y; S1 M. w! X
DJNZ R5,JJJJ2
' z$ O. Z6 h3 U4 C0 c8 a1 s3 L JMP START3 ?3 @! s4 n; K' U. \! c9 t
JJJJ3:( M1 N& I: |5 c& W$ J0 l
LCALL YS1
: N- F* i3 g/ ~' O MOV C,P3.7
$ c6 G+ \7 T N8 J* C# h JNC UUU
/ |3 B+ f- \% M# k( i- T MOV R5,#250, L# C# g+ ^) p+ h. T
JJJJ4:
& \0 {" s" P% [+ X# P3 i) F. T JNB P3.7,UUU
7 V# F6 L4 E: @: B NOP
: C, p# g. e/ |# _8 V: i5 i DJNZ R5,JJJJ4
, T4 \% v# Q) W JMP START
. R. l2 @ o2 R0 B2 S; {UUU: MOV A,@R1
, @* ^, H5 T, @* r" O. G- D7 y5 c RRC A
6 z0 e/ L" n# m( X) Y MOV @R1,A
2 U/ ]! V, J ~$ [. P0 Y; S DJNZ R3,JJJJ
! I/ A0 S8 ^) }7 ? INC R1
, f7 ?' R) v3 ^1 f( `2 r; X DJNZ R2,PP
( G5 |. m; _' Z8 C3 W2 \( w9 @& q5 i! t3 ^
MOV A,1AH
3 X; s7 a4 h- I& ?- v6 V XRL A,#11101110B! p) `% }1 G8 Z s' ^1 o
JNZ EXIT # @8 M5 Z( y$ a; ~3 \9 n, N) x) O- J
MOV A,1BH 1 j' Y2 i* }% Q
XRL A,#10000111B
$ W. q9 G) N/ T7 n JNZ EXIT
6 G' n; a' R' z! ]4 y7 ^* n LCALL YS3
) ?9 |+ f) g, E6 ?0 Z* `) E MOV A,1DH " o8 n5 R; f3 a+ E4 F2 h l! R
CJNE A,#10111100B,EXIT; M X& Q( A b5 [7 Y2 T
LCALL YS3
6 u4 u2 B4 r$ \4 P CLR P2.6 , F, d2 u% @+ P) x
AJMP BIJIAO
( a# k- [/ R8 L; L9 f: J 8 A4 K% s; P, D4 i( B: k* f; s
AA: * @& d' P% {% Q) B8 @8 [( _
MOV R1,#25& d; A0 t1 T$ O7 U8 |$ Q4 Z
XX: - Z" s. T/ _( G ]
ACALL YS2
1 p) ? p C/ t3 o; z3 S8 O JNB P3.7,HH
q4 j: J9 w |! b8 U. q/ f, G( U7 J DJNZ R1,XX, b/ S: [+ o) H& G* q% |
EXIT: & y& d4 @( P/ M
AJMP START7 t8 W* n; n) k6 l: \- ?6 y
5 f- j( q# l% v8 s! c- K9 Q
HH:
9 z: K/ ?4 I* |) p MOV R6,#4
1 g8 e, n- L3 s- q* \1 S: W: c( YS: / j9 _3 ]& q7 u! ]9 f; t
ACALL YS1 ; w5 O$ Q* M2 N2 V$ M
JB P3.7,EXIT
1 j/ A( X2 I+ ^" d0 w- W DJNZ R6, S
# D/ H4 F. q: Z" n JNB P3.7, $ ( K/ U6 l$ i. ~ m
LCALL YS37 c( B4 y# W0 q8 g8 H
AJMP AA6 b0 X, X& c. U! i
BIJIAO:9 L7 [4 }9 B2 S5 F
MOV A,1CH & m* F# `" Q/ r9 K! A: A
CJNE A,#03H,N1
* r9 e) N% j5 P MOV P0,#7EH / z; |) ^0 G! X4 ^% V
: u. w$ \1 b$ N* L& b+ w5 h
;处理STUDERV录音机控制码
# D- }: X0 D$ A/ CN1:
# {0 k6 I2 l* `+ \ CJNE A,#5FH,N2 ;播放键
1 F* R+ z+ ]3 u, l: j4 K! \7 F MOV DPTR,#REP
* w5 m" `3 U# i7 T ACALL SENDA
3 L( p6 ~6 \6 [2 x( C* o ACALL YS4: ]3 N5 l! b4 }2 }9 o1 o2 W
MOV DPTR,#PLY f3 J9 c% f" L ~
ACALL SENDA& _% M4 @5 C$ F- u2 q7 x+ D6 f
N2:
9 h3 Y/ _$ Q' Z8 K) m CJNE A,#5CH,N3 ;停止键
) k: m7 Y ^( V( t7 a+ a MOV DPTR,#STP
* G# }( k/ Q- o% q4 ^2 S5 k ACALL SENDA* D" I+ N% l1 A* \! v
N3:
) E5 F+ e8 ~" g W& B CJNE A,#06H,N4 ;快进键
" R. J8 C( I* V0 J+ u MOV DPTR,#FWD
3 X) W7 o7 S ?9 v) H: t8 g+ Y$ I ACALL SENDA& @9 I2 J' \1 n7 c; l0 a0 `
N4:
; W" i% l. f# U D CJNE A,#09H,N5 ;快倒键
0 D: y! t' s& t3 p# p: a& o) L1 g MOV DPTR,#RWD5 c+ D! Y2 ]! x
ACALL SENDA; C8 l& n7 d6 x2 D5 t
N5:
: O# i2 O2 Z5 d1 V5 _/ Z6 x# ] CJNE A,#0AH,N6 ;置零键
: y* m0 N! K8 l" Q: `7 X MOV DPTR,#RTM2 S, L* V% \/ J
ACALL SENDA
/ G0 i0 }7 h; pN6:
$ Z$ H& b6 z. `5 {" j6 k: n CJNE A,#0CH,N7 ;定位到零键/ M' ?! I2 s- v, N) S! `- ]
MOV DPTR,#LZA
& ?( j/ g' w1 a9 ]1 c- t ACALL SENDA2 J4 r: w7 P1 {9 \6 k- _
N7:0 h3 ~: f) L" l8 ~5 K) s4 j: }
AJMP AA4 s) }+ s8 c8 A4 E, w+ c6 }
SENDA:
! ~# W$ x# D, Y# Y9 _; W% v CLR A
. Q3 [6 _) k3 [0 S. w9 d MOVC A,@A+DPTR& D( d7 F2 Y! U0 }: v) y
CJNE A,#'$',SENDB
* L2 V4 o4 B5 i' y/ x: {2 v AJMP SENDC7 j6 ?/ O; G$ S- D2 [9 y
SENDB:% O; ^$ k3 {- ^" H, ^
MOV SBUF,A% E- r+ h7 G" b5 f+ [3 \. c# e! k2 ?
JNB TI,$
3 ?$ z+ f8 f& O. F1 p! a! X CLR TI* k0 |4 A) K4 L- h& T2 J# \
INC DPTR. }$ w2 \4 v5 f) Y! H9 r, D4 e) f/ F
AJMP SENDA
5 V- M; B" ^$ \+ U# c* [! l8 {SENDC:
# b* h. P! t6 q) y" x RET
4 h/ X4 O6 u( B$ ]4 x T) h0 m$ T' y Q! h
PLY: db "PLY ",0dh,0ah,'$'+ j/ _" ?5 m1 z7 A/ J
STP: db "STP ",0dh,0ah,'$'0 E6 U0 f8 `, _7 _; B7 u" i5 Y
FWD: db "FWD ",0dh,0ah,'$'
7 Q! g. f2 V- e4 b' i3 z% x+ n. z3 X5 ^RWD: db "RWD ",0dh,0ah,'$'
- u% V, {9 a: _+ iRTM: db "RTM ",0dh,0ah,'$'8 T# E% l4 i! U
LZA: db "LZA ",0dh,0ah,'$'5 U( G& C3 L) @: `+ J. ?) K& _
REP: db "REP F ",0dh,0ah,'$'; O* [# d8 l q" {) ^1 |
9 ^, {* c- L9 C" k- B& pYS1:
. o+ U5 w' V/ T, O+ S0 e [ MOV R4,#20
6 V6 [! i: i3 a4 w! nD1:
% [+ c& x* L0 k% W7 o5 `2 T MOV R5,#20' U* H. G, Y, s5 ], ]7 w
DJNZ R5,$4 _) R" B* L* w* j" ]( f! u! b
DJNZ R4,D1
- T& b N; A, O+ N% T% ^ f$ [ RET
( a& l" Q7 J3 }/ X6 Y
% T/ f! j1 p. e3 {7 IYS2:
) a4 @/ W0 z5 U& H* R: ^ MOV R4,#10
6 c0 x1 T& @4 Y2 [; gD2:
u8 n+ j2 y! f MOV R5,#235
, B6 y) w: [7 q! m' S6 f' U7 u DJNZ R5,$
# S, p4 H5 y) |# L8 i8 W DJNZ R4,D22 Y, l; Q, I0 Z/ ]
RET
- r% |) w2 m" P
+ j. S, @/ w- W! g* I# hYS3:! s) A ^1 X7 [' l" c. b+ a
MOV R4,#27 s* z' M$ V& n3 Q
D3:
- N$ ^# D- V4 v$ q& E: O$ d MOV R5,#248: D/ {( y3 t( B& s% N' P/ u
DJNZ R5,$. Z+ i0 j9 V$ M% a
DJNZ R4,D3
7 E, O% j' E& _4 S$ d9 \5 U* ^ RET
& r" p: u: H7 `- S6 D! y; n4 f1 `: }7 B; z" \
YS4:
# v( ^1 _ ]/ K4 i MOV R4,#2002 G/ D$ b+ U$ l9 ~# e4 ?; C, M. h' K# @
D4:8 P# u/ Q4 V/ A. s% z5 f J* c: {
MOV R5,#248
+ v( x+ k; g8 c" a3 C4 f DJNZ R5,$
! C a( s7 o# ] DJNZ R4,D3$ w9 ]9 p8 \0 _
RET- p' M/ q5 a1 H! S) e* t$ k. K; }
END
8 n3 j# ^& Y; H: [- d3 m' B
$ r2 t" A& B1 o( y/ s7 ]( n# i5 J' L有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
; T I3 z8 t7 U2 w' d是不是很惬意,嗯!
: s3 M/ T7 _0 d; n7 W |