|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
8 u8 c: r, t7 X+ Q+ p3 z! R" K" J' b* F9 Z2 i) v: X: U& X
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。: V9 t7 Y6 z) e( B, X7 _
" n, q$ G5 X: T/ |8 t+ {说明:
& L# c) d. m6 ?/ v4 k! y0 d1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
# f- E0 C0 F$ x$ r j2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;5 O: Z# x5 W6 @$ S
/ k* }1 N9 g F- H' i# j6 n9 E0 U一、基本思路+ p8 \$ j* P. b+ `+ Y4 ?! D$ q! P
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。8 n9 x3 }* ^1 @8 l: n1 J2 K
& ^3 a$ \; y/ a( z8 t/ [- ~2 {
二、红外遥控器1 P7 G, Q% f# ]( k5 j9 X$ G
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。0 K$ [2 d3 M" [0 b8 |
' S2 m( v, s A( V" W好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。6 @/ G' ?( R8 T7 \
- ~: n5 d$ R0 Y
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:, h* M+ `& ]# }% M0 v
9 w7 w0 Y1 D, ~' a
7 J$ y4 Y/ X9 M. V- V; B8 P! b8 M
三、红外编码5 h4 m6 ?% v; \7 Q+ G* m
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。+ S5 e4 e8 u% D0 c. U$ o
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。+ G: c) Z. [0 _0 w1 F
后16位为控制码,主要用于实施具体的控制。
' ]8 q. s& L8 l& J) g这16位中高8位和低8位互为反码,以提高可靠度。
3 ?% z l! F7 N5 k9 `9 g9 u6 ?: e: [# b* M: [
以播放为例,其编码如下:
- d3 \4 @% @4 }9 k00000000 00000000 01011100 00000000
3 Y* p/ ?1 t$ ~# e6 X9 C4 S5 @: G" h
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。7 ] Z. M5 i/ H* w; N; ]. l
. k. J7 {" [% f2 M
四、单片机系统
, W n. E+ M) L2 D. r/ x这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
`, y8 q, R- _9 G" q' a3 ~0 }
, ?5 J6 I/ k: s: a7 U; ]6 ^ * n5 E. j8 m5 y2 D1 M: [: d
电路很简单,功能如下:* I" p9 k# t/ ^' z5 ~6 T4 ?: s
1、一个AT89S52单片机作为核心;
: k& {: ]: M6 K2、一个TL1838为红外接收头直接串行输出数据信号;: }8 G( C8 P2 Z
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;$ y6 F1 g4 G* {9 F
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
! [, i0 ?) E+ X7 D ' O; C; L y) C' f O7 L1 ^& W8 a" t
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
& J- H* Q6 O$ W6 Q% U) J. s. \2 h8 t W
, U4 O8 p3 O# V3 o8 @- ~5 X* s- H) b, {
五、控制软件( \. Y& ~0 H# r/ e5 c' G2 P
控制软件用汇编语言写,源程序如下:
: s2 _& e- w K7 @ ORG 00H. D9 @$ Q0 V6 ?$ b
LJMP MAIN
4 w, q- v% ]0 k4 H) @- g) ^ ORG 30H$ Z; G! ~5 ]! p! r% p% F V$ Y
MAIN:) q2 n1 b# h) t& ` S
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
) B3 Y7 `- e* p% e ?; s MOV TMOD,#22H ;22H
x$ B/ M& k1 x4 q& I% {/ I MOV SCON,#40H ;40H# |9 ?; Z/ i& t9 a4 v' `5 v2 W
MOV TH1,#0FAH ;F3H" D. O# w& K' Q! w6 N
MOV PCON,#80H
/ B' c V& W9 y+ O r s SETB TR15 Y) @3 \. H$ ~5 c& p
START:
4 N% `0 v) s+ f7 p& A1 g JB P3.7,$ ;遥控信号处理2 @. ~. d6 R( n
SB:
6 Y {, y9 ]/ y( H- U( q# J* u# q MOV R4,#8
- ?- k8 ]( M3 A z) Z" wSBA:
. `+ n) l' N9 q MOV R5,#250
" ]+ O6 t9 X6 u9 P" c$ R7 kSBB: n' \ g! s- c5 u7 _2 q1 w" ?. B; H
JB P3.7,SXB1
. X5 X7 m% K/ M9 O _& ?5 D5 | DJNZ R5,SBB
6 a* n/ Z. G, _! m+ a DJNZ R4,SBA
: `- O& g% K1 [9 I2 ~, G7 i. w' t MOV R4,#2
0 D y3 l( t* q& L JMP SBC
* j5 q* H& P, N- I9 D- k* KSXB1:. y( Z* o- p9 b6 p3 G; @% B- J
MOV R5,#5
3 L7 c% o0 D8 h/ J% ~6 G# NSXB2:
- _) _( H, v& Z& a JNB P3.7,SBB
! v5 ^( K( f& Z4 Y3 j& ]* M DJNZ R5,SXB2' }' O7 m% o! A$ J" C" K
JMP START1 F! M! G. d7 L
SBC:1 |1 w. m6 U& @+ h% ]0 \
MOV R5,#250
/ ^, O; x, \1 B+ ~: r9 BSB1:
A' {" ]) X& _8 ^ JB P3.7,SB2
. s1 U6 h0 v, [9 ~! |. l" M DJNZ R5,SB1: W' M+ h/ E6 e4 p* z
DJNZ R4,SBC
: I- t R2 }+ }/ z3 |/ e. A JMP START# E4 m g1 M6 G. ^' S u
SB2: # R6 t5 A% r# y) X
MOV R5,#5
2 E; d" a8 s4 ?* _SB2_A:# V2 N, b: l* x2 P! q
JNB P3.7,SB1
0 X* \8 T( D: x5 s DJNZ R5,SB2_A! K z8 ]. P6 F& @; r; ~
MOV R4,#3: _2 D( T1 e/ Y/ u5 `' B
SB2_1:
9 k# Z; i# ]9 V# f; R MOV R5,#250) G! q* B/ R& K: T) }, O( v
SB3:
& {/ R/ x! z' ] JNB P3.7,SXC( s- W5 s7 o- r1 z1 S7 p
DJNZ R5,SB3
! w# G: ?9 E# z5 w DJNZ R4,SB2_1
5 N4 \) l9 L3 A6 z+ p. c; F MOV R4,#2/ E0 V* O h/ W& {2 O& m/ j
JMP SB3_1
. E5 C- H! z3 k' @SXC: & h/ d) q9 N) _- R
MOV R5,#5; i4 N p! I4 W* R/ z- j/ `% e( p
SXC1:% T8 f+ R; z4 K) G% T
JB P3.7,SB3
1 D1 Y/ ~# Q, l& P' D. y DJNZ R5,SXC1% B( V0 N* |( Z9 d% ?1 k
JMP START
: S' ~$ t" c8 G0 J. [' ?SB3_1:
' b4 H3 j. ?3 ]7 e" t V MOV R5,#250
8 z a) K# m6 l/ Z! ~SB3_2:5 ?% Z4 t, X) s# E
JNB P3.7,SB4& ?7 v1 `& B( f! K
DJNZ R5,SB3_2
1 |2 Q( n) h5 \/ V* L DJNZ R4,SB3_10 `( X. P' E d% r2 B
JMP START, c4 D% _* j! B+ f# O; x0 o+ r
SB4:
) Z* J2 ?$ Y* \. @" z8 z; {$ z9 u MOV R5,#56 ^. }: A( K( J/ Z' r5 K6 D% D
SB4_1:
- I+ y2 s' C6 \2 }* |, W3 B JB P3.7,SB3_2( i6 _- A$ n% K( J4 O
DJNZ R5,SB4_1' v! ^& N0 v0 l
MOV R1,#1AH , L5 F7 V3 I! w0 S- R
MOV R2,#42 F! G( t9 P! _! m0 i" W& m7 S
PP: MOV R3,#8
5 Y; G" O) ]; x) P/ q1 {9 QJJJJ:
: |5 \; z- Z3 S4 p* m& e# S: B MOV R5,#250& H& E& R* x: j T$ L
JJJJ2: $ Y- I6 h8 U5 y h, J( m& `
JB P3.7,JJJJ3
' w2 M& w9 M6 J) ]8 I/ T& j DJNZ R5,JJJJ2
, L2 _/ M. R% m. M4 p JMP START
! [+ _% |) R" g4 K, w/ U/ x% U- uJJJJ3:
3 z. Y- O' F7 T+ k LCALL YS1 ( D: k) C; r1 @* {- U
MOV C,P3.7 8 y0 V4 W1 M3 d, k/ p
JNC UUU 6 m4 h' m+ x! O* j* }
MOV R5,#250
, H, @# ]8 v* _# xJJJJ4:
) N" d2 N6 J6 s2 _ JNB P3.7,UUU
* q( q5 ?3 q: M8 ^9 o NOP
L7 N4 p# W( h) }9 Y, h/ ` DJNZ R5,JJJJ46 m! `* b3 U y$ }4 `
JMP START
5 x3 v. _: l8 I* T% D' zUUU: MOV A,@R1 ; \5 G& V8 w+ I$ ?# X6 P
RRC A " y$ G/ I$ }# L- C1 \2 t% a0 _
MOV @R1,A
+ P- N6 P5 W E0 x: c DJNZ R3,JJJJ 9 `9 j0 S, [0 B+ `2 T
INC R1 , y2 A4 A' F) U7 r. l
DJNZ R2,PP
1 h. L( g9 \7 v: ?+ u7 s6 {" Z" u R, H$ N9 ^) y
MOV A,1AH 9 m3 x0 H6 v$ [4 }6 V- y
XRL A,#11101110B
8 O. @2 s/ D7 X- s! w JNZ EXIT : Q/ r# o5 ?3 [/ o" _6 A
MOV A,1BH " J3 q5 b5 H$ ~3 C& O8 ^* q4 i. z
XRL A,#10000111B
& |% b. l0 l% e% \ JNZ EXIT
z1 K6 V1 X5 K LCALL YS3
; d/ b$ u! R5 S# c4 ]0 b MOV A,1DH
! s0 r. W1 }1 N" }! |( O; k( r8 V CJNE A,#10111100B,EXIT
; A) ]: {3 d. i, u/ q3 c LCALL YS3
9 I1 ^5 x+ x4 [ CLR P2.6 4 t1 z( p v- z6 `
AJMP BIJIAO. L! J4 |% b( G
- c& `( ]; G8 w0 p1 n' h
AA:
( V; w2 m# p/ M" [; s MOV R1,#25
; g' c& m; ? y0 RXX:
" T/ ]% @/ y8 v) ? ACALL YS2$ p( D+ q/ V7 d1 \, D ?
JNB P3.7,HH : A$ Z( }4 z3 s1 e
DJNZ R1,XX. P: k' y+ @. s" U4 J( N: R D
EXIT: / P0 I! x9 N8 Q
AJMP START+ U% o& h* ], x6 ?' h
+ h2 A+ m7 Z) J9 S4 ]HH:
2 ]+ G/ z' h: c( u6 S3 Z MOV R6,#4
5 x! S2 `- D* G5 y7 GS: - c$ E. c" k1 Z" c' J
ACALL YS1
1 O v7 A. k0 j JB P3.7,EXIT ; X/ _" t6 i; K: S
DJNZ R6, S
! h6 q6 g4 F+ z3 e5 O9 _* K# V JNB P3.7, $ 2 g/ {/ G. m; q3 z4 G
LCALL YS35 @2 J2 G" ?, Z% ^9 S4 Q
AJMP AA
7 J N4 Y7 b# h) o% L. s( iBIJIAO:
3 `6 a; L h4 ~2 e/ @, e MOV A,1CH , K+ p6 B% h* s- I, k' ^' ]% b
CJNE A,#03H,N1 2 n/ T, E1 P {" R
MOV P0,#7EH
( r8 f( {- _9 b/ g
- L& |) k; `/ L- ? ;处理STUDERV录音机控制码0 ^+ P- v3 t/ \$ F" K0 f
N1: 8 O% @ u4 H9 D/ G0 c# Z, {: o; ^
CJNE A,#5FH,N2 ;播放键8 [; N. y* q- U* g3 W9 I
MOV DPTR,#REP
5 h3 X! `1 B+ R, G ACALL SENDA- y# t) N) @; o0 d
ACALL YS40 J# @, f0 a5 j, X
MOV DPTR,#PLY1 e* d! r# D. {! }' N9 @
ACALL SENDA+ Q1 i4 M- \5 i5 U; d
N2:
+ k% k% @6 _% S* ], z/ E CJNE A,#5CH,N3 ;停止键
) t* X! `- }3 T MOV DPTR,#STP. C! |/ R% s* \ a7 t- K7 O [
ACALL SENDA
2 Y+ N# @2 \% f: ^1 aN3:3 V8 M# M9 ]' k. m" R* |4 ^) Q: u5 E
CJNE A,#06H,N4 ;快进键
: f2 [4 m. I; X0 C8 C2 E5 D MOV DPTR,#FWD
' I) H: ?# b6 E; e0 V ACALL SENDA) r4 C# @- \1 Y$ k g* ~
N4:7 j( v' D- T6 ?. `
CJNE A,#09H,N5 ;快倒键
1 t: N! E( o7 k0 N9 A MOV DPTR,#RWD
5 q* }' v, ~) D# Q2 I- h ACALL SENDA
6 z( G* I6 x* `1 [/ S" zN5:1 D7 R% }9 q9 v& p
CJNE A,#0AH,N6 ;置零键$ ^6 w! U) |! Z" r4 T0 i! J
MOV DPTR,#RTM
! d& y7 L9 N5 h" _ ACALL SENDA) p* h- Z3 p9 S8 R, X
N6:
7 c( a1 t' {; B5 _ CJNE A,#0CH,N7 ;定位到零键
% ?# }' e( c/ L8 y/ H A MOV DPTR,#LZA
" U/ p6 t3 Y( p+ y" K ACALL SENDA, J1 [( b% T8 B3 G+ W& X+ N! \
N7:. N/ v+ G5 ^* z# y: U
AJMP AA
- Y6 D1 O! q: C- O# [- r+ xSENDA:: h ~% j# K# C- K9 i
CLR A+ ?3 C5 F$ Q8 [( A6 Y9 ~
MOVC A,@A+DPTR7 ?" J3 v0 l: f! V5 T |* }$ `
CJNE A,#'$',SENDB1 a1 o7 @. D, U, R3 [# O" Q9 n6 E
AJMP SENDC
% |+ x2 @- c3 J) S( ^7 HSENDB:
! l* e- l5 a5 p5 D MOV SBUF,A' R! x# j$ p6 @7 u
JNB TI,$
& Z% ^4 R! P; X# X! a CLR TI
6 R6 B: j) j7 Y$ [, ? INC DPTR" t3 J0 f6 Q6 U) a( u* f/ ^
AJMP SENDA1 x- p6 _8 b4 T$ Y0 @9 ?- j* [
SENDC:
0 F% D' A! d& [1 U) a. f A RET0 ~' M5 N5 p; Q" s( @
$ A/ i' S8 f6 R% SPLY: db "PLY ",0dh,0ah,'$'6 ~( ~9 g& E, `) m3 i1 A8 e. E
STP: db "STP ",0dh,0ah,'$': [3 i, r0 |' [6 {7 [$ d
FWD: db "FWD ",0dh,0ah,'$'6 k4 |% p9 W9 f" W: N5 B
RWD: db "RWD ",0dh,0ah,'$'
; Z% O( i( U6 j6 C) z* R7 \RTM: db "RTM ",0dh,0ah,'$'( n3 K% S" v% ?8 R6 o3 J6 w" U
LZA: db "LZA ",0dh,0ah,'$'
5 j1 i! l7 J4 i0 U5 V J( t& TREP: db "REP F ",0dh,0ah,'$'7 s6 ]- L5 S; b) w
; k1 C2 q: N6 I2 v: Q1 OYS1:4 Y1 D6 I3 Z t* S% B+ U
MOV R4,#20
# N* p$ ~* m3 k( ED1: }6 }7 G9 r+ b
MOV R5,#206 f* u/ ^; O5 v/ _. R, n
DJNZ R5,$
" m/ s x+ r5 ? v* X |( L5 W DJNZ R4,D1
\. A2 s3 G+ B- K4 \; v RET6 a( O6 s% o0 I" W1 S2 `! y& |# q9 ?
4 h' _8 m; e+ b: k) N; y$ ~YS2:
: K$ x- c2 t1 T' A+ E6 G MOV R4,#102 o5 `. D) x# T3 O3 B
D2:5 l' K* P& e& s
MOV R5,#235
) `. s3 J) B% T1 o6 ?1 y I, f: T& n DJNZ R5,$
, m, m7 y8 u; }$ U8 ? DJNZ R4,D2
; {. D* G% U2 s* ]! U RET
6 [' S( L9 X* ]' R" d% N' W9 i5 m8 j; q, Z: b( s
YS3:' M% m0 c% r8 ?6 Z% i3 B4 u. x' `
MOV R4,#23 F6 d# K: ^2 U. g) U) i& F
D3:# \! R2 j% n% K
MOV R5,#248, n4 K. z4 A4 k0 F
DJNZ R5,$0 V) t+ k+ w u* X6 {" N7 G
DJNZ R4,D3
& N3 B% ]* p4 u& \5 i RET0 o' q b) p4 \. d- i9 n* e
- U2 Q6 v9 ~3 u {2 yYS4:) G& m: U& J! x4 `# N: V
MOV R4,#200
% x7 a1 o* G5 {8 R( |D4:% b1 c' E$ I, R
MOV R5,#248
: p& r E2 h/ {) u! _ DJNZ R5,$
9 k: Q0 T3 w: Q; y DJNZ R4,D3
" X% R! A7 L' U0 o/ v; W% c0 l RET
1 A1 q/ c+ {' Z END' z, {. p& \/ ]2 B+ Q
0 N9 g9 A+ d/ J( F
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。& z! V$ q% L2 S" C
是不是很惬意,嗯!
: m% y& D2 q' R7 E1 `; Y- d2 A( R$ K |
评分
-
查看全部评分
|