赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
2 c# ?) \, Z+ |; W- X& p, t" v+ h/ f4 x/ A( u' g% l0 d9 d, H
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。 G" f0 i0 s) t& [2 B" o
3 W/ f0 K* G5 w$ J% n
说明:
6 ?( i, L7 o5 z' M6 q9 h1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
/ ]3 l# O ~" w/ z6 B1 l2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;" H/ @. y5 {' t0 t1 `2 k0 k- m( g
/ f7 ]; G5 [7 P( y4 s
一、基本思路
! G' O) k K R7 Q1 ~4 f, l使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
/ H- i, e4 r9 A- t& N' B4 A5 T! \# m9 _: i2 \! L0 j' j: z9 G% J: ~
二、红外遥控器
: b8 i, o1 @5 L% B2 B我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。- N/ s, Q# V' f" k- c
) v: P( C) j2 }0 D3 f
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
8 V8 g! U T! I" A; m5 e
5 h ?1 K$ G6 U y
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
- ^/ X/ q$ L& F* Z
4 a5 R- n0 u6 l9 p) ?9 n' X3 m C; L1 g+ r3 f: O
三、红外编码* _5 ~5 q9 m! M' W
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。- R, E t/ r+ m9 z! ^3 e
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。7 i' m$ m8 @5 C8 f/ F5 g
后16位为控制码,主要用于实施具体的控制。; R \" i$ Z, M( P
这16位中高8位和低8位互为反码,以提高可靠度。
! ^# |; h- B) C$ M6 O0 a: N. q n6 s' n( K
以播放为例,其编码如下:
0 ]3 d+ g* ?! e3 u& S9 A6 e00000000 00000000 01011100 00000000
9 [/ t2 C! a$ n5 t2 P0 A, c
$ z0 E7 \) W: ^. c$ @你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。7 V. Q! L8 }) k1 W4 Q2 G
. o2 G+ y3 {. E四、单片机系统4 M+ { }! f! |) L/ Z a) ]
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
, j8 X" A& Y/ n5 p
, g$ a7 F7 V$ [ / L; n i+ l/ F# ^6 a. f- X
电路很简单,功能如下:
, r/ E! R7 w' {- t; m1、一个AT89S52单片机作为核心;4 _9 x9 Y' S5 e. W$ s! v1 c7 G
2、一个TL1838为红外接收头直接串行输出数据信号;" W8 T& ?9 B9 |1 ]- W$ O
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
0 j X8 @+ N4 h a% p9 U4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。- q# I5 t+ H1 N4 P1 N3 r
6 Y- F: V% @7 Y* v1 k关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。0 ]/ R' o: t1 m, ?' z+ A# j
; C& O& R2 I& [2 s! D) \
# V9 k8 S( n) B, G五、控制软件
. G$ A; ]2 X8 Z8 E控制软件用汇编语言写,源程序如下:$ Y# `) f) q. n* \0 k6 o
ORG 00H
: Y8 H3 B& d( J- h: J LJMP MAIN* f' ]& m S* K& T3 V. U
ORG 30H
4 W5 }) }7 U. n! GMAIN:+ R! L( ]* G9 n6 u6 V! [4 m
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
6 X: t6 i' e8 z, `) B6 u MOV TMOD,#22H ;22H5 Z/ r* X( T$ ~
MOV SCON,#40H ;40H
, l8 j; O. E0 K$ w0 J5 ] MOV TH1,#0FAH ;F3H; P2 ?7 i! v4 G# o3 l
MOV PCON,#80H! b6 U4 d( J. E; [: u# Z
SETB TR1
8 ^) g7 I( a. ~6 |3 T3 NSTART:
1 G- N: Y2 L. Q JB P3.7,$ ;遥控信号处理2 v9 N! L1 }# [- J
SB:
) P) e9 j+ K2 n& q" E1 L! T8 r/ s MOV R4,#8
M& L; c- r0 |+ e- b/ X- j& ZSBA:: C& P6 _$ b: l @6 x! B
MOV R5,#250
$ @: C) ~. i0 D% w6 t) E( ZSBB:
2 P/ }9 y7 q7 E2 c) { JB P3.7,SXB16 m$ l1 |4 M; d/ R, o" k5 O/ ~8 o
DJNZ R5,SBB+ |1 D' P8 Z- O ~
DJNZ R4,SBA
# [1 |. x) E" P8 J' E+ [1 t MOV R4,#29 ]1 G8 Q8 q( }! x C U( U
JMP SBC
* g$ O) T( b. @# D' M0 n6 J5 ?SXB1:4 Z* p3 h2 y4 i- N5 a: N5 n
MOV R5,#5
+ a$ @# Y$ x+ j9 K# S8 E4 B7 ?SXB2:
+ a5 e4 g9 i1 A JNB P3.7,SBB/ ~/ r8 t$ I+ s% t0 e
DJNZ R5,SXB2
5 o1 X- R2 c: M) d. x JMP START7 U o+ i7 _( T. N- c
SBC:3 W( q3 V# |5 U# J. J/ G) I$ M
MOV R5,#250- M& P3 Y n1 _% k$ n
SB1:+ U& y) {; L- z& L4 }! a! |
JB P3.7,SB2
" [$ B. Q5 j; O, m D/ |1 j$ t DJNZ R5,SB1+ M/ f! G! K5 o( h
DJNZ R4,SBC
+ \& K+ o+ b8 H3 V/ y JMP START' n: m( q$ L, y+ E
SB2:
5 i5 M* @( ?: k" b, b+ H/ ] MOV R5,#56 n! O' i- ?: l$ m! t
SB2_A:
2 ^4 o) p9 r* K$ W( q JNB P3.7,SB1
' g9 e* i4 U e( \ DJNZ R5,SB2_A& C0 x1 s8 |+ J; T6 \" A1 ^. f
MOV R4,#3
, S3 X b$ D! C7 K7 tSB2_1:+ c& K1 Y. N+ o" P3 h, g
MOV R5,#2508 Z. M5 W% V e% U; `# l; U: _
SB3:
( S0 B2 c9 C% R( _: s; ` JNB P3.7,SXC
5 {9 H3 N' \3 x& y& d& {- d3 | DJNZ R5,SB3: s& D+ @' W2 u3 }, i7 I
DJNZ R4,SB2_1
2 a& Q! h# k1 M5 `& r7 M% Y MOV R4,#2
p2 X) t' R3 x& O JMP SB3_1
" s- ? z- F9 H6 S/ @SXC: 0 W" P$ ~% G1 B: B2 t7 U p v
MOV R5,#5
8 W$ w Y0 r7 t4 ]SXC1:& R8 U* m! G* y; B1 v5 ?5 f
JB P3.7,SB3! }! R0 K, I- p
DJNZ R5,SXC1' V f2 \7 a% O8 X$ t9 U! V- x
JMP START
: T% l) s) \9 HSB3_1:
+ X1 L$ }# Y u0 Y: S4 w4 l% U3 S0 m MOV R5,#250# i2 k# d+ w) @' A7 m' d4 t
SB3_2:, O: @$ N9 l$ b y+ W- B/ y5 T
JNB P3.7,SB4
- G+ E- H3 C2 l8 { DJNZ R5,SB3_2
, f3 h, B3 v$ I! h* U5 w DJNZ R4,SB3_18 X, | i# N" B, p& m" Z' J
JMP START. M4 _1 i8 L6 g+ J- O/ W& \
SB4:
6 ]. o! V- r# h3 D5 x6 g2 m n MOV R5,#5
1 E# r2 o' [5 Z9 m0 S2 LSB4_1:
4 X. [8 k! N) S; v JB P3.7,SB3_20 \& ^1 O3 h, ], `
DJNZ R5,SB4_1
# l @4 n: A: \5 u: i5 h MOV R1,#1AH 2 \* ` ~( N0 F
MOV R2,#4. v# d5 R2 `$ ]( c: b8 R
PP: MOV R3,#8
: v( p% {; a. t$ n6 {JJJJ:
6 L$ q% S% s$ D- U MOV R5,#250/ B" R" l# E1 w( H; M
JJJJ2:
x9 I! e: T, O, m5 n JB P3.7,JJJJ30 O- J" P3 y6 d
DJNZ R5,JJJJ2/ |( [6 S3 h) M3 J) U
JMP START
, t- m, L+ F \+ s V* \: y6 JJJJJ3:
( S2 U& p. I) v' y' c- K) K LCALL YS1
/ x8 W$ C9 T3 r3 _2 `! @/ V- b' P MOV C,P3.7
; J( {0 v' k' n; C: X% G& S JNC UUU + Y. L, v8 S3 w, \0 M
MOV R5,#250
$ U/ G& z% J1 k9 n* N0 D/ r$ m7 AJJJJ4:+ m8 l# J" p# G* [' D( x6 U
JNB P3.7,UUU
! t7 g1 q- L) I! l$ `8 a& h+ G( G NOP
# C1 _6 s b0 X) j DJNZ R5,JJJJ4
8 w: `- w+ @; a+ \8 Z7 \6 u JMP START- x5 L: e0 h) Y
UUU: MOV A,@R1 / i% y. j7 _8 ~
RRC A
* r8 g. Y9 P- c1 h: ?. f MOV @R1,A ) ~% B; B F% _
DJNZ R3,JJJJ * i; y0 L0 ~& s2 p0 i
INC R1
2 G3 ]! e; w1 ~9 G. A Z7 w DJNZ R2,PP 5 I% \9 ^) `' h3 j
/ S3 ] B) y" j# w* A& W MOV A,1AH
$ t' f- e# O# O/ O XRL A,#11101110B
) w6 z8 }/ p7 q7 f9 o# s1 g2 T. c JNZ EXIT
# P4 {/ |8 k. Q* x MOV A,1BH
/ m4 b1 G9 g$ G2 | ]6 M4 ^# Z XRL A,#10000111B
; O2 m2 N7 d0 i5 Z JNZ EXIT 7 @ m# p/ z3 z4 O
LCALL YS3) e. Z, b. F9 L8 h; B# h
MOV A,1DH
6 I( n; L9 g# V- i$ Y. X# y CJNE A,#10111100B,EXIT2 f6 @/ K* M8 W& a( `
LCALL YS3
- s2 q1 O& o: A/ g o* e9 Z) { CLR P2.6
- z0 |; X6 `1 A3 S: w" Q1 e AJMP BIJIAO2 u5 P* Q' L7 R5 j) X/ S
. T: Y7 ]6 W/ b2 B# P: S( dAA:
: q5 I9 z- ]: i- L% b MOV R1,#25
) g. ~' Q* i: G! i; b2 c1 Q" p' S, uXX:
; X; @; z- p3 ` ACALL YS2
- m3 |: i( f3 _3 a; ] { JNB P3.7,HH ' X6 z* {. i$ d, z; y
DJNZ R1,XX8 ]6 V. r7 R. |
EXIT: + f6 x! H8 m& m7 M
AJMP START
' G2 r$ ?6 [, Q5 _0 t; ]% v& Z
3 e5 |) Q+ T* [- a7 J4 q5 ZHH:
- x1 D0 ~7 H! [) G, C MOV R6,#42 V, t: P- ^* z5 U2 k' I) @8 `
S: 8 G5 f0 R$ V6 S- C# i
ACALL YS1
/ u7 K$ q% n. a' G5 p0 e0 A& A, f JB P3.7,EXIT ) U4 G$ O) h* w7 M P& C
DJNZ R6, S
" c" m0 J- M3 _ Y JNB P3.7, $ " P2 h: y% b! a: v, T) r6 e
LCALL YS3
; x4 x2 G" E- f( g; x3 g/ |" \2 [0 R AJMP AA
3 f- }' U6 p: U. ]; {BIJIAO:( N+ N/ R. S' X! Z$ q+ R3 j
MOV A,1CH * ^% q; X) i' n4 Y8 n- j
CJNE A,#03H,N1 " N. a$ o& M6 S. A1 h
MOV P0,#7EH
& [3 T3 U# M' r6 E& u' G2 P. V
9 E% n$ K _4 \1 _ ;处理STUDERV录音机控制码
4 @- _' F& z/ w* _N1: - U" L6 `+ ?8 S
CJNE A,#5FH,N2 ;播放键
% ~$ V, `& b8 { v* e3 I5 a MOV DPTR,#REP
( x9 c0 k7 x v; {" n A ACALL SENDA
6 i7 u- H X0 e( s- q* t ACALL YS46 `1 M+ I) U4 a- R+ M5 _
MOV DPTR,#PLY' I! `1 _9 {# K
ACALL SENDA$ k3 h' W4 f/ |( K' O
N2:
a2 b* H4 T8 d4 K( z- j CJNE A,#5CH,N3 ;停止键
1 D# ~, h+ l5 c4 \2 c MOV DPTR,#STP7 P" K4 e. A! e! N$ ^3 R' z
ACALL SENDA
) V8 c* F# f) l$ U9 UN3:
2 B% `. A1 ], V2 }5 M CJNE A,#06H,N4 ;快进键$ \) k9 {' N, t% d+ s
MOV DPTR,#FWD# }1 e2 H, h8 A% R2 K" y& u
ACALL SENDA
1 ~( j6 g% M3 m, qN4:
7 `6 `( G5 D( w' p# z2 t; W9 Z4 k CJNE A,#09H,N5 ;快倒键
1 ]: e" q1 Z$ H, r) [" J) E1 I MOV DPTR,#RWD. Q. W0 F! S# r' P. i8 s- _
ACALL SENDA' m2 a6 X! k+ w1 Z6 }) r3 I
N5:
! j( S9 U4 e2 b! Y5 t% p CJNE A,#0AH,N6 ;置零键
, `1 ]0 v# y; c4 Y- V& B+ f' C, A MOV DPTR,#RTM* {: Q; t5 k- T, Q8 \1 q+ x
ACALL SENDA" X9 q$ N4 o- @
N6:
j( h! K4 F# Z3 \. s; @9 L CJNE A,#0CH,N7 ;定位到零键1 p/ \* `3 z9 E" d0 f* _# h
MOV DPTR,#LZA
1 j: L2 q9 H o) D ACALL SENDA
( X! f9 @; |* Z1 LN7:5 E/ h5 ?" G. v8 |1 W, O/ ]
AJMP AA7 P3 P4 u: @1 T2 V0 m4 R8 }9 {* A
SENDA:; {* [( z4 t2 V' Z/ x
CLR A& N4 |0 [7 r, |3 G: ~
MOVC A,@A+DPTR
3 I; U4 i: g+ s L: f. U( { CJNE A,#'$',SENDB U- {+ ^1 B' e
AJMP SENDC* ]5 q8 @5 @$ }
SENDB:0 c) O6 ]8 t* X$ @) C/ A
MOV SBUF,A
$ Y# O" G$ B X$ H, e JNB TI,$
4 o( p t6 y5 K1 ~5 Z CLR TI) t# q0 ?8 i9 u' C) d3 m8 X& Q
INC DPTR
' H# k& k( [0 t9 d" N. k" L AJMP SENDA
( H9 M: Y" }4 u7 u0 | [8 `4 H9 [SENDC:' [) t, P E% ] n9 K" N
RET
% a1 | ?9 L9 Q
. s' X" w6 W1 R9 T( E* QPLY: db "PLY ",0dh,0ah,'$'
' f; J* R! k* zSTP: db "STP ",0dh,0ah,'$'6 \5 i" L! ?' y! S
FWD: db "FWD ",0dh,0ah,'$'
# m5 J$ G. C# C8 Y% j9 [4 kRWD: db "RWD ",0dh,0ah,'$'
! }9 \; |8 X; w. t4 P: h4 hRTM: db "RTM ",0dh,0ah,'$'
3 Q# R" o/ ?" P$ j1 X; P6 R: R4 tLZA: db "LZA ",0dh,0ah,'$'
4 V9 }4 \& K/ O5 }REP: db "REP F ",0dh,0ah,'$'3 s! w6 K$ y8 c6 L2 [: Y
+ n1 H4 e9 \6 P V2 `
YS1:" S' ?9 h& ?# y; u) j0 s$ J( u
MOV R4,#20; d- s3 R* g& F3 v, e8 Q
D1:
& ~6 E* k" k0 H! S0 b MOV R5,#20
2 L" K" M8 W" t% S DJNZ R5,$
! y& H& g1 k* H( f% j DJNZ R4,D1
% h l P1 t+ j; Q' @ RET
6 G# q) }; m7 B* M; I" T3 E' \( ^' E' a; a
YS2:* k' J0 V, l, J) k0 e6 }9 q) \
MOV R4,#10
, ~0 a% }: t& D/ R! ~6 n* L3 O* kD2:
7 _0 q% {5 |- O# e% L! `: Q7 M MOV R5,#235
6 _% A4 P6 Y% S% H% w DJNZ R5,$( N8 [1 Q, b: t/ Y" s+ K/ V
DJNZ R4,D2
[; z/ K7 O5 j" [* {4 c2 z RET, G% J$ k! ? Y- p9 Z& k
+ U4 P' [/ I( E. }& i
YS3:
" L6 P) h' J& |4 C MOV R4,#2
' |3 S, W9 X3 m% |D3:
) x- U. V. C7 q5 t# \2 j" f* e: p$ Q MOV R5,#248) M& p: T$ Z6 s3 x, J) L0 D+ @* v
DJNZ R5,$; J& r7 ~/ ]7 Z9 R
DJNZ R4,D3, c) N: y& D9 j! [
RET
* l W( ]( f P1 R% p1 V/ M% T
2 r7 B: f, U3 y% Y) PYS4:
, C- d4 w6 X* X- ?7 j MOV R4,#200
1 a1 d) }/ X: y* Y @) `% O1 AD4:
4 `: d/ m7 o( A1 M MOV R5,#248# u7 v& C* O3 {# r; f" J+ n
DJNZ R5,$
( V! I5 N4 l% A7 b DJNZ R4,D32 v0 S8 F; R( h4 `( t/ j6 m/ A# t
RET
0 L- A, A; j u- |% z END P+ h9 A; ~6 D5 s4 R
/ T4 D( ]0 J- w" W有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
% B% S" u1 q% R1 A u8 u8 T. l1 s% c是不是很惬意,嗯!2 R6 {) N) W6 O+ f; _7 U. w
|