赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 6 c* d L8 i) s9 P$ F' |* [
d0 M+ u8 r3 t( k1 x
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。, i5 Q1 q5 |+ `1 M
6 l; e" z9 l+ F3 O2 u( e
说明:0 F4 [, @; \3 L, R) \
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;% C- p3 k* o, k3 n. t) o' A: n7 e; ^
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
& i+ b0 j/ [. A/ J. M
; U2 L% o( F' _( D一、基本思路
8 w- o0 k3 ^( d5 u: E, g使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
$ L: ]. v" p5 m9 ]3 n
) |6 j3 Z L6 X9 \二、红外遥控器
; A8 [! }, T& a5 z/ s8 M; P我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
: h; u0 C8 K6 K( H2 y
: R9 K8 K! b* Y p7 b. u) f7 A
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。- |: F$ h" w2 O- d* x
1 T7 [. F: c* }6 `- [; g在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:) }7 v9 L7 x l3 u. D( C A) X1 t
3 e2 s% o: k" ~0 V' Y4 E1 D0 S5 z. b+ U a
三、红外编码
0 G" B* W& f4 `5 A) N' J1 y9 o+ G4 c2 z红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
1 I- [$ y$ V5 O( I4 R前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
1 ~) S. u) e( V4 M" j后16位为控制码,主要用于实施具体的控制。
7 Q' f( l" s, g5 d4 F9 [$ ~这16位中高8位和低8位互为反码,以提高可靠度。
) Z+ D& m0 E" V( Y0 D6 Y8 B; r S6 }1 H4 D
以播放为例,其编码如下:
0 N- ^$ R) w& V! [00000000 00000000 01011100 00000000% Z7 d T0 P$ B9 J7 ^/ R
6 s" N0 R; ]) [# z) Q1 U/ I9 ?- C
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。: J2 F' R- m1 k' g4 ]2 W
9 D6 i( H. W7 X+ S K) E四、单片机系统$ j& t5 T4 G Z, s" R) _" |, W
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
, v+ V3 e5 a8 }! i
2 a* }! t2 a- w, N7 U2 B
/ W- P3 v, o1 G$ [电路很简单,功能如下:
, t( f# t. V. ?, _5 r5 c# u8 b1、一个AT89S52单片机作为核心;
' q- p2 |6 |4 s2、一个TL1838为红外接收头直接串行输出数据信号;# C/ Y7 \1 |( k- b+ Y) t
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
& _. u0 G9 @2 H/ e% h# E4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。( p1 m! c; d) H+ r; [
8 D4 i( n$ i1 A
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。* Q/ K1 d# _8 t' e3 _- v
2 f, I$ G9 u5 Y9 Z# D; l, O
" f" ^( T2 f& W6 _& @2 l1 y9 V7 x0 B. ]: W五、控制软件
, G+ X F5 E. ]4 e7 O控制软件用汇编语言写,源程序如下:+ R3 q; z8 [3 ]+ B8 j. H8 g( q
ORG 00H
4 u( }+ D K, v4 I; P0 o LJMP MAIN, U3 ~2 A4 W# P) x
ORG 30H
% [3 V1 s3 Y* | Y4 WMAIN:
& P. N- T. e. w5 t2 M MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)& Y0 K9 p2 T, z
MOV TMOD,#22H ;22H
' x2 N1 l3 S* @& q2 i. A: ^% a MOV SCON,#40H ;40H. N4 f: W$ N, N& F
MOV TH1,#0FAH ;F3H. F& o/ N C& H) K* s
MOV PCON,#80H- n/ S) L W/ |( i; b9 L" P
SETB TR13 V6 I& C) ?3 c* E4 w& z# `
START:& T" o1 f8 W4 p; m) ]0 T
JB P3.7,$ ;遥控信号处理# m8 Y1 N/ K- a' p0 f$ V# n
SB:4 f& V3 w/ A# I/ [6 c5 ]
MOV R4,#8 8 O& ]8 o9 S! u. ]* \$ g9 i5 N
SBA:
) |$ C. ?( f( N3 X& Q- M- ? MOV R5,#250/ |& P }5 P& Z' R- x; K7 G' v" P1 Y9 O2 E
SBB:
! ^$ P0 v8 K8 r* b JB P3.7,SXB14 S8 q6 g2 D8 A1 a; B- h
DJNZ R5,SBB2 ~$ ?4 T, g1 K% n4 D5 ~
DJNZ R4,SBA5 f2 V9 r2 f. P# k* `" m
MOV R4,#2
: ~7 R; U# z! w- p% B* T- p, U JMP SBC
$ f8 a5 R# R$ \5 _SXB1:
0 n, q( w" Y) z0 p1 p+ N MOV R5,#5( z+ Q! {) y6 C$ ]
SXB2:
, y2 |3 |' H/ W/ c JNB P3.7,SBB
- U/ o/ F( o. B: N; O5 X# G! I DJNZ R5,SXB2
! T/ z& ]- X! m9 d6 ^$ n" O7 { JMP START
' b' C" k, v0 h1 xSBC:
/ ]! Y% y* ~5 Z- g MOV R5,#250
1 t9 b8 j4 o' L8 q' M9 tSB1:9 q6 S' e0 ~' C. |7 u
JB P3.7,SB2 ! o/ v' ~4 ?8 C
DJNZ R5,SB1
$ i4 q t( m# s9 |6 E) ]4 U DJNZ R4,SBC9 f! W2 E R* g% l
JMP START# W9 a! P d* z6 ~
SB2: ) P7 y% f9 M ~! I3 ]
MOV R5,#56 O; r0 g# ?" G: V4 d' G- |
SB2_A:# N r( N f/ Z* Z" J ^' R
JNB P3.7,SB1 a) @2 i) Y, ~$ k
DJNZ R5,SB2_A1 Z' Z; o1 k2 j! J" q0 L/ V
MOV R4,#3) `% y! W3 V4 U- h, n3 y3 d# V7 t
SB2_1:
9 }9 D$ d' | z MOV R5,#250
" g! w: @& j5 YSB3:
6 L% @1 G3 g( C: P, ? JNB P3.7,SXC
* D1 }. H) z4 p) ^7 I! Z8 d- |3 w) c5 M DJNZ R5,SB38 l* h, {$ @+ M9 a) I
DJNZ R4,SB2_1
2 y/ ~" o5 \( Y1 O. P* F MOV R4,#2
) x8 S5 _; x" o* } JMP SB3_1
z5 l/ T& E3 {SXC: " l2 y! @3 M5 v. k1 K c# l
MOV R5,#5* R' m" q! `0 G, p* K* G2 b
SXC1:, Y% `( R' B6 `) o
JB P3.7,SB3; B8 g+ h3 F7 m/ ?& b) {' p1 ]
DJNZ R5,SXC1+ f9 S3 [. X( \1 |# P' F
JMP START& a0 D9 d4 E1 q8 f& b7 ~1 o: [8 R" b
SB3_1: # |6 X" m/ Y1 ?( |8 X' D# @
MOV R5,#2509 l% {4 w8 G2 K" I
SB3_2:
8 [% l$ j( u: N7 p% A JNB P3.7,SB47 \( c" L% _# H- z8 y6 T& [5 A/ g
DJNZ R5,SB3_2
z( Y# ?3 D, S# p+ `' I DJNZ R4,SB3_1
) z, F/ r! @- }) {9 @2 ^5 G5 L0 r JMP START: Y) b' L+ O ]2 i% |% |' u
SB4:
1 W- v2 \* z1 b MOV R5,#59 }. ]) _: P8 ?( m! x
SB4_1: E0 Z5 n Z; A* Z- A n- g7 `3 q
JB P3.7,SB3_27 h2 ^5 O$ r+ f7 s e" e
DJNZ R5,SB4_14 I4 Q K. ~" \ P9 a2 ^
MOV R1,#1AH 7 H3 q+ k4 e5 z* U8 U
MOV R2,#4% F# }7 k% R( m% v8 X* Q( x
PP: MOV R3,#84 s& c7 v @! i1 q1 @+ x4 [
JJJJ:* y& |; u4 I- M7 U" k: X2 e, D
MOV R5,#2509 ]1 t+ w7 v+ B/ K+ v
JJJJ2: & P7 R5 G0 k2 e! @, `' r( L
JB P3.7,JJJJ3 }2 ^* O _. t/ w
DJNZ R5,JJJJ2
- G/ b' Y. x( a* v! }. J! j- G JMP START
& c; z& h$ ?0 F% \, H* zJJJJ3:
$ g0 Q+ P5 q0 K7 w6 \1 l* G LCALL YS1 . G' {( i. [8 b# i+ z6 m$ e
MOV C,P3.7 6 [9 z- z+ ?& D& z3 s
JNC UUU
4 Z3 F3 ` h3 g, _: G5 d5 p) U9 h MOV R5,#2509 ~0 A! i' j) e P# v/ R* `0 X
JJJJ4: g( y* q8 o9 u- U4 b- n5 C
JNB P3.7,UUU" H( J5 V0 H5 V% U( ], }
NOP0 l# [' j6 I) X. J. m' Y2 q
DJNZ R5,JJJJ4
9 O! a% p- `+ ]. ^. C c, e4 D7 }' i JMP START* H% O, {/ T0 O4 j7 ?4 Z
UUU: MOV A,@R1
' g9 Y* R& V7 @- ?. S RRC A
3 g R/ Q# O _/ {3 m4 W MOV @R1,A
6 m1 j- w3 i+ q) b( x DJNZ R3,JJJJ
% H9 M3 O5 A. b2 g3 l% x- `7 D INC R1
) D( J! T( S9 |, y; k4 A$ ? DJNZ R2,PP 9 q E6 V, o2 {" l
- ?% t' A* G$ ?9 w! v( _4 r MOV A,1AH " @% c4 J, J$ m# g
XRL A,#11101110B6 R8 v6 t ~; c6 h M
JNZ EXIT . \. m" _ d# S0 y' V& {! f
MOV A,1BH
% X' o/ w6 L. N: r5 y: b XRL A,#10000111B
' h ?7 j6 U; _% m7 W JNZ EXIT - c Y4 J7 t6 ^$ ~' t2 I
LCALL YS3
, ~5 n H7 w. `# g8 `1 C MOV A,1DH 9 _, P+ W l/ x. Y. J" L
CJNE A,#10111100B,EXIT
5 p; k4 q$ z. j0 b0 R* B LCALL YS35 J T3 w! a& a& v3 G
CLR P2.6 * i; b, d7 ]) g" P }! y- A0 c* w
AJMP BIJIAO
9 O7 a' y1 h: N6 ?& c! Z. y3 \: O
) ^9 k$ {4 r& `2 uAA: / S2 p( \$ o% M7 q6 n
MOV R1,#25
+ z4 G; f9 F1 r6 c2 j( [XX:
4 L+ v0 v$ S5 B7 |+ ~; U ACALL YS24 c+ k9 X* V4 O' s
JNB P3.7,HH
# O8 x9 e: h, A4 y DJNZ R1,XX" z* c. i3 ^# }; w2 o3 e% h
EXIT: - h! D7 C: V$ {# I; a! d
AJMP START/ o: Y; F+ _0 i* N+ q2 o
2 t; W2 `5 C& h; e9 h0 M
HH:
" V6 g6 g% C" L$ Q1 O$ V0 L3 p( G5 W MOV R6,#4/ v5 _1 I8 d# ~& Y4 y* W
S:
. l+ t, ^" o' |; w; T. E ACALL YS1 " M: \$ w0 W" H+ n' [
JB P3.7,EXIT G* ~2 y# v6 Y4 B/ t% J
DJNZ R6, S
! E% k$ Q4 Q6 c/ O JNB P3.7, $ ! @' q4 K, K/ z. K2 Q5 k$ Z
LCALL YS38 S7 J1 I1 n) T" M1 C
AJMP AA
& i5 A! f; ?) B( z$ L8 c- _ u6 ?BIJIAO:! \9 n3 c9 Q2 O R% ]* \# q
MOV A,1CH
& W' k& t* \& u+ A, s8 z CJNE A,#03H,N1
# b" v7 ]1 u# X6 D% S* {3 S0 a, I MOV P0,#7EH
5 r8 n: j$ K# x) O# ?$ o: g; @
' p2 X( H& T* B, B8 O u# X ;处理STUDERV录音机控制码
; S2 F7 G' {: Y2 @* F/ p9 E: m4 VN1: ) s i- H! V0 H: L
CJNE A,#5FH,N2 ;播放键; A# @+ ~, K) Z M6 H* m; U n
MOV DPTR,#REP
9 F& a$ B+ a* N. Y/ ] ACALL SENDA ^$ F' Z( [4 D, D% K6 j2 n: c
ACALL YS4
* B" W4 J( L' ~6 E* {8 [. y2 n MOV DPTR,#PLY
0 u& H; X$ B! l ?3 V ACALL SENDA
% S X4 Q7 J- j; Y; hN2:! u" v+ E) t, P( a$ k- P, p3 E
CJNE A,#5CH,N3 ;停止键
6 B3 U# F9 n1 e+ W' p& i MOV DPTR,#STP
# J- H$ h* ^0 b5 _% T ACALL SENDA
; w9 {. k/ V- T; `9 J1 t! _, SN3:
* m- \$ L7 r& M: D. S CJNE A,#06H,N4 ;快进键
4 H/ M l& U; n! G$ V. }" } MOV DPTR,#FWD
) v4 {8 ^/ Z- A: Z; [& W; c$ j ACALL SENDA y6 n% K+ b+ J8 S4 x7 R
N4:$ j7 S7 B2 [' A4 T2 R- P
CJNE A,#09H,N5 ;快倒键: j/ `" y* a5 Q
MOV DPTR,#RWD
7 b$ j: z8 B' \% Q ACALL SENDA! D/ w0 G& ^ F1 o4 J
N5:2 I$ E3 F; x/ h; x& d& \
CJNE A,#0AH,N6 ;置零键
$ L* {$ h9 ?3 r0 r/ q7 h MOV DPTR,#RTM5 M# N* |/ ~" a/ }( h
ACALL SENDA
& {$ V. [3 }% U. w9 tN6:/ z8 A- i$ N/ `! h9 r0 @& g
CJNE A,#0CH,N7 ;定位到零键) Q* m& }" n2 ~) M# D
MOV DPTR,#LZA
: P8 }" D! X" l8 h4 q& S/ a ACALL SENDA
! W- G- ^. P8 n9 B' o BN7:+ T+ }+ n) {9 ~* V. F* T$ @ L
AJMP AA( s9 d& L$ U1 ^9 B$ D' h$ Z
SENDA:
) ^- G; d4 j1 q$ @+ ?0 U9 @0 s CLR A6 ~% ]1 c( V) N; V5 a! ^8 g
MOVC A,@A+DPTR
' E8 r+ y6 \ Y1 q CJNE A,#'$',SENDB
7 `+ [- ~ `$ G Y AJMP SENDC# U* [1 `( C$ B" [
SENDB:% `# U* d1 }& B# u7 J
MOV SBUF,A* d) Y% v7 j6 j3 Z7 v; P
JNB TI,$, G* ]1 G1 {0 a8 I
CLR TI
0 @6 l$ R7 Q( p6 V8 Q INC DPTR6 U6 O, s4 P& M5 s9 X
AJMP SENDA& I7 v- z* `9 r4 N& K/ l+ h
SENDC:
! i" D" I' e% R6 N. G5 ~) Z0 \$ z RET
) _, ]- {9 [# @; X6 U, d8 W& y% x8 G$ l2 b8 @3 m- e
PLY: db "PLY ",0dh,0ah,'$'7 a" _8 Q9 |5 g
STP: db "STP ",0dh,0ah,'$'& M+ q% V7 D* @9 `) j
FWD: db "FWD ",0dh,0ah,'$'' G4 {/ S. f7 |3 A+ k
RWD: db "RWD ",0dh,0ah,'$'+ T% @/ }' I- c! i9 V' b' W2 p
RTM: db "RTM ",0dh,0ah,'$'
" p4 I( `8 t; fLZA: db "LZA ",0dh,0ah,'$'
! u5 B5 q0 o6 W- P0 F. KREP: db "REP F ",0dh,0ah,'$'
: H1 j" y, `) x+ X% X" h5 q2 x2 {5 Q& L9 O
YS1:) ]* Y$ T( H& l' ~4 F- E; R, ~
MOV R4,#206 {* J6 K6 B9 K$ `# {6 T) O* D
D1:
& L, v7 k: j' ~ r: | MOV R5,#20
9 z6 Y6 z* J0 q. B2 v DJNZ R5,$7 X+ Q, w0 @; }9 @" B& `) ]
DJNZ R4,D18 {5 e% v* M$ g; e+ y* y- c3 Y
RET
* v$ h P3 X% k e$ }9 j' F# g' @0 Y0 X; \! i# C g
YS2:
! h4 K( o% ^) g$ w2 q8 @- @1 T MOV R4,#10
! r) }$ M& G [ s; ~% zD2:6 q; v: Q+ e# I! g# F' a$ X
MOV R5,#235
: ~0 j' y" Q8 o# g0 e3 d DJNZ R5,$
8 d( I& _7 X" h( p DJNZ R4,D26 o; z) O) O3 [- h7 e4 ?# v3 I
RET+ { L1 N( }1 w" `1 j
3 M: r3 W& X, }, H9 eYS3:
0 t/ a! i4 c, y( W MOV R4,#2
% R0 ]* K2 J% X0 i# f; jD3:
& P% n( u2 E5 y' W& Y# p- Z MOV R5,#2488 i2 j- [9 A) k7 `+ @5 S
DJNZ R5,$1 r5 }: C3 w; m$ F4 I- g6 _- E+ p& J
DJNZ R4,D3
# L. r0 h( ~7 E+ F' { RET
7 q- v- x: D2 L* M) B5 M+ H. P6 M3 F: `* P( |
YS4:% K/ H: B$ f3 ~3 t9 a5 B r
MOV R4,#2004 g, R, w! o; D* R. d
D4:
- c, [7 k* ^3 w- S- h MOV R5,#248; R8 s; g( n1 K
DJNZ R5,$0 s: R( R' K9 q6 `+ r5 r
DJNZ R4,D3
$ F# i; T9 V6 n" T$ h1 W: P RET6 s: l) R& n/ k
END, O1 K! [, i s8 Q2 a1 e3 r; ?
( `/ E. }' ]& y% i有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。# X3 }3 X; L* w) n1 A
是不是很惬意,嗯!% y0 H5 |7 {4 G. L- d- [; y* u, {
|