赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
& ~2 p4 N6 `) u6 B3 E/ y) o, q& `) Q A. I6 K
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
6 d8 g# |6 `& y( ]0 v& T% C" w9 m4 |3 m% z! p+ l* L
说明:- g R% z: x0 c# u5 Z; c7 n/ ?( L+ G$ u
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
l7 S3 N; L) J7 R( @3 B: @. R2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
# D* k7 a1 u' x) ^3 G) [
, ~, O4 W3 B4 h c/ Z/ Q$ z9 B一、基本思路$ w" U* V @0 I/ Z, x1 s
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。% p0 }2 c, N: G8 ~; b2 h& m
1 F l& j4 v! u7 z二、红外遥控器
5 D. w/ }6 p3 T0 u# Y我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
: R3 {2 |! \) l6 t2 k1 k
& P9 j" E2 ^( m; c! i4 M好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。7 }3 v4 h6 E/ j, n
8 |) D9 D, s* W
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:% V* X4 A- j- B* Z' `
; j' o9 V% ~- D) e9 C8 d$ I& V3 c/ v
w( N/ r3 g' u! \5 p三、红外编码0 ~" ?" f/ t' ~( e# ^* d2 @
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
- }4 o- P% h( n/ g前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。9 G1 d; X4 o% Q
后16位为控制码,主要用于实施具体的控制。
' B3 I3 t( |/ a+ i v' j这16位中高8位和低8位互为反码,以提高可靠度。
/ l1 T! ?2 I z
2 e$ v. [6 h4 t' @0 R以播放为例,其编码如下:2 A, [4 ^, q- ~) e! y- H0 @% C
00000000 00000000 01011100 00000000" p1 }" T0 K2 r6 V; h# Y! `3 m Y
' @! Q+ u# n0 N2 K
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。& {6 J. X6 ^# K8 J) l e
- u0 M. g; |7 c四、单片机系统
, r' V4 F0 v2 c/ B7 b这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
- d+ {- ~7 C R- B+ G. H) j( y
2 z1 \2 x v7 ?) ^9 [5 w. c7 {0 D5 b
/ C. d) p. g% w# u% M% `& \" b电路很简单,功能如下:
) D1 r1 y9 j/ k' Y t* i- K1、一个AT89S52单片机作为核心;: ]4 ?- X* Y) Y. h. G: H
2、一个TL1838为红外接收头直接串行输出数据信号;
: f, F; z6 ?: v! x: }- U3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
) X+ q* M- O6 {5 J/ v6 _/ }9 g4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
! T* S, l5 b m" ? Y6 r% l) j+ [ i) y/ i5 N9 x
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。+ w6 S% J, D6 J; {4 n4 p
5 U7 R& v6 ?" k: Z$ A2 T& R U# v; d- h8 X" U7 L
五、控制软件
: a! `6 f& t. h1 V2 y! L控制软件用汇编语言写,源程序如下:! [- P6 i7 c& T0 d* ~0 U) @
ORG 00H
! @+ Z+ v: u) n! ` LJMP MAIN
! ^! w. }* J* ^ H, K" H' p9 C# M ORG 30H
% E/ a$ q% `) B* P6 ~# `- ~4 aMAIN:
; m) i/ R3 J/ v, T3 V MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)! }2 \% i5 H$ R k: A* R, j
MOV TMOD,#22H ;22H
3 M, X0 } _$ w. {6 O MOV SCON,#40H ;40H
4 v. ]4 f( w) _+ t% G MOV TH1,#0FAH ;F3H
. U8 k, }- E* m/ \$ g# D MOV PCON,#80H
3 a- y" @8 s7 j S SETB TR1
5 K8 H; ~$ t* O. z, B7 d3 e; \START:3 d. U2 @+ g6 x
JB P3.7,$ ;遥控信号处理
' n" C$ E) M& a2 jSB:( f! e( k/ ^2 Q' {- c
MOV R4,#8 * ?, j4 p9 G3 A1 E
SBA:/ D1 t) w" u1 N: {
MOV R5,#250
2 P# n% U, S* Z: jSBB:" w) d7 \# N8 `8 s, F5 M/ {
JB P3.7,SXB1- h7 P/ E8 [ u% G: }7 {. z
DJNZ R5,SBB3 ?2 ^8 W# Y5 R7 x6 ^* k
DJNZ R4,SBA( Y4 x; F/ v8 P9 E6 P! E2 o
MOV R4,#2
& G( E- r, M5 M- W% n JMP SBC4 R/ M) N! @" }
SXB1:
) n; H& b% e$ S& M MOV R5,#5- x: `: `" K: k; Q0 x
SXB2:
: p, o+ [6 K+ H7 S JNB P3.7,SBB, e" Z1 L N! r8 F; ]
DJNZ R5,SXB27 k) h$ y& Y* _) D( n
JMP START) M4 i; G- h% G3 p/ J+ Y
SBC:' ~" C' |8 g$ T+ B2 l: A) r
MOV R5,#250/ k5 R, ]: A9 I) J2 i) i! z3 @
SB1:4 @, Q8 R% U4 v$ Q0 S+ K2 T; q
JB P3.7,SB2
1 A; t, Z' h+ v1 w DJNZ R5,SB17 x* C& m6 X S
DJNZ R4,SBC, v! x* I$ L7 [9 d4 Z6 i [5 L
JMP START
7 j+ o# p4 O kSB2: ) n+ e, N: b; x2 ^, R2 E
MOV R5,#5
! W6 e& k- s _! c/ F% MSB2_A:. J" F. A1 t, p1 V2 a* N
JNB P3.7,SB14 z0 }% Y6 P$ K- E/ l% R
DJNZ R5,SB2_A0 Q, t1 k+ T7 W) y' b) R
MOV R4,#3
1 b: Z2 W. i$ C/ K9 T+ DSB2_1:
/ d$ [. M) ^9 ~% L8 T; W MOV R5,#250' a3 O( `* m! c* g/ p' P
SB3: ; [# N$ P: Y/ e+ \5 B2 N* H, d* u
JNB P3.7,SXC
& k6 A+ q) Q, x8 K! O& N DJNZ R5,SB3# _6 _! |3 i0 c0 v( r" F, X/ E. ]% {
DJNZ R4,SB2_1' V, m- j# a, ?
MOV R4,#2. E! V, t, y2 j% {2 V
JMP SB3_1
7 y5 D- v" z$ D, p+ D) cSXC:
! K! g3 N+ t* O+ l* [/ p$ z- y. Z MOV R5,#5) I1 n. e( G, P4 o! @1 r7 c7 x
SXC1:
6 U) U& {: q' ~1 Y JB P3.7,SB3
% F9 s+ n3 H1 {- I* q) ~; t DJNZ R5,SXC1" Y1 L. ^- ~1 @& L5 n
JMP START
7 M( }- N8 @! p! F: _* jSB3_1: ) {0 x: ]$ r, f
MOV R5,#250
; E7 ?% [* i. DSB3_2:3 f' a' t, T$ V( @ O) R
JNB P3.7,SB4
2 D O! [8 k4 K DJNZ R5,SB3_2
$ Z+ N, [% ]1 b. Z DJNZ R4,SB3_1
" v1 `0 W1 Q/ f* [% d+ [ JMP START3 j8 x# Y0 {/ @" Y5 a- V
SB4: 8 @) P2 u4 S, b
MOV R5,#5
2 O$ Y2 l6 `1 _3 r' M. U+ HSB4_1:
! r9 k3 w4 }4 ? v. H) t! ~ JB P3.7,SB3_23 l+ W' h9 @. ^# ~/ G+ \3 y
DJNZ R5,SB4_1
* r6 j; w1 H b2 H; J MOV R1,#1AH ) c$ c+ d- Q, i% V. R! P; X* l- X
MOV R2,#4
) K0 g7 P2 C3 n8 s) S" KPP: MOV R3,#8
' T2 v/ n2 J h1 ]' ~* B m) LJJJJ:/ b2 j% a8 e$ |- O" j, K5 |
MOV R5,#250
4 N( j8 L8 ~2 \JJJJ2:
3 f' C J& p; X3 J$ t, Y JB P3.7,JJJJ3* e9 r( S2 W9 L- K; y+ b* }3 e& ^
DJNZ R5,JJJJ2) t, g' Q1 k( f! J% H1 g& v6 {
JMP START
9 k8 t' V* b" w% M" G" T. YJJJJ3:0 g+ c# E' P0 [! ~: {. R7 l
LCALL YS1 - O/ \6 P! S. X$ O
MOV C,P3.7
" g: Y9 }4 g$ L2 Y$ Z0 o) \ JNC UUU , M/ v- C$ n# T; H/ Q# }4 J& m
MOV R5,#250( b {% X1 {% c$ q
JJJJ4:; e3 {) m0 G% ?! N0 i5 ~! |4 Q0 d/ v) {
JNB P3.7,UUU
, e) X. e$ E9 k; [* c; D& E# b NOP& M$ } o% F! `+ a1 O5 b9 H
DJNZ R5,JJJJ4
0 y( z- o; }# z+ h JMP START* S$ ?2 o& U4 b' b( i9 C
UUU: MOV A,@R1 : Z w4 H. K% G4 Y
RRC A 5 j2 F1 q1 v/ I1 K9 p
MOV @R1,A 4 t9 u- d- ]/ N7 S5 ?
DJNZ R3,JJJJ
J* x7 K0 X6 b3 }. @ g INC R1 & o* [- h+ R) b9 ]2 y2 x! k3 p
DJNZ R2,PP
% }& x# k* d0 I% o/ H, k
3 p) @$ u; ~4 B" g" A MOV A,1AH # N1 g' ]- B4 h: b2 j8 G
XRL A,#11101110B, b4 ~# g: Y' W9 K* ]8 w4 b7 g
JNZ EXIT ; x: u8 ~ j0 s" X: J/ O: J
MOV A,1BH ' m: {0 G% l8 \7 L5 g
XRL A,#10000111B! x( f) B5 x6 N6 b! C9 V+ e
JNZ EXIT ! a6 d( O/ h7 e4 _3 t. x* `8 v) R
LCALL YS3; W! _% A- z0 z
MOV A,1DH
2 d# ~: L9 A0 ?2 f! X8 K CJNE A,#10111100B,EXIT- ~2 N4 d5 y) y4 g8 F" ~# y, _
LCALL YS3
+ i0 j& }0 b' _5 |% L* ^- d+ u; {6 j CLR P2.6 + r! P( I! p) o, W/ A
AJMP BIJIAO* r& c$ J5 ~" e5 B7 {/ T0 o
! U6 L; Z, m( i; c
AA:
. W3 k. y3 Q% w2 E: h% m9 q' T MOV R1,#25! W, ?3 g' G _, \' Z" x& }6 e
XX: ; s6 ?8 W' h1 r& ?! H( j" j( r: E
ACALL YS2: q- [% q: T% C6 `2 O: k1 ]
JNB P3.7,HH
6 f1 p! v8 U' n6 _5 Q8 E6 v DJNZ R1,XX
" G9 D- ]$ R# Y# t% z; v* \EXIT: 6 N7 T( Z. {4 A7 P6 \ d- H" J
AJMP START" e6 g& r* E* l$ r, O
- b8 k, B1 j2 ^4 SHH:8 b X6 C! [' a' I' S4 {
MOV R6,#4
0 N e1 r: W- n' |" {0 n9 p5 {" S* bS:
2 b+ E' N+ Z6 M, O ACALL YS1
! G$ L2 n) p( P JB P3.7,EXIT
& }4 c$ t8 y- b0 |7 p DJNZ R6, S
o( m0 z* g8 v' r( |3 A JNB P3.7, $ # ^4 q9 ~" C- n3 f- Q
LCALL YS3 n$ B3 h6 B( Y
AJMP AA
1 a9 ?1 p" o( w/ {4 W5 \BIJIAO:
7 T, ?0 @6 u/ e/ @& [2 O MOV A,1CH
" J4 B$ J0 S) E& _" Q: I CJNE A,#03H,N1
& i5 ?: d L3 D MOV P0,#7EH ; j1 ?4 [( G& [* D i) n `- L+ l
, @# [1 d b$ ? ;处理STUDERV录音机控制码
% O) p. F) N7 ] J8 G$ S' X" yN1: ) h; k' u5 I# V) C( V& }, W! D
CJNE A,#5FH,N2 ;播放键
0 p' c' ?. V( q" Z MOV DPTR,#REP
! C, e+ ]& \ N0 g# ]) b ACALL SENDA
! S' [0 l! F& W8 b ACALL YS4
: t& j$ O" U; A$ M$ m' {' j MOV DPTR,#PLY
8 E( ]( ]- c/ [, _* ]& j ACALL SENDA
/ S- B- ]) H- J3 J1 | @N2:
4 |( t0 c2 m; r1 k7 F CJNE A,#5CH,N3 ;停止键
! J& [' k4 `& ] MOV DPTR,#STP/ F/ j& a- r x, G0 I* e
ACALL SENDA
j- `, k. ~! |( ~, t! P+ `( v- TN3:/ J8 V! J+ ?* }/ L) a A
CJNE A,#06H,N4 ;快进键' C. I; e8 R! ^+ D* ?8 Y, w j
MOV DPTR,#FWD
I. l: B6 d7 W% ^1 _2 _! ?1 q! o ACALL SENDA
. o8 Z) L& C1 Z CN4:
' Y% z! O+ j- b" \ CJNE A,#09H,N5 ;快倒键
( Z& t5 n8 K) z/ o/ T MOV DPTR,#RWD
" [+ R+ z& y: r8 E' n5 D6 ^( o, H ACALL SENDA: [$ Q/ D/ m3 `& p" z& Q7 p; n
N5:& M: k: w x9 m# p
CJNE A,#0AH,N6 ;置零键
) x2 C8 {, l S4 S7 N) R4 i MOV DPTR,#RTM4 O6 b1 J# c8 j' X4 b5 c
ACALL SENDA
/ i& E& `3 B2 c4 z' GN6:
4 X* r* r* k; L# ~ CJNE A,#0CH,N7 ;定位到零键
4 `) t4 `6 r) f2 O0 F* b) ~- Y MOV DPTR,#LZA
. o% n( U8 x. G+ E- w0 B ACALL SENDA% E" [. g. i* t
N7:. u5 j% C8 R8 X% A0 w
AJMP AA
% I3 q! e' ]) v5 w- K; J) V5 u- N# cSENDA:
6 X' z }8 q4 ]1 H3 n& u1 Z CLR A
: C) `' z3 F# I MOVC A,@A+DPTR
" d# W7 s$ e( K3 ?% ]$ c) K CJNE A,#'$',SENDB
) {/ P# o- w5 X) t e AJMP SENDC4 U5 b) z! ]% s1 a+ m. t' t
SENDB:
5 U: M; }! C4 s: e$ ? MOV SBUF,A& e' a$ t# c9 `' O: w/ A6 M
JNB TI,$7 Q! i- j" S: [1 e# e% Y
CLR TI" s/ [( M( M- G3 V* o
INC DPTR; w# C e, V" c
AJMP SENDA
. ?/ }& i3 Q# DSENDC:3 x5 T8 T' I0 X6 F: v+ N- k
RET' S5 W/ _- g" u: E
! N% s" J5 h6 K: \PLY: db "PLY ",0dh,0ah,'$'6 g3 t) M4 A |( e* P$ ?7 M
STP: db "STP ",0dh,0ah,'$'
) f @ B0 y" ~% X- S4 ^, N* y9 K9 R, RFWD: db "FWD ",0dh,0ah,'$'
8 J0 O0 ?1 {/ mRWD: db "RWD ",0dh,0ah,'$'
' N- P& k# Y: ~RTM: db "RTM ",0dh,0ah,'$'$ J# F) M. l& D7 y$ }: N
LZA: db "LZA ",0dh,0ah,'$', f( t/ S* E! c3 z- d# I0 f" H
REP: db "REP F ",0dh,0ah,'$'
5 Z" R2 M2 p- Q9 @1 L W: _
5 w, W& o4 p0 m; H% a \3 tYS1:3 j o6 Y9 F4 d' w/ b
MOV R4,#20/ f$ u: j. _+ y- Y: H
D1:1 v5 a. W. q' S/ L5 n
MOV R5,#20
1 E' N; T6 j0 h" b DJNZ R5,$7 b3 V* \/ }. `; x
DJNZ R4,D17 U/ U" b2 X* [$ O- l4 \+ `+ j6 K& q+ j/ s
RET J; x$ x, k- |# D. g3 F
) |5 N+ r& z- g+ C- I9 D5 @+ r0 i
YS2:* b {' p6 D5 n4 p' U2 P
MOV R4,#101 t) L1 H6 P' w) p8 Y1 {/ b& v
D2:) e8 o; R2 d) {5 L9 y& R! [6 [% Z
MOV R5,#235
& y$ w# i4 \+ h. { DJNZ R5,$* _! a: ?5 O k2 C$ {: z; s
DJNZ R4,D2. u! W( s% Q: c9 k/ x7 {
RET
: w" X3 m% A( R# ]. x( K @# o
! j2 a! B: f, S4 x+ IYS3:( I0 T* T1 q; F. ^ v8 W
MOV R4,#2) Q* z# J' U* h- s' l4 M) j
D3:
/ ~8 a! n6 k7 W- J3 f MOV R5,#248- \) Z2 t2 l4 F! b' ?4 A3 n8 _
DJNZ R5,$
8 b0 z* o( S$ u! T* s" ~1 l DJNZ R4,D3" V; z) R7 Z+ T% H# V! N
RET
1 Z. q: d3 T& P
* O" t3 t z% z5 ~. K! Q6 PYS4:
0 Z9 e" J7 _2 V; Z R MOV R4,#200
2 D$ O0 O( h; N- x7 z( ^; ]! hD4:% W- M( \; \" d% H0 s4 V _
MOV R5,#248. M; r% k. | b
DJNZ R5,$7 b% l+ ^ @' V
DJNZ R4,D3
7 M! b' L5 Z$ W, q1 b: l$ \ RET
2 t: a( h I; @3 _ END/ J# b$ x v3 g- a$ j
4 x* E- b+ c9 j/ S7 n有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。3 o# D% S9 V3 z( J9 q7 m8 P8 }# _0 {
是不是很惬意,嗯!
! E4 j! y# ?; z) A |