赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 6 n* {4 n# r; R7 f8 F
1 V0 \. B: v: L
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。/ M. D* Q' g- P0 u( o
% K- N- X4 E, c) F& ?6 o说明:
9 {& o: }; Y3 W. F7 N2 l1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
7 }0 m- M. _3 X2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;' L. h$ ]+ @8 U: \, F. r+ X( [
N1 ~2 N4 c5 k4 u/ x
一、基本思路" b( U% S: a5 |$ _1 C9 L. Q- w
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。8 c% [0 G% G7 I! F7 f) d5 w) c6 A: I
8 j% z) t0 U; `$ t( R
二、红外遥控器0 u0 t- z$ r- z* v0 m
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
3 U( q, w2 n8 E( Q1 Y$ r; c
9 T& Z! v1 N: P5 s( g6 r好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。, h4 t! R) b$ r' _9 X# }
9 `/ u* e3 T( J
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
' q. a9 M. k: F; @# v7 P
; O$ g8 C6 o. q" c/ q6 {
3 N+ c4 i2 x( o2 Q+ A6 o; S5 d1 W三、红外编码5 U, x; e) P( x: h! |
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。- ]/ ~- W% N$ B. v
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。1 D7 g; L# H7 t# b8 N
后16位为控制码,主要用于实施具体的控制。! T4 B* I5 K6 j8 Y8 w
这16位中高8位和低8位互为反码,以提高可靠度。9 ^" v" h7 p# I3 e+ G& z
7 t4 n ?0 e) a7 U8 Z' x3 S1 f
以播放为例,其编码如下:6 d6 m, p5 m; }9 G
00000000 00000000 01011100 00000000
4 r: |/ l2 L: I" _, p
$ X9 c) }5 J# L: H5 O! h你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。" ?( s4 \2 l* q" j2 R1 I
! t/ N: `, Q( b a% [- E) ?- w* v
四、单片机系统/ S, E" m% }3 z
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
, K$ l9 m% z# _0 x( h ?- F
; i, B* l. }$ J% u- w% `5 o
; m# a2 K$ `) Q* M# T# q电路很简单,功能如下:
* T& h& L* q x6 H0 F: r1、一个AT89S52单片机作为核心;& i2 @% m+ H, \" N
2、一个TL1838为红外接收头直接串行输出数据信号;$ Q# W/ G: @8 a( s( x
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
, n8 C. {& N. Y7 y! D4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。2 F- Z9 H# z {
- D. k p# n/ \* Z
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
# E) [3 f1 h% J8 r
& B+ s" D, d6 q; U! v6 q& U' g6 z8 X* Y. O2 \) f
五、控制软件
% y+ _. A( @5 I+ ?8 {. s' ^控制软件用汇编语言写,源程序如下:
) K& q7 L3 i% f8 K ORG 00H
1 Q, L* G* } ^5 A7 u LJMP MAIN/ Y5 M( h$ s/ H
ORG 30H, ^. s3 ?. O. `: \- D
MAIN:
: H1 T6 ~/ c9 }- F. d H. H/ Q MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)- P9 y, }7 Q, x0 ]# w3 {9 H
MOV TMOD,#22H ;22H* e" k+ P* ?0 x% g& Y# |' G. K7 `# }
MOV SCON,#40H ;40H
+ _' b. `! S% P, B4 O MOV TH1,#0FAH ;F3H" _5 K' j) J* b' N6 M) U2 ?9 v4 j
MOV PCON,#80H4 Q4 E# a8 i1 L3 K+ M2 h$ s
SETB TR1) _. y8 V: W, P5 m
START:
/ H4 U* N1 l% W: ]) A4 c JB P3.7,$ ;遥控信号处理
& H- k- _! U5 Q8 G0 rSB:/ c& }8 i/ O+ O# z
MOV R4,#8
$ F I0 e# ]2 U' w6 C2 ASBA:
% \- S8 y- e# l9 g MOV R5,#250
& t& H5 Y% {, I5 b% g* p" e3 M: |, aSBB:
" p' u4 Y+ n; D) s JB P3.7,SXB1( z% |4 r2 {, L3 V8 n0 `6 Q
DJNZ R5,SBB; M2 c- a1 [# a1 ]9 j C' W
DJNZ R4,SBA
' h2 }( p9 {! h3 w6 U/ h: v MOV R4,#2
* r" W+ J5 Y/ h, C) U) J: i1 n R JMP SBC
% I, [ h J0 K) t! C8 k7 PSXB1:2 Z7 c6 Z# x9 I: z: Z3 E- c
MOV R5,#5
; t4 w# O. G- V. V2 d4 H( jSXB2: S$ J/ [0 J. U& |9 K
JNB P3.7,SBB" H+ ~5 \3 N1 F" N4 E
DJNZ R5,SXB2
$ \, i; p$ V$ \, d- s JMP START
3 ~- @& V2 A6 ^$ u6 I B% T" k* \SBC:0 Q; ]1 R7 U7 l
MOV R5,#2508 J! j) j1 c3 m9 P7 M# j8 W
SB1:
, E: f* j- T' j% S! C! s+ ?7 M JB P3.7,SB2
1 C1 T9 d8 a( w4 f' b2 ?: r5 s DJNZ R5,SB1
- B) G' y- Y. u7 U- V% W+ R DJNZ R4,SBC
4 E% T+ C" m5 [ JMP START
9 p" H$ Y' C' W1 \! z) N4 e$ `SB2:
: m$ r! `, L) h. j# J3 h& q MOV R5,#5
2 Z2 k$ X: _$ V3 ESB2_A:
% d' k4 E8 Z% I& D- D JNB P3.7,SB1* g: o; \% [- }7 F' u
DJNZ R5,SB2_A$ ^4 i: X- k* r P
MOV R4,#33 \7 V/ C" K2 p, f( w0 V
SB2_1:
e4 V( n" C7 m) u2 `" V3 [ MOV R5,#250
h3 D7 D `' R% H$ h* p' t( T% RSB3: % [# l, ^3 Y( G; A u
JNB P3.7,SXC Y, K% q9 O1 V7 _* u w
DJNZ R5,SB3; Z$ E3 j Y4 s8 n' c/ E9 T
DJNZ R4,SB2_1
9 M# u V% ^5 Y9 w& R) G MOV R4,#21 R" m' |& }: }- H3 q4 Y7 c
JMP SB3_13 |5 _+ J5 L7 G' J6 s0 y' c
SXC: : L+ C+ L+ [. ~$ \" T4 o
MOV R5,#50 H3 G ?2 R. E( n" U {$ D- r
SXC1:
' h q3 r9 T2 k% X JB P3.7,SB3
( T. G7 l3 k- m( u7 }& y DJNZ R5,SXC1: ~ K& l! m& b; o5 f; m! r1 R
JMP START
' y, H' }" I- z9 y6 e: LSB3_1:
6 j( ~2 ~8 l0 G3 w, [ MOV R5,#250: N$ f' M: q6 h) s" X( a
SB3_2:% D& _) ]' _& k Q# [
JNB P3.7,SB47 B; d+ D6 o& s5 s
DJNZ R5,SB3_27 j9 L9 `6 R- ~0 F: Q( L) W
DJNZ R4,SB3_12 r* J5 i" P; F$ g! C
JMP START% V5 _1 h6 K* ?8 D/ K
SB4:
, t7 P( A5 F* o! z; [ MOV R5,#5
3 B9 r4 P: ~+ s& c) ZSB4_1:; Z8 \2 q! [! H: {* _
JB P3.7,SB3_22 d: [0 ^- e# ^% U! f
DJNZ R5,SB4_1! v7 ?( ^8 _. o6 l6 e
MOV R1,#1AH 0 e! M% h+ U1 d! D3 i
MOV R2,#48 V2 P+ I" i$ h/ t) x) v
PP: MOV R3,#8
s- s# O1 G! F u! x! p/ ^% z: rJJJJ:$ r: y' N: Y4 o' n0 _1 O& m! t
MOV R5,#2508 t9 e# j9 T: `* F; z% U
JJJJ2:
) V8 w! F$ W; L' i! Q JB P3.7,JJJJ3) m; H2 g0 l0 X1 r6 R1 e
DJNZ R5,JJJJ2/ @: J5 {4 H6 }$ F5 i/ j
JMP START; K6 T, Z! j7 I& h! d& }# [/ d- h
JJJJ3: V' t3 a/ y' {8 M& `' h$ D, t
LCALL YS1
5 P3 A( R h3 o: a* C7 h% m" g# R! J MOV C,P3.7
5 ~9 \/ y/ L3 p" o: r JNC UUU ( x' M+ x+ h6 h2 t
MOV R5,#250
3 H5 |4 N& L) }$ p* \JJJJ4:
2 F7 O+ ?8 `$ D+ S0 f8 i$ [ JNB P3.7,UUU
% j7 i) _2 k. }" J U/ ^- @( [6 R NOP: T) k& x% O; @! }8 F3 A
DJNZ R5,JJJJ4
$ |% P) `- h& @5 u JMP START1 G8 z9 M" s9 J7 @' S
UUU: MOV A,@R1 # @: A" A5 e, r% |. G3 J
RRC A 8 }: g3 S3 t3 O$ G7 w; B
MOV @R1,A : F* k; o+ W5 B+ E! n y9 h: J
DJNZ R3,JJJJ
6 |! ~, g7 T W9 A* r& D INC R1 $ p3 X8 P: Z- l7 D1 A
DJNZ R2,PP ! c/ R6 Q9 |. r- D' w& I" P
% i I. G% T1 [0 w7 ?0 T/ q MOV A,1AH
0 E' A6 g/ P& M$ T XRL A,#11101110B$ g& |% | x, x q
JNZ EXIT
* ]8 b! I0 I& `5 y2 I5 S1 U& @ MOV A,1BH
5 E$ b* P- i7 r XRL A,#10000111B
; Q, |# f: ~# I q, M# ? JNZ EXIT % {5 ~& ^7 ?7 d* D0 K) n& O
LCALL YS37 ]5 p* p7 z+ z
MOV A,1DH
: u+ q( G$ v, |4 c' v3 w! E1 J3 s CJNE A,#10111100B,EXIT9 N7 `+ B5 g5 T/ c& M
LCALL YS3% b. D9 [" l4 O
CLR P2.6 ! t, ` Q& `3 L0 ?
AJMP BIJIAO* T4 D8 E9 O/ C% L" n, p, U
0 ` `* @& H+ h+ Q
AA:
+ D& ?. b: r* R- u* D9 c MOV R1,#25; s, \) N" h! d9 H# E6 T
XX:
* A. Q$ J" O$ I4 Z ACALL YS2" [- k% e3 X" J7 @2 R
JNB P3.7,HH 9 T* C0 w+ R$ n- ]0 L+ ~
DJNZ R1,XX# ` N* G1 q! k; [$ s0 |
EXIT: 4 E. l, p# \2 P, h2 a# C. @
AJMP START
) u6 |: ]2 R5 D7 j
6 z! ~+ w$ Q9 K0 w, }, wHH:6 J- F l8 Y- \
MOV R6,#4" B: K, c9 Q0 r8 c6 Y( }0 d) R
S: 7 T" ~& B4 |. E) x' d4 X
ACALL YS1 ) V' \8 p9 D7 J# X- Q
JB P3.7,EXIT # N1 n$ `+ k4 x. Q6 w- K6 Y
DJNZ R6, S
& P' v5 |7 `5 L: _. R JNB P3.7, $
4 f3 L7 \9 j$ T# Q8 z LCALL YS3
6 p( l- |3 [" B8 K1 p AJMP AA
* a' ^% t, f; F( f r9 {$ R' LBIJIAO:7 d/ y6 _( C, O
MOV A,1CH 8 x2 ~9 X1 `- e" c
CJNE A,#03H,N1
% W* p, p9 s3 A' Z3 f MOV P0,#7EH
7 H8 ^) t4 v5 Q + ?- r9 N8 O5 N& Z! x9 A
;处理STUDERV录音机控制码& H! D/ v+ { z* w4 q
N1: 5 _6 w. T7 l" y
CJNE A,#5FH,N2 ;播放键7 z" }) V! \3 u" q* ~3 j) J/ l
MOV DPTR,#REP
) \. [& L, k; j: @ ACALL SENDA
/ |7 Y0 ]( r! a/ L ACALL YS4! l4 x0 k7 k; u$ C7 x- ^* t( j7 `
MOV DPTR,#PLY
" d- e) d$ y" A* P2 v! Z& T9 o ACALL SENDA
! l5 A& u8 q7 E5 P3 hN2:% i0 y/ l3 D- l& V1 |& `
CJNE A,#5CH,N3 ;停止键
; M/ O+ b/ }: @- V! ` MOV DPTR,#STP
2 G6 ?! C% v4 {: E9 R ACALL SENDA2 ?0 ]) m+ B. j9 u1 G; Y
N3:
) h0 l b6 k7 ]9 }6 C CJNE A,#06H,N4 ;快进键4 Y0 V( M% o4 o6 x
MOV DPTR,#FWD H& G% c3 p" {. n0 e' @0 E+ [% k
ACALL SENDA; [8 A- A9 N# |" O2 ?
N4:
. d1 T; X, ?; S- n2 ]% w CJNE A,#09H,N5 ;快倒键$ _& V [$ g, G
MOV DPTR,#RWD* o. F9 B+ U+ n" Z0 B
ACALL SENDA' _ Y# M: ^* D5 V0 H& m
N5:
5 k$ N' G8 c" _5 L CJNE A,#0AH,N6 ;置零键/ K1 t: X* T1 n' W5 f% x
MOV DPTR,#RTM
0 H R2 R0 f6 P6 |( G4 r ACALL SENDA
9 t: _! \* H6 O g3 _- nN6:: A8 F* T, L9 ~6 ^+ _
CJNE A,#0CH,N7 ;定位到零键
2 g W( t7 R7 A5 T6 ]$ b- s5 R' X" n MOV DPTR,#LZA! x9 y( y; V4 \- v- `5 L6 _8 C
ACALL SENDA
! [; s( ^4 w. E" o, d _N7:
5 K# M! @& y. @/ `: t AJMP AA
) e8 @, t i8 {. T' VSENDA:
# M$ E' j: y% }. z CLR A
) c2 r) N# J/ A/ F1 Z MOVC A,@A+DPTR
& Z% \' y$ I b( O8 d CJNE A,#'$',SENDB
+ ?+ f0 `2 v0 V' e- c, _' Z AJMP SENDC
6 f" B) Q! N' h4 W* _) ~SENDB:
6 Q/ P4 S7 n3 l" Y# m+ b9 a; X MOV SBUF,A/ Z& k. G# x+ D+ g: s
JNB TI,$
7 L* q- }2 S" s9 V. L" @: c9 K CLR TI
8 a, M" j( x W* X INC DPTR2 S# ~* i" Z) ]9 z, J( d+ w
AJMP SENDA* _/ E% G5 e$ s9 `4 ^ R5 L
SENDC:
- E$ T. _$ P% z RET. p) L8 G7 [$ ~- A$ f0 A) i( g
- z4 t! D8 k2 N' i6 n6 T" ^. }: i
PLY: db "PLY ",0dh,0ah,'$'
: w. S" C7 b3 H1 S5 E! f' DSTP: db "STP ",0dh,0ah,'$'
; H7 `/ j5 S* Y# @: ^4 hFWD: db "FWD ",0dh,0ah,'$'( l7 Y& D4 ?% h5 y
RWD: db "RWD ",0dh,0ah,'$'$ v6 A8 ~! z" R% p; W
RTM: db "RTM ",0dh,0ah,'$'
' K& g$ I2 ^. N) H" X( i' h4 Q+ V5 lLZA: db "LZA ",0dh,0ah,'$'
8 y6 t B7 E0 c$ |# w9 l3 {REP: db "REP F ",0dh,0ah,'$'
8 `% [: i- d' z d" K8 Q& p9 D2 Z- q
6 w* ^, @& v4 R3 P( YYS1:) ~' r- W1 l5 A3 c$ }$ ^# F
MOV R4,#20
' Q4 o' D0 `5 H& @$ D8 W6 t$ }D1:% A3 [0 q% ^( \
MOV R5,#20
7 P& O) `. o9 ]3 h DJNZ R5,$
! [6 B6 m$ ~# Z- F }/ O( k DJNZ R4,D1
3 z: w7 {+ n8 l6 v6 ]0 O2 b# L" r3 r RET, ?4 _$ J) @. a$ s( u6 {
% c( h7 `: G; \# x" U) C9 \) q& dYS2:
/ ]5 [6 r( B9 J MOV R4,#10
8 q1 {6 Z3 U+ M2 `" U9 Q8 |$ }( KD2:
7 V. @# b9 c' s& D. q. m* ^ MOV R5,#235
8 t/ Q; O" y: B8 ?* D: x, m. d DJNZ R5,$7 l! r% H& |) ^( H: ~& n7 F
DJNZ R4,D2
' @7 g3 {' i0 w* j; B RET
% _; q/ b: U/ d, g+ Y7 A! n0 w; k5 B+ s
YS3:
M! R3 `4 V% L, E+ k# ^( k MOV R4,#28 E% S b6 V/ C/ c
D3:
' H" p: e9 x! V) ]- U% ?# B MOV R5,#248
7 A6 b0 u3 C6 Q5 @# z DJNZ R5,$
4 {# u; ~6 d" q$ y4 `/ K DJNZ R4,D30 j5 p1 L' A/ v Q6 c% ~* z* F! f. ~1 m
RET
, t0 ^1 I/ f$ x2 y
4 B% s& q3 `! t! {2 v9 AYS4:) i$ w* R! Q- Y( [
MOV R4,#200
" R% `: h) F4 W1 v' |+ V: nD4:
9 O) p# x& N! M. n5 V, h' m) E MOV R5,#248) _/ ^7 N# b1 }" Y! `8 C
DJNZ R5,$
2 F7 V' Q5 Z/ q DJNZ R4,D39 |& R% o2 x0 _ W
RET
9 o4 F/ H6 b8 w" v& J END
; a* }, t# [9 X' k+ i* N) r; k& l i+ r y% S9 l( l' u2 k! y4 w( Y
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。) _6 r: D, l! Q% k, J4 G3 i
是不是很惬意,嗯!+ a1 _: q& M0 r2 m4 G
|