|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
, X7 T- c( R3 `( P# c4 @9 ?+ r5 @, u
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。& Q$ a8 v( z C* I% {$ j
. V/ M# z0 P/ D I
说明:( J0 D- Z0 `5 S5 h- O6 Q+ G
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
( I0 f; i7 L0 u$ S2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
. `" q2 i1 [. f% [+ a! r/ ^* ]) G: r* G G; C/ X* R& B
一、基本思路
4 }7 j9 r/ d2 D8 t7 Z3 a使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。5 G8 i. H$ I% k6 P- Q5 u+ y
i5 r% n& T: `' |0 h二、红外遥控器
8 g- N( `, G* |. ?1 ]我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。! e f3 w2 _5 Y% v, w/ |
& s+ u" X; X5 W! k4 ~) o好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。3 b9 u- H9 Z& r/ Y* d' [
: l( p$ x! a7 d" L6 n' ?在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
4 x0 x9 U2 T; Q$ T% Q2 m
* k( i! b0 B' O$ d5 o( Y
; t2 x. b: _4 F三、红外编码8 S$ F5 W: I1 x/ _# {' Y' E
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( l& V5 J) t8 m8 [- t
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。2 p" e7 B2 j5 _ o% Y0 Z
后16位为控制码,主要用于实施具体的控制。& E4 L4 l Y7 \% ]
这16位中高8位和低8位互为反码,以提高可靠度。
! s' }* J! N9 `$ ~, T4 q$ A+ M; N; R. |
以播放为例,其编码如下:
9 y V* X& o# B* z0 M- Q& z00000000 00000000 01011100 00000000
3 F1 @3 R% L2 B) ]6 ~
% a1 ] m5 [: I" _! U4 {3 U5 t1 ?你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。0 y+ ?) a7 ~' m6 l
* n- L$ `5 i8 q# u2 A7 u( G5 m四、单片机系统
; r. `0 R, K. i8 f这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
9 G: a& X2 \0 |- A
3 p. K$ {9 N2 k0 H2 y2 a
# B5 ^( z% \5 F+ `3 U0 w: W2 k/ I
电路很简单,功能如下:5 ?# d2 f- v7 p% r& `
1、一个AT89S52单片机作为核心;
. i/ Z0 h3 f A, t: m' l$ N; H1 S2、一个TL1838为红外接收头直接串行输出数据信号;9 X8 ?& e8 f, Q% g8 r0 p
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;- [6 C9 S" s6 ~6 n5 f
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。1 ^% N& B! Q$ L( X
4 F' x0 G1 U: G. X
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
1 c, a/ H! j T1 X. f
, h. r' C0 i: I; m
, h6 H% v7 ^6 \/ v五、控制软件
7 d; q8 T" T8 D# N) V; z% C控制软件用汇编语言写,源程序如下:
# {* o5 l- n6 T' b! Z0 N ORG 00H
3 A7 f S3 D5 J X8 E LJMP MAIN' X7 }/ W" y% q: [# d
ORG 30H. N( x# ~. x, H6 S* M! f# l- A
MAIN:
1 I* c, p0 ^! l9 `8 S* K+ N MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体): H4 I9 ~5 r+ p6 X# T, E% ]
MOV TMOD,#22H ;22H
6 w. J* e" \* O6 [6 h7 a MOV SCON,#40H ;40H& m- \. C9 K/ W0 K
MOV TH1,#0FAH ;F3H
. c9 z$ |3 ^& ^ MOV PCON,#80H
5 |! |, V" E. ]' H9 V' m x SETB TR1
8 B/ @; `/ \3 |+ K0 E* R+ JSTART:5 s! T, W. k: d1 ?1 y9 J
JB P3.7,$ ;遥控信号处理! L* X. y4 H4 b: z) v, v
SB:
2 |% x) h/ M. ^; R% { MOV R4,#8 3 E5 v' e6 W: p- i' G1 c
SBA:
0 X1 Y+ C+ @* Z MOV R5,#250
' Q6 e, A H* I4 `( ESBB:7 F- w% z0 l' ^3 e7 p% s# s0 R
JB P3.7,SXB11 W( \0 Y* ?- l+ g. B- Q' ~. b
DJNZ R5,SBB1 Y9 H: B b9 O9 I. c% N
DJNZ R4,SBA1 l0 O. _, o8 s# W
MOV R4,#2
3 b0 ], b/ g* C8 o JMP SBC
2 _1 Q' l: _; i5 oSXB1:
8 u' U6 J' T) e& M MOV R5,#59 D$ \. e$ I1 B/ m; z4 p2 ^
SXB2:
5 j! ~9 k( p, E JNB P3.7,SBB
! z- J8 `8 z. s2 Y7 w DJNZ R5,SXB2
- s6 r0 q: `0 r* n" l. s JMP START0 G+ N# O- Y$ U0 T* ]
SBC:4 Q" `& s% k" Y8 z( i
MOV R5,#2504 H$ ]3 j: {! z9 d1 i; Z! Y' U. \
SB1:
0 G& Q6 a' O/ r7 Y ` JB P3.7,SB2
. ?- {0 k& }3 o! K7 S+ R0 n9 f9 W DJNZ R5,SB18 K. C* d3 q, o4 o& j$ l" O' T
DJNZ R4,SBC& D: y1 d% p- [% b2 z, N# i9 ?
JMP START
* ~" p1 R8 [( X% N9 e/ NSB2: 7 y m3 f8 _& C0 ^" Z- [* q* N
MOV R5,#5
) @" i8 y0 z3 v& jSB2_A:4 \( j' j/ v7 L8 z+ Z
JNB P3.7,SB1
8 q, {4 L( q s* C U- D7 I DJNZ R5,SB2_A
' b9 [0 \# C5 B7 \8 f; ^ MOV R4,#3
4 d# G' O* f9 D/ ]" jSB2_1:
& z7 v. ~! }* {# ?9 N! s+ _' P+ T MOV R5,#250
+ Z. H; u" s( a) r: f* K" ZSB3:
" Y3 f9 s; J: x% a$ }5 ] o7 L JNB P3.7,SXC2 S! R9 y5 Q% M- e& ^4 b9 b
DJNZ R5,SB3" Q1 d: t# X$ ?; _
DJNZ R4,SB2_1
0 G! |# M( X" _, b" y2 { MOV R4,#2, Q n: W/ i( }9 I
JMP SB3_1
% k& R- M6 u8 MSXC:
; E) c9 U* L' x6 g( t MOV R5,#5
5 ~& u5 C$ E: n) l' X' C8 oSXC1:, Q! j* C. i2 _$ P
JB P3.7,SB37 v) `6 r1 I4 ~( I$ @ H, D# K& j
DJNZ R5,SXC1! V" S3 a1 S$ t. @6 [
JMP START/ B* G1 B) j# N# W
SB3_1: 7 n8 g& S. j, P) U# [/ b
MOV R5,#250/ ?% `* S/ {! Q2 x' [8 N
SB3_2:
5 [4 @7 x3 |& S& o( x- S. v JNB P3.7,SB4, [" ], V: G( Q
DJNZ R5,SB3_2
/ A8 I9 E* _* t6 c) ~9 |: b DJNZ R4,SB3_1( o+ x5 B4 L7 M
JMP START/ g* G6 Q# n5 a% I
SB4:
8 A- D7 g" p/ G! U' W { MOV R5,#5
& c4 p) f8 y9 w% H9 R8 Q6 LSB4_1:9 w% D) G, n0 o4 v N. ~
JB P3.7,SB3_2: i. b( I* P1 i/ N
DJNZ R5,SB4_1
5 F7 {2 G- c4 O MOV R1,#1AH 8 ?7 Q, a' r% n
MOV R2,#4% F! p( P y; N4 T2 L' ^( z0 m- e/ m( N
PP: MOV R3,#8
. Y; G2 |+ | ~' l/ S' h4 oJJJJ:& D, @+ [, R/ B% p
MOV R5,#250; ?4 w3 K2 x2 A# c3 S N
JJJJ2:
8 W, K; R! a: h" u2 t JB P3.7,JJJJ3
+ u7 V; w( W2 \# k/ |9 m DJNZ R5,JJJJ2" r9 Y& s) @5 a2 [
JMP START9 w; o; M* ^; G |/ B8 V
JJJJ3:7 k( X- G8 {6 q5 I3 |
LCALL YS1
5 I1 @' y* s; V0 [; p MOV C,P3.7 6 K& m; [5 W1 K
JNC UUU 0 f( G$ _# p% W$ A7 I% R
MOV R5,#250
: i& `* F1 e, fJJJJ4:# u2 k8 k f& J2 f2 t5 x6 P
JNB P3.7,UUU# K+ ?( E( U, @) |8 f P
NOP
0 d+ p' F9 Y% x e5 {; P' U DJNZ R5,JJJJ4
4 Y: |! O3 j \4 x( [ Z JMP START
* n8 s4 v, e. Z, o' FUUU: MOV A,@R1 0 J. A6 `+ D4 ^" ^0 T/ c# l$ f. _% z
RRC A
1 Z3 z# G! c+ `2 e4 q MOV @R1,A
2 S' w: r' o( x. B DJNZ R3,JJJJ 9 B c( Z; Y" Y+ i
INC R1 , w2 C5 k1 W8 ^& g) |
DJNZ R2,PP " V4 _0 A. A: P( o
3 N0 H8 k; o' Y9 S+ Z# G( o
MOV A,1AH - w- n6 y# t. X) L5 V9 T
XRL A,#11101110B
/ P( G0 P3 r9 i! n8 _; b" N JNZ EXIT % K( k0 n1 X* T" S
MOV A,1BH
) f0 W* ~- }2 Q1 M XRL A,#10000111B9 f2 |8 d: j6 i! f9 b2 G4 P4 t
JNZ EXIT
! }+ h" b0 V5 y0 Q3 W2 E LCALL YS3; _- z1 M) [4 ]) o) b1 Z
MOV A,1DH
. O! w$ X3 ^& v, x* m( P: H! E CJNE A,#10111100B,EXIT9 h" F( h* a; z! |" O) S* k, f
LCALL YS3) M- D( K3 u$ b2 x
CLR P2.6
- o: j' _) V; A; A& O( { AJMP BIJIAO
6 |$ G- w( h. e) U. b" V + [! g: ^6 m. I; q7 v! W5 a
AA: : a _+ d+ W! ]; R0 f9 I9 h
MOV R1,#253 d/ e1 q. ~; S1 M, f
XX: K9 q5 i& a1 G. h7 m
ACALL YS2( D: |, S6 Y( O& @. ^* W
JNB P3.7,HH ( }# l0 x, h5 b8 l* i7 u5 S6 S, C
DJNZ R1,XX5 Y! K" o- }% t |) ]5 ?
EXIT: $ l T: f y0 E6 r" b
AJMP START
1 Y7 l/ ?; M6 d+ x
* X5 j/ C' e7 P& v+ J2 }HH:6 y5 j; X5 v! b3 A4 J% g! t" q3 v; m
MOV R6,#4
. {4 Y1 _$ Q1 b( E% f2 {5 f% cS: 0 z( X1 J+ n) Z' C9 j* M
ACALL YS1 9 H9 f5 W4 x X. W, {" F7 f! V
JB P3.7,EXIT
2 w" w2 q) V. H DJNZ R6, S 0 @/ X/ O# ?7 Z4 N+ Y. b
JNB P3.7, $ % H; ~0 s5 x, `+ x" ^2 F# J3 h
LCALL YS37 ~: l" `; m( O% [# ?; x( r
AJMP AA% F4 I. _8 ^# C8 i
BIJIAO:/ a) E; o/ b/ S2 M. z
MOV A,1CH
0 e7 O% @/ Y4 }# j( o CJNE A,#03H,N1
8 A$ L: Z& q, N+ j4 Y MOV P0,#7EH " q. i1 C( ?, U! ~
, p: ]0 d9 q! H$ z4 e2 G
;处理STUDERV录音机控制码/ }* t' ]* R9 r) E+ a" B
N1:
8 ~2 }1 l( I9 _& {, ]1 y) Z CJNE A,#5FH,N2 ;播放键
7 n7 E2 I3 n" p$ |9 G: q. ?2 x8 j4 c MOV DPTR,#REP
: P5 D9 J$ ~' b; ?/ Y" o ACALL SENDA
+ M8 g+ F9 g. s ACALL YS45 b8 b+ f. j) o" Y$ k: y* h% u
MOV DPTR,#PLY3 a4 W0 [3 C; }1 B4 c' J/ y* D
ACALL SENDA
) `1 V3 m4 H+ Y. s8 p' {6 n0 kN2:% M. C1 ^2 E3 u& }
CJNE A,#5CH,N3 ;停止键9 M' \! [8 K5 i% A! S3 P
MOV DPTR,#STP3 d2 o1 x& _( E& I
ACALL SENDA
* D6 C9 c1 N- f; u2 gN3:- U* f& Z- v8 e, C' n+ o
CJNE A,#06H,N4 ;快进键7 ]% Z1 C7 R, j) B' n, L6 w
MOV DPTR,#FWD
/ s: r# g* Z3 d- s8 } ACALL SENDA, z6 B: m& Y' l7 e z% p
N4:
[8 v0 W. Y7 T i CJNE A,#09H,N5 ;快倒键% U; h% q, Y0 C O3 M
MOV DPTR,#RWD0 `: d8 \# J F% C$ X
ACALL SENDA$ n' B2 O+ r/ R& v2 Y5 F% l/ p6 n
N5:
; O: z7 w- n6 H I8 U1 m7 o& X CJNE A,#0AH,N6 ;置零键" r4 u; X e. S/ I$ X" b5 E
MOV DPTR,#RTM
8 G: ?1 y6 c/ Z7 Q9 Y6 ]- ~ ACALL SENDA/ S5 `- H2 F& Q% V% B
N6:
! C2 w" z3 o( }4 ^8 b CJNE A,#0CH,N7 ;定位到零键
4 a1 c& H h. J( _7 y4 Z MOV DPTR,#LZA' a; i; o. a, d- b1 u
ACALL SENDA
' Y0 b5 k# b4 H( N M6 a) Z9 ]N7:
9 o T1 O( A* m8 z5 W, P AJMP AA# \) _" s! F7 a% b0 H* V
SENDA:$ c2 ]7 A9 J& F0 s0 D1 {
CLR A
4 g& u& K5 ~5 D. e MOVC A,@A+DPTR
% m5 U6 ?$ p% r% V CJNE A,#'$',SENDB
% f* n9 @! W/ t9 y4 ^ AJMP SENDC& I6 R# d5 a6 a
SENDB:
- T, q% j$ W4 ]! F. V MOV SBUF,A
- Z' S0 N; ~1 X z JNB TI,$
# i' w0 Z# l" m; A/ J) J" m+ p! ^ CLR TI2 X2 w. A! A- c$ N+ K7 N
INC DPTR
0 {$ x8 f. r, ]1 H' G l AJMP SENDA
" H z. U* [; n* sSENDC:
. v; M4 E' {6 s: g( e RET1 B% h4 l8 S$ y' l( L, i9 F
. s7 B5 a, D& a" W, J# [PLY: db "PLY ",0dh,0ah,'$'
/ w5 j9 J. q+ m/ z$ l7 PSTP: db "STP ",0dh,0ah,'$'* \; c& F+ R* a! T
FWD: db "FWD ",0dh,0ah,'$'
D# ^ u2 U1 t0 {0 s1 k& |4 yRWD: db "RWD ",0dh,0ah,'$'% o0 u p( f# t. i$ B& g% D- k) D
RTM: db "RTM ",0dh,0ah,'$'; c5 E2 C# f/ R& I6 E6 z
LZA: db "LZA ",0dh,0ah,'$'
( T' T1 v& A+ {/ L4 KREP: db "REP F ",0dh,0ah,'$'1 \, G5 P' b' P, x5 G& |% h2 n
8 {5 C0 V: p3 D i6 dYS1:" B2 o3 S0 l9 V: Q/ Z- A) U
MOV R4,#20 r7 p1 ?& j+ E5 h: Q( Q- w p
D1:1 y+ [& T5 i6 v+ P
MOV R5,#20
- \" J- S6 ^# \8 t) k! N DJNZ R5,$& A3 P$ l2 J# i! Y# m8 j( F
DJNZ R4,D1
( _% g( r& i2 f- K' F RET; J9 s& @, T# W
- ?, ~* ?' {' c9 B3 @6 H( RYS2:' s: g' x0 U/ j
MOV R4,#10
5 T2 G" U) r$ z) `D2:
+ y+ k( B- e! e. ?- h, E MOV R5,#235( _. A: a; n) T) F
DJNZ R5,$
4 \/ G6 `& N8 n7 l DJNZ R4,D2
2 M0 h6 c6 E+ [) E* w& d% K5 Q RET
1 x3 i# K8 U, V1 `. W' i" E. x+ z$ ]$ w2 b. A
YS3:1 F* j' \, x5 z; O2 E2 W' f
MOV R4,#2
p6 b6 E7 l: Z9 @D3:$ S1 Q' c" T8 [- r, v& a! x
MOV R5,#248
. D& T& K* d- ]( q, t DJNZ R5,$
2 |; k5 \4 Y% x$ y' } DJNZ R4,D33 \4 J* C4 i2 I7 q: P v
RET# z: W% j M F B. t1 o4 n% S
8 r) T7 ~. A0 _2 M# f4 I3 X5 @
YS4:
! ~# O; k6 k l7 { A& o! d1 U MOV R4,#200
6 s: f/ B3 w, w* t; K+ Y) [D4:+ {. j' L# ?+ d- Z
MOV R5,#248
7 O+ i4 I8 p* [! k! D DJNZ R5,$
1 W' D1 O9 X: L; Y1 h: y' X, C DJNZ R4,D3* c( L: Q* N: h& @2 r0 }1 O# g
RET+ C7 `& k. m7 q1 Q; F" L/ |) }
END
9 g6 |- P2 C' [( V( _
! P; k/ J+ O- z) [ H4 ]有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。# ^) ]* z" ^' C7 E! X
是不是很惬意,嗯!
/ S9 O8 c) _8 h; i! w+ w/ C5 d' w |
评分
-
查看全部评分
|