赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
- B* } q9 t8 K( B6 C& o
$ S2 D1 q. s& o! |9 m本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。' c( n( h. i- x( s. ~ W, z" {* Y
" p* i* [- o* {5 W说明:- q9 \# d& C' Y1 C) V7 @
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;1 o. m" [$ h( D6 K; }
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
6 i8 M: J$ s: {* m2 l1 M& b, y8 P% H
一、基本思路
: R" v. u9 v l$ R. N+ J使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。8 }* S3 v+ m( n X' k/ t( V
5 C O9 _: ~9 w/ M e, [ T二、红外遥控器$ q- @5 C. j# J/ C+ t# S* H
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* s5 I: \; Q3 `. N4 X+ t% p5 Z( D
! Y6 c" M# x6 B/ I
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。$ ~% V+ ~/ v! Q( |$ g% A
6 A0 V+ c( d& k在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:+ L& @5 K, n7 ]" s3 J
( K; z6 B1 F4 w3 f( Q' @
+ ~8 Z3 C U' V, a! c! E% J' _: N
三、红外编码7 ^) l, B4 L5 z/ Y9 J. A# {
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
' Z, L r* }6 w1 i# J5 U前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
* F4 _% L6 w7 B% H* O! f8 G `1 {后16位为控制码,主要用于实施具体的控制。1 O( R5 n0 p; V! _; H! ^
这16位中高8位和低8位互为反码,以提高可靠度。& |* S# z& |; u; I# n% f. c
* n' a$ r7 U; A- O以播放为例,其编码如下:; ]' O @4 X9 S0 |& V, `
00000000 00000000 01011100 00000000
' s. p. P c2 z6 k& \, ^' t; z% W+ d' @1 m1 a. P/ s3 |
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。8 V, a7 s% ^ w
! |. x5 _) Q3 I: b+ c5 E; G' W! S% a四、单片机系统2 ^5 {" m) S4 K- K
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。4 _/ s, S+ w+ k5 t5 `
1 _) y( R: F g + p, x' K$ j) n; g/ j) A# D
电路很简单,功能如下:
/ b' ` B$ H8 Y. g' \1、一个AT89S52单片机作为核心;
C. W8 k, R4 p5 w0 ~2、一个TL1838为红外接收头直接串行输出数据信号;' k* w3 O: ^9 P% C0 C$ q. [8 k9 i' X
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;, y+ y o, r1 b6 Z0 W0 Z
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。0 k( @8 r- r* C/ s( L( B$ d; P
]6 O, T: [. \+ {& T7 Y关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
0 g9 K0 G( B0 Q1 A) D9 a5 V9 r, j. _
% v2 N3 F, s; D5 K0 ~五、控制软件9 b. l) `4 V8 ^+ D8 y& x3 C# c
控制软件用汇编语言写,源程序如下:3 W7 Y! d% I# r$ I; Q
ORG 00H
* v D' `$ n5 w7 c( f LJMP MAIN
) v" R. F/ [& f( ?5 q, m- y ORG 30H) x5 ^( V0 R. r- X% m0 ^: p
MAIN:* I I8 v$ ?6 N, x+ }$ Q
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)) }8 R* ^! m6 ~' r2 {
MOV TMOD,#22H ;22H- D3 H" d: n/ S6 g, s3 O9 D8 D
MOV SCON,#40H ;40H
6 d5 x2 T8 K- N+ }) D MOV TH1,#0FAH ;F3H
; c3 H/ K0 U K5 ~5 Z7 V" x MOV PCON,#80H* J8 R i8 c# c1 {
SETB TR1) c1 n8 r4 V( I# |/ v3 |2 r f& T
START:; N; @4 T6 w7 S) S8 H3 d8 ^
JB P3.7,$ ;遥控信号处理6 R; r* z" |- W s
SB:
6 G' G9 ^, W8 ^0 P: c& R MOV R4,#8
) Q4 o+ D7 I2 ?9 ^6 F, z; oSBA:& ?0 X, Z; m) e" v( o0 [
MOV R5,#250
: V; _$ w" ~. KSBB:. X8 F! [$ z) ?; f: X
JB P3.7,SXB1$ d! p: B/ \9 g2 [4 F: I/ k
DJNZ R5,SBB
' @8 H. g1 C( S1 e DJNZ R4,SBA4 G2 e% J; C- L: N" x
MOV R4,#2' @, P' g/ `6 P8 Q% z4 E
JMP SBC/ G* p5 \. V" @; K$ B
SXB1:) b, y- y- G$ T+ r F& k/ G
MOV R5,#5
3 j* \5 S: z) G4 p5 a# S a3 lSXB2: 9 P4 r2 W2 F4 D
JNB P3.7,SBB8 w0 V) o. q& E4 Z5 N5 @
DJNZ R5,SXB2
# {, I/ J9 L" e. t7 O JMP START: E- a8 r- m3 [' h- r& F% y* T
SBC:& i# J8 M) s9 G7 l* p1 o
MOV R5,#2506 I8 a$ _. H1 |0 E* t
SB1:! o" T% U- Q+ \! r" s F) n
JB P3.7,SB2 ! u: V$ H6 K! G2 x( k
DJNZ R5,SB1
( ^( k$ R4 P: P8 |' ?1 Q. h DJNZ R4,SBC8 {! `: |5 e) O
JMP START
4 G. z6 F- q3 j' X- c: }5 i4 pSB2:
0 W [ E+ p, f5 G MOV R5,#5) f2 A, a; i U- s
SB2_A: n2 _* h: k# W: s' @
JNB P3.7,SB1
9 U& t4 V; k3 E' K2 R DJNZ R5,SB2_A: T% [7 `* x" f
MOV R4,#3
& V/ F" Z* y* g1 |SB2_1:, U& Z+ H5 D: [
MOV R5,#250
4 W# ]& Z' R _( {+ dSB3: 2 z" G. N9 d9 K* i4 @
JNB P3.7,SXC' W% R1 N! I/ k9 Y
DJNZ R5,SB3
' q4 r5 Q4 p4 j' d1 J! ~ DJNZ R4,SB2_1; p0 s6 Z+ N& f
MOV R4,#25 @8 j! J6 f, r3 N! u: n" T* G: A
JMP SB3_19 n4 M" z0 a0 G: Z+ @4 T& B
SXC:
) G; b* A% Q% s" o MOV R5,#5- H: x2 t9 J- `0 |0 U
SXC1:
' f5 T5 _. }9 Q- s7 K) ]+ E5 R JB P3.7,SB32 ]* Q m& _/ L
DJNZ R5,SXC1, L& k) b0 ]6 c) Y, p, ?
JMP START' w4 x9 {# W- R' S$ F
SB3_1: ! Y% }9 a `# G; I: o
MOV R5,#250- E. A6 R* a2 x% R) a# @9 D
SB3_2:
* c% B; ?% e' [ JNB P3.7,SB4
_7 _ G) T7 {2 b+ D3 m& V DJNZ R5,SB3_2# x# F& j p9 n/ ~
DJNZ R4,SB3_1
a m: V4 u+ y9 Q JMP START7 Y* n8 i [# _! Y
SB4: 2 W1 b( C; B3 }9 N$ O$ Y; W
MOV R5,#5
) S* T& T: a; I6 H& sSB4_1:
& @. q) A; [; _* o JB P3.7,SB3_2; P; f' B" {% y) B( ] z
DJNZ R5,SB4_1, j! X- Y! E! K1 K% p5 {; v, n, L
MOV R1,#1AH
! a* C9 }* _- x$ F" Q5 I8 o MOV R2,#4
* S7 o: Q' i, N' F; qPP: MOV R3,#8: O( w3 q6 F. V* Y" ]+ m
JJJJ:
0 d5 E6 D* S! h0 a$ W MOV R5,#250
. U. v/ m. d- OJJJJ2:
+ L& w% j$ {2 h0 T- K W JB P3.7,JJJJ31 x6 P7 t$ ]& V
DJNZ R5,JJJJ26 e8 a. U' a( X0 P# y+ ~/ v
JMP START
% b$ {7 u: P1 V( ]9 @. V' dJJJJ3:" d# g. I R/ P5 I7 a. h
LCALL YS1 7 i" A R2 m& d+ a3 e& P
MOV C,P3.7
7 m3 T- @+ r9 F& V! ^4 g! F! ? JNC UUU
& V+ `4 J/ L0 g* ] r x3 ^ MOV R5,#2502 y6 D# F$ z$ ]3 }7 j2 C' z
JJJJ4:
) u/ c4 X$ \7 }* R' S g* } JNB P3.7,UUU+ }. R" F. }8 L
NOP8 |4 u5 J" W( L B* m9 Q
DJNZ R5,JJJJ4
4 T6 f* _8 Q. ] f/ G$ p& e8 h JMP START9 z6 X; q T& ?% d( v5 F6 e# G
UUU: MOV A,@R1
7 u1 M4 {8 H5 c; H; |2 ^: S/ Z+ q RRC A / S- W5 q* F5 L l! M
MOV @R1,A
; Y- F' b, ?% T DJNZ R3,JJJJ / }/ x& }& H8 S: n5 R6 n& `
INC R1
; ?% I; | `$ ^$ J8 h$ E DJNZ R2,PP
& q" E( ?- B z( P
h$ U/ q% x4 r MOV A,1AH 5 z6 G7 ?- s3 O q3 X
XRL A,#11101110B8 I0 Z4 W. A% E: c) F
JNZ EXIT
: I8 D% l7 t( ?+ w; O) f1 k# n2 O3 s MOV A,1BH
9 O b7 Q) @. L, W( i6 w( V/ G+ J XRL A,#10000111B
# ]) H( W6 V/ u& u7 D JNZ EXIT - {4 f* t! y y2 W
LCALL YS3
6 s, M: G7 D8 }1 j B0 y MOV A,1DH + g' Y- {3 E0 F: g) L
CJNE A,#10111100B,EXIT* y/ A! b( ]! Q6 ^. u- r6 s
LCALL YS3
- a4 m$ W6 I8 p# p8 f& s, g; R CLR P2.6
0 T- I& j. |. z; _ AJMP BIJIAO, b7 `; \' Z# |1 L5 E: m
* _) u9 f. L0 `, |5 N8 d
AA: 6 l. q: t8 S7 p9 c9 P& f8 `" @/ X
MOV R1,#25. ~( j2 Y$ Y5 K
XX:
, u. m) u o( V/ Z& i6 l ACALL YS2/ o! L/ [6 \8 D
JNB P3.7,HH ; f( z0 [# ]) a* B6 F
DJNZ R1,XX
5 E2 q7 C. P: YEXIT:
4 o9 S9 M! u4 | AJMP START, f9 Z& j7 @6 q' J
7 f4 I6 y& O$ b5 y1 ?* ~$ oHH:
: G% x2 j4 a6 b1 J MOV R6,#4
4 l+ ~; B4 u* ^7 uS:
- L A0 l" H6 W" N4 Q% s9 v ACALL YS1 8 [5 A2 P9 H2 ~) p
JB P3.7,EXIT
+ w5 n H* s& c' S' r DJNZ R6, S
6 K8 `$ ~3 g% n+ {" w$ h JNB P3.7, $ $ c+ C6 R" }# m* b4 K' w' Q& K
LCALL YS3
6 L9 `* k3 r6 [1 A# @! N' E AJMP AA: @ w# f7 o2 g, M, [4 n9 ?
BIJIAO:" p6 U1 H) t. n1 j, ~) F
MOV A,1CH . v0 ]( ]; f5 H: n
CJNE A,#03H,N1
) F$ B& Q) i0 u/ P* B& ~) L MOV P0,#7EH
1 U9 D9 ]5 S- N& k" }- [ 6 y6 C! h9 D5 [$ `. h. E" K
;处理STUDERV录音机控制码
8 V# p: J# I3 y- K `! i2 ?! @N1:
/ H0 f0 r1 i4 ~% `+ l* N! ?# N9 a7 W CJNE A,#5FH,N2 ;播放键
# ]8 S# g# a0 u) H, ?" [4 I4 S MOV DPTR,#REP% c) r0 X% m9 j- C0 ?$ q ?
ACALL SENDA
# F! d" ?. O! B& O$ G- M: \# l- w ACALL YS43 |' c4 a; m: y2 v; D
MOV DPTR,#PLY
0 I+ S. {" g, i, \ ACALL SENDA/ o4 W6 p7 |. F, P" X* A
N2:7 b4 W) N* P6 @: v, C# Y
CJNE A,#5CH,N3 ;停止键
1 D9 t3 P# }1 V5 L MOV DPTR,#STP
) M8 p2 u3 p3 ?7 }# C: f+ Y ACALL SENDA
7 z$ _7 T5 V, H* x' X& H: ]N3:
* V; `) b3 v& S- I CJNE A,#06H,N4 ;快进键& N: n3 V6 g9 J
MOV DPTR,#FWD- I! J& t! @4 [" N+ i j. L
ACALL SENDA
) ]4 L0 a) ^' l* v0 S; }. sN4:
+ |% G' K# G9 t( L8 W" M CJNE A,#09H,N5 ;快倒键& J+ m, q+ R, c, t+ ?& i; s/ `6 N
MOV DPTR,#RWD! A1 K, i1 `8 b* {2 x" W4 `" ~) f
ACALL SENDA" w4 w% R6 `& U: K0 Y
N5:
4 R9 J4 G; ]7 @4 Y7 X& V4 l3 V/ b CJNE A,#0AH,N6 ;置零键9 u8 G4 {4 w: G+ ]
MOV DPTR,#RTM3 O3 V3 r+ c4 q; b. h
ACALL SENDA
7 x; {1 X% O, ?4 O1 |+ _N6:
; U/ h" A) x( E8 h CJNE A,#0CH,N7 ;定位到零键" Q( n' y0 y* G. G2 v
MOV DPTR,#LZA+ n& Z/ e: a e
ACALL SENDA
8 `5 k; Q! f5 B! t5 ~N7: _& k- p$ h6 D/ r' F
AJMP AA
5 j2 `; [0 l: y1 Z5 fSENDA:8 p/ a7 c' h8 s* y+ Y+ g1 M. _/ f
CLR A. t+ D" @2 `9 |& W5 Z
MOVC A,@A+DPTR# {. L" T& ~, O* C, l7 D
CJNE A,#'$',SENDB
9 w/ z; Z9 W/ g3 B AJMP SENDC
9 \ w0 }9 R( b; FSENDB:6 m+ R! p ?; K5 M7 u' ^
MOV SBUF,A
0 F; o4 z5 n) k JNB TI,$7 Q7 `: S% {4 l0 I- _ v9 {
CLR TI
$ r$ L; I, g! p INC DPTR
2 @1 h& @/ q% {% h& R AJMP SENDA
! V3 T4 ~0 B- x$ Z% p2 sSENDC:
6 \# M C7 Q, F9 }' _5 l RET
4 ]& R3 e$ X4 @* H: V
! W8 H' n- }8 n2 o- KPLY: db "PLY ",0dh,0ah,'$'1 T$ t% }5 O5 p% F$ K
STP: db "STP ",0dh,0ah,'$'
- Z0 I: E3 ?4 c8 O+ g' N1 rFWD: db "FWD ",0dh,0ah,'$'
# Q, I+ r" Q3 i6 O1 IRWD: db "RWD ",0dh,0ah,'$'' s6 j& a9 f/ N
RTM: db "RTM ",0dh,0ah,'$'
8 C; e+ D( w+ o$ n% N. \* TLZA: db "LZA ",0dh,0ah,'$'- M$ d5 F& L0 D8 ], H) X
REP: db "REP F ",0dh,0ah,'$'/ @7 t: O! i! k5 M4 Q& W7 |. O
/ \! W5 V g7 Z2 y, |1 x hYS1:
, B" ~7 J. e0 f) w MOV R4,#205 i+ P g. Z O4 t% r2 n6 _. ]
D1:
& B$ r' e9 |/ {2 N MOV R5,#20* n* {8 g! V- A8 [
DJNZ R5,$/ B- H1 B3 u( Y8 R0 A5 M
DJNZ R4,D1
8 Q" f7 b% v6 L: E5 l RET
" ~% f8 e6 _, ]. s& L- \7 V4 K* x. b3 ~7 g, u9 B- ]0 b, r
YS2:
0 n5 c9 Y% V5 l* K MOV R4,#10# C0 Y) X' b% O# J/ x
D2:* A- w3 u8 q3 k8 }) l& P: x
MOV R5,#235
2 M9 |% I4 u1 @3 [4 |3 u+ D DJNZ R5,$) T6 ^4 c% U% ` l6 G1 _% M
DJNZ R4,D2! H5 Y$ D A9 y- I' ~( a0 _
RET T4 z( b: O: Z
6 P' q( W6 H" X; b0 F; a& ~, {( hYS3:
5 |0 S$ ]" @* H" A8 {" o, p MOV R4,#2
. f3 E* @! t, |7 L1 d- sD3:9 X8 C( E3 r2 \
MOV R5,#248% F+ C" p1 p8 {. `
DJNZ R5,$
3 t& _ L, ~ I; a' t DJNZ R4,D3
; ]" w% }6 y- P+ Z. m" R+ U RET' E0 c m1 V! P7 U6 t
/ x( `$ O. Z' y! jYS4:; n9 S6 }$ E( O8 U; }; o: P3 t4 X
MOV R4,#2006 C% o. o2 C+ A s0 j5 l
D4:
! c& d6 L k$ G/ ?2 G- R MOV R5,#248
7 \( @( W! |8 Q7 z; ~ DJNZ R5,$
w" b! o: z1 ? K DJNZ R4,D3
9 b/ B( E) x; t; d RET% z* s1 l" [$ s# u; s3 `9 V( ~
END
% {# U5 [' u8 c4 v6 ~$ G0 ]; R' {
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。/ m* I9 E: n$ s: S6 { v [3 l
是不是很惬意,嗯!
8 @6 q. C, P! y- U" Z: D" B0 N! q |