|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
( w: i8 @2 O1 N. ~) ]
a5 d& k) M z( l. w) R; C0 z本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。7 P+ t7 `$ A! H- G
0 S4 W" Q* u7 t说明:. ~9 s2 q, B4 N' F
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
1 ~3 o( \# p3 |* ~. }8 j2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;9 M# I+ l$ [# {* D! P# {2 ^: ?
' ^% H+ `/ u/ w" F% \& Y1 K! J2 }一、基本思路( |2 p9 `. `1 t
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
1 ~0 x, Q5 ^: Y( q: }8 j. c2 [7 R" J, h/ x( n
二、红外遥控器0 ^) i+ o9 C$ Z) m1 T4 q
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。! w3 \6 K* c3 y! V
% q3 @7 Y/ B" ?好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
, O* w( y. p8 h/ m6 Z* U
3 ?0 a f* U/ D# D% H, e% k5 R在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:/ ?3 p0 r/ e$ V& n
; s+ B. p; p0 n$ b/ t6 }) P2 B" N6 ?+ u
三、红外编码" U3 E3 T+ e7 w, G, h2 V" L/ q: |
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。8 w" H# z3 o0 W( R
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。. N0 y* l+ H0 M6 `
后16位为控制码,主要用于实施具体的控制。" ` ~; K# @* M8 H
这16位中高8位和低8位互为反码,以提高可靠度。
% i: [7 a6 s0 L y3 ]
7 S! I+ B, ?' e+ s$ L" w* V以播放为例,其编码如下:" `; l9 Y% }% s4 H' \$ q G
00000000 00000000 01011100 00000000
% \& i# d1 l; {7 _, W2 Z: _6 p& j5 e" y5 J
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
& D) i) O: S6 N9 c3 m1 M6 r( N3 ]! {4 v4 e* H
四、单片机系统
% U4 A; w& x) N这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。$ r7 B/ {$ F, j0 r" w
7 x* z( K, C6 g+ I
; H) ?( Y! C0 [- s4 |2 M k. I; L. I6 v电路很简单,功能如下:4 `- x9 A4 W8 a% T
1、一个AT89S52单片机作为核心;
% v {2 m& z/ S0 q& T' L T3 ?' A9 }2、一个TL1838为红外接收头直接串行输出数据信号;" c" s5 ^* e. V
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;# d6 ?6 k4 P$ }
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。 s, w6 f- J& E3 S5 U% V- I
- y8 p" j9 p; f6 i
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
9 D" `% n4 r* m* E7 { K6 F2 }* I" h% L3 Y* E- h8 L
# E8 O( w( o! z% _五、控制软件. ]" P7 p9 @& T4 I( K+ p. a
控制软件用汇编语言写,源程序如下:/ N* q6 s2 X& q3 L# k- b
ORG 00H
; X3 V" b4 r3 c. I LJMP MAIN
W! T: B5 ^5 j7 Z$ Y W8 R/ V ORG 30H
1 A" d' n2 S" {0 a2 lMAIN:
( Q6 K- e) j+ |6 U8 o" g MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体) |( H3 d+ k2 e2 m! @# Q+ m
MOV TMOD,#22H ;22H# {7 A) R; |: }$ P, D0 Z7 N4 _; e! ]# `
MOV SCON,#40H ;40H
- `6 V( X1 G$ }2 w$ ]1 ]8 Q- M MOV TH1,#0FAH ;F3H
0 e( L% `' p1 L0 \$ N: Q MOV PCON,#80H g+ w2 A0 W; ]" G
SETB TR1- M# c" i. d" ?1 e. R# Q0 R$ p
START:, U* _+ \" [0 y1 }$ H/ b
JB P3.7,$ ;遥控信号处理5 q' ?+ b6 h; X
SB:* q9 ]* Z' L( ]& x+ I
MOV R4,#8
3 W+ V7 [0 F( L6 wSBA:# M/ u3 k6 z6 W# J
MOV R5,#250, U& i4 |0 I/ p5 s( v( N
SBB:' f( Z- m; w5 F: r
JB P3.7,SXB14 q- h% q' c% B" |) U
DJNZ R5,SBB y# U9 B& \0 R$ F8 F6 E6 i
DJNZ R4,SBA6 X( R5 u1 D% i9 T
MOV R4,#2
) P$ |8 V: g1 W0 N+ f: E- x JMP SBC
. g7 O$ k( h8 m$ oSXB1:
9 B+ E' r, b9 E6 [, |) Q& b MOV R5,#5
& u& v3 |% K" i% n) ySXB2:
4 \: `3 d5 a( x: I JNB P3.7,SBB% \. i- e. O& _* ~+ F4 |& {
DJNZ R5,SXB2
6 Q+ Q1 y1 }8 ]0 H- e6 E JMP START
3 n( O! o& Y, y5 [. zSBC:
e* i: R9 c3 H0 \% w MOV R5,#250) p- g, p( P% _4 U m2 w- P: |; E
SB1:
+ @+ [$ c9 M/ D+ o) Z JB P3.7,SB2
% R- k% \$ |; r DJNZ R5,SB1
5 `) f1 O) M( [ DJNZ R4,SBC1 _4 Y; u* R0 W% m6 c9 @) K7 f
JMP START
- P% v5 y; c4 ?SB2: 5 O4 }1 D9 f7 X2 s9 W
MOV R5,#58 }# O( u8 |2 Y
SB2_A:
, {9 e, H: F: B$ o, I; Z5 ? JNB P3.7,SB1
3 S( k5 ]2 h. @5 _ DJNZ R5,SB2_A0 O N9 S) U K9 \9 Q% H* @- v
MOV R4,#3' Q [$ A: \$ y" {5 J
SB2_1:; I1 U; t& e" B7 B+ j* {/ i1 v: x) `! ?
MOV R5,#2504 M% ?5 ], O z3 F: b$ u4 Z
SB3:
( W9 U G) Q3 b2 A4 K% _3 e JNB P3.7,SXC
2 D/ M2 Y6 P+ J: j6 t g1 Z DJNZ R5,SB31 `5 {9 a' _. q2 M; J2 _, Y
DJNZ R4,SB2_1
T1 `& W- ]$ V8 b6 O3 ? MOV R4,#28 C5 G9 F1 I0 m) C' ?
JMP SB3_17 O. j1 J2 l/ R5 ?! a) |
SXC:
5 N+ I2 d) u9 {! [, P3 |) e6 y MOV R5,#5
! F* j+ ^9 L( M9 L6 H0 [7 RSXC1:! o, y$ Y s, s9 ]
JB P3.7,SB3
8 U8 ^0 k4 b/ f1 F DJNZ R5,SXC1# i* J& K- k5 P9 e
JMP START
; J+ i0 I0 U7 u1 R) ]5 ]8 YSB3_1: ; z& d+ `! ^5 n+ }; w2 ]
MOV R5,#250- g% `& i A0 B" @' D
SB3_2:, Y0 O. B5 b5 e4 ~
JNB P3.7,SB4! J7 y6 Q \7 c( ]/ b/ Z
DJNZ R5,SB3_2
) U9 F/ w0 @) }4 D DJNZ R4,SB3_1+ [/ r9 \+ i& m
JMP START( Z* q8 Y9 R7 o. G
SB4:
; [7 [9 i% w' k3 i& y4 X4 b8 |. |% K MOV R5,#5
2 w7 R: C3 A1 Y+ |6 y9 G8 T* [# n3 i, gSB4_1:
% A# J# A& }6 d0 z3 U+ u1 r JB P3.7,SB3_2+ v g- @* c! t4 l
DJNZ R5,SB4_15 e- ~$ ?% t% Y! F' d! e
MOV R1,#1AH
& [$ w1 a5 h* Z; } MOV R2,#4
& V- Y8 g0 E. g% X' Q! q$ t; d& U, e' mPP: MOV R3,#87 Q0 y+ r2 _- P* i$ Y* ]
JJJJ:
+ W6 [5 Z5 ]$ h& z$ d% G MOV R5,#250
( x! d* ~; |$ `# ?JJJJ2:
: ]- K) [$ N/ G1 L" B( F1 ^4 I( Q3 |1 W JB P3.7,JJJJ3- R$ T6 l9 w4 d. Q {
DJNZ R5,JJJJ24 Q! Z/ o0 n) p
JMP START; M' ?4 v7 n; F- l2 L$ l2 Q
JJJJ3:
5 [1 ?) s, A' H LCALL YS1 5 e7 v$ ^1 b* E. K5 L0 k& O2 h; o
MOV C,P3.7 6 N3 h' U: \1 ^( b# q) d
JNC UUU 7 q$ p3 W0 O( _! S9 B _# |, |
MOV R5,#250% p$ [8 z2 S* H' w. o; o! U2 k
JJJJ4:/ h ~! p9 T1 h
JNB P3.7,UUU( n! ~, d% v- _0 X2 }% R3 d
NOP
/ u( x8 @* L3 q* C0 F DJNZ R5,JJJJ47 N; }8 R% i) m) C0 y
JMP START
6 i3 M2 ]2 h7 g) q' H0 o0 n1 sUUU: MOV A,@R1 6 ~) R1 X0 Q3 ? U' _
RRC A
# j0 i2 }( J) Z MOV @R1,A . \1 X9 Z) F/ n: ^* H* G$ p3 N
DJNZ R3,JJJJ
- |; Z2 y1 p' h& P9 v' k% ^; f INC R1 ! \3 b) V) Y+ L3 ]" i; e
DJNZ R2,PP
9 [, |- Z( P: ?) \3 S; a7 X" t& r
' R8 u* G6 i- r MOV A,1AH
0 [5 ~7 s B# B7 Z XRL A,#11101110B! k$ a4 v% o, E# \, G
JNZ EXIT ! H6 {- C- |" G- D
MOV A,1BH 9 ?+ d3 q( o1 P
XRL A,#10000111B# J1 U: L% G( |8 ~6 c' y
JNZ EXIT , S# u* {2 R5 g
LCALL YS33 Q) P! A& J$ V! c/ W; ]+ {' Q
MOV A,1DH
; s B, N& g7 e+ w% P! w CJNE A,#10111100B,EXIT
0 {" x# L1 e5 Z; O" K9 A LCALL YS3
1 \3 @1 G1 Y! f CLR P2.6
0 c/ Y( b% t% L6 V AJMP BIJIAO
: B b1 T7 d. u6 v! x
/ v, K& Q o0 ?& l PAA:
8 v% G5 [1 s% ]2 f x8 Z1 |& E MOV R1,#25, y. y6 W7 Y. g6 C3 P! V
XX: 1 s3 W* y' S7 l* V% z
ACALL YS24 c3 n+ ^7 H8 [3 G2 G: g2 a- r
JNB P3.7,HH
9 J8 T) x" U- k/ \# o ^: O8 Z DJNZ R1,XX; u; i: R/ t* N- b
EXIT: 1 @5 }0 [( N4 Y" T
AJMP START& d; x1 F$ j: M% L3 H
: E. c- H0 W/ R8 P' W$ }8 C [7 UHH:, m0 n7 T1 G& l
MOV R6,#4/ F+ k# A+ |% f) }
S:
; l6 F: R, w3 T1 }5 T. ], D ACALL YS1
! r" |$ }+ Y( O4 C- j: F JB P3.7,EXIT 0 W2 s* N0 n& @. D" e6 X8 ?
DJNZ R6, S
) L3 M- V2 Z( z) ^ JNB P3.7, $ " p, `7 t; m: X. m5 V$ Z% p
LCALL YS3) Z) T6 p" Q/ f" C& g* t$ D y
AJMP AA
7 E( E) M( P' e+ q) gBIJIAO:5 }- F- Q: ~) n! w" \" v# x$ H% T
MOV A,1CH
: x6 Y2 Z! P) ^' n6 }- a* K8 u) d CJNE A,#03H,N1 . q+ y7 w8 ]3 Y8 Q( u
MOV P0,#7EH $ f$ q' b6 ~7 {
% m4 }, F! R* D2 o6 `& _$ s: }4 Y3 M! w ;处理STUDERV录音机控制码
( l2 c- q- \7 ?& H9 y2 ?/ }$ T# eN1:
; b& G, f0 W+ \# C7 b CJNE A,#5FH,N2 ;播放键
1 i* j. q" ?/ D MOV DPTR,#REP
* o) }1 L9 w& P6 A- @ ACALL SENDA
: h) U! s! l% p* e5 k! p3 \ ACALL YS4+ Q, r u$ {9 ]" K4 I
MOV DPTR,#PLY
: L& Q& Y4 }. h4 L2 W ACALL SENDA
: z& G$ m# Q: g7 h5 V( `N2:
7 e% q1 V3 h, ^6 R0 y CJNE A,#5CH,N3 ;停止键
* W! O! r7 O( U7 v MOV DPTR,#STP; \4 I3 ^! Q \1 O* P. Y6 @
ACALL SENDA. M* B. u# o& x. w1 E; o
N3:2 w1 t6 I w+ v. G. J, \, D
CJNE A,#06H,N4 ;快进键; w7 u) a1 g6 G, A
MOV DPTR,#FWD& K, h& z4 H8 j P( Z, L0 W* o
ACALL SENDA
+ T% @: O, F# o% P+ jN4:
( z" F, l# _+ y) _0 n2 Z& z/ ] CJNE A,#09H,N5 ;快倒键/ g' D; S4 A% o' l
MOV DPTR,#RWD5 J) }8 ~4 F' C2 M
ACALL SENDA
' D% Q4 k9 o. t4 U9 o/ aN5:
: B# y6 I$ Z4 W- J+ ]. ^' R+ K CJNE A,#0AH,N6 ;置零键9 \" _. u( P7 D% _% @$ J# Q! ?' B
MOV DPTR,#RTM) ]4 |! A/ F7 I w
ACALL SENDA9 i& O& {/ I3 a) o8 n9 V
N6:8 Z+ V3 q; u' B3 e R
CJNE A,#0CH,N7 ;定位到零键/ V4 a5 o" m. M1 ]8 U, A4 u
MOV DPTR,#LZA" a" z# D+ H% t- ^. b5 ?4 n! A
ACALL SENDA, R" J% t% {6 f8 }4 J
N7:) k; G) M& P0 R$ r/ o5 R
AJMP AA. s: `$ z- p: I
SENDA:
; E: p/ `0 ]2 [; V; V0 Q CLR A
+ ^; N& W4 ~* a, C- D1 } MOVC A,@A+DPTR- V4 V, r; s. d4 T- W; O8 T; D& r
CJNE A,#'$',SENDB
: ~& A: ?2 f9 _* t AJMP SENDC7 N( Z& b' d, x7 A4 C; ~3 U
SENDB:6 R5 C) P1 z; P( a, }; O0 h
MOV SBUF,A/ }) G5 O3 q6 W7 P
JNB TI,$
9 x2 S0 s) M$ @+ w% [ CLR TI+ e& {- Z; u- h; k
INC DPTR
; O# W' E" N- _. Z0 A# | AJMP SENDA
/ E& q0 p- H" A$ ySENDC:# t; w+ B, u3 [7 S+ ^ X# {3 t* X
RET
& r. u5 ^' ~' \$ ^7 L* w
# y& m3 n2 y1 |) UPLY: db "PLY ",0dh,0ah,'$') {- }3 M4 `5 z
STP: db "STP ",0dh,0ah,'$'/ [4 u4 @1 d. ~8 d0 w; s( v' n! F
FWD: db "FWD ",0dh,0ah,'$'! T9 n/ `0 n: }( ]
RWD: db "RWD ",0dh,0ah,'$'7 p. h- [( d/ E$ F1 @
RTM: db "RTM ",0dh,0ah,'$'! B- x/ @; G5 l) B0 L
LZA: db "LZA ",0dh,0ah,'$'
; v6 d1 p6 @9 ]8 z* e1 AREP: db "REP F ",0dh,0ah,'$'
) J! q) |; L r5 [: A9 k/ S& E1 T* Q( _$ f$ q4 K( S3 d
YS1:1 E2 S4 A% j2 x0 g, U# ?5 Z6 ~
MOV R4,#20: V8 R3 ]% M/ k; v/ D) D* O
D1:
) R7 Y4 d+ }7 J: e MOV R5,#20$ Q% _& K& t1 h S! P4 B
DJNZ R5,$0 x& K6 \1 a8 h% l: w) D
DJNZ R4,D14 k! h9 D. C, z" l5 d
RET
' e: E A. Y- H5 ?6 U/ K& T2 V, y7 n% A9 `
YS2:
/ g5 N) w% a M/ O3 n, r MOV R4,#10
& S" i+ I" `6 U2 yD2:% b8 J9 R+ ? n' `6 E g1 E5 J$ i- s
MOV R5,#235
: o3 w9 I8 D! }$ D) R DJNZ R5,$- F4 }# z5 d, M! X8 n( V! [
DJNZ R4,D28 ^: c9 |; ^$ y" j6 D
RET
( A! Y8 |3 f, p+ f( a, \. |/ d* O! F$ K$ H
YS3:( }9 M4 S" L, S: \" ^
MOV R4,#23 k2 m0 f- t( {1 z Z H
D3:) P9 V) H: Y2 R
MOV R5,#2481 y9 ~8 [4 }+ v; z1 i7 K
DJNZ R5,$0 T* c' d5 Q8 s8 A/ I) F/ C
DJNZ R4,D31 L+ U1 {) s+ A' `2 G5 K, D
RET
! A) E0 B5 @$ m* Y# G. ^$ ~! S/ P7 ]3 R' t' C+ e: o0 U* @
YS4:
% S$ @4 b3 i. f MOV R4,#200
D5 X {& w. U1 yD4:
! d. s+ c+ t& W* R+ N1 e& t: r MOV R5,#248& h9 ?# e) W U6 ?0 e1 \
DJNZ R5,$* g! A+ C) r1 m3 n
DJNZ R4,D3
, `' z5 [' L# @; o; b RET' X$ w9 }; F' x2 L* e, l- s+ i& N
END0 K" g: b# y8 _2 Q$ g' s
+ K0 r9 E$ w+ I) F4 L% k' l
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
/ @* H3 A- b5 H7 @* r; @9 { l是不是很惬意,嗯!
6 \) D W5 o( _5 V |
评分
-
查看全部评分
|