基于51单片机的电子导游系统设计
引言
随着生活水平的提高,越来越多的人把旅游当成了一种时尚的消费方式,而有些问题也随之产生,如导游人员的缺乏及其素质不高,加之大批喜欢独立自由的旅游者的出现,这些促使了电子导游系统的产生。电子导游系统发展有个过程,最开始时是一种半自动化系统,功能是把景点信息以语音文件格式存储在导游机里,一般通过键盘直接键入景点代码,选择播放。这种类型的导游机,缺点是要输入景点代码,很不方便。发展到现在,出现了全自动化的导游机,它在景点先安放无线发射模块,这些发射模块可以控制工作范围,这样在各个景点就有不同的编码信号。游客到达景点后,游客手上的导游机会自动接收编码信号,经过解码后,由控制中心控制语音播放即可。本文介绍了这一全自动化导游机的设计,采用了miniC- A101FS和单片机AT89C2051配合使用。
1 miniC-A101FS和SC2272的介绍
1.1 miniC-A101FS
miniC-A100FS是串口控制的语音模块,使用简单,扩展灵活且性能高。该模块不仅提供丰富的串口命令用于控制语音模块播放,还可以向上位机提供查询命令。其特性如下:
◆支持MPEG1/2/2.5 layer3的MP3格式播放;
◆支持USB2.0,通过USB接口更新音乐;
◆提供串口控制;
◆支持Flash容量范围:0~1 024 MB;
◆支持SD卡。
1.2 SC2272
SC2272和SC2262配套使用。它们采用CMOS工艺制造,最多拥有12个地址引脚,可支持多达531 441个地址的编码,因此极大地减少了码的冲突。SC2262完成发射,送出SC2262当前的地址编码和数据位数据。当SC2272与SC2262地址一致时,SC2272接收到2帧以上SC2262的串行码,SC2272和SC2262的振荡频率必须一致。当SC2272收到有效信号时,其引脚VT将变成高电平。
2 电子导游系统的电路及系统构成
在设计的系统中,射频发射模块被分布在景区的各个景点中,它们工作在不同的编址信号上。电子导游机采用比较通用的51系列单片机AT89C2051 作为系统的控制处理单元,利用P1口循环给解码芯片SC2272发送00H~FFH的数据,作为它们的地址;同时,射频接收头J04P将接收到的信号送至 SC2272解码,如果解码的信号与单片机给地址预设的信号一致,将触发中断INT1,进入中断处理子程序,在中断处理子程序中,将进人对应的中断处理程序进行放音。TXD将用于与语音模块进行串行通信,P3口的INT1用于中断。系统功能由发射部分和接收部分构成。
发射部分采用集成了SC2262和F05P发射头的发射模块,工作距离可通过天线的长短和工作电压的高低来调节。接收部分就是游客手持的电子导游机,系统框图如图1所示。
SC2272解码出来的地址码与预设的地址码一致时,VT脚便从低电平跳到高电平,将此信号送反相器取反后,触发中断INT1;中断控制子程序通过RXD、TXD向语音播放模块发送指令“2404010000”,语音播放模块便开始播放景点介绍。系统电路如图2所示。
图2中有3个按键,2个是声音大小键,另外1个是复位键。声音大小键采用“采样不同点电压”的原理,是语音播放模块自带的按键电路;而复位键则采用经典的电路,单片机的复位和语音播放模块的复位连在一起,共同作用。
为了增强抗干扰效果,将J04P垂直于电路板,且在板图上应该离语音播放模块有一定的距离,这样才能有最好的抗干扰效果。SC2262和SC2272的振荡电阻选择1 MΩ和200 kΩ为最佳。
系统还要考虑播放完录音后是否要重复播放。本设计的功能是播放后不重复播放,除非游客按复位键,这是通过软件来实现的。在单片机的ROM中给每个景点留1字节的空间作为其播放标志位。每当进入景点播放时,判断该标志位是否为1,若是则表明已经播放过,将不再播放;否则,播放景点介绍。按复位后可以重复播放。
系统的软件流程如图3所示。
3 现场测试
为了检验电子导游设备的可靠性,进行了一些野外测试,效果良好:①发射模块距离可调,符合显示各旅游景点的需要,基本上能通过控制天线的长短和电压的高低得到理想的距离;②误码可能性极低;③通过程序的控制很好地实现了自动判断同一景点播放完后是否重新播放。
结 语
当前市场上电子导游系统有以下缺陷:成本高,体积大,语音存储容量校本文介绍的导游系统配合使用无线射频发送/接收头F05P/J04P和编解码芯片SC22262/SC2272,采用低功耗单片机AT89C2051控制语音模块的工作,成功地减小了体积(大约是普通手机大小)。采用市场上的普通器件,大大降低了成本。语音模块miniC-A101FS支持的Flash容量是0~1024MB,而且支持SD卡,从根本上解决了导游机容量的问题。该设备已经投入到旅游景点测试,反映良好,不久就可以投入市场,相信
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)