|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
# e0 b& E6 ?# s# l* i. i; B) w9 D% j$ ]" C
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
& l0 H6 p4 b5 L. [3 U& h
5 ~. `0 X# E5 M6 }* R1 E' U说明:
; D7 }* I6 ~4 A1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
% X9 v0 x( w/ h" ]/ N( h* k8 N0 Z2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;! `3 e9 g+ h4 A
* M' [: T7 O" I" \5 j! y' R一、基本思路
7 L' H- n+ ]1 ]% H1 I, e8 u5 ~使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。8 V- E9 _9 r9 u8 z0 I( v% z6 F" l
8 p) d3 {+ h2 R7 B8 ^" S4 S) y) r
二、红外遥控器; H! H! q0 k. ^9 Q
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
t4 \2 a9 B- Y& A) ~3 k! Z7 X! e
4 y! _# F6 Q: s- e1 e
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。1 Z/ X/ W) k P% E8 I3 }
- Q3 V; g, {8 A' V# L
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
3 t; T, b4 \( V/ R) O" m
+ Z0 c: {, H2 D# n$ }& H6 a
! L' H' |5 a' J4 L3 n) I. @
三、红外编码+ l* l7 g3 U; h1 o$ e& R
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。: _5 p* p: _) X& \4 e$ E0 S4 o
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。/ n g1 K9 L: E- N
后16位为控制码,主要用于实施具体的控制。
1 B9 L, D3 u7 J& n这16位中高8位和低8位互为反码,以提高可靠度。
- I4 U, M2 R9 s9 M
5 u4 d e7 Y* E0 |以播放为例,其编码如下:- N4 L& p' w/ P, s8 I `6 }% A
00000000 00000000 01011100 00000000
/ u/ m& i: j, C8 t7 G3 h! d' t ]: |+ h
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。2 a& k5 ?3 Z/ Q6 z: |9 q
2 J# I$ ^$ }3 S4 y2 N四、单片机系统" U9 r5 g/ `; W, O, E' l
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
; `" g% e/ Q: A3 ~. c
6 D, o9 H7 ?! f: i. }0 ] V V! O$ P0 P. S x
电路很简单,功能如下:
3 i, U2 Q% F* c3 [5 O1、一个AT89S52单片机作为核心;- t0 A$ x* K- ?
2、一个TL1838为红外接收头直接串行输出数据信号;
6 D5 }$ s6 D% D5 c' c% j3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
. R. W) M8 c" x5 x6 s, l( [4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。" u& o- o+ w5 e# |
5 U' J0 i/ w. V0 P! }! R1 Y
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。
% f* j2 N/ u+ x" r, H$ S1 ]( `
9 x: `1 k6 V6 o/ }五、控制软件, D7 ?% ?4 o+ ]
控制软件用汇编语言写,源程序如下:
7 w ~& _& K; E; a1 y ORG 00H
3 I; R$ D- N, \4 P( c4 d8 [ LJMP MAIN
c$ ~. G5 A1 `- A8 g ORG 30H1 B; I2 [1 Z0 O0 k; x
MAIN:% |$ Z2 v8 l/ K
MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)& q4 R! v) ^9 M: _+ L
MOV TMOD,#22H ;22H
6 I! A+ A8 z! @! f* f8 u MOV SCON,#40H ;40H* z. _* a0 U* |- x* U
MOV TH1,#0FAH ;F3H& l; b% y: Y s* A# _
MOV PCON,#80H8 e: S& f( O. _6 w. N+ M0 W' u
SETB TR1( l9 g) |$ [1 [. P, s
START:9 y& F' o! l/ e: r/ U; C2 ^- h
JB P3.7,$ ;遥控信号处理
) R9 q- X! `$ ^- K# nSB:& o3 r1 j/ u h: M7 A, t
MOV R4,#8 5 X- ?$ a3 u8 Y
SBA:
7 v* T @% q+ v& J; p+ E MOV R5,#2504 d2 A# W. w3 c3 D, c# z
SBB:9 t- x4 t0 W. W& e
JB P3.7,SXB1; Z) S( X" _9 r' D. q4 j
DJNZ R5,SBB; @# }+ x- X+ X7 G7 A( ?
DJNZ R4,SBA
. s( x, G- j; O# i X& u MOV R4,#2
0 ]$ N2 d& |: a6 S JMP SBC, O& w4 [9 U5 X: N' G1 r
SXB1:* \; A: I+ s, r9 g/ w! ]+ D Z
MOV R5,#5" b; I& q! N" P. e& N1 ?
SXB2: ; Q, \/ K! S b% I0 D3 }
JNB P3.7,SBB5 M" J4 r( s$ y1 _' r/ j
DJNZ R5,SXB2* A/ Q7 X0 t( i
JMP START2 Z7 A+ l) D: Q+ O
SBC:0 U _; R( Y* N; U9 ` i" Z
MOV R5,#250
# S- ]2 x( K2 ] k; G: M5 U) C0 ~9 J5 WSB1:
4 X( f4 } E" i7 n% j( Q0 j0 Y JB P3.7,SB2 ! y0 f6 D2 j- E/ Q
DJNZ R5,SB1. f8 I- A* l7 s( h4 [
DJNZ R4,SBC0 O) L' b* y2 m# ^2 k. i
JMP START5 y9 h$ R$ Y; l0 M* D( E4 L
SB2: 9 k6 a; u" y4 v. U9 o" g" B) ^
MOV R5,#5' S6 q: Y* h" ]% O/ I# w: P! _' B
SB2_A:- ^5 ^% S$ ^# p7 i3 W/ x0 R
JNB P3.7,SB1 V. q! M5 C" q; S
DJNZ R5,SB2_A3 A3 Z$ j/ b: y4 v$ w' h m
MOV R4,#3, j+ m9 W' v3 t# J" D: O- o7 o6 I
SB2_1:
% Y2 i3 Y3 i8 [- G MOV R5,#250
- _2 Z% |% ?' g+ L9 @( \SB3:
: W) Z$ R: a B0 ~7 c6 y- ?$ D. W- P9 f1 | JNB P3.7,SXC7 y) `5 I: |* Z
DJNZ R5,SB3
, a% F7 L8 }2 n2 b: {. }* R DJNZ R4,SB2_1
' z) j1 l8 u1 ], ~' Q$ n7 k6 \. V2 R MOV R4,#2: y# w n+ R; v1 i P( g h
JMP SB3_1
) ^2 y1 }8 q& {% C8 R- xSXC: 7 ^8 Z% b- @* Y5 ?7 B$ T
MOV R5,#5
' {# s! Y. F+ U8 s. u0 y+ VSXC1:
2 B' a3 e3 ]) D0 ~( } N: `( c) u/ B JB P3.7,SB38 d, G8 S8 O( x1 ?2 m* s% E
DJNZ R5,SXC1
9 x% m$ r( j A3 p: e" J JMP START
2 Y0 F( H8 o' q; D# `SB3_1: , z9 y5 D# X% u# J# F
MOV R5,#250
( o: x1 P& _# `8 [SB3_2:
' c& f' j' ^7 M& @ JNB P3.7,SB4
- }* g6 I( `9 k- Q- K: {; e DJNZ R5,SB3_2
* f2 ]; l* Q+ ^. T: E- I, [ DJNZ R4,SB3_1
% X0 ?* y2 D5 d9 l6 K, o- w JMP START
* {6 q; z! @& X3 {SB4:
0 C5 K# }4 o" `! d V0 B& e: ^ MOV R5,#5& ?8 B% m! ^+ X) o1 V0 c( ^ C2 g
SB4_1:
) E* a4 t0 I6 T JB P3.7,SB3_2
5 L: t9 b. L0 ~. J DJNZ R5,SB4_19 @2 t" I+ _- y7 c8 H
MOV R1,#1AH
% y5 H6 Y2 b' y9 B3 y+ ^ MOV R2,#4
& ]' |8 S+ a# O( b: YPP: MOV R3,#8
$ P) F: y+ G0 n8 cJJJJ:
! G+ c0 ^8 E1 W: v' M% x4 l- |6 | MOV R5,#250( p4 F3 ]# \: U9 q$ d* h
JJJJ2: : r x' u9 P8 ~) A+ L3 D
JB P3.7,JJJJ3
4 n7 r5 f+ q' V7 b9 r6 X3 a+ | DJNZ R5,JJJJ2
# Y; ^& u4 ]( K1 b4 O" j* f3 } JMP START2 G* p9 l a( b1 O) g1 x
JJJJ3:
! P$ p# n" X8 L* M! o/ }* ? LCALL YS1
& [6 g7 a) v/ w3 d( E( q: X MOV C,P3.7 3 Y* c; G7 n7 k9 B& [' S
JNC UUU
8 ?, }/ D2 U6 y( d) G MOV R5,#2507 G# d `! z1 \2 w8 q( A X8 F
JJJJ4:& X6 e: m$ W- n7 ~0 _9 Y
JNB P3.7,UUU
5 } L, B6 Q* l4 x NOP' o; c& c9 c% I2 i# q
DJNZ R5,JJJJ4, L8 _7 [5 c" _& {3 v3 D
JMP START
( J& A) Q- j' i) O4 R7 tUUU: MOV A,@R1 / F1 }5 t! |- a" a; ^
RRC A % p% C* }& A, |" D: O, j
MOV @R1,A / e7 H# `9 M8 j0 y9 f5 j
DJNZ R3,JJJJ
0 B/ {2 X8 f% S5 D! f+ B INC R1 " A9 E- i- p/ V1 O
DJNZ R2,PP " o# V: \ i) g6 V# T/ R
( p& A% m+ p0 @& d MOV A,1AH
/ u! V: ~4 M) Q1 F( o& c0 c XRL A,#11101110B0 s. g( Z* M/ h# ]
JNZ EXIT / e, S2 m5 B- F( e" G8 j
MOV A,1BH 2 K8 p2 p9 g: w3 _( h, A( G
XRL A,#10000111B
Q* e5 o9 k7 U JNZ EXIT - C" B9 }/ n( L0 ]
LCALL YS30 d$ r& O0 ?7 }; O
MOV A,1DH / t; i* O0 m" Y+ Y: |7 G& C
CJNE A,#10111100B,EXIT }2 [ B; p6 Q5 d4 q' A
LCALL YS3% C/ x1 Y$ W) ^) @( |% h3 g8 J; E
CLR P2.6 : {9 t, l% n g. l6 O% q
AJMP BIJIAO1 X! z. y: t8 `4 [8 r% R/ l. c
( w Q2 r/ F/ UAA: 7 V' `9 i6 i0 J
MOV R1,#253 y$ y6 K0 e9 M @; X4 p
XX:
( ~* t# v' q! ~, ]/ u% F0 o3 m ACALL YS2
7 w5 i& f7 b: e& u3 [/ G; A9 Z JNB P3.7,HH
9 A. ^3 U( l, M0 w6 W6 d0 Z& h DJNZ R1,XX) o& q$ H& Y9 \7 N( l3 h: i, P. _
EXIT:
" A ^* S9 c: O! V9 C* M! N AJMP START
( O- ~# I! H& {4 w
. {; H, m& O( NHH: t# t0 Q. |7 n3 S7 O0 P
MOV R6,#4
# p/ l% ?2 V5 ~/ d. v1 [S:
U# |' R( H7 `! a7 v7 X& P ACALL YS1
0 c, u! z4 L8 I JB P3.7,EXIT
! t! k, A9 _( x2 |9 C9 {! ? DJNZ R6, S ; \* V0 N# i4 d& I$ J0 X3 d
JNB P3.7, $ % l8 G' P; j3 l
LCALL YS32 M& l, [$ `/ M: }- c
AJMP AA3 Y- r: G% P+ D4 T
BIJIAO:
' M. P) I& O# V1 P: `' D MOV A,1CH
6 z$ ^7 F3 _) v: h8 [. n5 U6 ] CJNE A,#03H,N1
. [/ F$ \) G8 {' U& u MOV P0,#7EH , x* `) ]* d% ?/ z- X& j) ~
# l) @* V' q, N ;处理STUDERV录音机控制码6 l5 C6 k4 i- T f
N1:
! Z- U. ]" y1 }3 O2 {, ^ CJNE A,#5FH,N2 ;播放键 z# w5 w/ y8 a" n; k
MOV DPTR,#REP' n/ T: [4 c% k" f7 U( ^
ACALL SENDA
N' ^4 i1 P% J* C ACALL YS4
! [/ X' H! m1 t& F0 B2 ^ MOV DPTR,#PLY5 @2 i# D8 y- \; h5 [# L' C
ACALL SENDA
' o/ k; A- P+ v& J* U! b* k( ^N2:( U2 n$ E9 D! C' Q; M# X2 X
CJNE A,#5CH,N3 ;停止键
! _3 D# p- D) j) R9 F# t# d MOV DPTR,#STP, ^) L/ S" B) U# f
ACALL SENDA
, l4 b% Z3 ^, F. k; I0 c+ `% C) NN3:; H3 s9 J" Q6 t( Z1 G0 T
CJNE A,#06H,N4 ;快进键( `0 ~3 T% d# F" U9 e8 r
MOV DPTR,#FWD$ F& ?' v/ y( w6 y \
ACALL SENDA/ Z! v9 g. \/ q" S3 t+ B
N4:
* Z k& l3 F! h, V4 P CJNE A,#09H,N5 ;快倒键
( X0 a9 Z0 r1 ^0 ^7 g8 ? MOV DPTR,#RWD
* Z$ j* Y3 d% s0 g; C ACALL SENDA
) t3 _3 p- y) ?3 JN5:( l5 [% }& [3 W: O) p& b5 s
CJNE A,#0AH,N6 ;置零键9 H* g2 s- P5 a1 Y& a2 ?
MOV DPTR,#RTM
3 `2 s4 o( h5 Z$ j, f0 W) k8 G ACALL SENDA9 \7 l D. r1 Y6 J7 _9 Z4 o
N6:
- |$ _ Z8 [, D; g% K2 P6 T7 H CJNE A,#0CH,N7 ;定位到零键6 @* q' W9 b' v7 S, f- c$ Y# b
MOV DPTR,#LZA, W$ D# s! x) ~, e
ACALL SENDA
4 D) W- X: ~- b3 P# Z6 [- z: ]5 hN7:
8 U' ]+ d7 F! f& h3 u N4 d) Z AJMP AA
V0 W8 {, ~7 T- KSENDA:+ ?. Q7 x7 Q9 Q4 ^; N! r
CLR A
% q3 S7 w4 B2 a$ u MOVC A,@A+DPTR5 r1 C0 C- U) [8 v! _- |
CJNE A,#'$',SENDB+ X' ^' a8 o, T
AJMP SENDC% ~& ]8 {3 x1 m
SENDB:
( S$ @. Y! Y% J/ I4 I MOV SBUF,A- Q$ \' W+ T, G, k* M
JNB TI,$
. p% z) z2 x9 i. C CLR TI5 b0 a: U6 T! [& f& F% r( `
INC DPTR
. U0 V# l3 v5 x* E; g AJMP SENDA* X* i9 K5 y" h H. ]
SENDC:3 |, q w' [4 k7 s8 ~$ T, p2 s
RET1 }. a1 H0 A# A8 `- f% {, f
0 h2 g. B6 Q* d; Z" s& C" jPLY: db "PLY ",0dh,0ah,'$'
o7 n% `. j0 w) JSTP: db "STP ",0dh,0ah,'$'
; Z& A3 o5 K7 t: wFWD: db "FWD ",0dh,0ah,'$' M* y# K0 ^5 y. C+ L, u: B, i( s* ]
RWD: db "RWD ",0dh,0ah,'$'4 [4 h4 X1 X J0 l" q
RTM: db "RTM ",0dh,0ah,'$' v" s1 h5 i" L* F
LZA: db "LZA ",0dh,0ah,'$'
/ O/ q7 S ^# A0 D0 JREP: db "REP F ",0dh,0ah,'$'9 k0 \; v8 d. R' R& R) E c. { b
7 Y3 ~ a( t* X9 Q+ nYS1:- T) j3 t& z9 V# I
MOV R4,#20
% o( u1 o# s) D+ ED1:7 z6 `, D0 U( E. h( l) L
MOV R5,#20
- }! h) C; J, z. A1 i# O DJNZ R5,$
, }2 J! B9 w$ {; D3 U9 @" j DJNZ R4,D1/ r3 {8 D! _$ _8 w6 Y
RET# \, o- k/ S# A5 }& q' s6 _
S( g7 |6 p3 m# QYS2:
8 L+ J- M1 N6 s4 T; B( d$ U" o MOV R4,#10
, b; j" O8 p4 L6 e1 Q+ R3 q8 T8 XD2:, T$ S O: s6 y
MOV R5,#2353 D7 H8 _2 W- a9 v5 Y4 X0 b5 b, U
DJNZ R5,$
3 ^' e7 ]* ^! W3 y DJNZ R4,D2
+ ]4 e. |% d! z' }" O9 t RET
7 X, a" L! r" e, [; a. {
1 z3 I2 U! m, u4 w4 z0 P/ E& YYS3:
, f+ x8 A, a7 f$ o5 P MOV R4,#2
* Z6 c# @# p+ Q1 a" z% M+ rD3:
! B+ y+ _8 ~8 f; g, ~' N3 A7 y. F MOV R5,#248
, Q. X' t2 y; U- u DJNZ R5,$
; q; P3 u0 x s4 @ DJNZ R4,D3
W5 w) s4 a- F RET) u6 ]% `; ~; b* r7 q6 ]& g. z
7 t7 g# g; Q$ V' d; Q. }5 C8 K2 e
YS4:
6 T. c% v* l% V5 Y% L3 J, ? MOV R4,#200
) C& ]" m8 J9 T/ D' v* p7 tD4:' s/ q+ F: [1 O2 j' C
MOV R5,#248/ R9 X: u. k- W
DJNZ R5,$
) k" }1 u! O5 {7 l1 M, h _1 z. o DJNZ R4,D30 w( l0 h! R/ @5 K. \
RET
2 }2 |! Y* K( ?1 \ END; ]. N) W/ m6 S+ l# k2 [: O! a
9 K! ]" M, c2 Q* {& w) z有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
. u! a8 c$ o% C( a. i* d3 @是不是很惬意,嗯!
' q8 X. r9 Y2 { |
评分
-
查看全部评分
|