收藏本站

开盘机音响技术网

 找回密码
 注册加入
查看: 7195|回复: 14
收起左侧

苹果遥控器+51系列单片机=红外控制STUDER录音机

[复制链接]
发表于 2012-2-18 12:29:14 | 显示全部楼层 |阅读模式

赶快注册并登录访问我们网站,呈现更多精彩内容!

您需要 登录 才可以下载或查看,没有帐号?注册加入

x
本帖最后由 zzrs 于 2012-2-18 12:40 编辑 3 q3 K& C; t2 `
$ O. ?$ s1 S3 [! Q) v  ~. h! X# ?
本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。
7 [7 b% j0 N7 T, q5 ~
/ X3 \1 S. }1 A2 Y0 H说明:
" h& \# }" \6 k1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;. T" L* I- H1 e/ X
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;
1 r: a6 E0 ?: u
' ^6 m6 |! J( `. T# @一、基本思路
" `9 V4 q$ {$ g* V; c使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。
& V% ~% i, n1 w
. M5 l7 p* ~* L4 }% f% Q二、红外遥控器
8 t5 j0 F7 l$ F9 k0 `* W我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。
' b9 l) u8 o$ O5 b: x  j Apple-Remote.jpg ' X' I7 F# a# a& h0 f4 y
好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。! q- [- n( X% X2 e3 b" \4 R  @$ @) |
Apple-Remote - 副本.jpg * ]& C  m1 ~+ l+ L$ J) j5 W
在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:
# `9 @# u3 J# \8 |; b Apple-Remote - 副本.jpg . ~7 Y$ F$ Y* j9 N
0 K; O3 b! y) A  K5 ^" [
三、红外编码
4 M: ~  b1 g- Z1 W红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
9 j0 R+ V) G/ f; g9 p前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。" P% `9 L& T) ?+ j* r
后16位为控制码,主要用于实施具体的控制。8 r& S. [6 f! V# k+ a
这16位中高8位和低8位互为反码,以提高可靠度。6 ^8 i! ^" X& s2 i1 X6 M
* z$ |5 {0 P  J/ b" s
以播放为例,其编码如下:1 n4 f8 }3 D- Y; I- n
00000000 00000000 01011100 00000000
8 r, h3 r% K' h0 N% j' X. [& B1 _# @" |8 u" A  Q
你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。
3 U) t; Z( S. R0 v) N
% g9 L6 `$ n6 j% f  U& j' @四、单片机系统
2 I& m! x. @6 s& P8 l
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。
& j4 t) L3 l0 M( X3 h% h, g6 E c51.png
' f( E* ~- ^7 Q. E) m! n2 Y+ h   z3 q) D9 ]! g* g* `" ~* n
电路很简单,功能如下:* U) P" X* w. n1 s2 ?
1、一个AT89S52单片机作为核心;- B! s6 W9 J" J4 h6 J* o3 M' e
2、一个TL1838为红外接收头直接串行输出数据信号;1 a7 K8 x! A5 _7 N2 k; @# L
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;. T. u. Y  {2 m# Q" c( D
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。* ]/ W  T( p' Q( e0 K6 E8 X" F. o
, z$ y+ l* ?5 ^' M
关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。* r" g. a% K1 v. T
5 r: X5 U9 v- I, L
5 a* o; r8 ^, p, H  w* e1 K
五、控制软件% |3 M/ x. k" j, e* m, n
控制软件用汇编语言写,源程序如下:
8 y" K/ [2 O% x; N3 d" c- T     ORG 00H8 Q5 u0 j+ [- K" {$ P& T
     LJMP MAIN
5 D% w3 u) f2 G6 O+ o8 S     ORG 30H2 Y( w% Q% u( V* W; [8 V
MAIN:
3 i# u+ R4 J' ?' j/ X# W1 D0 k* ]     MOV 20H,#00H  ;设置串口工作方式,速率9600,(11.0592M晶体)
! k1 K4 l( D) G& C8 |5 n! X& i+ F     MOV TMOD,#22H  ;22H2 o8 c; P7 u9 ?/ \0 t$ M% R' P6 B
     MOV SCON,#40H  ;40H
5 \- p% n" }5 C7 n     MOV TH1,#0FAH  ;F3H
- f2 N4 w9 f5 ~3 i8 y     MOV PCON,#80H; p7 S! `2 e. f% N
     SETB TR1
, S# t. @6 K: h* D) p  a# nSTART:
" L4 C8 \7 U8 }6 ~' T     JB P3.7,$ ;遥控信号处理. r* w. c: S. C( w6 c# T# \" h" \, t
SB:
# u# s5 K3 s5 L! a* g     MOV R4,#8    ! p; J  L' c2 v8 h
SBA:% U- R' M2 {  @9 n' U
     MOV R5,#250
' r3 Q: `" ?) o  nSBB:
7 d' m- l% U: Q) @     JB P3.7,SXB1
; Q0 d$ Q" O3 Q) _* G4 A( X1 S     DJNZ R5,SBB
& p: K' E( v- v# l: Q7 U     DJNZ R4,SBA
5 y  s5 I! _# j% G" p( j     MOV R4,#2
( C$ @2 D0 h% u( D3 D- |8 T     JMP SBC  S/ D2 h) j% l
SXB1:
0 H/ Z" u$ V& V2 s8 g( G     MOV R5,#5
* l# v. \0 y; r5 x& Z, ySXB2:              
6 H5 |  b  u0 \; @7 b0 [     JNB P3.7,SBB
# M* u5 i& w! V     DJNZ R5,SXB2* s, F9 d7 V# K( t
     JMP START
5 l( c3 S) P. ~8 X; @' Q5 eSBC:
# y+ i2 _. O& O6 W/ M7 D0 y5 o     MOV R5,#250
- ?- b6 k. P) V# qSB1:
! e; E4 h. ?  F/ `     JB P3.7,SB2    G1 y$ R0 _; K% O
     DJNZ R5,SB1
" @+ n- o% m' ~1 L DJNZ R4,SBC
3 W: R2 W+ z1 L3 _0 o# H- }; C     JMP START
+ @1 V' W8 k7 WSB2:                 
" n+ J# ]! J. Q! {1 w5 G: e: x     MOV R5,#5: J1 ]5 W1 E- L4 c0 v7 [% e  b; X
SB2_A:
7 M" _+ u; [+ [5 |( V5 ]     JNB P3.7,SB1$ y1 U) a  t! b3 J% u6 b
     DJNZ R5,SB2_A
+ `% K0 v) u! z4 Y9 L& R! ~     MOV R4,#3* a$ M( S/ [! D
SB2_1:
9 N' Z# Z) S% ^/ {' R7 E& _: a% Z     MOV R5,#250' V  Q- W, _2 X! h# B: ]- }
SB3:                  
# i; ?% x; e5 r; ?     JNB P3.7,SXC
) D- v1 d; {9 U' q     DJNZ R5,SB3+ e5 `8 ~1 p  n- p) S/ I  L/ Z
     DJNZ R4,SB2_1
$ G2 ?$ E2 B( P3 e1 q# J6 Q* Y     MOV R4,#25 r( T, w" Q: r
     JMP SB3_16 ^0 H; w4 V5 x) ]+ e) b. m& _1 h
SXC:                  
3 E) z6 |, g# G# x     MOV R5,#5* Z- ~' P0 U  J! q
SXC1:  X9 g( \  ^! v6 Y
     JB P3.7,SB33 ]; C( V' m( K9 B
     DJNZ R5,SXC1
$ C( u3 G; H# g     JMP START, `$ T: V$ s1 j1 z9 `
SB3_1:                 5 z$ K  p; I6 h$ U0 q
     MOV R5,#250  h) k1 s0 \3 q) l8 u
SB3_2:
! B1 q! n' r6 M% Y, k4 F+ \6 \     JNB P3.7,SB44 J2 r# t8 @  g
     DJNZ R5,SB3_2" Q; j/ V2 C* \
     DJNZ R4,SB3_1
2 b! z; d% K9 e0 m     JMP START4 I7 h3 {. X0 U/ N7 R/ p8 y4 J6 i
SB4:                    ( p+ z+ u( I) ]8 _- p
     MOV R5,#5
7 w" p2 m" e- `" d& USB4_1:" h& z6 I* i+ V/ `2 u: Z) g* R) ~
     JB P3.7,SB3_2
; A3 D6 U% t$ A8 N5 D; D1 B     DJNZ R5,SB4_1
' L0 M! I) m% F, S0 k9 Q! X     MOV R1,#1AH  
# b+ c* ]# w8 D( F     MOV R2,#4" d5 J* \1 `; X  O* Z+ |
PP:  MOV R3,#8' L- i+ P" S9 w" F8 N- O
JJJJ:2 |' i! ^' U1 z1 a+ P6 A
     MOV R5,#2509 w4 r0 W5 \' g4 C3 G3 O3 \9 ?5 T
JJJJ2:                % q2 w" {/ W+ z9 h: ?/ p2 w
     JB P3.7,JJJJ3! H: c" u: u* M1 x) x3 q
     DJNZ R5,JJJJ2
" G/ i2 S# R2 h/ T     JMP START
, _4 E9 p) V7 _, wJJJJ3:" Y  x% e" g, b( @5 _& `
     LCALL YS1  3 q1 H0 c  \2 B' I# C* A
     MOV C,P3.7   / S# i9 k$ h( W/ n6 e; ?& p" s
     JNC UUU      / X9 y0 h+ O9 `  z
     MOV R5,#250/ R. k; b! @5 W& o5 Z$ ]% @% y
JJJJ4:
8 H" ?8 q/ y5 ^  A     JNB P3.7,UUU$ z0 z, ^& O$ p. M9 s
    NOP% _) ?0 A5 k, o5 x" o
     DJNZ R5,JJJJ4
: ]3 b  T4 K9 c' s# g) ~     JMP START% L$ m$ w5 u& a0 c$ ]7 y' ]$ v5 c: h
UUU: MOV A,@R1  
. [& ^3 e) t7 a     RRC A           5 q# i5 g6 c5 ]+ H& S
     MOV @R1,A       . {0 b2 d! v: R5 B$ f8 l
     DJNZ R3,JJJJ   + Q& O6 x" D# f  \1 I
     INC R1      
) y- b, S2 t: |; U. l     DJNZ R2,PP   
/ d! g# v' U  ~' z' f( m# P2 Y  {  w' j4 |% C4 }  g
     MOV A,1AH
/ ?& b/ k5 ^' o# f7 q7 z# [# C     XRL A,#11101110B! f* d" \9 E3 v' A% T- p  H, j
     JNZ EXIT % [" r8 i5 O5 ^- B( T* x) D1 @$ B
     MOV A,1BH
- [7 Y' V5 n+ g0 A     XRL A,#10000111B
( V( T" |. U! j9 i     JNZ EXIT ! }, z+ r1 i4 p; K& K; @
     LCALL YS37 X0 ]" d0 N7 R  b  h% `$ M# r
     MOV A,1DH
/ I# ?5 T" {. r& T% D     CJNE A,#10111100B,EXIT
; b. T$ ]5 B9 C6 {  B     LCALL YS3
1 p1 D! J5 L% F3 M! D     CLR P2.6  
7 w# `1 V# {. K9 z     AJMP BIJIAO! Z  }$ o1 Z/ S
   5 x$ {0 ~. v! e# Y0 d' B, ^' S% e* I
AA: 5 V) y4 C) |; A. m9 I
     MOV R1,#25$ B9 \6 W. \% p* J4 _' G
XX:
+ u0 N: L5 v4 x& O1 \     ACALL YS2. C% F; t' ~. P9 r  g4 ]8 a2 n) U8 \
     JNB P3.7,HH
  b4 x# d$ N* R, ]/ w4 z, ?- L: B9 }     DJNZ R1,XX" K) ^. U' j; H+ J
EXIT:    % n5 F; |- ~# h; C
     AJMP START
# s3 c  @$ B" i$ x9 L, h1 F# p   
* d6 o( r0 A8 s9 n; D$ ZHH:
% `9 n: ?5 ~0 Z4 `$ U     MOV R6,#4
" R. b( Q" f  D9 _4 m* N. @! a% |S:
1 D9 B) W  o: @9 J( F     ACALL YS1 ! @2 A/ {7 z! u( p
     JB P3.7,EXIT
7 O! W/ |& I3 B$ j  F; R# I     DJNZ R6, S
8 g- g4 v& [; X+ k% w/ i$ z+ D     JNB P3.7, $  1 g# F0 P- }! w$ x5 ~- o
     LCALL YS30 ]2 F" o0 ~0 ?# d! q$ {  n
     AJMP AA
: L/ n& U! I( S8 b7 o' Z3 xBIJIAO:5 w3 X5 n6 M8 k9 o8 E
     MOV A,1CH
! o7 c% o9 ^" W  @7 U5 ]$ I% j     CJNE A,#03H,N1  
* o9 F" }9 I) U$ \9 C     MOV P0,#7EH    ; n8 x) K! f! P: A9 [
                      ! u" ?( n2 [# @) M+ @1 C
;处理STUDERV录音机控制码
8 R9 S0 S$ ^! j, W9 bN1:
: o4 \5 O' \7 U5 K     CJNE A,#5FH,N2 ;播放键; `! _3 P# {0 c* _$ i! O0 J
     MOV DPTR,#REP8 }2 V# V6 ]8 m1 s8 Q3 F, `$ L! D
     ACALL SENDA
( N: G# w/ O6 P% ^& [     ACALL YS4
) D1 c: L7 Y, r4 z, ^7 [2 |* b     MOV DPTR,#PLY4 c* Y, K/ G* F7 g. r$ U
     ACALL SENDA
# [: D; d' H0 B4 @N2:
* _( p+ [0 Z( W$ c" l! Q/ k     CJNE A,#5CH,N3  ;停止键
( G; a& N  r" v( _6 W, P     MOV DPTR,#STP2 n% K9 |' I9 F+ b2 u1 g
     ACALL SENDA6 m: D4 w2 a$ k4 o- ~" ?5 E
N3:7 {: R6 m$ g& P# w. {4 j. e+ E
     CJNE A,#06H,N4 ;快进键
8 U/ a& q& h- _, b; E     MOV DPTR,#FWD, T. r0 h5 u# L! u+ y; O9 I/ t
     ACALL SENDA2 E' z% O5 p( ?4 O# Q' w
N4:
4 A4 M7 x/ y1 V) E; D     CJNE A,#09H,N5  ;快倒键) {( A0 K( y4 r( b
     MOV DPTR,#RWD8 s" ]. U1 U/ K' ], b6 r. |
     ACALL SENDA
& V! j6 A8 F8 fN5:' X1 l5 `& {! e+ K1 l( @
      CJNE A,#0AH,N6  ;置零键( y: }6 w0 Y$ J; x  v
      MOV DPTR,#RTM
8 f5 l7 @- X: v' u' W$ o     ACALL SENDA
7 k, T; h  ]# U, I6 ?! T4 Z0 \9 vN6:
5 U5 w- U- w- ?8 W1 i# A5 m     CJNE A,#0CH,N7  ;定位到零键: b1 C5 A6 {7 A9 i1 J
     MOV DPTR,#LZA
9 E4 L  E0 N2 J, H     ACALL SENDA
5 i$ C0 I$ q3 G" ON7:
# A. o  k* |& x" k& U8 m     AJMP AA* q) U/ U4 g. n3 s
SENDA:
5 n# u4 D. Q- U     CLR A7 n3 `7 b& J3 _1 Q' m) k0 |& k: L- v
     MOVC A,@A+DPTR! ~2 U7 q; I" n0 N7 k+ w6 Q
     CJNE A,#'$',SENDB
+ \- \; j9 |/ B  r$ M     AJMP SENDC
1 R& x$ N, N! i. C' b* XSENDB:
* P3 Q% L8 x  w; ?9 H     MOV SBUF,A
; c4 d3 x6 S0 I5 p' P2 d     JNB TI,$
. g* A$ J- K  B" }     CLR TI: ~% }; ?; f9 }( p9 t
     INC DPTR
5 `: s* [0 ]: w; ]8 S( Q" u     AJMP SENDA
+ q! O1 D3 P. O. ISENDC:
: ^3 t8 ~$ }. V' d     RET* E' H- h+ @5 @. I! x

, i7 l. `6 A/ W) v" p3 m8 yPLY:  db "PLY ",0dh,0ah,'$'
% v  B. R" R4 {6 {STP:  db "STP ",0dh,0ah,'$'
) [* x: W' p6 [  \* `9 U6 cFWD:  db "FWD ",0dh,0ah,'$'
- z' b/ H+ U+ ~$ l0 C2 f/ L/ hRWD:  db "RWD ",0dh,0ah,'$'
# V" h& G" Z6 U# J% ]6 Q5 j! yRTM:  db "RTM ",0dh,0ah,'$': f9 V5 c2 {" {' M' S0 o
LZA:  db "LZA ",0dh,0ah,'$'
/ ?4 E. `$ J; R) B- MREP:  db "REP F ",0dh,0ah,'$'
- n# y- C. k. G: x  z
8 `( l2 U9 }2 S$ h* F$ Q( ]YS1:
; k) n. W. A- Z* ]% \# f     MOV R4,#20. Q2 v/ X' L5 w+ R1 j% K  _
D1:8 o0 I4 Y: n; {( m
     MOV R5,#20
" N7 G# U, B% j; c" q     DJNZ R5,$4 Y7 A$ A* t; e( \5 Q& s
     DJNZ R4,D1
9 h) N6 M$ ?" M* m6 `4 z     RET
6 {4 {9 D) ^# W- e3 U4 U; S
+ p- s7 n1 j+ pYS2:
% Z3 |5 k  w3 p: o4 R     MOV R4,#10
& ~0 l( S4 _2 l5 J7 e* e' Q& a4 V3 kD2:- @4 ^! w% E5 ^: D% p# B5 D  {
     MOV R5,#2356 i# W- \- D" g1 |
     DJNZ R5,$
* r7 Y: J$ a0 a, q     DJNZ R4,D28 w& k9 S: s# ^5 @; H8 g
     RET* T; [9 n- J. W# f$ f

2 {7 d; K7 j# H5 g% b* G3 j3 eYS3:; ?, ~) N; y# L& r" z6 q+ S
     MOV R4,#2
6 u3 m& ]7 O8 j+ }/ H% ND3:
% i% d" A) b$ w# ^) p4 @) a3 w     MOV R5,#248
, `* d. A. t5 U8 j     DJNZ R5,$. ?# F. b7 J1 L% f) i
     DJNZ R4,D3
3 C  v# Y( L* m$ A: y' _; J. `     RET, R- l( o' t6 v, b, K8 ?; R

: S" g+ P1 Y9 P4 V; Z' UYS4:
# k' W8 }( r( F( n     MOV R4,#200  {7 w1 b* w' k9 x
D4:0 i; o2 J8 e" b
     MOV R5,#2485 F$ a3 c* r! H
     DJNZ R5,$3 {4 _# y/ }+ d
     DJNZ R4,D3
2 G. T7 L7 r! s; V     RET- E8 t/ T4 A" a0 R1 C
     END% m- c( s7 u( y2 [
' t4 l1 K: G$ t2 X5 p3 B4 I
有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
5 [0 l; G2 C2 }! K1 t. F1 N; c是不是很惬意,嗯!' ~; D+ @% n* F& q% L( w% C

评分

参与人数 4威望 +54 收起 理由
tempo + 10 原创性
木又 + 4 好技术,建议楼主做成品,赞一个
开盘机论坛 + 30 好资料,支持!
红灯记 + 10 好文章!

查看全部评分

发表于 2012-2-18 12:43:13 | 显示全部楼层
我准备试试{:4_214:}
 楼主| 发表于 2012-2-18 13:03:33 | 显示全部楼层
红灯记肯定没问题。
 楼主| 发表于 2012-2-18 16:54:48 | 显示全部楼层
最终的样子,有点简陋哈!) R3 b2 Q* _& ~# ~2 G. B
YK 005.JPG * x( B" o& X2 m* B
发表于 2012-2-18 18:25:45 | 显示全部楼层
这个很厉害,楼主令人佩服{:4_219:}
发表于 2012-2-18 20:30:22 | 显示全部楼层
发表于 2012-2-19 00:06:30 | 显示全部楼层
怎能長他人志氣?自己設計的就要站出來標示自己的創作,讓別人引頸為盼!!!{:4_213:}{:4_213:}{:4_213:}{:4_247:}
发表于 2012-2-19 00:45:50 | 显示全部楼层
洋为中用,真棒!我得试验下/ m# X1 |, s! ?  L
发表于 2012-2-19 09:00:40 | 显示全部楼层
厉害.......{:4_219:}
 楼主| 发表于 2012-2-19 10:01:48 | 显示全部楼层
其实也是不想破坏原机器的整体性,要不然就直接装录音机里面了,电源也好取。
发表于 2012-2-23 14:46:26 | 显示全部楼层
{:4_213:}{:4_213:}{:4_219:}
发表于 2012-2-23 15:27:13 | 显示全部楼层
有创新,值得学习{:4_219:}
发表于 2015-10-2 20:30:26 | 显示全部楼层
還有這一篇,找時間深入瞭解。
发表于 2015-10-5 13:32:58 来自手机 | 显示全部楼层
楼主计算机功底扎实啊,学习了。楼主是否熟悉过去计算机用的1/4吋525M的磁带机,是SCSI接口的的。
发表于 2015-10-6 11:14:18 | 显示全部楼层
zzrs 发表于 2012-2-18 16:54
' N5 R; r3 o7 [! k. E最终的样子,有点简陋哈!
2 P( ~  M: G" |6 L  [* L
这进度怎样?
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

手机版|开盘机音响技术网 ( 桂ICP备20003207号-1  公安部备 45010302002201 客服:18077773618

GMT+8, 2025-1-7 19:20 , Processed in 0.074187 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表