赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
+ B! ]% B; \3 i- t! C2 _
9 X) o' a; |( O9 u( s本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
7 Y% v& ?/ _$ f2 L+ |7 n( M5 f8 @2 t% N- C, r5 i
说明:
% m! C% X8 k) ]8 x6 ?5 Q4 @1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;4 F4 d, E7 ~, A0 S
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;8 V6 [: x3 y; }- i; V# G
; B( z5 [4 _6 O" {- e2 g8 h一、基本思路+ K# E% g' ?5 |
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。9 s- i- V& L! ^4 z/ e; `$ m
p8 N9 c, a! `1 x+ _8 G) V
二、红外遥控器
; E/ B1 ?9 I, o: d! w) k0 [我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
1 n" C0 }8 @2 R2 d7 [8 g d
0 }% z% P. f6 E( `$ c5 z好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。6 }- O2 I1 a3 W( m |, m/ x0 F" S
) v! @# o3 ]- P4 }: r在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:: K, e" @0 g* w( F0 m4 z
( Q, [1 m, g& Z8 Y8 ]& M$ C
* U U* R+ \, g( j! Z* C* p三、红外编码( c/ W9 N: o1 T/ X
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
8 j+ j6 N1 _& `# Z( J! n3 h前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
* {4 m8 B' |9 i) o* r$ U: {后16位为控制码,主要用于实施具体的控制。7 g) M! g: y3 l, o
这16位中高8位和低8位互为反码,以提高可靠度。, x+ z8 ~3 P @) u& C1 K
1 {- H, a1 Y, G' L, m+ Q9 z" B以播放为例,其编码如下:1 N0 r2 p& I0 |8 C( n: O
00000000 00000000 01011100 000000001 p+ R; E; E, M) c$ a" { W1 _
6 N3 `+ {4 Z; O3 D# ]你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。: b: Y9 f' s3 r1 n* o" l
, u) V- D5 K: b% P& |四、单片机系统5 f6 p( ]! ~# X, x. q ?9 }
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
- D" v, [2 g1 n1 a6 o; x* o
) T" H1 l* h! X( [& |0 y0 Z2 [* d
, @7 i% I, H' z. w$ I) H5 F, y电路很简单,功能如下:; Y. P8 c Q" t3 H1 E6 M8 }
1、一个AT89S52单片机作为核心;
; R# h8 L( \; r# P( R2、一个TL1838为红外接收头直接串行输出数据信号;
# y6 _* R* q! }" y- c4 B0 c6 ?) ?( C3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;2 u& d$ V8 i" `! h: X
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
3 C# m1 w$ q# B2 N" k6 H! {
, D# o7 k6 \1 t2 N9 J, m" i! ~关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。% e% ?: z/ D0 Y2 C' L
$ t" S+ R; k: u* e& B3 i. k; a
/ }" @8 P) K7 l5 G7 r0 o/ V
五、控制软件# j. X1 S' E: Z* l$ C4 k3 ^+ ~! x
控制软件用汇编语言写,源程序如下:# W' q" b( q7 L9 P3 C
ORG 00H
& j3 o5 d3 [, ^2 a0 w p1 [ LJMP MAIN; B$ F/ v; f, [4 j' f$ x( b9 ]
ORG 30H
: O- J% n1 v) W4 P1 s8 |. b% u' [- RMAIN:, \( L/ k! G; k. |% q5 b* |& E6 P
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)7 ]6 I$ x: T4 a
MOV TMOD,#22H ;22H
& n) r- \7 V# h MOV SCON,#40H ;40H; k w6 z3 p; ]7 E* e9 w
MOV TH1,#0FAH ;F3H1 \% O; U& ?4 O& Q }
MOV PCON,#80H b# h c9 Y2 _3 W" L9 |7 ~# g
SETB TR14 u& B6 b' }1 R$ {+ L
START:
) k7 u* ?3 L5 ~+ @ JB P3.7,$ ;遥控信号处理' p$ ?( a6 t4 `7 e2 {% f) c
SB:) ^) b: S" V. q4 \
MOV R4,#8
o" g6 w3 H- Z5 `- b1 Y% WSBA:! m7 T$ Z# D! L' N G
MOV R5,#2501 t/ z. h; T, c* |9 \
SBB:
4 [% U9 k$ @) q( w- L* \8 z" I$ r8 r1 E JB P3.7,SXB1/ G1 {2 X( O+ ?+ U
DJNZ R5,SBB4 x% m. u' A" E/ ]& z9 J: k4 Q
DJNZ R4,SBA A, ]' z( m1 Q/ d1 N' ~
MOV R4,#28 s/ k8 Q* L- s( p' \; U( ]' ~
JMP SBC
, q4 D z. e1 w" l/ f' p' ZSXB1:7 S5 ^: }1 Y( j% F! z' I* d
MOV R5,#5# w) P& d0 ?' M. |1 R# S
SXB2:
& S- y' U$ P5 j4 y7 E! a JNB P3.7,SBB! I. x) t* {3 p8 i4 w6 l% s, O
DJNZ R5,SXB2
+ {1 f: ?: G6 }$ x6 j( v JMP START
/ i+ C& i! d5 @ h+ pSBC:
9 j) y3 I8 R1 L- Q* Q* ? MOV R5,#250" I3 Q- u: O* s# Z8 D/ u) v
SB1:
% A- c$ k! _% L% M! c JB P3.7,SB2
8 h* a4 j1 D1 f e2 K& _" v9 L DJNZ R5,SB1
9 |5 l* z& ?. N4 d DJNZ R4,SBC I h% c& L& r( p
JMP START$ H3 D4 p0 v9 x* S2 B- V
SB2:
# T! a. A; V& h: n MOV R5,#5# \5 q# P) C9 [' n7 J2 X
SB2_A:: I6 E$ N% G8 @$ g3 [6 u3 t/ I& E
JNB P3.7,SB1
" j7 W6 F. ?: V6 Q$ A DJNZ R5,SB2_A
8 y$ w. p8 _0 P: I/ U: w& E: | MOV R4,#3( M9 q* P0 E# q) I r% g8 @
SB2_1:* z, m i, B( V
MOV R5,#2502 r$ z7 \0 {" ]! a* B y
SB3:
5 E" `7 e2 ]1 |1 x2 B; H4 F5 O JNB P3.7,SXC
: [. `! y: e& o2 v$ x) }' w DJNZ R5,SB3) j) P# H4 I% E
DJNZ R4,SB2_13 i% l) l8 Q/ P8 ~2 X
MOV R4,#2) Y1 p& s' t. k! w$ ?, i
JMP SB3_16 M4 q9 s r3 D' d( g
SXC:
# _4 h1 b1 _/ ]; N8 W MOV R5,#5
# @, s( F: I$ fSXC1:- M4 Q3 P, C; S% m6 J4 s( K
JB P3.7,SB3, \2 |; c5 D& F! @' ]
DJNZ R5,SXC1" R# o& x. F( d
JMP START
; r2 m! \2 l1 w7 ^8 z! pSB3_1: 1 E- K0 c7 | B6 }
MOV R5,#250* H ?2 }1 o1 m1 x R) b
SB3_2:5 b" e' P5 ^+ F2 I( i
JNB P3.7,SB4; _; | Z R1 S$ Q* n9 _" D d
DJNZ R5,SB3_2
; _0 B) v" `% I0 P DJNZ R4,SB3_1: S9 F5 I7 s/ y$ ~
JMP START4 V, H( [; G! E3 Z. S
SB4:
. Z) w1 P1 V+ ] MOV R5,#5+ E: S, l/ i6 s. l! L' Z
SB4_1:' e6 ?/ u! @; y- n0 E+ @( i) j2 J3 G
JB P3.7,SB3_2( ~1 _* A4 |: A: U
DJNZ R5,SB4_1
5 B% h( s8 R- L; t MOV R1,#1AH 2 c5 S6 P7 Q: s' B$ h
MOV R2,#4
/ d# l+ p3 f, W' k* ?PP: MOV R3,#8: z8 t- \' z* K$ c$ w2 x' v& Y
JJJJ:
' W: p7 [% @- R. t6 e& D% a- e MOV R5,#250
2 m) x4 M5 B5 E- tJJJJ2:
( X, ?5 `' C( w8 j, s" g5 Z JB P3.7,JJJJ39 x2 X/ K7 o& B
DJNZ R5,JJJJ2; a4 S2 B3 O0 R* c, U& U
JMP START" d7 |6 N- \; X/ n; N
JJJJ3:
, x, t, n3 q B: Q LCALL YS1 0 k3 O9 H3 J/ [, k" Z
MOV C,P3.7 ) T: ?% q }3 V$ N
JNC UUU
3 X! }7 ?6 t( r& k7 L, U MOV R5,#2504 @- K) @; [; ?- V
JJJJ4:6 P/ ?( K' O9 d2 x% E) y# l/ M
JNB P3.7,UUU1 r3 w7 e/ ~! X( _/ }
NOP) N3 i: E. G9 q: [' s
DJNZ R5,JJJJ4, h& o7 S) u- A
JMP START
4 i( x4 U4 S6 x& q8 c7 M2 B( i8 }UUU: MOV A,@R1 , R8 q! {, t1 g0 l2 G# _7 l3 L F
RRC A : e+ V" l2 ?& i/ h
MOV @R1,A & l5 m: \* i A1 y# y/ x1 B
DJNZ R3,JJJJ 6 C. e+ Y& c: I) x7 B1 h; [
INC R1 - N- A# `0 f, I V
DJNZ R2,PP
6 ]/ d3 S- ^- C0 S3 G4 [! E1 I Z- M% i
MOV A,1AH
! v. B! n" r! o+ w XRL A,#11101110B% o0 R4 z+ k+ ^4 C* q# q
JNZ EXIT
" d- @3 k' H+ Y& n! D MOV A,1BH
* z- |+ L$ C7 z3 C XRL A,#10000111B; V0 l: F5 ]9 p1 Y/ m: T6 s3 \
JNZ EXIT . B1 G% D3 q1 ]1 f
LCALL YS3
( w0 e" \0 M+ P MOV A,1DH 4 H. j* S- o, U: o& o( W7 n/ C# {% `
CJNE A,#10111100B,EXIT' R6 A. m0 |1 U3 g, _$ G4 }- V0 k# u
LCALL YS3
/ b9 ]) E; v* G+ R CLR P2.6 $ ]3 G5 \9 p7 h: R; }
AJMP BIJIAO
8 V/ h& B* j/ e+ f' {- a9 e
- y- ~4 ~, G2 J8 }AA:
* t) E5 T B8 i7 [ _( H2 Q) ]$ y MOV R1,#25
0 k2 G- a: B D9 x. y9 I1 V* _XX: . Q' y7 H: F& s- }- z6 L. R
ACALL YS2
6 i5 D* }: _7 I' {7 U& T2 O& ^5 Y JNB P3.7,HH ' K$ a' q0 a! a9 o$ j/ P' e1 }
DJNZ R1,XX- X, v4 B# m; h; ^8 g7 n# l/ [- h
EXIT:
% _9 m l4 s0 @; j& V/ R g. z) L AJMP START) Q) U7 g! b7 V. |5 x
! G% ~, S8 d7 L/ l
HH:
% N( m% _! ]9 H; b; i MOV R6,#4: J6 q3 }* `. ]2 p4 ^
S: . e" A; l/ v9 _! W/ A) N! p& F
ACALL YS1 + w7 T0 l2 E( H0 R( Y
JB P3.7,EXIT
" B0 A& t5 i/ d/ v; u- P DJNZ R6, S 0 h- s& V, H$ C, q! a; H) b& c4 L
JNB P3.7, $
; l0 d- l8 }, x, ?9 K2 s& _ LCALL YS3
/ Z/ V9 d! H0 k4 n$ D+ |: l AJMP AA/ r, L* L# F5 K9 o1 N' l( t
BIJIAO: o5 q% [) d# {8 ]% g6 x
MOV A,1CH
9 X) z* ~: z. E3 K/ ]7 [- y1 \/ z CJNE A,#03H,N1 . X" F6 b/ `* ]8 F0 P& B
MOV P0,#7EH 2 b! m |5 K" ~. A
8 n _+ I/ x4 k' l$ I: O ;处理STUDERV录音机控制码
6 p, y! m- M7 R% q$ `, r8 V6 L; ~N1:
( I# @" O. B. [6 d- X7 Y9 ` CJNE A,#5FH,N2 ;播放键
, N- y' B" l) s8 a# e7 D% S( i MOV DPTR,#REP/ R5 N* z3 }; R. v, ~* R& a- [
ACALL SENDA
4 l2 r" t8 ?* \( W* X& ^ ACALL YS4
. W* ~$ ^/ C4 t3 @% D4 @. k MOV DPTR,#PLY
: S' Z1 i0 I4 D8 J7 ^6 ^' t* G ACALL SENDA
, c# G8 L4 v% tN2:
$ @5 |' @7 ?4 y6 I9 j CJNE A,#5CH,N3 ;停止键1 U3 I# g6 Y- h9 t
MOV DPTR,#STP
?5 o- M1 z; D ACALL SENDA$ D$ ~9 v3 v5 u+ ^2 g
N3:' | u& w3 F8 K ?/ j9 h7 U" @
CJNE A,#06H,N4 ;快进键4 M0 B3 v: M3 a) i+ f7 A. _
MOV DPTR,#FWD
* W# R/ H: n+ D4 f8 S ACALL SENDA
: ~$ M9 W9 w% a4 S' ]% ^' e7 RN4:: P6 j! t9 P! D, Y6 X1 a0 z5 Z6 K
CJNE A,#09H,N5 ;快倒键, s; d+ c0 U$ v U( L( i: e
MOV DPTR,#RWD
% R/ P- [$ x1 {7 a+ N ACALL SENDA
# L _8 d9 q7 I. O% ~" {8 yN5:
# e6 {" B$ J- X) z$ x a CJNE A,#0AH,N6 ;置零键0 I7 E, O. s9 W, C, D* r+ e( j
MOV DPTR,#RTM' \, S7 @9 l" P: O. X- P t0 p
ACALL SENDA6 y7 v; K3 J7 G
N6:9 v% w- a( R/ K& n& I2 }1 h
CJNE A,#0CH,N7 ;定位到零键
' \8 Z t/ y( r7 t: j: H* k MOV DPTR,#LZA
! `' b' L$ @( T ACALL SENDA; ~# f& f( C9 s* j- ]& m/ R% h
N7:2 B6 {8 b0 l" a
AJMP AA! f6 F( g/ Z$ c' Z; G! H
SENDA:
- h8 [1 Z* L9 I+ V CLR A
: y5 O, @) w. Y3 F, }" L5 e MOVC A,@A+DPTR2 Q) c7 p5 O5 L/ d
CJNE A,#'$',SENDB# l x" `! S' R3 o# v' Q
AJMP SENDC) a3 Q! Y# b% t; {1 l8 Z
SENDB:
; \( I( S; e5 _* R+ a5 M* M' U) l MOV SBUF,A3 T( @5 u# u; {& b: D* S N1 F8 f+ d
JNB TI,$
; ^1 I6 K8 ^' I, O! u$ o" k CLR TI4 q. g1 D7 r; S7 l
INC DPTR
- g! b! J) ]' k) Y1 H0 ^ AJMP SENDA: v6 J3 V1 y/ T+ E: s
SENDC:
* v4 n6 S' ]* f& N3 X; t1 B; ~ RET
) G9 Y8 z0 b1 `9 v. \9 T: {( {$ z! K7 d: Y
PLY: db "PLY ",0dh,0ah,'$') n- M" b+ H4 O6 K4 ~. p2 z
STP: db "STP ",0dh,0ah,'$'
- i. g+ |5 Z! @FWD: db "FWD ",0dh,0ah,'$'
5 n3 g9 D! O* V: P% YRWD: db "RWD ",0dh,0ah,'$'
) {4 i1 Z" k/ s' G9 p. N3 [RTM: db "RTM ",0dh,0ah,'$'
* C& `9 f/ p; [5 r5 U2 D+ rLZA: db "LZA ",0dh,0ah,'$'
. R, D: H N+ i5 O; j2 DREP: db "REP F ",0dh,0ah,'$'7 B8 E" I$ v# j8 Y9 H+ A; r% Z
9 b8 k$ d9 a# |( J* V
YS1:/ T+ j# j5 L8 _, F: e! B
MOV R4,#20
( ]1 S& S: B: R$ \D1:
" F# J- F8 F% g2 S! N MOV R5,#202 [& ^1 J' t& t* M, D# r( q; [7 ]
DJNZ R5,$
7 j) J& H( U- v DJNZ R4,D1 T. r( |' h$ V w
RET7 K2 l$ c" T4 t. F6 L* @; j( z
& p, f3 M- }4 L$ M% v( H1 B! [
YS2:& Y! `% A" P0 P1 ^
MOV R4,#10
: T W; A! a) ^; N" Z. YD2:. S% ?, G4 I- C7 {- p- y h7 h
MOV R5,#235
& E. G' E2 y- A DJNZ R5,$, E% {0 J+ p. j! \5 _9 n
DJNZ R4,D2
9 L% d& S# O+ T q RET! E) D! O- s* I# z6 C: R1 G0 S- M
8 U' F, i2 t7 I3 W8 v/ n5 s1 _
YS3:
- x. r- j/ [9 f- D0 m( o: d MOV R4,#2
+ y: _0 P& v# J/ w8 lD3:
# B4 D. s6 w7 z$ C# { MOV R5,#248
* {$ |% O8 O) C& e. u; l DJNZ R5,$, K. T1 ^& \: `6 l5 H8 A6 h
DJNZ R4,D3
: D2 l5 i b+ \- c6 g RET5 H4 E; |% Y; T4 c$ A
- p% [2 D/ v, |) gYS4:
( y- ?, ^# j+ n MOV R4,#200
5 F/ W6 E7 E& f% c+ Z! PD4:
5 @& x5 d% k+ a$ p# C6 z MOV R5,#248
! K! i$ L8 g' `9 y, l DJNZ R5,$
F: o8 O4 o, h DJNZ R4,D37 T: ?6 o+ _& [* G! X4 t. v6 ~/ f: g
RET! q( D% W! y( \" e
END
: t' e9 \/ U. ?6 P
8 I( M" g7 q7 o; G. V有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
/ X4 {8 w) A1 c- F$ j5 n* W是不是很惬意,嗯!
4 N6 R, W$ G8 V p, }- p0 \1 E |