|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
$ @, h3 `9 P' H) L l
# e2 L6 W7 ^, w' `4 K本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。( u, t: {. u9 ^& L9 b) s
+ Z, G- I) M+ _! |: U3 a V' d
说明:
0 f6 p/ ?; |" ` ]% d1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;" p9 n% E @6 K2 ]9 v) U' d' T+ ^5 b
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;0 i# q* Y: h7 j8 h; O
, @9 V. j2 K% m+ K$ K) ]0 K! \6 u
一、基本思路 {5 }5 J+ j8 N
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
; Q+ H5 q( I" \9 I0 L( c
2 U9 n6 U6 v# D5 {( c0 @0 M二、红外遥控器: h6 L# x9 Z3 R0 z6 s0 R) p: e- I
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
: b B! @* \6 r
- `3 T5 ^$ e1 Z/ Z
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。
* `& {0 _3 R* ]* u7 f) R
8 \# O: N; ~# o! s% z& \0 ?
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:8 u r' J* u# G
" N" i' ?, H$ l- s" S# g
' w- ~. s- Z4 J三、红外编码- B9 @0 v4 d& y! Q% ]% L3 b7 N
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
4 ?. Y& P% J# W3 r. m6 t2 |" B+ L0 K前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
: f- j/ j/ x: E& x! \5 F后16位为控制码,主要用于实施具体的控制。
6 l' T' U! _7 `9 A, s) ^这16位中高8位和低8位互为反码,以提高可靠度。
) F4 W4 o0 C, s. {6 m5 Q) F7 D) l
以播放为例,其编码如下:
( e: d& T9 R9 Q00000000 00000000 01011100 000000008 r( q% I; {7 }( ~1 K4 `2 |
: d4 |$ } B+ E2 R+ n" i8 t
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
- R5 S' S0 K# X( u; [
! A. z' O8 M$ F2 F. t% U# m四、单片机系统
9 Z: C8 J( U* x4 V/ }. K+ V: ~) l( v这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
4 H8 e. Y' f# W! r
2 g* {) E+ n$ E- E0 P
+ w9 O3 C; {0 N
电路很简单,功能如下:# Z& V% _7 J; c9 `
1、一个AT89S52单片机作为核心;' E7 _8 M( T p1 X e, z# X4 K" h
2、一个TL1838为红外接收头直接串行输出数据信号;, o0 ^8 O) Q% q
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
/ @9 Q- w5 Y$ ~7 `4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。" L# L5 P; p1 w$ `
* T7 s+ y" _" ?9 F; ~5 d# r, ?1 l8 I
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
3 K6 @4 C& D! S' r6 o) [' h6 K4 c& I& d) a. n
9 F9 q2 `, I9 ?- V! l
五、控制软件( L2 r; E" O6 p E. Y% ?+ m8 x
控制软件用汇编语言写,源程序如下:
3 u8 b+ r+ J, A" [& ] ORG 00H' d+ K! } y% T$ J2 k5 |- _
LJMP MAIN+ Z6 j9 ~3 Z' S( J4 R; d2 {
ORG 30H
: h0 D. P3 \3 S5 T ^MAIN:! N9 h1 X; A- V- ^, m# L; c
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)" I' i6 `* H; Q; H
MOV TMOD,#22H ;22H$ x3 W& k3 R6 f9 O6 D
MOV SCON,#40H ;40H8 N: c, C' \6 N e
MOV TH1,#0FAH ;F3H
* P$ }$ q% I: M5 l2 u MOV PCON,#80H R, r. h, x. h6 ]1 G6 k
SETB TR13 ?# w# ]& A- V% V6 P: A
START:
3 J, S1 s8 Y; L/ v JB P3.7,$ ;遥控信号处理: T1 D2 c# E5 Q
SB:
2 L& e8 c2 R) t! L MOV R4,#8
; I# J% b( U5 b& e6 s. z/ zSBA:
8 C$ x/ U4 r# l/ L MOV R5,#2502 M% T! Z+ ?0 B4 Z! ^$ Y
SBB:
0 q! Q1 m) t$ v, B8 y8 i: O( L0 s+ ^ JB P3.7,SXB18 b' ~7 G' D. P+ J0 D8 T9 B+ z3 Y! N
DJNZ R5,SBB
# k5 K* y: j( d DJNZ R4,SBA2 Y# L- ~$ @1 `4 e' O# [$ S6 Z/ i
MOV R4,#2* J" G$ V8 P3 z9 a% S5 p% `/ j9 i
JMP SBC5 W+ Y0 G. E' L" _* R* i7 R5 B
SXB1:7 Q( F x- i7 I/ c& ^
MOV R5,#5
* H& ~4 f i: g* JSXB2:
* a& v/ `/ x# `) {! X* K JNB P3.7,SBB
/ X9 r. f. g( O8 m! U DJNZ R5,SXB2
& q: |3 d: \6 m6 c% k JMP START
5 Z7 S; e( X1 U. F( ASBC:1 E% z3 i& }& B+ E' N2 e' p
MOV R5,#250- B% a" S e0 c
SB1:
, b; l" _6 c% I+ z1 X6 i) Q JB P3.7,SB2 h, ]' v5 r5 N! E
DJNZ R5,SB1
& ~3 ]% g- e+ s! k p$ L DJNZ R4,SBC, [7 v7 A8 w$ s$ ~2 R
JMP START
1 E; B/ a9 D2 y1 wSB2:
5 q( [" q, f& |0 j4 e7 A! [ MOV R5,#5
3 x: _) m" ~$ }' n# y! F; ySB2_A:6 C9 S' [: D$ l
JNB P3.7,SB1
6 F5 Y) D/ p+ z; g- D, t DJNZ R5,SB2_A3 ^5 f" j1 [/ [
MOV R4,#3
, G' J' V. W s) BSB2_1:3 G# ?( W a( {6 R6 R& e
MOV R5,#2503 v1 I0 g2 J; B( |6 t; _
SB3: , c; S! C9 p5 Y0 S2 k
JNB P3.7,SXC
/ _! @$ {$ o6 E! Q8 M DJNZ R5,SB3! J$ J( v: Y% d& l% I" r
DJNZ R4,SB2_18 m9 G& A( u% ?) P1 y0 S
MOV R4,#2
' ~! I1 W7 Q# T8 P; L. v JMP SB3_1$ G( C( ~' X$ w
SXC: , \; l# e/ _# h0 l) G2 v
MOV R5,#5
O# j7 k( @, K" {- S JSXC1:
+ n! {1 @* Z b0 p+ |5 n1 [ JB P3.7,SB3
1 a: f: v0 {0 L7 b" J! v DJNZ R5,SXC11 g9 E! @' c8 X8 Y4 _
JMP START1 D; S8 l# Y W
SB3_1: 7 d. O9 {2 r6 d3 k4 s; k
MOV R5,#250
, q5 {7 Z9 o" m) s. sSB3_2:! F7 u2 s" @5 R. @! i
JNB P3.7,SB4, b9 D5 C. S2 {& j8 v3 B$ G- m
DJNZ R5,SB3_2" _- h# W& D8 ~* T
DJNZ R4,SB3_1& ]5 W9 `5 A4 @' C2 V& i0 l6 M
JMP START0 i! g$ ]1 E; L( g
SB4: . E5 }3 {! E/ M2 U
MOV R5,#5* B/ h. M" \0 m d
SB4_1:9 H' Q6 Q. x2 f/ D) [" D. [
JB P3.7,SB3_2
* h1 O4 U& L3 W6 l- z3 F DJNZ R5,SB4_1
. o4 [% l+ ]$ R MOV R1,#1AH
1 ]: h5 \4 V- d( |; `1 W; g% G MOV R2,#4
) y ]& G* H* {& PPP: MOV R3,#82 K, r0 x2 u$ a8 I6 }/ h
JJJJ:& C# F i+ |" R, X
MOV R5,#2504 G8 a$ u3 Q# n! a, q8 G* ]/ f2 j
JJJJ2: 8 f! G! Q* C6 r3 t/ ~6 e
JB P3.7,JJJJ3 ^3 I6 ^0 q0 E3 c8 s8 J
DJNZ R5,JJJJ2. {: o# O- C- a0 s
JMP START
/ x( v+ L1 C% h, q& O+ C$ p0 ~JJJJ3:
& O, T3 D2 M1 U0 |+ `1 M LCALL YS1 ; v0 p% y! H) {7 X5 t
MOV C,P3.7 $ Z& i! b: S! `4 r; C( ?/ i- }
JNC UUU
% K5 B) s ] B MOV R5,#250
: ]% |: W- |8 W; @0 c. wJJJJ4:* A* }& t7 L6 _. m+ T# d; O
JNB P3.7,UUU
0 Q* @0 ?* I0 E- ]; O2 B4 b NOP
7 b- V$ f7 }/ C0 r- }4 v2 j! v7 Z DJNZ R5,JJJJ4
% C5 x! J) z6 Z! G9 Y JMP START ^3 r1 t4 o. H6 _/ @5 b: h
UUU: MOV A,@R1 ; C3 ^. i7 z, n1 S, z9 P$ i
RRC A " f9 C" \( d D |: M4 j+ f, n- \
MOV @R1,A
7 j: X1 Q3 T! E7 |" q+ ?! C& ^/ d DJNZ R3,JJJJ : W- ?# e& k: S, Z7 h! _
INC R1 0 L6 W- {3 \8 f5 E0 R
DJNZ R2,PP ! a' [! [1 m9 p! c9 e: y
1 Z! p2 v+ R+ o
MOV A,1AH
i! b% `8 o4 \. W, A1 D8 L3 G% S XRL A,#11101110B
5 j! G3 G3 Z/ V+ b* e3 L JNZ EXIT
! s( S3 X1 w& W! T2 v( E1 n MOV A,1BH
% ~3 x0 t- i* V3 C0 d8 X XRL A,#10000111B7 F& l1 j* a3 ^6 K- d/ B; N4 ?
JNZ EXIT
$ m! c) L# d- ]8 H) Q LCALL YS36 J. Y: P4 s- g& l7 ?3 s0 H+ A
MOV A,1DH & P/ ^+ ^8 L! [5 R! z6 G
CJNE A,#10111100B,EXIT
5 m5 i! D' C) _* u( _- @) Y; z LCALL YS3: Q T4 H/ p$ u5 p) L" t
CLR P2.6 7 V" M) Q( T7 w" q7 w
AJMP BIJIAO
! {. `5 F7 S; `1 P6 A
4 L( C/ a* t" k* Y6 J/ m' fAA: * N/ c% ~9 o; w6 u
MOV R1,#25
) l5 x( O8 @0 h* ?0 R1 K tXX: 2 u9 |2 ^: a, }' T0 a
ACALL YS23 R1 X- B4 j G$ K/ Q: Z0 z: N& o
JNB P3.7,HH , Y" X0 R3 T$ Z3 T
DJNZ R1,XX
( ]! G; ^( \9 i5 p# E. t' PEXIT: 2 ?; r) m) X, @1 P) t Y! b
AJMP START
; p* A: [! `4 k* J6 D ! q4 M' Z2 M* C. V3 I6 o7 k& Z4 b# }
HH:
6 R; s0 S% p3 U3 G& Y MOV R6,#4
! p6 F) m. h! u! j% g7 e n. A3 ]S: ! A) Q( x4 K8 y
ACALL YS1 1 }8 w8 s- U3 {$ r0 w1 N9 N! u
JB P3.7,EXIT 5 W9 [1 t! Q& B) y- L& V2 G$ S8 q+ ]
DJNZ R6, S
6 Y+ c# {0 s0 R' g JNB P3.7, $
! W: `4 t4 V: ~$ J& [8 H# U% |$ j+ b LCALL YS3
) {: y$ V: n1 E5 \ A$ | AJMP AA) a! K4 N6 ?2 k7 r' F5 L9 h
BIJIAO:
, Q) e% O y$ T' s. M- { MOV A,1CH
3 W! P4 t$ b( K1 q CJNE A,#03H,N1 ; f3 ~4 Z% ]6 G5 V1 P9 b6 C; L9 E
MOV P0,#7EH
! F2 b' l% P1 j7 \4 k2 t% T- K' @ ; ~) W" u+ V( @- U1 w) ^
;处理STUDERV录音机控制码
5 ^! L* d1 ]; w& n; i8 p) iN1: ( Z% q6 m8 X5 m7 y5 x
CJNE A,#5FH,N2 ;播放键* }" I8 A+ Q' u9 r
MOV DPTR,#REP
8 w! @& ~9 I- n# p) v( S+ Y ACALL SENDA
% g- E8 C- N f ACALL YS4* z: x9 W. A1 q
MOV DPTR,#PLY# p4 S& G. a$ |; T
ACALL SENDA0 V! g" |2 u/ i7 O: g' h
N2:3 }0 B# O2 u7 ]: k1 ^- Q, A
CJNE A,#5CH,N3 ;停止键6 l4 O6 x3 @" z7 Q8 N7 t4 N8 @
MOV DPTR,#STP
# E/ u0 R: n2 k7 O' ^ ACALL SENDA- `* G: Z% ?3 t8 F' E. B
N3:
$ f, {' S. q" g Z1 z/ B CJNE A,#06H,N4 ;快进键2 o; Z$ T( n7 k; {1 D
MOV DPTR,#FWD
8 j$ s0 B4 c; N& I, t ACALL SENDA/ S1 _. r2 E J
N4:
* @& z: T9 O, C* l& y% T CJNE A,#09H,N5 ;快倒键$ F/ l' r+ F( `$ ?: ]; N
MOV DPTR,#RWD
7 H& Q* X( ^' S( c2 x7 ^ ACALL SENDA; ]+ U# T% X7 O1 f) l
N5:8 S2 J& V! j6 _" ]1 `
CJNE A,#0AH,N6 ;置零键- p$ Q# m0 ]. t/ `3 S4 q8 n* R
MOV DPTR,#RTM
! [- V1 U8 P% c' l& H. C& V' ~: ^5 M ACALL SENDA
1 {6 }; U6 v+ fN6:' _; T4 q# i' t ~# O
CJNE A,#0CH,N7 ;定位到零键
B7 K( M b/ U* \& { MOV DPTR,#LZA
3 W; P* |! C1 e- @9 B& B* { ACALL SENDA
3 k: s2 L5 \4 }! EN7:: d" d6 W$ z/ e2 r$ |& }5 S
AJMP AA" S* E. [& B8 {% j+ w
SENDA:
5 c2 z; F6 n5 I( P! }! X \ CLR A
9 E- o1 z, i% [" J MOVC A,@A+DPTR* U# C( H+ @; x1 ^" U9 r {, c
CJNE A,#'$',SENDB |1 g: F4 F6 s4 a8 a1 Y8 o; {
AJMP SENDC: f/ z+ @8 K, M( o3 ^* N/ E( E
SENDB:
4 |7 m+ Y) t9 P* L; n MOV SBUF,A( r- A9 x i! T8 m/ B% f* R
JNB TI,$
" {6 M9 {# f- U2 \% d& ` CLR TI
0 Q9 A1 r+ K! x# Z INC DPTR
6 o2 D' \7 N; j/ L6 V! R1 k. \ AJMP SENDA
! x7 @" ]4 }% [& Z0 [SENDC:! ?/ M% s L1 f9 D2 e3 t' h, B
RET6 w; ~5 {, B5 I& L- q$ m/ Y; _
9 C/ U; W/ i- o8 L1 P
PLY: db "PLY ",0dh,0ah,'$'2 Z. O) q R! o+ ^/ E) G: N
STP: db "STP ",0dh,0ah,'$'6 i1 p! v1 j- q! W" z
FWD: db "FWD ",0dh,0ah,'$'5 B/ l/ p; J" ~! I
RWD: db "RWD ",0dh,0ah,'$'
9 ~' u0 \) W$ ~% i: O' O5 }RTM: db "RTM ",0dh,0ah,'$'3 q! _1 I7 }0 |% R2 ]
LZA: db "LZA ",0dh,0ah,'$'
; {/ f8 v% R$ EREP: db "REP F ",0dh,0ah,'$'
! n* R8 c' S) I; K9 X/ p. o& n9 h$ x, P( x2 Q) c# j! `
YS1:
2 U/ B8 E5 P$ F9 `3 g' m3 ~4 B6 A MOV R4,#20! {: z" u# C. \9 C
D1:5 s1 @1 j6 V- S" \6 ^0 t
MOV R5,#20
; ^ y4 Q9 ^4 M1 M DJNZ R5,$5 k. [. H6 C+ ]$ q) `6 e; P
DJNZ R4,D1/ X5 P% C6 n$ U- p8 n o+ a" F
RET y- i8 x2 I1 k/ M- r/ ^7 B
# X1 r. G6 L' K. E: fYS2:, m9 ^* D7 h; R3 f" \
MOV R4,#109 C1 A/ N4 ]" e+ s- _ c
D2:
! y4 a% C* h6 q' c7 a MOV R5,#235
& V9 M; P3 p- h0 `! _+ s) F DJNZ R5,$/ N5 Y, G7 y: Z! V: U
DJNZ R4,D2
1 |* [3 [3 t, y7 J& F4 p9 J2 A' S RET f& r3 \) Y) j$ F5 P$ b
/ ^3 Q; r4 [2 X; ]' U7 B# F
YS3:
# D! M6 [& Q. a2 Y7 i; ]8 Y. U. Y MOV R4,#2
/ r; k% w: b9 k' s5 h% ^( SD3:6 K0 [1 k- |7 r: ]9 {6 q( E
MOV R5,#248
9 D- }/ K9 p) P/ w DJNZ R5,$
- M2 ]' R4 q/ H- S DJNZ R4,D3
" S! w0 X- _$ t! {: z5 q RET
; J0 ^# u2 b/ y/ ~* P7 p& p' v6 s
) |4 C1 s; N1 b' FYS4:- E! t+ u) D2 W- F; g' }
MOV R4,#200
3 A- a3 x S1 j3 Y( [' fD4:
/ J+ M0 Z( a% |& x* p* y MOV R5,#248
- W( J; l6 J; N( A) W" N DJNZ R5,$
6 S- H; W3 S* ? DJNZ R4,D3 u$ c V9 S( S) b2 k
RET
J: I2 u# j: [5 B; u4 _3 M END
7 F9 C8 P0 W5 z1 A
6 Q6 ^; f% V2 H, A有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。8 U8 d/ R$ t# `! d& _8 T
是不是很惬意,嗯!
4 H0 I% q9 w: `5 S/ ^ l) f$ T, K7 I |
评分
-
查看全部评分
|