基于AT90S2313-4PC的MP3无线遥控自动点播机

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8753

文章摘要:遥控器的固件比较棘手。最初我试著用BASCOM-AVR编译器编Basic程序但生成的程序代码太长,AT90S2313中的闪存空间装不下。随後,我用汇编语言编程实现了遥控器的功能,使用的程序空间不到AT90S2313闪存空间的一半。与PC客户软件一样遥控器单元有两个功能,其中一个功能不常用。打开时它显示文件夹1中的前4首歌,接著循环检测由RCA通用遥控器发出的红外?指令和红外?接收机模块接收到的指令。红外信号进入AT90S2313的INPUT CAPTURE?D6端口,接著由定时器1(16位定时器/计数器)的输入捕捉特性译码。我选用比较简单的红外?指令结构(Quasar牌电视机编码054)以?少

基于AT90S2313-4PC的MP3无线遥控自动点播机,标签:电子小制作,http://www.88dzw.com

遥控器的固件比较棘手。最初我试著用BASCOM-AVR编译器编Basic程序但生成的程序代码太长,AT90S2313中的闪存空间装不下。随後,我用汇编语言编程实现了遥控器的功能,使用的程序空间不到AT90S2313闪存空间的一半。

与PC客户软件一样遥控器单元有两个功能,其中一个功能不常用。打开时它显示文件夹1中的前4首歌,接著循环检测由RCA通用遥控器发出的红外?指令和红外?接收机模块接收到的指令。红外信号进入AT90S2313的INPUT CAPTURE?D6端口,接著由定时器1(16位定时器/计数器)的输入捕捉特性译码。我选用比较简单的红外?指令结构(Quasar牌电视机编码054)以?少工作量。这种指令结构的起始部分是固定长度的起始?冲,後面紧跟8位数据,数据位用?冲与?冲之间的2个不同的时间间隔表示。在确认固定长度的起始?冲後,你要做的只有两件事∶捕捉接下来的8个?冲的时序;根据时间间隔将它们区分开来?分配适当的值。就像前面说的遥控单元不停地检测传来地指令然後执行相应的功能,导航功能仅局限浏览歌曲列表和从一个文件夹跳到另一个文件夹。这通过调整指向闪存,读取歌名?把这些ASCII字符发送到 LCD显示屏实现。

通过AT90S2313的UART发送端口发送相应的命令来实现播放,播放下一首,播放最後一首和暂停功能。同样,此时NKM2401使用8字节数据包格式,同步字节和补充字节也必须按照需要加到16位指令字中。

设计有专用的下载功能按键。按下它时程序功能变成接收从AT90S2313的UART端口送过来的字符,PC?生的数据就用该功能传送到歌曲闪存中。

Atmel 24C256闪存芯片?I2C接口的32K×8存储器,其5ms的写入时间有点慢但对本设计?无大碍,因?从服务器计算机送来的数据的速率是 1200bps,相当于每8.3ms传输一个字符。AT90S2313没有专门的I2C端口,因此这个功能必须用固件实现。主程序直接套用Atmel公司应用笔记中的程序,效果很好。

LCD?一个4×40点阵的器件,使用常见的Hitachi公司的HD44780控制器,实际上该控制器内部包含两个LSI控制器和一个公用的数据/控制接口,外加两根ENABLE?。我必须改写我原来的4位LCD驱动程序来应付LCD1、2行字符由控制器1控制,3、4行字符由控制器2控制的情?。

结语

我觉得这个设计很有意思,也许是因?它用了无?传输的缘故吧。Abacom公司的接收/发射模块配合该公司的编码和解码器件应用,性能很好。此外,贴近用户的AVR器件闪存编程能力使汇编程序的写入变得非常轻松。

对本设计我基本满意,但仍然觉得有些不足的地方。我原来?不打算花那?多时间来做一个令人满意的FM发射机模块。现在来说可能是迟了一点,近来我看见市场上有Rohm公司的BH1416F无?音频连接IC,它采用SOP22封装,内部包含完整的PLL稳频FM发射机和FM立体声调制器。我买了这个芯片,打算以後试试。如果你不是一个超级音乐迷希望你可以将这里提到的一些想法用到其它方面去设计出更好的东西。

上一页  [1] [2] [3] [4] [5] [6] 


Tag:电子制作电子小制作维修教程知识 - 电子制作