zzrs 发表于 2012-2-18 12:29:14

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

本帖最后由 zzrs 于 2012-2-18 12:40 编辑

本人曾在论坛发文详解用计算机实现控制STUDER录音机与大家共享使用心得,下面我再与大家分享红外遥控STUDER录音机的方法。

说明:
1、STUDER录音机控制代码在《用计算机控制开盘机》一文中已有描述,在此不在赘述;
2、阅读此文需要了解8051系列或兼容单片机电路原理和指令系统和汇编语言程序设计,在此不作更多解释;

一、基本思路
使用现有的红外遥控器发送指令-->单片机系统通过红外接收并分析遥控指令-->单片机将遥控指令转换成STUDER录音机控制指令并通过串行口发送给STUDER录音机-->STUDER录音机执行相应动作。

二、红外遥控器
我找了几款红外遥控器,但大多不好看,感觉无论如何都配不上我们心仪的STUDER录音机,后来发现苹果的遥控器小巧、精致、时尚,虽然与STUDER伟岸的身驱对比强烈,但它们骨子里都有高贵的气质,还真是门当户对,因此决定就先用“她”与STUDER配对了(虽有乔太守乱点鸳鸯谱之嫌,但本人还是乐此不彼)。

好了,为了使用这个娇小的美女,我们首先要知道苹果的遥控器各键发出的指令代码。如何得到这些指令代码确实不容易,因为APPLE公司不公布,不要紧,我已经用电路分析得到这此东西,下面送给你。

在我的示例中将这些键定义为STUDER相应的控制功能,对应关系如下:


三、红外编码
红外遥控编码国际上有一套通用的方案,即一个指令由32位组成,即一次按键,红外发射管向外串行送出32位指令。
前16位为设备码,主要用于设备选择,不同设备先此码应不同,以防止误控。
后16位为控制码,主要用于实施具体的控制。
这16位中高8位和低8位互为反码,以提高可靠度。

以播放为例,其编码如下:
00000000 00000000 01011100 00000000

你会说:这串编码不符合规定。没错,它的确不符合通用规定,这恰恰是使用苹果遥控特殊的地方,请你记住了:设备码为全零,且低8位与高8位不是互为反码。

四、单片机系统
这里采用了应用广泛、价格低廉的51系列单片机,原型机为INTEL8051,但有大量的其他厂家兼容机,全部通用。在此我用了AT89S52,这是一个8位微处理器,主频可达33M,片内4K程序存储器、125B随机存储器,四组8位接口,内置串行信功能。先上图给大家。


电路很简单,功能如下:
1、一个AT89S52单片机作为核心;
2、一个TL1838为红外接收头直接串行输出数据信号;
3、单片机的P3.1(TXD)串行输出控制信号到MAX232转换电路,将TTL电平(5V)转换成RS232电平(12V),以适应外部RS232串口设备的要求;
4、一个9针D型插座用于连接STUDER录音机,连接对应关系请参阅《用计算机控制开盘机》一文。

关于供电,你可从STUDER录音机的RS232串口取出一个25V电压,用7805之类的稳压模块给此电路供电。


五、控制软件
控制软件用汇编语言写,源程序如下:
   ORG 00H
   LJMP MAIN
   ORG 30H
MAIN:
   MOV 20H,#00H;设置串口工作方式,速率9600,(11.0592M晶体)
   MOV TMOD,#22H;22H
   MOV SCON,#40H;40H
   MOV TH1,#0FAH;F3H
   MOV PCON,#80H
   SETB TR1
START:
   JB P3.7,$ ;遥控信号处理
SB:
   MOV R4,#8   
SBA:
   MOV R5,#250
SBB:
   JB P3.7,SXB1
   DJNZ R5,SBB
   DJNZ R4,SBA
   MOV R4,#2
   JMP SBC
SXB1:
   MOV R5,#5
SXB2:            
   JNB P3.7,SBB
   DJNZ R5,SXB2
   JMP START
SBC:
   MOV R5,#250
SB1:
   JB P3.7,SB2
   DJNZ R5,SB1
DJNZ R4,SBC
   JMP START
SB2:               
   MOV R5,#5
SB2_A:
   JNB P3.7,SB1
   DJNZ R5,SB2_A
   MOV R4,#3
SB2_1:
   MOV R5,#250
SB3:                  
   JNB P3.7,SXC
   DJNZ R5,SB3
   DJNZ R4,SB2_1
   MOV R4,#2
   JMP SB3_1
SXC:                  
   MOV R5,#5
SXC1:
   JB P3.7,SB3
   DJNZ R5,SXC1
   JMP START
SB3_1:               
   MOV R5,#250
SB3_2:
   JNB P3.7,SB4
   DJNZ R5,SB3_2
   DJNZ R4,SB3_1
   JMP START
SB4:                  
   MOV R5,#5
SB4_1:
   JB P3.7,SB3_2
   DJNZ R5,SB4_1
   MOV R1,#1AH
   MOV R2,#4
PP:MOV R3,#8
JJJJ:
   MOV R5,#250
JJJJ2:               
   JB P3.7,JJJJ3
   DJNZ R5,JJJJ2
   JMP START
JJJJ3:
   LCALL YS1
   MOV C,P3.7   
   JNC UUU      
   MOV R5,#250
JJJJ4:
   JNB P3.7,UUU
    NOP
   DJNZ R5,JJJJ4
   JMP START
UUU: MOV A,@R1
   RRC A         
   MOV @R1,A      
   DJNZ R3,JJJJ   
   INC R1      
   DJNZ R2,PP   

   MOV A,1AH
   XRL A,#11101110B
   JNZ EXIT
   MOV A,1BH
   XRL A,#10000111B
   JNZ EXIT
   LCALL YS3
   MOV A,1DH
   CJNE A,#10111100B,EXIT
   LCALL YS3
   CLR P2.6
   AJMP BIJIAO
   
AA:
   MOV R1,#25
XX:
   ACALL YS2
   JNB P3.7,HH
   DJNZ R1,XX
EXIT:   
   AJMP START
   
HH:
   MOV R6,#4
S:
   ACALL YS1
   JB P3.7,EXIT
   DJNZ R6, S
   JNB P3.7, $
   LCALL YS3
   AJMP AA
BIJIAO:
   MOV A,1CH
   CJNE A,#03H,N1
   MOV P0,#7EH   
                     
;处理STUDERV录音机控制码
N1:
   CJNE A,#5FH,N2 ;播放键
   MOV DPTR,#REP
   ACALL SENDA
   ACALL YS4
   MOV DPTR,#PLY
   ACALL SENDA
N2:
   CJNE A,#5CH,N3;停止键
   MOV DPTR,#STP
   ACALL SENDA
N3:
   CJNE A,#06H,N4 ;快进键
   MOV DPTR,#FWD
   ACALL SENDA
N4:
   CJNE A,#09H,N5;快倒键
   MOV DPTR,#RWD
   ACALL SENDA
N5:
      CJNE A,#0AH,N6;置零键
      MOV DPTR,#RTM
   ACALL SENDA
N6:
   CJNE A,#0CH,N7;定位到零键
   MOV DPTR,#LZA
   ACALL SENDA
N7:
   AJMP AA
SENDA:
   CLR A
   MOVC A,@A+DPTR
   CJNE A,#'$',SENDB
   AJMP SENDC
SENDB:
   MOV SBUF,A
   JNB TI,$
   CLR TI
   INC DPTR
   AJMP SENDA
SENDC:
   RET

PLY:db "PLY ",0dh,0ah,'$'
STP:db "STP ",0dh,0ah,'$'
FWD:db "FWD ",0dh,0ah,'$'
RWD:db "RWD ",0dh,0ah,'$'
RTM:db "RTM ",0dh,0ah,'$'
LZA:db "LZA ",0dh,0ah,'$'
REP:db "REP F ",0dh,0ah,'$'

YS1:
   MOV R4,#20
D1:
   MOV R5,#20
   DJNZ R5,$
   DJNZ R4,D1
   RET

YS2:
   MOV R4,#10
D2:
   MOV R5,#235
   DJNZ R5,$
   DJNZ R4,D2
   RET

YS3:
   MOV R4,#2
D3:
   MOV R5,#248
   DJNZ R5,$
   DJNZ R4,D3
   RET

YS4:
   MOV R4,#200
D4:
   MOV R5,#248
   DJNZ R5,$
   DJNZ R4,D3
   RET
   END

有了上面的软硬件,你可以舒服地控制你心爱的STUDER录音机了。
是不是很惬意,嗯!

红灯记 发表于 2012-2-18 12:43:13

我准备试试{:4_214:}

zzrs 发表于 2012-2-18 13:03:33

红灯记肯定没问题。

zzrs 发表于 2012-2-18 16:54:48

最终的样子,有点简陋哈!

low1112 发表于 2012-2-18 18:25:45

这个很厉害,楼主令人佩服{:4_219:}

木又 发表于 2012-2-18 20:30:22

zzrs 发表于 2012-2-18 16:54 static/image/common/back.gif
最终的样子,有点简陋哈!

做个外壳,标上“STUDER”{:4_213:}

yjwu 发表于 2012-2-19 00:06:30

怎能長他人志氣?自己設計的就要站出來標示自己的創作,讓別人引頸為盼!!!{:4_213:}{:4_213:}{:4_213:}{:4_247:}

大兵101 发表于 2012-2-19 00:45:50

洋为中用,真棒!我得试验下

fsdazzle 发表于 2012-2-19 09:00:40

厉害.......{:4_219:}

zzrs 发表于 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:}

yjwu 发表于 2015-10-2 20:30:26

還有這一篇,找時間深入瞭解。

GGY3992030 发表于 2015-10-5 13:32:58

楼主计算机功底扎实啊,学习了。楼主是否熟悉过去计算机用的1/4吋525M的磁带机,是SCSI接口的的。

木又 发表于 2015-10-6 11:14:18

zzrs 发表于 2012-2-18 16:54
最终的样子,有点简陋哈!

这进度怎样?
页: [1]
查看完整版本: 苹果遥控器+51系列单片机=红外控制STUDER录音机