赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
, o3 w9 N- t2 J, ~6 P- I3 T( e' s" H2 E
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
& \5 D; m9 x) c7 |, x9 }: x
( _7 @4 d. o! u" x5 d, C* X0 Z: `说明:
& u z; |; G# C0 c- ~1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;. ]( q$ o. b( Z( b1 P) M
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
( f( ~! `$ A* r# M" Q
: @3 y4 z. w( B' S一、基本思路# m2 ~1 z; u- s7 B4 r0 W; e! f
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
& ]# m1 E) K6 u: S& F
?6 c0 s% H- }6 j7 [- n1 A二、红外遥控器& {8 ]: E0 i$ l* J
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
2 M& O$ e8 @& k
$ r4 c2 a# g6 _0 P0 q1 M好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。- M( ^5 Q; @# h
; v. T) W" \8 ^
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:9 _8 p4 } Z! I0 ]0 a$ B4 M2 a
* l2 A0 c7 ]4 [( _+ x
8 S4 `. W: A# f三、红外编码
. E3 z8 h6 x" S红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
1 H) K6 x3 R3 e) x前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
! p1 k g% F: D; B6 v$ d; m后16位为控制码,主要用于实施具体的控制。
% f+ d3 R7 S6 G" y这16位中高8位和低8位互为反码,以提高可靠度。
6 X$ @ g8 u1 C" R3 ]2 l: `
) L6 M% W/ A! F8 h' {: [% p5 g$ Y以播放为例,其编码如下:
N) g& R% C$ k! |& ` T7 p6 y+ o z00000000 00000000 01011100 00000000- Y% P& v4 t4 k1 J7 |/ O2 r9 `7 m
& C2 k$ V g! L9 ^
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
8 s x2 f5 Z2 o. n" l2 A& e0 a2 P9 U8 ~
四、单片机系统
$ C- s; J E7 S7 T0 N" F. l. Z这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
8 r0 v7 A7 q. C$ S1 [
9 r. G) Q5 a. W' p
" R ~- R" m4 y& T: W电路很简单,功能如下:
. ^8 v3 f5 P! Q3 E3 p1、一个AT89S52单片机作为核心;
2 Q" c3 ^' m3 ~) g+ `. q' T2、一个TL1838为红外接收头直接串行输出数据信号;7 P2 V4 h; I5 d; _% d. f; {
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;% |* Z$ d3 ^0 i5 g
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。( f& |& z, l4 ]# X& e" G+ y$ H
+ W4 S4 x7 P" w/ Y/ ]8 S关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。! k* S8 d0 g* ?+ \! R
9 \$ f, w9 m2 J! C. c/ x! ?
- W6 m# Y/ X: z
五、控制软件
& H' j( }* l" J O* L" Q控制软件用汇编语言写,源程序如下:
* h6 Q+ x. J" f9 M3 h ORG 00H" D0 V; S; ]# Y" y4 s, o& ^
LJMP MAIN3 v( E( f% I9 m) p5 W" ?
ORG 30H
% e7 N/ b/ V. P' I; x2 m' O2 IMAIN:4 ]' u; [# k! W* W
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
: ?* L N8 d. Z6 \" Z& C; t: L- l MOV TMOD,#22H ;22H
. C O6 C( `* [6 C3 P6 v MOV SCON,#40H ;40H9 ]8 v! r& r1 g0 Z
MOV TH1,#0FAH ;F3H2 |" U9 o" e R$ Z$ i. j1 z
MOV PCON,#80H
& @- E: B; ?) E# `4 G b SETB TR1
% j' _3 J% h oSTART:
- l2 F8 ~( _. k o( C R" Q2 f. ]' d JB P3.7,$ ;遥控信号处理
1 b' R: Z8 h3 C3 n, D% u# |SB:
. u3 S! ? X4 {7 y; S, J- \ MOV R4,#8 8 ~4 A v7 U8 l2 U& a. G I
SBA:
' D) m8 {& k" ~) ^# p; O MOV R5,#2508 U N h! X j' _: _
SBB:
/ H/ x/ i7 B! Z' M3 N- Z JB P3.7,SXB1
( y3 Z0 l! z/ x! g DJNZ R5,SBB
( ~+ h8 s- U( j* W+ w DJNZ R4,SBA# C0 ~3 F9 ~2 H" @0 y
MOV R4,#2- _7 y% _! w1 E; K
JMP SBC1 k+ S4 G$ K, o, E/ L( l$ Y; O+ D
SXB1:
- q0 a% k5 L) o2 i, w+ |3 g MOV R5,#5
9 ]1 s! W* U% HSXB2:
) a! q9 E( Z. D8 j$ ^! ~ JNB P3.7,SBB1 R* z% T+ Y3 H5 C7 M
DJNZ R5,SXB2
7 h# b( |' K6 G+ d/ z- x8 m JMP START
' u+ _' g2 |; p0 P/ f$ b* P! k6 USBC:
& p' e9 F! v- v4 N9 ?+ ?8 j MOV R5,#250
6 @3 V3 J" C% x8 _+ ]& ~/ QSB1:, @ ^2 d* o9 d' _
JB P3.7,SB2 ( q# |/ m, a0 n, D% b+ d) {
DJNZ R5,SB1! C3 o0 T2 u( k" ~
DJNZ R4,SBC, ~8 ]4 m; `( {& h' V |6 v4 x
JMP START
+ m. j( X7 @9 [1 MSB2: # l- ^! i+ }4 ?
MOV R5,#53 {. ]6 K* e+ @1 v' i w6 e- e" I
SB2_A:$ U, R2 x" `( v
JNB P3.7,SB1
/ X: L( ^+ b1 e% j6 E5 t DJNZ R5,SB2_A
- x4 [" Q8 P! | M' B MOV R4,#3+ L8 k) V4 w- }( _( x, z% e
SB2_1:8 I* H* d9 P# H8 p6 ?: f
MOV R5,#2505 z! `4 ?/ T; i, _( y2 W. x. D1 [. o
SB3: ( \0 k, S* B, R" ] c) J
JNB P3.7,SXC
) S0 N/ r( X7 p DJNZ R5,SB3
. T4 x9 ?* x8 m: l) e4 x7 n DJNZ R4,SB2_1
1 G6 W& C; q4 L2 E- L9 V- a. L! [ MOV R4,#2
% U6 t4 X2 U. Y, `6 G* H JMP SB3_1
3 I1 ~$ ]/ M6 A m6 U1 hSXC:
* u2 c. H- M8 s8 Z+ n MOV R5,#5% ]. A3 b e% a: V6 C
SXC1:0 R1 o I1 ~2 m* ?4 x# Z
JB P3.7,SB3
) m' I6 G8 G U I8 i+ z DJNZ R5,SXC1
- r6 E& q, a( f8 i* L. y9 | [( G JMP START
$ T9 E# R' B- O& H! n" U, q/ u/ s) dSB3_1:
, G' _" X g3 J; G8 l) U) B z MOV R5,#250
$ M! u( V% W9 ?SB3_2:6 R; @1 s* v5 J3 y: g# W6 Q1 z
JNB P3.7,SB4' f3 ?0 s, ^7 M/ [: r
DJNZ R5,SB3_2
. A9 Q8 K8 T, _ DJNZ R4,SB3_1( ]% R2 x5 u l. h
JMP START
- L1 g% f# u2 J6 C* k. pSB4: + ]( O; r z3 n; |/ f
MOV R5,#5
4 j b; N. G0 {9 [" [2 DSB4_1:
' f! K0 G, V$ T+ N+ S. [1 j/ U g JB P3.7,SB3_2
8 ^* y5 n \1 ~. L7 Q+ _4 Q DJNZ R5,SB4_1
- n3 Y' I" Q4 ?- \ MOV R1,#1AH 3 L& G9 F7 z/ D( a" y( n
MOV R2,#4! O, x0 x& f1 y- _
PP: MOV R3,#8
, l7 `- e- }$ U6 Y: @JJJJ: r3 g: V, J8 E3 s' T8 C8 d3 X3 K
MOV R5,#250
( S& @7 x& }) o0 XJJJJ2: ; V: Q" L+ G% @$ }! I& z7 S
JB P3.7,JJJJ3
' ]2 N& `1 Z# P DJNZ R5,JJJJ2, v# p, a. C& p& }
JMP START
4 N' ~+ e* E2 J8 m* aJJJJ3:
2 `6 Y' H- J9 l* g LCALL YS1
$ V- K# W- L: N9 {' l2 |2 R MOV C,P3.7 5 ^# e |5 X; v! H) c, }
JNC UUU * l! ?7 D1 }9 C4 o! D1 C
MOV R5,#250+ l' c) W- L; C0 h# T) E6 }
JJJJ4:
8 A o) \, f! T# x# d3 \! O# L9 F JNB P3.7,UUU
9 o# |! B5 V8 v l: K NOP0 T# W7 U7 }! K2 s" t$ \4 T
DJNZ R5,JJJJ4
3 A8 G' f7 {# ^7 i* [( o9 ?' ^0 E JMP START
; g& W2 K7 o3 D# N' R" t+ C6 vUUU: MOV A,@R1 & t+ t9 u0 l' X+ X; W& T) A
RRC A
+ @& Z( V& I0 B$ [ MOV @R1,A 0 V! I3 Z2 U8 o3 \
DJNZ R3,JJJJ & s' x' g9 d _# l& f! z6 H
INC R1
$ K/ v D, g: }2 _) H( P( n DJNZ R2,PP , D, {, j6 {0 o( Y A
/ w( R/ E* z5 ?+ Q4 U& ? MOV A,1AH 7 x. ~- U, ^& S# d: A
XRL A,#11101110B
9 H4 i* n6 k8 d2 V; _ @ JNZ EXIT # d5 h' a8 Y" n U L
MOV A,1BH - q4 H' w4 @: `: ]; Y+ M) L
XRL A,#10000111B
' Y/ l" g6 U5 P4 m JNZ EXIT
; Q8 X% P1 ]% C! p( s+ Y2 k6 B, W LCALL YS3
8 @; X5 n6 ]' q7 d: q' { MOV A,1DH
+ s* [5 d0 N7 u6 O) m CJNE A,#10111100B,EXIT$ O/ ?4 O3 [, O H9 a
LCALL YS3
, ]$ Y# c B" Z; z CLR P2.6 2 W5 s% p0 |: U b
AJMP BIJIAO
6 N9 }! g- M2 ~/ _9 C
/ M3 I; S P' T+ ~( z8 B3 zAA:
) O( r- I! {* {4 z# L0 B MOV R1,#25- ~0 t/ u, y8 B4 X
XX:
+ j3 t) u, O( f6 {0 @) [ ACALL YS2
$ ~7 {% d5 k W- b# G JNB P3.7,HH , }6 u% P4 C" R/ S" C
DJNZ R1,XX; {) i. S x8 B6 P+ ^( m
EXIT:
- L8 x W- b% c% _* | AJMP START
) H- C' J' O- G* F: Q ) B& j: C7 v6 g) ]
HH:* u) n1 W; o8 ?$ U# E' X. Z& d! j
MOV R6,#4
+ \- U% Y* v9 Q1 gS: 1 I" ]. {- P9 k4 @: K
ACALL YS1 8 R9 s3 D6 V _+ g
JB P3.7,EXIT ( v! \ C& Y' ?1 k
DJNZ R6, S
* B# A0 G, T" V7 f JNB P3.7, $ . u; s5 y1 { a$ m( S3 q
LCALL YS3
1 i5 n2 X0 g+ R+ u AJMP AA
. X( o- s! A3 ?& FBIJIAO:/ ~" M4 _" K2 c
MOV A,1CH
# |7 W# X. _$ k/ p' b+ Y) m CJNE A,#03H,N1 % i& D5 @' j, o4 c4 Z J( [
MOV P0,#7EH / ?3 Q- e5 Q' Y
& R) T. E3 `5 }4 o9 [ ;处理STUDERV录音机控制码! M; y: Y5 l( `6 Z! e% z; T
N1:
/ @' k( X* Q2 u) ~! P, n CJNE A,#5FH,N2 ;播放键8 m$ D- M; |9 i: D: v7 w
MOV DPTR,#REP
$ r& l! d) V7 C: o ACALL SENDA
v* W" C4 ]) v8 ^4 Y, L ACALL YS4; K- F: x5 }! j) |: }/ N- e
MOV DPTR,#PLY
& K+ z6 e% O" G I/ n; l+ t @ ACALL SENDA
, z2 J# u& w1 D. `; r) ~N2:# |' J# p5 g) a- V! _
CJNE A,#5CH,N3 ;停止键) C( W! J3 O* j9 s0 X! j
MOV DPTR,#STP. Y& }% P; P7 G& a. d0 x
ACALL SENDA' `3 x: T6 t* B; Q& U& @; T3 g
N3:! N, V' e3 Q8 H! G( e
CJNE A,#06H,N4 ;快进键
* M$ \; w8 _! A! }% Q8 c- x MOV DPTR,#FWD- c# R* Q! H. T4 R, q/ }
ACALL SENDA D% u8 A, a6 F/ Y$ k" n
N4:" y3 }* q: k' u0 z
CJNE A,#09H,N5 ;快倒键4 s+ V9 d( Y2 \
MOV DPTR,#RWD
1 L+ [ n* D( F. J+ {! L ACALL SENDA
$ p$ Q/ [2 C j7 e% O* P. YN5:
' L% M( [; U4 N' ^( a3 Q5 m2 a1 U CJNE A,#0AH,N6 ;置零键! Q \! @6 V. [5 q
MOV DPTR,#RTM
9 T& K$ f- R7 {+ t ACALL SENDA
: w4 P1 p5 }% I E, r- o" tN6:" B5 ]7 @" y" G2 p' J% Q
CJNE A,#0CH,N7 ;定位到零键
6 @0 }' ?$ p( D) \( ?9 I MOV DPTR,#LZA/ Q8 }/ D! T* S+ e0 U# m$ ]
ACALL SENDA
0 {' z+ z" J3 a9 a) S3 F6 y& xN7:$ l9 R" Y4 { a6 _' D1 X! C
AJMP AA
( T5 u( a. Z6 x |SENDA:
+ r: K7 n5 o8 J: G I CLR A
$ O# z; Z4 E& s! R; W& y MOVC A,@A+DPTR4 _* }+ P* u0 R" K7 k2 M0 h1 i3 x
CJNE A,#'$',SENDB8 G7 e( m4 i1 ]3 w1 E) I
AJMP SENDC
! v1 g' X& U& t- b3 z4 @( ]! j& ASENDB:
) Y, u" m: ]7 X6 r MOV SBUF,A
$ Q3 h0 y6 k, l; G3 N' j JNB TI,$8 C6 c% O0 O) K9 h5 t, s
CLR TI8 M( c# A* v' C
INC DPTR) m( r( b- G" V5 ~3 k8 J
AJMP SENDA, N+ _ y* y+ D5 |# i: G4 |* R- x
SENDC:
$ I) z' |: G0 d. U8 X! u& [* @ RET
! p" N: S( j: F ?7 R6 I# S1 @: f) i: Z6 I0 F" S
PLY: db "PLY ",0dh,0ah,'$'
% e# I3 `& S% Y: T. NSTP: db "STP ",0dh,0ah,'$'6 D9 r) a) _) w4 D9 G" |
FWD: db "FWD ",0dh,0ah,'$'" Q+ ^" K2 M$ G+ G
RWD: db "RWD ",0dh,0ah,'$'
3 s: c, S) r/ P5 Y% ZRTM: db "RTM ",0dh,0ah,'$'' S# _+ X6 A$ l) \ y) U$ g9 d
LZA: db "LZA ",0dh,0ah,'$'9 H" ?9 c1 g1 y. {3 v
REP: db "REP F ",0dh,0ah,'$'
! H7 a7 N, y d5 x- `, l
0 u6 n: f) ~" y4 UYS1:
- w$ h# n/ X8 g4 h/ @ MOV R4,#202 `" y X* v! y
D1:0 ^( c3 a" e: G: K1 i1 e
MOV R5,#20
1 U t0 H5 s: _ D9 @ DJNZ R5,$- w: S. r) ^% r! q* r( V
DJNZ R4,D18 j7 U" b9 t4 D) a* q* V8 V; i4 s9 |
RET
& e) T" r- i0 ^! L! A2 \9 t7 z
! i9 I, A& O8 w9 I/ i0 X7 S, PYS2:7 l. X5 s! s' S Z
MOV R4,#10* J, y8 ^8 S6 T ^* B2 [
D2:
8 L+ C, k; R- j MOV R5,#235
( p' B- w8 W9 |; d. D DJNZ R5,$
! ?+ }$ R$ \2 p3 N: U( ^ DJNZ R4,D2
! U( y& ]5 j5 ~! b5 R RET
2 W) s) \% a) [5 t) j4 J
# G$ e, U+ D) o& p6 DYS3:/ y& l9 g* ~. i/ t
MOV R4,#2
) [+ j" R8 f3 f& ^. ED3:
4 }7 h g. ]7 w2 Z: _( a6 _" C MOV R5,#248
P% {" n1 c6 x4 A2 J; [ DJNZ R5,$
) ?% s$ |4 ?8 @. R0 s8 ~) l DJNZ R4,D3
6 ^2 U& }& y/ s2 ?% R RET
! U) w1 b# }; S; Q* \) L" g8 L: I0 H( B" V) v% \# y" y
YS4:
0 F1 j" \, |8 d2 A MOV R4,#200
+ z# f% }7 d: `3 LD4:
" U3 C4 ?9 R+ J# ^ MOV R5,#2480 Z/ I; e% p! b# F, K2 z
DJNZ R5,$$ W0 Y6 R e' Z* v6 B( ?
DJNZ R4,D3
( a- B. t0 P, ^5 V3 J RET
/ }9 E! {3 s$ F END
7 b0 c2 T* f# N7 l8 \
; h/ |0 U K3 P4 n5 r! u4 Q有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
! m# R. [ [$ s. R: T. y& {& ~是不是很惬意,嗯!
3 w/ }/ l& y; w- L |