前言:我们精心挑选了数篇优质单片机应用论文文章,供您阅读参考。期待这些文章能为您带来启发,助您在写作的道路上更上一层楼。
摘要:本文设计一种智能电子解说系统,具有智能化、个性化、高音质、实用性强等特点。让游客按照设定的经典路线,选择景点或展位的讲解使每个观众不但得到每个展位、景点的完整信息,而且感受到高清晰、低噪声的音响效果,电子旅游解说系统的出现,使看起来简单的解说系统融入了科技的因素。
本文正是基于凌阳公司的SPCE061A单片机并采用A2000语音压缩算法对语音信号进行了压缩存储以及播放。由游客控制选择按键来播放语音,这样大大降低了外面的干扰,使每个观众不但得到每个展位、景点的完整信息,而且感受到高清晰、低噪声的音响效果。
关键词:旅游;电子解说;电子导游;凌阳单片机
1绪论
随着改革开放和经济的发展,旅游业也获得了长足的发展,节假日外出旅游已成为人们的首选。对大多数零散游客来说,希望有一种不受制于人的辅助导游手段,迫切需要一种携带方便、操作简便的电子语音导游器。
本文设计一种智能电子解说系统,选用了凌阳公司的SPCE061A单片机并采用A2000语音压缩算法对语音信号进行了压缩存储,经过这样处理合成后的语音音质良好,放音时间持久,而且机体积很小。
2凌阳单片机简介
SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机。该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。
凌阳音频压缩算法处理的语音信号范围是200Hz-3.4KHz的电话语音。根据不同的压缩比分为以下几种:SACM_A2000、SACM_S480、SACM_S240。SACM-A2000音频压缩算法的压缩比较小,编码速率可选择16kbit/s、20kbit/s、24kbit/s三种之一,具有高质量、高码率的特点,适于高保真语音或音乐。
3硬件系统设计
本系统的硬件部分主要实现路线的显示和景点语音的播放。根据景区景点设计一条经典路线,将沿途主要景点用高亮三色LED显示。红色表示还没有听过解说的最近的景点,黄色表示正在听取解说词的景点,绿色表示最后播放过解说词的景点。语音播放按键分为景点相应放音、暂停、继续放音、结束等。音频信号存储在凌阳语音储存芯片中。语音信号放大由凌阳公司开发的专门用于语音信号放大的芯片SPY0030A完成。整个系统的控制由凌阳单片机SPCE061A实现。具体硬件系统框图如图1所示。
4软件系统设计
本设计选用了SACM-A2000语音压缩算法对语音信号进行了压缩存储。再利用中断进行键盘扫描程序循环扫描按键,获取按键信息后和内置的操作码比较,用来确定播放相应的语音和显示相应的LED灯。景点的解说词事先利用凌阳内置提供的工具进行压缩和存储。
系统的主程序流程图如图2所示,假设主要讲解景点共4处,分别由KEY1~KEY4控制播放,KEY5是暂停播放、KEY6是继续播放、KEY7停止播放。开机时对系统初始化,包含对显示景点的初始化、对语音播放模块初始化、对键盘初始化等。在键盘初始化中设置时基频率为128Hz的中断,并打开中断。这是为在中断中扫描键盘,利用延时法去抖动,延时时间是响应多少次128Hz中断过程。在KEY1~KEY4键控制下播放景点解说词实际是提取相应景点的语音信息的起始存储地址,然后执行相应的语音播放程序。由于语音播放中断服务子程序必须放在TMA-FIQ中断源上,进入中断服务程序必须先保护寄存器,接着判断是不是TMA-FIQ中断。若是,还要判断是哪一段语音要播放,也就是要获取播放语音的起始地址。在TMA-FIQ中断调用F_FIQ_Service_SACM_A2000函数译码播放。
5制作
录制的语音文件在播放前需转换为SACM_A2000格式的压缩文件。语音压缩可以使用凌阳语音压缩工具(CompressTool)完成。该压缩工具支持.wav格式的语音压缩,但要求压缩语音资源属性为8kHz,16位,单声道。
6结论
经过测试,电子语音导游器的性能达到了设计目标,具体如下:各景点语音解说资料、开机欢迎语音信息播放正常,声音清晰;各按键功能正常,各LED管显示正常。凌阳公司的SPCE061A的结构特点及其相关的开发平台,为我们开发带语音特色的产品方案带来了很大的方便,本系统仅是SPCE061A的一个基本应用,体现了SPCE061A多种资源对产品开发的极大支持,同时体现了其的语音特色。
参考文献
单片机的特点主要有:高集成度,体积小,高可靠性;控制功能强;低电压,低功耗,便于生产便携式产品;易扩展;优异的性能价格比。目前,单片机的应用领域主要包括:办公自动化设备;单片机在机电一体化中的应用;在实时过程控制中的应用;单片机在日常生活及家用电器领域的应用;在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比;在计算机网络和通信领域中的应用;商业营销设备;单片机在医用设备领域中的应用;汽车电子产品;航空航天系统和国防军事、尖端武器等领域,单片机的应用更是不言而喻。
二、单片机开发中的几个基本技巧
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。
1、如何减少程序中的bug。对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。
2、如何提高C语言编程代码的效率。用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
3、如何解决单片机的抗干扰性问题。防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
4、如何测试单片机系统的可靠性。当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:测试单片机软件功能的完善性;上电、掉电测试;老化测试;ESD和EFT等测试。有时候,我们还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。此外在开发和应用过程中我们更要掌握技巧,提高效率,以便于发挥它更加广阔的用途。
参考文献:
[1]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1990
[2]蔡美琴等.MCS-51单片机系统及其应用.北京:高等教育出版社,1992
[3]孙涵芳.MCS-51/96系列单片机原理及应用.北京:北京航空航天大学出版社,1996
本设计采用MicrochipPIC16C54单片机,选用南通光电器件厂GR40101红外发射二极管和GD1611硅PIN型光敏二极管作为红外发射和接收器件,舟山海山电器有限公司生产的微型电机QDB-30-3.0作为泵液晶驱动。系统采用单键模式完成暂停、设定泵液量等功能。电路采用节电方式设计,待机电流小于100μA,并可提供微型电机所需的500mA负载电流,可监测电池电压,欠压报警。系统原理如图1所示。
图中TX(红外发射管)、R1、R5、Q4组成红外发射电路,单片机RA1口输出一定频率的脉冲控制三极管Q4的通断,从而控制红外发射管TX的发射频率。由单片机RA3口为发射电路提供电源,是为了节能。当RA1口将要发射脉冲时,RA3口置高,发射电路加电。RX(红外接收管)、R2、R11、R12、R13、R16、Q6、C3组成红外接收电路,RX接收红外脉冲,整形后由Q6放大。接收电路必须严格控制放大倍数,确保红外反射接收距离在10cm左右。接收电路电源由单片机RB1口提供,在发射脉冲后,将RB1口置高。R6、R7、R8、Q3组成电池电压监测电路,当电源电压降到一定值时,Q3截止,单片机RB3口为高电平,欠压报警。D2、D3、R9、R10、Q1、Q5组成电机供电电路,提供微型电机所需的3V电压、500mA负载电流,当需驱动电机泵液时,由单片机RB2口输出低电平,Q发射极为电机供电。D1、C4、Q2、R3组成电机控制电路,泵液时先为电机供电,然后单片机RA2口输出高电平驱动电机运转。LED为工作状态指示灯,单一按键SW为多功能键,可完成设定泵液量、暂停、手动泵液等功能。
2软件设计
本电路硬件设计通过控制各单元电路供电达到节能的目的,软件上利用PIC单片机的休眼、看门狗溢出唤醒特性以及对发射脉冲个数的控制进一步降低能耗,使其待机电流小于100μA,4节4号碱性电池可提供15000次以上的使用次数或200天以上的使用时间。程序流程如图2所示。
程序开始先对单片机各端口初始化,并设置好看门狗溢出时间,程序工作一个周期后,自动进入休眠模式,由看门狗溢出唤醒单片机进入下一周期。进入一个工作周期前,首先判断是电池上电第1次工作,还是看门狗溢出唤醒单片机。如果是电池上电第1次工作,指示灯应给出指示,并对泵液量进行设定。进入工作周期后要判断按键是否按下,若按下按键,则判断是手动泵液还是暂停泵液器工作,这两者靠按键时间长短决定。
红外收发程序对提高泵液器抗干扰能力、降低泵液器能耗起着关键作用。经过实验选定一个发射脉冲频率使其对外界光干扰不敏感。为了最大限度地降低能耗,程序对发射脉冲的个数和方法进行设计,先发2个试探脉冲,若接收到,则按选定频率连续发60个脉冲,然后判断接收方收到的脉冲数是否在允许的范围内,是则泵液,否则进入休眠模式;若接收方未收到试探脉冲,则直接进入休眠模式。每次泵液器工作后,都检查电池电压,若发现电压低,立即由指示灯给出报警,提示更换电池。