赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 ( ~ a1 T0 g8 A+ d$ g# Q
$ q9 p3 a) X4 a8 Y
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。 t' s' V5 H* ?8 o
9 o# u6 n0 P B4 r3 d% B/ B) S# { O
说明:
# s ^- [# s. X8 j1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;% z4 W e4 ] j, K: a% U' r! K
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;- X: y. D9 J& i+ y- A
* v& `$ n( u1 \5 V5 l: h/ L
一、基本思路1 M- r! U* s& c5 `! H5 }$ y4 `& x
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。5 P- {. e0 w6 Q+ F, e/ D
7 ~9 C' F, t9 o# b" N( |二、红外遥控器& g; m( w0 f) K- J" ~' B
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
* r" }3 [7 W1 |9 c
9 Z! _; m2 S9 d4 E好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。 Q% U' `* N$ V: ?/ t. t) H
+ V4 f7 k# W! Q
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
: n' j6 }# C3 V$ P. A9 i
# y) J$ g. n) }
2 H& B9 [3 }+ w: O三、红外编码% Z3 C. W9 p0 ]* J
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。" `7 j1 i6 B/ f2 z6 a
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。+ U2 |; T; G7 R2 Z' u
后16位为控制码,主要用于实施具体的控制。
: X" E- L' ]- U3 g9 N这16位中高8位和低8位互为反码,以提高可靠度。1 ^/ T% d1 z0 D W7 O* ~
/ t' Q% F0 R5 G+ n以播放为例,其编码如下:
7 c$ L3 W# b Q+ N4 n6 \+ o00000000 00000000 01011100 00000000
9 _# U2 m6 n" N& b, Z7 K, X' J4 M+ {9 e3 J2 f
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。, c9 E; P( F* ~
( o, Q. o' Q/ \) z' y/ x0 ]
四、单片机系统
( }; T H( a' b! }& e这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
( [, b8 {$ l& k/ y2 b1 i, v
2 U$ b/ `6 _# q4 q
# ]# F2 r7 [( w4 Z- `, U; N
电路很简单,功能如下:
; I$ S2 o6 I; X% {4 d W& d1、一个AT89S52单片机作为核心;9 s1 J' A$ S1 S2 ~+ X
2、一个TL1838为红外接收头直接串行输出数据信号;2 B3 c0 ~- y. X. T7 A- D' D* l
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;; [3 \) }. g! F- V5 ~
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。5 ~- c0 P. t; z3 {5 E% D
' Y6 X2 d9 u+ S/ a3 p! m/ c" J! G6 }关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
3 t$ M$ Q+ ]+ e6 s1 E2 \0 k
! y9 ~. @- K. K* M* g5 c
- C5 y4 A' v5 p7 \五、控制软件. n7 i* J6 I+ e1 y4 k6 f3 W% |$ H
控制软件用汇编语言写,源程序如下:
) y/ I! @4 G7 ?$ h ORG 00H
9 u: x/ K3 y) w8 G. q5 y LJMP MAIN( y1 ?: f* f; g6 @! w
ORG 30H* q3 [' ]1 q9 ` |: D2 R
MAIN:
( j3 v. X3 P4 U' b; c+ L) s MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体), a6 Q! T+ J6 j9 l
MOV TMOD,#22H ;22H! ?9 I& E$ n: z5 t5 u( d" m
MOV SCON,#40H ;40H* j) {: t5 g8 E) w: ?
MOV TH1,#0FAH ;F3H
; D. \( X2 c1 U9 Z# G MOV PCON,#80H
! M" v, @4 e( {! d SETB TR1- A7 A! {- a! Y. ~# i
START:- J0 K( Q& |. J! z! A$ f
JB P3.7,$ ;遥控信号处理5 W, g: X1 a, \/ {
SB:
1 T/ F9 z% `( E' R) N9 w MOV R4,#8
$ x8 J$ m* E4 h4 t" ~4 o3 SSBA:
. M8 ~, I/ h! W) a" ~9 ^+ j MOV R5,#250
4 V% B$ Z4 \% S* b6 o$ }6 nSBB:" x* f9 D, |7 T( r4 _
JB P3.7,SXB19 z4 K* }; y# ^1 k# E& G* T( ~6 [
DJNZ R5,SBB
$ [3 p3 [- I7 Q( b5 M DJNZ R4,SBA$ H8 E) K: g: x
MOV R4,#2
0 }' Y) [+ n$ o3 p JMP SBC
7 I" J/ ]- k4 E& o% |SXB1:
- ?3 k Z) @- I; j2 g MOV R5,#59 p7 h2 N# Q( G6 @4 [9 s! a" G
SXB2:
, x8 b5 [; G+ D+ z, D JNB P3.7,SBB) g) K# k( N" z8 \' k1 v9 T
DJNZ R5,SXB2* x6 h& A) u. D, J+ v: W5 o
JMP START
; t/ ?' O2 p# U, XSBC:5 W- z D6 c6 y! d, |* B# |
MOV R5,#250
% Z/ Y: c) `$ cSB1:
- w# X5 B3 s) j1 s0 R JB P3.7,SB2 F0 x" o% ^- r9 o9 x$ B; }
DJNZ R5,SB19 ~- a: T' T$ U! B' c& T+ F
DJNZ R4,SBC
% C: z/ X0 T/ c s JMP START% ~, S& S) j% Z* h" C
SB2: . i. a9 [, z2 h5 J5 o0 O+ u
MOV R5,#5
" B1 D2 P5 p, S( ]- qSB2_A:8 o+ A9 i' h" w
JNB P3.7,SB1
4 t: d( V1 ^3 M7 G DJNZ R5,SB2_A
& a9 W9 j6 Y# l. I' o MOV R4,#3) e- n0 S+ l" N- d" R2 E
SB2_1:
- z0 V6 n/ h. y& a/ J! J MOV R5,#250: g3 ]- W: f! Q, U3 t& W1 b
SB3:
8 A8 ~( p6 Z. }! j! W' [9 p3 `1 [ JNB P3.7,SXC
( J1 @' ^& Y3 k0 i0 v5 p DJNZ R5,SB37 `+ V' w$ }4 r
DJNZ R4,SB2_1
- s1 Z2 X% C) b6 |7 D MOV R4,#23 }4 V0 z7 T3 F0 I
JMP SB3_1
% k- R: }% u, q$ B6 U( W+ `SXC:
! R7 _& b( ~. E! c' z4 N MOV R5,#5# ]+ a+ U' ~% }$ I4 \3 J4 r1 Q
SXC1:
, ]6 l% s' |9 u/ n JB P3.7,SB3/ \' j0 ?1 \& `6 w
DJNZ R5,SXC1
4 b. H5 g$ y1 r" G; k JMP START- B3 y6 L6 w4 s: P' a7 |7 i6 p8 H
SB3_1: # P( W7 @, m% a! M5 a
MOV R5,#250
+ L( V4 e. {+ a2 I1 C3 T/ ]" CSB3_2:* t7 b+ B9 Q b. P
JNB P3.7,SB40 b4 i2 A7 Y9 ^# _1 R2 m" Q* a
DJNZ R5,SB3_2; J5 O: L3 j" N0 k
DJNZ R4,SB3_1
5 B. z3 `3 o, m JMP START% {5 @. H d! q# F7 M
SB4:
* f6 {9 ?' u# Y% r' p& z0 K MOV R5,#5
$ F2 ]" |% G+ t. W. I+ {, r) qSB4_1:9 b% I" F7 r3 G: u
JB P3.7,SB3_21 l9 N3 q0 O2 i4 Y
DJNZ R5,SB4_14 Q$ @$ p/ _% ?, {
MOV R1,#1AH ! K8 b; V; x) ]: @; j& K
MOV R2,#4
- w0 ?! J( F, T2 o3 f- i0 e0 ^PP: MOV R3,#8
, U" H) o4 A! [ PJJJJ:8 X9 b. V6 C( W3 M
MOV R5,#250
3 U# z" f4 j7 J P" J" c# N6 kJJJJ2:
% S7 q" v v* _! X$ A: t8 h JB P3.7,JJJJ30 |2 N% h+ w2 H0 O2 J1 R
DJNZ R5,JJJJ2
# @/ t1 m2 ?5 D/ _/ M3 g) A( k JMP START' o$ w8 r" x0 e( c" m3 ]: V
JJJJ3:
8 m0 E5 Z6 ~6 S2 i3 K LCALL YS1 . l {+ B8 e9 m) n. m. C
MOV C,P3.7 5 e2 N {$ Z4 P1 @: D
JNC UUU I" S1 }2 }; F* d+ k7 i* F
MOV R5,#250
8 i" n1 m" ^7 S6 o- Z( ] LJJJJ4:+ \! t1 o+ u5 x) y- q( q
JNB P3.7,UUU- A4 o. J6 Z, e8 B. p u
NOP! m) L) j4 V3 t1 s. F% [
DJNZ R5,JJJJ4; [- b( y7 k: e( u& T% u7 y4 b% E; @
JMP START
9 \2 S6 Y4 d' _# o! f- EUUU: MOV A,@R1
( [% q1 d; s1 R0 L0 R* Y5 c# L/ M RRC A ~5 p2 k l: D1 r: J
MOV @R1,A
0 G$ }& Q( ?9 h' f! H DJNZ R3,JJJJ
+ |& ^- ~4 C7 A) Q0 ]. L INC R1 ; X$ N$ _) {0 x* ~7 k% P, z
DJNZ R2,PP
f5 L+ a2 N0 c5 F) N* q' K( ~; O9 B% Q0 Z% L1 |% [6 L
MOV A,1AH 0 A6 O7 n# P0 }4 i8 Y, o
XRL A,#11101110B
# |% U6 @/ n) b8 Z( }( l9 |% j! E& ` G JNZ EXIT - O# d4 H1 Z1 A ?. L/ Q
MOV A,1BH 2 S- X, |# o* ~0 `
XRL A,#10000111B
- d' V' C/ t6 }9 O1 L2 G JNZ EXIT
) |+ c: N& H8 s6 p9 Q1 N( s0 [. Q LCALL YS3
3 p* Y( u3 O2 z* @0 e% @% \ MOV A,1DH ' F2 s3 e2 R* i( I6 N9 o" Q3 H
CJNE A,#10111100B,EXIT. _1 c$ s5 B$ N$ s' O f1 w
LCALL YS3: a0 r6 r9 f. {4 v) B
CLR P2.6
5 p& K9 Z9 M' t- o AJMP BIJIAO
( r) h' i% Q6 {4 G+ p; V! B! l# v) a , g) s x" R$ i# ]: N6 J
AA: 0 Q1 D+ C: `! E( {
MOV R1,#25. l4 z8 e* q( P
XX:
. Y, @0 S/ o$ L$ u4 b& G ACALL YS2+ ~. o; ~2 i( r. C0 t3 s
JNB P3.7,HH
% }7 b8 k2 h! S! } DJNZ R1,XX
1 G n. f- M" J6 R. _" ]2 pEXIT:
7 V2 r! _3 F5 _6 b- {. o- E& } AJMP START
% |8 }' D; u. h5 {" ? , d; O: n G2 Q) e8 e: N
HH:+ E% d4 m) B: P0 c8 b, E' H
MOV R6,#4
8 a n2 Y$ F9 Y2 |1 xS: 5 e' ?* y1 D$ N) C7 A
ACALL YS1
7 z6 ]. C8 O8 Q3 u JB P3.7,EXIT ! ?) E/ I- q5 Z2 B* i N9 @& M: I/ I; _
DJNZ R6, S 2 O& o8 H- ? c7 Z
JNB P3.7, $ * B) M8 v; W. _ u! v5 G$ r6 Q" l
LCALL YS3* ^5 c6 h9 g1 I1 Q) y. B) o7 Y5 T
AJMP AA; z. T3 z$ ]! G
BIJIAO:
, V. V& N: }: l: h2 ~4 `. I MOV A,1CH
3 @7 r# x, A- g9 Q2 l& F CJNE A,#03H,N1
( Y5 M r N' _+ I7 F MOV P0,#7EH - ?1 X$ @' D9 K! {
3 U# I% P6 y% P' }8 K
;处理STUDERV录音机控制码: g1 O# Y! Y& m5 y B
N1:
8 e6 D4 p+ k) [ \ CJNE A,#5FH,N2 ;播放键$ a/ f+ K; Z1 q/ j/ x8 T& E: R% A
MOV DPTR,#REP
3 }/ N& f- @& i3 E5 O z/ T. X ACALL SENDA
( E5 U( M0 t7 p! T2 `" p* v) q6 M ACALL YS4
/ Q5 S7 X2 ~3 y5 |6 w8 R MOV DPTR,#PLY# F% Q0 |) `7 T+ j
ACALL SENDA
2 x# l) u/ G* zN2:
* ^1 L7 L3 r, J1 |: W# e CJNE A,#5CH,N3 ;停止键9 o4 V/ j$ U; L! [3 ^. p" U
MOV DPTR,#STP
1 z- J& m* S- \: T# B( ^ ACALL SENDA
- I- h( L& }! o* k2 p5 W7 T; W7 N) lN3:
, x6 j0 x# Q( t: D CJNE A,#06H,N4 ;快进键
: t) I+ S- o. ? Y, e* j: D MOV DPTR,#FWD
0 N* K/ y: `$ b& J9 ?2 Q ACALL SENDA
$ O$ R$ T& B# S4 ~/ iN4:! O) C, u% W9 P% I" K
CJNE A,#09H,N5 ;快倒键
9 L. U5 G6 z; I! V$ d MOV DPTR,#RWD0 D; W; V8 a/ Y* m8 D
ACALL SENDA
/ s$ d+ c& `0 LN5:
. d. i& E$ J' j) \/ q+ n* Q CJNE A,#0AH,N6 ;置零键) C0 B/ @1 K- o3 g* f1 ^" m9 C" h
MOV DPTR,#RTM# ?, o5 M' N5 | K
ACALL SENDA& z y( _( n, f2 @% v: G
N6:7 ?; p0 S; c, G
CJNE A,#0CH,N7 ;定位到零键
1 |8 d3 q' v0 J& S2 U MOV DPTR,#LZA c0 c1 K1 D6 J8 }
ACALL SENDA
" }: W' S2 y$ w2 y, \+ e: G& k. DN7:
/ @+ t, J/ t# E+ @; Z& M AJMP AA2 q4 L6 b; _: f; b
SENDA:
; L: @" y: i/ T8 e1 N- G8 p CLR A+ F# o2 }& \1 _
MOVC A,@A+DPTR
' U" v( o- o9 m CJNE A,#'$',SENDB
: E( f% o) A/ b# I! X6 E/ r AJMP SENDC. a) m8 X0 r7 b, N
SENDB:# i' k, u: w/ Y4 v9 l1 Z
MOV SBUF,A2 ` k8 ?) @! ?
JNB TI,$
4 f, T: N8 y; ?' ?: @+ l- M CLR TI
9 I9 S* v, D* u" x7 c7 J INC DPTR G( _6 _6 a @; H
AJMP SENDA I. ^" |' G0 F0 X7 ]0 H- }# ?
SENDC:2 |- C+ U; j* Z" b
RET$ s6 T3 w. Z \) j
) o* `% W' U1 l% o) Y
PLY: db "PLY ",0dh,0ah,'$'+ W- ~! |& z3 e4 W9 @! w. v* h. \) Z8 Q
STP: db "STP ",0dh,0ah,'$'
( f' e9 k, C& Y; A- kFWD: db "FWD ",0dh,0ah,'$'
1 S' |% m: f8 [ J7 URWD: db "RWD ",0dh,0ah,'$'
# m$ R+ {5 F* ~) ^' Q6 Q G2 jRTM: db "RTM ",0dh,0ah,'$'+ `6 d- l; c7 ?
LZA: db "LZA ",0dh,0ah,'$'
6 ^8 H, U! e% Y. \" sREP: db "REP F ",0dh,0ah,'$'
+ Z! G5 G% _# C4 o& T9 p. o
' T& e7 ^: A* g, B: n& k7 PYS1:* v! ?' x7 i4 z! P8 e( `5 `0 e
MOV R4,#20. w3 e3 t6 K6 D: ]8 I3 N' [3 c
D1:2 R3 l3 l/ \& ^( {
MOV R5,#20
# h( C8 M" |8 y3 O8 [" N DJNZ R5,$
$ l) r7 f* P: B" Z# J7 R DJNZ R4,D1& z* O2 R8 v, p) \8 r9 z9 [: J
RET1 p( m' S1 J! `" Z/ b
8 i H4 v% X+ _( {
YS2:" a. }0 z- i5 ]( Z) S0 ~
MOV R4,#10( Y( r. G w+ d
D2:
& U4 W6 b1 F. V; _( l6 p MOV R5,#235
3 S! K1 c; v2 Z1 _5 L/ e DJNZ R5,$ e3 [4 F i/ ^, i/ q
DJNZ R4,D2
7 n4 |5 Q- Y+ v! M RET
1 H, G% J0 B5 R0 S) T2 @6 J- W5 S' `) k
5 x5 H& y- {/ VYS3:' `( X4 ~. v) ^! y
MOV R4,#2( s; u; U5 H% Y! Y
D3:0 b2 ]8 ~% I) a4 x# A1 c5 h6 m
MOV R5,#248
" D: X6 D$ N" W/ `, s8 r DJNZ R5,$
, l+ J0 N# C& P5 S/ X DJNZ R4,D3: h2 m, V' W5 ~ V: w# [
RET* w8 C0 X0 |9 j3 V% r
& C" a% M+ Q+ O* [
YS4:" x$ q- y9 I* T3 q' @9 a
MOV R4,#200
3 r: x" I+ z6 R1 O" e2 N; N5 GD4:* I5 f% K: \* ^( n8 S, ^! Y6 r
MOV R5,#248
) y2 N+ P" a7 W5 f2 _- N DJNZ R5,$4 Z# f* [# l. B1 Y W# c0 x8 y# h
DJNZ R4,D38 j# j _' j o% m) y
RET: R# k# b7 q7 M$ g- Z
END
" f9 P( i D& w2 U/ P5 [
# }1 o: M/ C: Z2 }# |有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
1 l0 [, X! P' J' C3 s! L- \% z是不是很惬意,嗯!
, a0 m8 b( z+ C& w5 B `2 ^5 n2 Z3 | |