赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
4 \2 B1 _( F1 h, L8 p: ~" U# t* P; i9 B/ y; O+ u9 V
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。& w0 c" S. e# R: w4 w% T9 ^4 Z
# \- ~7 \& h; A, I. l( S2 Y说明:
. w8 C1 c7 w9 P, M1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
0 v/ A+ k, l9 o* s1 v4 u2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
% G" Q0 d; j' G& G$ m% G* L1 \
) b8 K& _ w; _) a) b一、基本思路
- z& h* A |7 j' N; s使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
O+ X% G8 f% ^: T. u3 c! n: y3 t& y$ H1 c' p6 W
二、红外遥控器/ @ y) V4 U3 p/ L& } }7 y1 L1 E
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。9 K5 t* p# k, ^. n* J; @: w
6 e: x$ u; J$ A" F- ]: v% L b好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
- ^8 ^! c& u+ Z0 m9 Q- s" n: ?% \
3 z5 a9 L0 m3 g, g9 |: Y* a在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
; s" [ o& ]' K+ l/ d2 A7 Y
; G+ e( e" n& ]1 V
" K, B9 e& q& u" \5 |
三、红外编码. \. L& e I& z. \/ m/ R
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( G# n1 S; G3 [7 y" z- _
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
! u) z( @: A; p5 `- I; ]5 P* ?6 A后16位为控制码,主要用于实施具体的控制。
5 p9 G' u& N# N0 b) d7 q, s这16位中高8位和低8位互为反码,以提高可靠度。0 y h# o' U9 @6 i3 X
: A+ m( |( E! x: z0 X8 o! x+ F! z. W以播放为例,其编码如下:( m# b" e N- k+ c8 r8 H( K
00000000 00000000 01011100 00000000
6 z, F0 O) o V g) b G2 L# m$ x* g% S
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
4 e% q' J1 h' M0 Z9 ?1 c) }5 d1 X; E* a7 e5 _' X) L
四、单片机系统
: g0 L2 ? j7 K这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。1 `! b1 F& o* q% }& T6 ?* w
1 M! l7 Q7 G$ n2 ?1 {5 I
2 q: S" s# }- `) P5 g$ r+ `+ E5 _电路很简单,功能如下:
7 Y; K8 b! a8 r- [5 G1、一个AT89S52单片机作为核心;4 Q: V0 y( ?# c
2、一个TL1838为红外接收头直接串行输出数据信号;, \9 ^8 z4 u& E/ j
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
! b+ ?/ L' ]2 X$ J4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
v; T6 W+ Y: a : p/ k3 T4 F! Z. Y! ]
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
8 \7 ~' Z9 }# D) b z
7 j8 t Q/ ?6 h8 j8 Q2 x: M- G
% ]7 X' h; |: C五、控制软件
4 e; \/ N# b0 u9 @控制软件用汇编语言写,源程序如下:
* `: F% i/ Q7 H, H" q6 X7 S ORG 00H
) u: M. X* P2 {! ]: J LJMP MAIN
) c9 H2 [) I. q ORG 30H
) Z9 x' f2 w0 `MAIN:
& s& I+ \% z" f+ z3 F MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)$ d: K$ V; [4 S1 p% L3 J5 Y; w' d
MOV TMOD,#22H ;22H1 ]. G- [9 y C4 C2 i- x
MOV SCON,#40H ;40H' U4 y9 ~- c, A- s6 e+ t
MOV TH1,#0FAH ;F3H- D! L/ {5 h) n& Z0 B
MOV PCON,#80H- V0 S$ p& n$ H( R
SETB TR1& v& j9 v- V( _5 u" h3 v
START:+ H0 S8 x: L) y7 U; |
JB P3.7,$ ;遥控信号处理
& y$ U4 W3 u. J3 t1 Z4 B' oSB:+ ]' l5 {1 a0 A' Q$ n. t& ]! ^' W
MOV R4,#8
5 I; X0 j. B: f, BSBA:. e$ q* t( N4 S/ _6 R, Y5 e
MOV R5,#250
; H2 Q( p8 a; y" O# \& ]2 s: }SBB:
9 n6 R F! b9 `4 J! c# Z& @ JB P3.7,SXB1- V0 p5 y+ S5 d% e
DJNZ R5,SBB- q4 K# l& X# `! \; W) L5 Z
DJNZ R4,SBA! L) U( V0 `( h- I9 _: D2 E9 o
MOV R4,#20 k" _% _' q! T1 D- H& T9 W1 G; _
JMP SBC; ?+ D0 d1 {7 M( j3 ~6 H
SXB1:
) Y5 q+ z6 U ~0 q; B MOV R5,#5
* b% q* h: q9 H. wSXB2: l+ Y7 d: [. F
JNB P3.7,SBB
5 j" x& ^5 G% g7 {, ~4 D# g DJNZ R5,SXB2. w" F. R! i7 e) ?5 `4 D
JMP START
, z3 Z6 U% V( N( ~5 ISBC:4 |8 a( S/ l% t+ C
MOV R5,#250" u4 @2 u/ D" U) Q; C9 b8 Y+ `
SB1:
6 O# J, d2 f5 V$ {' C' l; x JB P3.7,SB2 7 O2 S$ n0 Z, ?4 S: Z( q) ?
DJNZ R5,SB1
( O6 R6 s$ c5 M) X I DJNZ R4,SBC
; i. j) p2 l, ?0 U JMP START5 ~6 R1 M/ Q. ~5 T( b! `% L# P
SB2: ' q+ N9 m2 _$ d! b, E7 ^; M
MOV R5,#5
; ]0 x( B$ V3 |# x5 ]! h$ N$ ~SB2_A:
8 j. T) o$ k# v- T" G JNB P3.7,SB1
0 j* v8 X% F3 y3 e% K DJNZ R5,SB2_A
4 U) y' ]* B7 `" C6 C( {5 Z& p8 k MOV R4,#3
7 {- |/ H8 c0 V$ x; U+ VSB2_1:
% [2 X3 N- s) v! N8 L MOV R5,#2508 A1 Y8 m0 b* m( V( o6 _' S* \
SB3:
- h5 s w- ~* ]3 S JNB P3.7,SXC. }8 h" l8 ^4 u2 U. p2 Q6 y
DJNZ R5,SB3
: j. I; W. j/ @! y) [ DJNZ R4,SB2_1
: l8 Z$ S% u4 y" | MOV R4,#2
3 v, f" T/ Q" X4 B8 v JMP SB3_1
) Y! x5 K( [0 x+ k3 D' M; }1 xSXC:
9 g9 ?- \3 y) T! J- P3 L MOV R5,#5
/ i* k N3 I6 H4 Y- G+ v8 mSXC1:
4 W: r6 i) C/ { JB P3.7,SB3
! p% S' Z2 o/ w4 N3 W DJNZ R5,SXC14 z' @4 o/ v0 ^. Q
JMP START# w! v( ?9 U* v4 [& r
SB3_1:
* h; S; O1 R+ f8 Y. ?$ n- g MOV R5,#250
# q+ o! f, A }" i5 E: dSB3_2:
0 ?7 D! i0 [3 u3 Z! E3 \& u' q% u JNB P3.7,SB4
3 I- d/ _; z; Q' N DJNZ R5,SB3_24 W4 u* C" t7 [$ C
DJNZ R4,SB3_1
& H9 M1 p" T1 K5 _ g* { JMP START
' z* ?/ P7 s( eSB4:
5 j4 Z/ W, v5 ~" o MOV R5,#5. `% V; b- k! K+ s5 }8 ?% ~0 ^
SB4_1:
' N0 f: @7 S! }1 @- ?$ T JB P3.7,SB3_2* f/ v1 B, ]7 T4 a! u
DJNZ R5,SB4_12 z+ `3 @9 q& ~ I% B, ]
MOV R1,#1AH
: w4 R$ a8 u, \' e MOV R2,#4
6 Z7 T4 |. O$ W/ q8 E2 W/ N3 EPP: MOV R3,#8
8 P7 V1 |- s* p- B& _. ~* vJJJJ:! F* _5 y J1 ? ^3 @$ E" L( r
MOV R5,#250
! T$ B8 q8 x( ^* Z# HJJJJ2: 3 O4 B r: V- c2 r1 r5 G2 e
JB P3.7,JJJJ3
. X4 O3 _5 a8 @ DJNZ R5,JJJJ2
" ^$ t! ^; D3 J# \9 H JMP START
, d0 s: V( m( ?+ H. N# I( F) sJJJJ3:
! A' x, p1 J% J$ n LCALL YS1 4 X+ _! F3 ~* l6 B
MOV C,P3.7 $ E0 }* ?; f# {! `9 ~% q
JNC UUU / S2 A \) K' }2 W
MOV R5,#250
+ ~7 M) ~, |" s+ y8 O: w! W0 `2 b$ HJJJJ4:
- r4 W: r$ R+ [' M6 l JNB P3.7,UUU5 d3 M3 b0 V+ w# y# S1 U
NOP" K2 g* ^9 h p! |/ v. r' n1 L
DJNZ R5,JJJJ4
' S9 M5 @& U* t7 f/ a+ A+ {; H [1 p JMP START0 C! S+ a2 C: P
UUU: MOV A,@R1
& v2 a. V- Y' t& {3 N RRC A
/ k4 h T6 W% q MOV @R1,A
; I/ L; W7 ^- `; U; y DJNZ R3,JJJJ ; x& {/ l3 u4 v7 b( P7 d3 ^
INC R1
7 R( X. ?( N2 ^3 n, [8 ]% p4 l4 X" n DJNZ R2,PP ' W7 W. v5 n) E. l& M3 {2 Y7 i
+ c% h/ g2 Y9 w( F8 R+ ~ MOV A,1AH 6 ?2 E8 j; W1 x- r
XRL A,#11101110B
; T& Y$ }4 g0 [1 N# W JNZ EXIT
3 |: z5 L8 m4 l' F h/ Z MOV A,1BH
- A; q8 H( J/ @) x XRL A,#10000111B4 ?. p/ W2 j& W
JNZ EXIT
: A" L. a; k% r5 m LCALL YS3
& R: v: N* x% {/ o0 K9 [ MOV A,1DH : d/ P1 s3 |/ Y
CJNE A,#10111100B,EXIT
+ Q6 a# [0 P% X( s0 u6 ^5 n" E9 Q LCALL YS3
0 F; q8 U" m& j CLR P2.6
- w, t4 f( Q8 Q% P5 f& y( L AJMP BIJIAO' V0 _1 v8 p+ h
6 w s8 e; ?$ l; ^* ^AA:
7 c, e% }( M3 [ r1 o5 ]( u( {3 M MOV R1,#25
- n( M- T! z% D; aXX: ( q# a) G9 `5 N: M% L: J1 J
ACALL YS2' G. u _2 H7 R
JNB P3.7,HH
3 ?+ A: s1 H5 o' ^* x DJNZ R1,XX
* Z$ K6 Z; R* k+ ]( M, G* ` Z8 SEXIT: # C0 H$ x0 I. ?8 @1 c
AJMP START
2 f( ]$ y9 h$ F: F1 j" M8 s 8 R, y+ @2 v% ~( W1 r
HH:
7 P7 L. R; ?. ]1 y! E2 m9 C' o MOV R6,#4
; Z* J d4 u% gS:
8 n5 p* G& r" H ACALL YS1 / s7 S' e) c7 \, z: O
JB P3.7,EXIT
6 L0 k. P4 M6 ^ m: n$ B DJNZ R6, S
+ R" I2 _7 p# D; i [/ A JNB P3.7, $ # w; _( q" Z8 H- z# z# d1 @
LCALL YS33 f4 y2 D0 p* h/ p! ~1 m- S
AJMP AA
! I' u$ c) o, y/ l+ n3 O cBIJIAO:
0 k! g0 g* R4 v6 c- t3 _ MOV A,1CH $ b( W/ C% v0 D: W+ V& E
CJNE A,#03H,N1
4 L t( x. a# y0 H! |3 x! c MOV P0,#7EH
& b) |& q4 p$ i' ]& X ' \$ l' L" d H0 s- _, p7 @# M: z( p
;处理STUDERV录音机控制码, e* U7 u% U* J* E! e8 d& d; r
N1: ! E! X# @( x7 U' I: L
CJNE A,#5FH,N2 ;播放键
! g" e. v7 ]" }) s+ `6 Y MOV DPTR,#REP1 I- p! l+ V3 v9 A; l
ACALL SENDA
, o+ I% f+ _% w2 ~ ACALL YS4
/ l+ z/ J [' w3 z u8 o MOV DPTR,#PLY
$ e8 r. o$ X. W+ J# @- T ACALL SENDA6 t5 Z3 [6 [9 s! }/ U
N2:3 i/ `6 R: l1 c( M9 q. [% F% P$ }
CJNE A,#5CH,N3 ;停止键
5 _7 s5 E% O5 J& i: u$ Z MOV DPTR,#STP. e$ C5 A% D4 d; n# B0 z
ACALL SENDA
( j( W5 n" E% n5 DN3:6 A) S) e$ g5 @% j2 u: Z: D7 R
CJNE A,#06H,N4 ;快进键
) F/ B. ^/ I$ E: F+ w MOV DPTR,#FWD8 {/ N3 x8 D# E& e
ACALL SENDA/ O, _8 w0 z5 A. d8 M1 K/ }1 {! a
N4:
9 i: q9 T7 H( g# E8 p3 n& q* @6 x CJNE A,#09H,N5 ;快倒键4 S3 v6 D7 k; @
MOV DPTR,#RWD
/ i2 C- A' p. _/ f: I ACALL SENDA% X! h; M! g) v' C8 Z) S! ? d
N5:2 O" i: [7 L) C% W% T6 l4 y
CJNE A,#0AH,N6 ;置零键; u3 z1 W5 z0 r4 L6 ^
MOV DPTR,#RTM* R' c8 {- Y8 Y( {+ P
ACALL SENDA
) J8 ?$ r! N1 r5 e8 b' hN6:
1 D* E. j5 C1 {- k( @8 r7 W( @) f CJNE A,#0CH,N7 ;定位到零键
3 v6 \% }" Z& z! ~2 ^ MOV DPTR,#LZA3 X# ~: m. D+ n1 W! `
ACALL SENDA5 [1 J7 Z9 j3 Q! e
N7:
6 \: z i* [, N3 }6 B AJMP AA2 H$ Q6 ]3 L' {5 M" Z3 s/ x
SENDA:
% J% J% p) \0 y; B9 y E CLR A
1 x+ x3 O) n% c+ b$ V MOVC A,@A+DPTR
9 P! B7 j4 v6 ~! t. Z CJNE A,#'$',SENDB5 A5 O5 Q& }6 Y, t( @
AJMP SENDC# v3 ^8 ?3 `9 L! X/ {
SENDB:1 w/ t: G) t+ q; P9 K7 u9 [3 n5 |
MOV SBUF,A0 m% h f+ J, q) c% S, G* V% p( j9 {
JNB TI,$
8 Z8 S) A, _4 u CLR TI# Z1 {' b% I; Y7 G
INC DPTR7 }- F5 @' G& u: T
AJMP SENDA
9 S' h9 i) J8 X ~ p7 ySENDC:
5 |' C5 c- C: w0 Q" W x RET" B9 d5 H# b! p, G8 d/ ^
P8 M; K/ H8 `& D
PLY: db "PLY ",0dh,0ah,'$'
0 w8 Y7 p& F2 L6 K5 m! r2 {STP: db "STP ",0dh,0ah,'$'5 t5 V! [& p% V. F1 @
FWD: db "FWD ",0dh,0ah,'$'* h. H" C6 x6 `& Z
RWD: db "RWD ",0dh,0ah,'$'
" t# v- }+ Q% Y: D2 FRTM: db "RTM ",0dh,0ah,'$'
# S, R5 n0 p$ n' h" ~+ v3 b+ w oLZA: db "LZA ",0dh,0ah,'$'
2 i4 ^7 k5 _& X0 VREP: db "REP F ",0dh,0ah,'$'
: ]0 n* |- w% u, V4 N% Y1 F8 D7 @& J
: n6 a! D+ B6 r- e: V( U6 j+ J% pYS1:
: w" A5 n% l% H7 K d MOV R4,#20
+ K2 f: u9 Z/ }0 o0 ~ R% w6 a, eD1:/ d V( U, ]$ c& B7 x, Z+ E
MOV R5,#209 M) v7 B4 u0 K+ M# n
DJNZ R5,$, X7 p) E. `2 o; @3 o. d8 c5 ^ l
DJNZ R4,D1
" f8 | C3 V D) b RET9 `- H+ K2 r7 s, |2 J
4 K/ p; G' l* E
YS2:
- G& P6 Z* }/ m1 Q MOV R4,#108 B0 J( h: ]) w% g" d4 e( y
D2:3 g ^, n' x( Y
MOV R5,#2354 U$ M" e, F+ U
DJNZ R5,$, j: ~: Q w- \' ?/ s+ w- a
DJNZ R4,D22 j# a5 p F- y) `' I
RET! O% e( L5 S0 g9 L7 S; B3 F* L4 Y
# |" s3 g4 d4 ^3 g0 M o/ P8 X
YS3:
8 ?8 p7 w; P9 ^" I) _* X$ q. x MOV R4,#2
! P) C* r1 X# `! e4 {; w! vD3:: W% n2 |; ^, p
MOV R5,#248
- I) z* Q! m" k. Q7 ~4 e1 ^0 t3 d DJNZ R5,$
& H2 Y$ f v4 c- q* v! W3 t DJNZ R4,D3
) w2 `3 s' G, S/ | RET! B! S) A! Q2 c! d( L# k; X5 x4 o
* q( ^& y1 E( r
YS4:: I/ `. n9 [5 b- h2 ^
MOV R4,#2001 J; M0 N5 g6 F' E/ p
D4:* ~4 l7 ]5 t1 B+ ~, {! J0 G% ?" \6 H2 t
MOV R5,#248
2 ]# \3 |0 w4 Z! \8 D3 @ DJNZ R5,$
$ [& d# Q& V/ ?6 B, q; K1 y: U DJNZ R4,D3; {+ q( e O, t" q3 K# E3 U
RET' @) c1 g9 l% J) @3 K2 {
END4 O7 @* P# F4 M e( F$ b
& t. O) y9 A; _有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。 t. }. D6 M- p
是不是很惬意,嗯!
/ ?# S% N b" l" ~% J z# t/ } |