赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
# N5 @" m! s( E6 H' c( H
$ r% X+ A! ~- z, b; G% R本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
7 A0 j: e8 U) S7 P
y' e+ ~& Z, u4 @说明:
5 \7 w; Y9 u" \9 E2 z$ [0 y1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;3 j1 G; f* v$ D2 u
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
; `9 B) X8 {: u2 [
. N, w* m d0 b. k4 I5 t一、基本思路
- i4 x9 h7 W2 \9 o1 G使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。7 P# F) Y, ^2 W9 ~& u/ X
$ S5 t6 h1 A+ P1 O, M* D
二、红外遥控器$ |1 v1 a$ X: a6 I
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
6 K& E q: R) q! d- O
" g& V8 ]' T7 y2 U, G好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。+ i B/ W6 s! Q# B6 V+ ]& P" m
0 i8 x# e% l7 Y7 r1 E3 Q8 E
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:# m3 l# w) T! R! l; y- c2 X. h1 _
2 ?' C8 \, D3 K2 \. K* q: x/ ]2 E- L
# k' ]7 x/ o# h3 }& B9 n% u1 J三、红外编码6 V% a+ c& c8 [; a, z
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( z5 I" u! F4 u3 g$ ~! ~: S
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
6 _7 C3 g' `# l1 I9 |! F后16位为控制码,主要用于实施具体的控制。
- {$ _1 f% b% t! v/ g! I6 K这16位中高8位和低8位互为反码,以提高可靠度。: W2 g8 \. C+ _( c, Q+ D- L k/ Q
' E. W7 L9 N) z以播放为例,其编码如下:
" D( G- f3 K5 E3 z9 z: i00000000 00000000 01011100 000000004 j$ ]7 M- S, w2 r. r4 V
! O- S6 E- g1 Y. i0 p- Q2 g5 C你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。5 e! i. Z$ s& [7 Z! {6 [
9 g" S# A; ~+ }7 o) n
四、单片机系统) ~& |8 d" Y( Y# G% M7 X4 R& [/ w
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。" t: Q+ i: E, V# Q3 z6 {* N
4 R6 I% e, l0 Y/ Y" V/ K" n
0 t/ t1 F* z( g& l电路很简单,功能如下:; I0 `! k% a" ~% m! V3 d
1、一个AT89S52单片机作为核心;
0 b3 {3 r' w1 Z. _! k2、一个TL1838为红外接收头直接串行输出数据信号;
, q( D& F; p3 {9 o3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
" S; J; S1 Q. D) Q) J. b4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
$ Y( U9 h3 k0 z6 U
9 C( `. D* l9 Q) g% X/ p" p$ Q. e关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。7 Y2 t( ]! G/ L* l( h9 \
% v, ?# P3 z( o0 B
( N% J1 X% {; v3 }: n( G
五、控制软件, [7 \* K* X7 I
控制软件用汇编语言写,源程序如下:
! K( T1 t Q* n/ ~* A) e" S/ | ORG 00H
, ]" N) g ]7 D/ T }6 p! m LJMP MAIN
0 k" C/ ]3 j+ ^, x: g9 z R( H ORG 30H
+ e+ }. x9 a9 N9 lMAIN:( w/ T4 [. w* q
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
5 M8 m" v) R; G. Q% n' y MOV TMOD,#22H ;22H
- M% k8 P5 M# Q6 d# ` MOV SCON,#40H ;40H( n, D( _8 n" t ~/ r
MOV TH1,#0FAH ;F3H
3 x+ G2 e a3 k" ]! g MOV PCON,#80H
' O& u2 b% F0 R4 w+ a$ u* c SETB TR1
5 v4 @+ W1 }8 {% R% h. JSTART:( Y& c1 `% j9 O% i" ~' {1 P- J
JB P3.7,$ ;遥控信号处理
1 [3 \3 `6 T& r6 s; TSB:
! N! C4 q! h6 w O MOV R4,#8 ; S) D( o0 g! u& H
SBA:
0 m8 g+ j; [- h q- H/ [" | MOV R5,#250- A( ?/ \: ]- }0 n/ g8 P( E
SBB:
- V" p s& z2 M1 S$ t5 I# H8 U JB P3.7,SXB1
' Z. q, Z' X5 {- ?9 @) b DJNZ R5,SBB
# L3 E# |9 Z! M; C% h, ] DJNZ R4,SBA0 w2 c- d+ f# u: R( O9 r
MOV R4,#2
9 @$ l% K9 S/ Y: N JMP SBC
3 K4 w y0 k$ y$ U6 |9 oSXB1:
! ~- Q5 O: P/ N MOV R5,#5& G: R% s# ], I2 P! w0 Q& h* `
SXB2:
, i8 b q9 ?* B3 B+ K' j+ f2 U: A JNB P3.7,SBB
, y& N; P$ Q' [; s0 O6 ~ DJNZ R5,SXB2
: ^. N* w) L8 q JMP START
, t2 A( |3 N9 {# j+ ]8 l4 g/ ySBC:" b x% z7 u) C1 b5 G* y
MOV R5,#250
- P- n: h) T: j' ]! `SB1:
- D( E1 q7 j$ f( {: `/ O. e, ^: S JB P3.7,SB2
$ f' E6 a, u J5 p+ ~/ y DJNZ R5,SB1
( Q1 A* J/ w) {8 C; m5 R8 d DJNZ R4,SBC+ ^& o" I h; {9 |! H1 x8 ~5 [
JMP START
W# T/ ?$ L0 S( h& D6 s) NSB2: . K# U' ]- p3 p' t6 t
MOV R5,#5 | B A0 K/ \4 c
SB2_A:7 W! J5 l. j- F$ _7 K8 T
JNB P3.7,SB13 R! K8 V/ m+ \
DJNZ R5,SB2_A) h7 g6 I9 x5 H1 q# U! |0 l
MOV R4,#3
! E6 O. W& R5 p) [& pSB2_1:2 l7 K! }- K+ H7 o9 f j
MOV R5,#250( n( K- c. J% P
SB3:
- c/ d5 E! \0 n JNB P3.7,SXC8 D3 Y( e/ a L$ j' v& {
DJNZ R5,SB3& o s. W' J9 S: y; U3 ^% E
DJNZ R4,SB2_1
9 `& g) h; T% X) d3 ~ MOV R4,#2$ H/ U. P9 g0 S
JMP SB3_1% Z p2 }, Q$ F2 u$ v
SXC: 4 d( y1 f, i0 u9 A% w
MOV R5,#50 R$ W- m% r+ H P
SXC1:
1 `+ g6 O Q. ~: d& {, N5 x- i5 Q JB P3.7,SB3
2 W' B6 @+ ~1 Y DJNZ R5,SXC1
$ Y1 e1 M1 l, G6 X# q4 l- D JMP START2 N# {; q; N. V1 `2 B
SB3_1: & V* K5 M1 L# ^8 e
MOV R5,#250# g0 d' A/ G5 A6 O
SB3_2:
2 B. o2 V, `. O. P% W4 _, R3 X" i" K JNB P3.7,SB4$ i+ h# e* o! ~( X5 r
DJNZ R5,SB3_2
0 g4 B9 V5 T5 L% m4 e9 W$ _* Y DJNZ R4,SB3_1
% M4 `2 I1 H( I3 ]# F" J8 r+ W JMP START0 H* u, k" p9 S% s$ m1 x; ?# |
SB4:
, P6 n+ [, a. ~+ \1 P$ ] MOV R5,#5
% P, F! g0 d0 C. G* A8 |" iSB4_1:
0 t3 Z5 X* b# d" @+ Q8 h; j* d JB P3.7,SB3_2
$ G; [+ s* F! |, s+ k3 n* V DJNZ R5,SB4_1
- y* D* g" H0 y MOV R1,#1AH ( Q4 }4 i3 d; ]2 h$ t
MOV R2,#4
) b! D6 b/ Y8 Q1 g* CPP: MOV R3,#8* a$ K8 i# c) ^$ N
JJJJ: j) E1 i. |' S* G6 ]
MOV R5,#250* j |3 P! o" N% S) \, j, q
JJJJ2:
, c5 C U1 w/ D JB P3.7,JJJJ3
% N9 v& {8 H. i6 t8 b DJNZ R5,JJJJ2$ N E; u: Y; r+ n. Y2 ~8 C! t
JMP START
. I( b! H- V7 g" F8 A( f7 P6 [JJJJ3:
* `2 A1 `5 @, F8 o3 p LCALL YS1 + U! @8 P* f2 s4 p
MOV C,P3.7
1 d: U( ]( [' [. w3 m7 _ JNC UUU
! d9 J! G m0 r6 T MOV R5,#250
" L; N, v B! I9 K4 @( i& U. l f3 f$ hJJJJ4:6 ]- }5 H# M! ?3 Y+ q5 j; b
JNB P3.7,UUU s9 T5 `: c$ N
NOP% o% p( v; H) r. B
DJNZ R5,JJJJ4! ^% d# N9 z S( M8 x D8 A# S
JMP START8 D( ~: D7 b4 C* Z4 \% L J" Q
UUU: MOV A,@R1 4 Z6 i* J# r4 E# F/ x# {0 t
RRC A / G% ?* o1 I8 h6 w
MOV @R1,A
7 X4 j& ^( U+ W+ k1 m |8 E DJNZ R3,JJJJ
3 `' j3 _0 {0 ~) Y4 q; c) u6 z INC R1
5 C U! X& Q5 s- z9 B4 r DJNZ R2,PP
& R* P! c! f3 c& }6 \
8 B& O1 m( X8 y# ]$ B MOV A,1AH % F! |5 Z( W! p S& I
XRL A,#11101110B
7 u9 ~! W+ C' `* z JNZ EXIT 2 U) s: o0 Z& w. s( s$ _$ z) i
MOV A,1BH / ^3 ~1 ~0 N+ e
XRL A,#10000111B. L" H/ O0 R) b" g, p3 q# K
JNZ EXIT
+ M* S2 a3 I3 e2 P9 @ LCALL YS35 Z/ S/ `8 L+ v( ~4 a
MOV A,1DH ; d: g- t$ v2 Z+ I
CJNE A,#10111100B,EXIT
& j& h7 t3 p+ A6 H1 J7 Z LCALL YS34 }% ?: ]% Q( c4 `+ W5 |9 Y
CLR P2.6 5 G) b7 o, a' {" h
AJMP BIJIAO
; U3 _: O' M5 g0 }) [, K1 X
8 ?* X3 I, E$ P% cAA: ! C( P; o6 B4 m
MOV R1,#258 C, Z6 [1 |5 y) U" b& m# p2 I
XX: 4 L' Y) U$ f6 ?* g1 Y
ACALL YS2# \% C' n0 }' y4 M1 D( x4 k
JNB P3.7,HH . k0 k) k. `9 O1 F
DJNZ R1,XX2 D! T" B' Z Q: F) M- y- X
EXIT:
/ G1 l" K7 A# ^. r$ |' R: [0 i AJMP START
- p# M, V" t+ ^3 r" N) w / t8 J) x, O. }
HH:; K( Y8 c c. P6 J. h' j/ ^
MOV R6,#44 O/ _$ G8 ^+ |7 R- j( D, ?& R! z8 ~& g$ N
S: + ~' M& {9 }3 c; N) G
ACALL YS1
" f: m: }. C) A JB P3.7,EXIT
+ `0 R4 L! }. m1 \4 h% R) x DJNZ R6, S 5 v; u; Q+ w t4 }5 Y+ U4 T" }! z
JNB P3.7, $ 0 n/ j2 a% i0 T3 W! X3 E( }
LCALL YS3
: z# h1 i0 ?' g( ]* M; @1 S; ` AJMP AA
* w4 X3 g) y1 R% ^2 e# iBIJIAO:
& d+ Z1 P; p- U5 ]) b4 m* W/ g MOV A,1CH " @) |6 K8 ]5 k/ o
CJNE A,#03H,N1 # o: `' j3 n- q, N7 B- c, f3 R
MOV P0,#7EH ( h& k1 u4 O, {3 V+ m% a% P ?
% ]/ u. M' q! ] v1 @2 R
;处理STUDERV录音机控制码
( |3 A3 y* f1 T X9 rN1: 3 ^0 T8 R* [) C
CJNE A,#5FH,N2 ;播放键" Z; r8 G+ L9 o( ?; w: c+ D! W2 R
MOV DPTR,#REP' v0 L2 I' k1 B! @& d p, i% C
ACALL SENDA
~. h- a- Y* n7 k4 d ACALL YS4: I+ r% y# \4 r; E* f
MOV DPTR,#PLY$ ?3 P& U) J- j' e% `
ACALL SENDA
+ P2 f+ O7 w& lN2:
' h T' m" Y4 Z CJNE A,#5CH,N3 ;停止键8 x. _) a( l* @0 {* j
MOV DPTR,#STP
; V& a& K, \; \$ Y9 q3 i ACALL SENDA
_9 g0 O- O6 Z! h4 vN3:0 ?0 i1 B. |+ s( w
CJNE A,#06H,N4 ;快进键
, K, \3 J p, D; M MOV DPTR,#FWD% i0 s4 J& v" \; V$ Z& q7 \7 @
ACALL SENDA4 g; @; ]; A/ { k9 M5 J
N4:! j* s2 i" A# f3 G2 j4 s( E
CJNE A,#09H,N5 ;快倒键1 K, M. U O0 E& x
MOV DPTR,#RWD7 g2 }4 ?* F; A9 f+ E, X! `
ACALL SENDA; s6 D' W6 {6 x4 q' Y
N5:
, N% b o! o9 F" \ CJNE A,#0AH,N6 ;置零键9 o, G: E7 {' [
MOV DPTR,#RTM! h. n% f) I+ ^$ a1 i) z; Y4 ^% S0 {
ACALL SENDA& h( n S. t! c# E3 c5 Z# C
N6:
+ N6 v' G8 P5 k* k) c2 D& H" { CJNE A,#0CH,N7 ;定位到零键& w; Q, n/ i& V* g6 e" m
MOV DPTR,#LZA
4 {' N a! G2 X7 J$ m5 f4 n ACALL SENDA4 ?* i6 w5 w0 w% T: t5 `9 t, Z
N7:
, G6 Y( ]1 x1 H, G AJMP AA
3 M: k* F7 a2 A4 g- @SENDA:
5 a' O& u: \1 R- q$ ~3 V0 ~, A CLR A
& X/ H, @' {# ^/ f' @3 h MOVC A,@A+DPTR
, f# ]" r! o/ j8 L9 Z CJNE A,#'$',SENDB
; d' n: F j3 R AJMP SENDC& {& I/ P; P/ ]3 ]' x
SENDB:7 n( }7 l6 _ ~% h$ M
MOV SBUF,A# H9 F+ B. }5 M" ?- N# y S$ R
JNB TI,$
7 u9 U& D$ v. A* u CLR TI
8 j3 r, N5 ]! _. { INC DPTR! K( x* z& N( k" {. x- W7 ?
AJMP SENDA
" t5 Y& H# n a1 |$ m3 CSENDC:
- w' R2 R y/ Y D% P/ e- I2 d RET/ ?. d: h$ J8 o& n4 v( H0 ]6 g
9 t: g: s2 |" L3 w8 I5 I8 ]& Z
PLY: db "PLY ",0dh,0ah,'$'
8 v! u6 T, [# pSTP: db "STP ",0dh,0ah,'$'5 u1 g7 E+ u* S4 l' L
FWD: db "FWD ",0dh,0ah,'$'
3 q: M- J. i- ^# g) t6 y' URWD: db "RWD ",0dh,0ah,'$'% x: X2 v1 Q9 `$ R' H& _- L
RTM: db "RTM ",0dh,0ah,'$'
! h" j. y$ r3 z3 ~7 P0 BLZA: db "LZA ",0dh,0ah,'$'
/ Q4 r+ g- n$ }. d/ x# w+ ^: yREP: db "REP F ",0dh,0ah,'$'; k( |; J* B% G0 P! G, K1 E
0 L! @, b [- k0 Q; P
YS1:
4 _! I: ?" I# w0 t/ d7 P MOV R4,#20
s6 \3 G" b0 o& @% ~D1:, W# @% | V( C1 i- d0 i
MOV R5,#20
7 u3 `, C3 q: w DJNZ R5,$
. w+ K3 I% c$ q+ b7 k+ `/ `5 l DJNZ R4,D1; I* _" W5 l' t4 y1 Z/ F! b
RET
7 Z( I3 Y; t4 y* A) g1 h2 i V5 [2 T: {. _$ B X& E) u
YS2:+ i4 O" I( m5 a; L8 c
MOV R4,#10! C9 ~+ x+ G+ C9 q" K* i! c/ c
D2:
) r8 E! C4 u+ X' D# I* z1 G MOV R5,#2354 ?( L1 d; U3 Z u2 S7 o( C) R/ R
DJNZ R5,$
$ y; c G* [$ k DJNZ R4,D2 e8 r+ n! o3 g3 h9 K1 s
RET1 I6 |! t9 C' D7 Q. f, c) F$ P
. U, \- w% u Q5 kYS3:
4 \: F5 H) ?* W7 v5 n( g. B" Y MOV R4,#2+ q; b# _2 U. x) Q1 F/ i
D3:
8 T4 u2 x" @' F MOV R5,#248
3 i n' Q1 Z/ o1 J DJNZ R5,$
# H* J. p$ U3 Q+ A DJNZ R4,D35 v" R/ ]( e2 ?
RET
; }1 M5 Z" U; { O- ]9 k4 K' y" R+ o
YS4:0 H% p+ s/ ]& g9 p9 b3 C9 x
MOV R4,#200
! {/ e7 X6 V. N UD4:
. ?" p4 W. i7 @! N MOV R5,#248
* K" X& w4 }( o2 w DJNZ R5,$ ?7 f0 @, r2 P& {* ~6 t: @- V
DJNZ R4,D3
( K2 j9 k8 K" t) \0 y4 i RET9 I9 [5 f% t5 Z$ _0 Z) {/ U4 Q& N
END
2 Y2 S: n7 }+ ?5 E4 a1 f& O6 D" O0 ~% o' v* X! A' t
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
7 l: A S: Z( T( o- t B是不是很惬意,嗯!7 M$ M$ ?, Z7 h" R2 B
|