|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑
/ l z5 y8 F8 J' F x1 f
# Q" o0 K- Z* ~+ f# q本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。% U8 t" b' J; ^5 X( o
M; z% Q' |$ z5 W5 O- M说明:
; @& Q4 P0 m* V0 D% o1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;' q; p! i% e" }; g; Z R
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;* u. {) j! A& e
& K' Q/ ]) ~3 w
一、基本思路
: F# s6 s0 Y( p8 u% s0 ]6 v使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
3 @, ]) m( o% {# E# K
( p& I: B7 I5 I& F$ Z. x2 q二、红外遥控器
/ }- l# g: F$ T我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。* V9 q0 e. G! n4 W% _7 {& q/ W& |
+ Q4 L0 o c! F: v/ s b- R+ x' |好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。# h) j, [* h6 X: O( K$ _+ Z
, I6 g S( ^1 Y; z. b q6 J
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:" [' p4 |# o+ C* T+ U
$ v; {7 r# [+ {
$ w$ k( |# W' A; t/ r+ M三、红外编码7 R9 f' [! K3 P# h* v* q( G" }, s
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。( R5 t6 F, s8 D3 R
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。$ q M3 O5 J( L4 V. \
后16位为控制码,主要用于实施具体的控制。
# W) M+ M- l1 h: A8 r7 H这16位中高8位和低8位互为反码,以提高可靠度。
& s$ F+ F0 L/ |9 m( h. W! [: m* C
6 o$ O! d0 h; t/ k+ F, `以播放为例,其编码如下:+ b/ \" t- M d- h( j& d
00000000 00000000 01011100 00000000
& k, q& W, V$ n3 H
; w- s! ~- S8 Y2 b$ k1 x% J' ^. q你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
' G, c, q6 ~2 ^; E/ S- F' K! t: S* P0 j, |+ L
四、单片机系统' @8 }0 D R! M' v
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
& i1 m- R& [$ X1 G* D+ b% f
* _4 @/ c& E% \! ?9 M% N
& X1 C* o7 @; k2 P" ?电路很简单,功能如下:
3 }9 s2 d/ x4 ]: @7 e, w9 n1、一个AT89S52单片机作为核心;, C( x) B Q% [+ \9 \& [% L! Q
2、一个TL1838为红外接收头直接串行输出数据信号;
! |: w: n/ a! `/ D3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
! u' Q: }' s1 Z& d, [4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。
0 e- q, r, A( W( h* H; } d: S3 G+ ^% n- z! _% K, X# b. E
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。7 q7 p0 n, z9 ^4 d, g
' T: f/ w6 `4 e; P, A3 G% E/ X$ X5 P8 E; T3 e8 t
五、控制软件( P7 Y, e/ z9 X- O2 t. d1 m; V
控制软件用汇编语言写,源程序如下:! d- Y8 }; B6 G, y
ORG 00H# k7 _0 Y7 ?2 o- e, O7 a
LJMP MAIN
, b, m8 b9 Z* U+ w# v6 E% ? ] ORG 30H
, p6 \( F# m$ C; `* M' E( PMAIN:
) v+ b+ G% I& y MOV 20H,#00H ;设置串口工作方式,速率9600,(11.0592M晶体)
; b, [& i7 t r MOV TMOD,#22H ;22H( ~# \! o. g/ B' [ K: l9 \. C
MOV SCON,#40H ;40H- H4 A, K ?# z: ~$ A" C+ ^
MOV TH1,#0FAH ;F3H
! x y; E/ V4 E- v# a MOV PCON,#80H
& Y. D5 k( U4 C# j, n SETB TR1% v. e2 C7 ^1 V7 s6 H% A+ w6 x5 \
START:; Y! q) K# W* n0 l& A
JB P3.7,$ ;遥控信号处理
7 I6 P+ o) E. i( ~SB:
}+ u8 e) ~3 {2 v. U MOV R4,#8
* f$ v0 g4 g6 t8 U a2 H v/ `SBA:
" q0 N) l E" S5 P- ~$ {% B5 s9 @ MOV R5,#250
- t% U( l4 L& h2 z9 m% E/ Z! ySBB:9 g5 E1 t8 l$ [$ N
JB P3.7,SXB1. F! G, p; i$ r& g0 X4 X, q+ q
DJNZ R5,SBB
: k7 [) d3 S' n+ u DJNZ R4,SBA/ t7 z0 K7 h) z. K( Q
MOV R4,#2
/ o3 l* n5 L' s7 L) S, \ JMP SBC
$ k& w. o7 c: k6 W# y* L- i# \SXB1:2 K3 a. q7 T; {6 X8 f- W" ~
MOV R5,#5& j8 l w5 ]: U2 A
SXB2: % m, |* i+ g1 K
JNB P3.7,SBB
4 a7 Q8 @* }, m3 q0 i5 | DJNZ R5,SXB2 G @9 G' t. r
JMP START% T* R/ w/ t3 W% A
SBC:
0 y( G, P* ` a MOV R5,#250
- c! i7 e2 V. W/ RSB1:* s2 X) R" ^5 Q2 |+ v8 X) X3 e
JB P3.7,SB2 1 `! m' o. j3 S% A0 ^( _
DJNZ R5,SB1" {- S5 w# r; |0 _( {. T
DJNZ R4,SBC( B; `8 c( R: H
JMP START
' e5 n' l6 o! a, w8 |" H% x9 ESB2:
: V$ b9 P/ l$ [8 j! q1 K MOV R5,#5, Y2 a( M: L& n9 d* X) _' P7 t
SB2_A:
8 L3 Z9 u* p+ d" f$ s$ q JNB P3.7,SB1
2 g! A) P. q, H L( ~8 ` DJNZ R5,SB2_A
& u; W2 W1 b, i7 K+ z MOV R4,#3% {5 x* y9 Q) n: K
SB2_1:" n, w; d2 [& j y0 W6 C
MOV R5,#250" U5 {: m% R% P5 Y
SB3: 4 U; O# b4 g# \% l1 e& n7 G4 q
JNB P3.7,SXC
5 b- @ a- `" f$ e# L9 k0 y1 w3 z DJNZ R5,SB3
5 A5 y0 Q+ H6 Y DJNZ R4,SB2_1
$ s# _- {; C( H1 `9 t+ s1 S MOV R4,#2$ |* p: }, _# E- S) {. \
JMP SB3_1
2 n" p1 t! h' w8 S zSXC: # N! p0 w% g6 x5 ]# |
MOV R5,#5 u( P4 c3 M0 x1 C& K1 }- E
SXC1:
) @- `$ M- M2 S8 E5 R2 B JB P3.7,SB3/ m K" k. B+ h
DJNZ R5,SXC10 P- |2 x8 R7 ~6 A
JMP START; O2 Y' \* ^5 {+ E& g" U
SB3_1:
" h' z# i% j6 ~6 k3 t u MOV R5,#250
/ Q1 W& [7 F, I" bSB3_2:
9 n& k" {. ?! c% c. U JNB P3.7,SB46 k; a1 q6 l' b9 k ^
DJNZ R5,SB3_2
+ K1 ~1 ^4 j" N' f DJNZ R4,SB3_11 i6 Q. i, H8 b( e9 I @: J
JMP START
0 g( M0 l/ g k, p9 S8 }" K$ N' sSB4: : C& }0 R, G5 m/ \9 ^. e0 [/ e
MOV R5,#56 x! I9 {! _" U, ^4 Y/ G' p
SB4_1:
6 b# Y* p5 I3 s4 g0 _* D JB P3.7,SB3_2( b! q4 M1 Z$ A7 E5 D. h, w
DJNZ R5,SB4_1! q/ u2 E! X' X5 y9 M
MOV R1,#1AH ! A- d' u7 i- p% L6 u/ X# U4 w6 V' Q( c8 \
MOV R2,#4
5 |- O+ k! w* k( \# x( ZPP: MOV R3,#8+ z1 f* a! } u. l2 f7 q
JJJJ:
1 g, n+ P5 l" o' p" j0 v6 [ MOV R5,#250
s6 R0 G4 E- iJJJJ2:
3 \) ^: u9 K8 U! P( @9 i; l JB P3.7,JJJJ3
' j; @, J# R* N1 o0 L6 w7 s DJNZ R5,JJJJ2
& k: `- _8 \& G( M JMP START# n1 I# F+ ]- i/ s0 b6 S. e
JJJJ3:
@4 e( w4 \8 g LCALL YS1 5 o `0 x+ ]. s. ]/ P
MOV C,P3.7 ' j2 e w+ a F: c* y
JNC UUU ) J X5 ^: }- J
MOV R5,#250# x) G, k# e5 I1 f- ?
JJJJ4:6 p. y/ L2 I7 u! Z
JNB P3.7,UUU
# i \4 W5 `$ t" y" V& } NOP5 x% C2 h1 Q. w# @+ }8 j
DJNZ R5,JJJJ4# j. ^# R/ `+ F! Y8 P
JMP START
+ k: T1 J3 ~8 H2 z: @% }; p: A/ aUUU: MOV A,@R1 2 I V" D2 d' U$ A
RRC A 4 E, ]* u) C+ _2 z: a c( V; j
MOV @R1,A
) {4 I3 k* { n3 h# S% H DJNZ R3,JJJJ 5 r& _/ V3 u! i2 Z- ]' q
INC R1
$ N& e+ X1 E7 x& [2 P DJNZ R2,PP
: t) x& t8 b+ h! P; Q+ S7 o6 p8 w' x4 E" x
MOV A,1AH
- _# d) z- I& P; f XRL A,#11101110B. o% d9 y8 T' A1 R- J: o2 [3 K: x U
JNZ EXIT
, t% k) p- i5 J' P/ y MOV A,1BH
1 j/ k) \# B% j2 ]' ? XRL A,#10000111B
: \5 P! s0 i4 A( T JNZ EXIT / a- h2 {4 i( n9 r
LCALL YS3
, d" R# {! p6 \0 B MOV A,1DH 0 L8 c8 S4 [& A/ Q
CJNE A,#10111100B,EXIT
+ F& b; C% Q& b" k/ V LCALL YS3$ Y- `* K2 {0 G: D, f
CLR P2.6
) u% h& c" L2 O( L AJMP BIJIAO
; x# b+ k, s% ? 7 T8 i) V, {5 k8 i& Q; W8 N
AA:
) a- U( E, s1 O6 a7 A# v/ ~0 @# V) C MOV R1,#25
+ Q1 k7 P" N! A. s/ a- c- OXX:
$ ~- D K+ h+ [4 c7 u7 [7 ~9 t ACALL YS2# W, ~( K, T6 d' @2 ?3 s
JNB P3.7,HH
+ w0 P( A" K1 x: e/ s, z DJNZ R1,XX% X' ]. }7 r! h
EXIT:
$ A r/ I' ~$ y1 l5 r4 Z AJMP START, N$ m3 M4 g3 X5 ^; t' [
& _# s l+ C( @5 q% D; {0 J
HH:
. i1 ^" M1 q' C, Z MOV R6,#4
& O1 y' }8 L( l# u" r$ q6 t0 OS:
4 ^5 D3 N9 z/ L6 Z5 A, w ACALL YS1 + t! v' H2 ?$ @ C1 e
JB P3.7,EXIT
[6 B8 L8 E V. y DJNZ R6, S
, b$ w/ c5 h. C/ B( \ JNB P3.7, $
6 o1 `2 J4 @7 r0 z# ^! T LCALL YS3
# x; ?, q9 u5 |* ] }- p% J AJMP AA9 q3 G& o+ u) r$ i& A
BIJIAO:, B4 S3 h+ d$ e" e7 r
MOV A,1CH
; H# P( n* Q5 {9 Y. w2 I CJNE A,#03H,N1
. L3 ^9 }- D8 \/ n MOV P0,#7EH 1 X2 J6 _5 q! v& a+ h- |( M
. c9 K# ^5 S4 e! [! s5 x+ A7 L ;处理STUDERV录音机控制码% r4 V5 S" R- C B1 }4 Z; Y
N1: " f' Q; B M6 C
CJNE A,#5FH,N2 ;播放键) u/ e- N, m7 y! w% e7 B/ Y4 D( ]' H
MOV DPTR,#REP5 B0 q8 O2 |6 _* k) N
ACALL SENDA
- l* p( n' j* b) J ACALL YS49 Q0 z. R+ `0 E1 y3 k8 m% C7 Y
MOV DPTR,#PLY0 y; ?; S% X# o e' _( K7 |
ACALL SENDA
7 ]+ G+ V( x+ \( d$ p; a# f8 oN2:
9 N! f) _8 T" Y) }# O, X u. R6 o CJNE A,#5CH,N3 ;停止键; \3 ?; {9 a1 y* ]) A( R, W$ J$ {
MOV DPTR,#STP l, f; u7 S' ~" m! W
ACALL SENDA& P. D0 @. R9 Y! e) s, b) B+ ?' ?
N3:
c g& @% J( Z1 L5 n CJNE A,#06H,N4 ;快进键% R; ?1 g. W3 x9 g$ T1 Y. ^* o
MOV DPTR,#FWD* g/ ~) q2 @, F/ E
ACALL SENDA+ Y3 r- k9 l/ P+ c
N4:; Y8 H! A3 h! e
CJNE A,#09H,N5 ;快倒键
: g* o; }: h: D; K MOV DPTR,#RWD
! s7 W! c7 v! B: [, u$ `! Y ACALL SENDA
- G! k7 }/ ?) \- I7 {! YN5:
: n( r& N1 j$ I. w CJNE A,#0AH,N6 ;置零键/ p4 b W9 @6 Y
MOV DPTR,#RTM
; J6 |$ ?! ?! i9 G& K4 s" q+ U1 A ACALL SENDA' U+ X1 \% ^' n6 d/ c% I* [
N6:
& v% ^9 Q n( a8 t2 Q, k1 ^ CJNE A,#0CH,N7 ;定位到零键8 D. P" `3 R" a0 j
MOV DPTR,#LZA- w* Q; ~! O B: I4 T
ACALL SENDA
# N1 m6 j6 x% ^4 N3 M+ BN7:% _2 Z" K; m( E
AJMP AA
% H( k* s. C1 Q# ISENDA:
* k- Y, p0 D1 E+ g0 h7 @. W CLR A. O5 F0 H Y3 a
MOVC A,@A+DPTR
/ H8 @/ v g: y7 w$ J CJNE A,#'$',SENDB
+ \+ y5 @: j9 K1 A" p8 ` B AJMP SENDC
- @1 c4 `8 v* u1 fSENDB:
. a( B6 ]9 O$ h. C7 U MOV SBUF,A
% x- z5 u$ c$ \: M7 Y0 N8 D JNB TI,$
( k% O8 r( [: J1 j) P CLR TI E' l/ J' r6 w8 U! B- ]% s
INC DPTR
1 ^, c7 b3 c$ g6 L+ Q AJMP SENDA
& D) V1 |& A; X# y! `SENDC:
X; V9 h! f& ~, ^" U9 { RET
5 y q8 E: q. B! L: M' i, I3 n5 R: [( L& [
PLY: db "PLY ",0dh,0ah,'$'1 G2 C& B/ I0 {5 r w1 H' R9 P+ m
STP: db "STP ",0dh,0ah,'$'7 B+ r7 G0 X& `( R! u- Z$ U
FWD: db "FWD ",0dh,0ah,'$'
L8 U: e5 J! j6 z2 vRWD: db "RWD ",0dh,0ah,'$'
% D# u) M0 U) E* m2 _5 ^" E5 `5 \RTM: db "RTM ",0dh,0ah,'$'; A& M* x1 h6 H' }. _+ q" ^0 m) d
LZA: db "LZA ",0dh,0ah,'$'3 z# {, ?+ k" ~+ s% B
REP: db "REP F ",0dh,0ah,'$'
. m: ]" X" I: [
3 y8 D* H# e6 a5 S# gYS1:
$ V0 a0 L! ^- K9 ^- n0 ~! H$ T N MOV R4,#20
- x4 e& s2 F \' x rD1:
9 g2 E* {' ?8 C MOV R5,#20
8 J7 _% D5 L u6 J DJNZ R5,$- T: G& s3 t0 U4 v
DJNZ R4,D1
. o5 H1 m, i) O7 z# b/ D RET
4 K4 B1 X3 x) p9 B% z2 `
# @) \1 H8 C- qYS2:# `9 U1 E/ L9 q! C' Y
MOV R4,#107 @1 A! O ]) C4 A- q' x L8 O
D2:
8 P! W# U' a$ g+ X MOV R5,#235
7 B \* x% s4 u# M5 k# ]0 D4 \ DJNZ R5,$
1 \. R. ]5 v8 i7 f& \$ X& I# X. W' J DJNZ R4,D2
9 E6 v9 d5 s" u; B$ T- l! V RET
, M0 x L* q( h4 }- n, {/ X
9 ^' w4 q. R4 yYS3:
7 x, m7 y+ U, K; k& z! E) I# X MOV R4,#2
% l" C! L o: e" ~) iD3:
) C3 n) L. }$ u! f MOV R5,#248
" B4 {$ H! U B5 T+ t DJNZ R5,$3 x6 n% Q; h0 l
DJNZ R4,D3& Q4 I2 J* z% o5 _
RET
0 J) n( Z) U$ v: k* T) K K5 Y" \
4 ~, F: o- P8 b" ^YS4:4 G: e2 ?/ P' ~; Y0 D9 l
MOV R4,#200/ O1 ?$ }1 }, ?' \+ }5 P% z8 \) U
D4:# K T1 T1 u* ~: F4 ?; V
MOV R5,#248( F7 t( ]# A8 }/ q' {
DJNZ R5,$0 P% S' y) }7 w2 i7 s% {
DJNZ R4,D34 e( e" E2 b! |" G* S; _' D
RET
: ]! V& u' u( e1 l2 F END4 u# |0 A7 B7 Z: S7 i: U, O
1 J/ j; J$ P# u* w) H* H' U$ v
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。' N. p" |0 i5 r& w3 }7 ?3 M* p. ^
是不是很惬意,嗯!! O4 p7 [0 ?7 q; i; V
|
评分
-
查看全部评分
|