版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、康虹:基于单片机的语言控制小车设计 基于单片机的语音控制小车设计摘要随着电子工业的发展,具有语音控制功能的小车越来越受到人们的青睐,在人们的日常消费生活中起着不可忽视的作用。目前,声控技术已在很多领域得到使用。本文对语音控制功能的小车概况做了阐述。在硬件设计方面,本论文以凌阳公司的SPCE061A单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。完成了电源电路、复位电路、键盘电路、音频输入电路,音频输出电路和无线控制电路等硬件功能模块的设计。在软件方面,利用C语言进行编程,进行语音的“训练”和“识别”。设计出具有如下功能的语音声控小车:能够根据录制的语音命令来控制小车的前进,后退,左
2、转,右转的功能。测试表明,在环境背景噪音不太大,控制者的发音清晰的前提下,语音控制小车的语音识别系统能对特定的语音指令做出智能反应,做出预想中的有限的动作。论文首先对系统的方案进行论证,然后对各单元的软件、硬件工作原理进行了阐述,并介绍了系统的主要组成部分情况。关键词:SPCE061A,语音识别,全桥驱动,小车VoicecontrolcardesignbasedonsinglechipmicrocomputerAbstractWiththedevelopmentoftheelectronicsindustry,thevoice-thecontrolcarbecomemoreandmorepop
3、ulartopeople.Anditplaysanimportantroleinpeoplesdailylife.Atpresent,thevoice-activatedtechnologyhashad2inmanyfields,Forexample,voice-activatedphone.Onlyifyoucalledoutthenamesyouwantanditautomaticallycalledtothetelephone.Thisarticlegivesadetailtothevoice-activatedcar.Inhardwaredesign,thepaperuseSunplu
4、sSPCE061Aasthecontrolofcore.Onthesoftware,weuseClanguageprogrammingforvoicetrainingandrecognition.Completedthepowercircuit,resetcircuit,keyboardcircuitry,audioinputcircuits,audiooutputcircuitandcontrolcircuitofwirelesshardwaresuchasthedesignoffunctionmodules.Ithasthefollowingfeatures:Accordingtoreco
5、rdedthevoicecommandtocontrolthecartostart,stop,turnright,andturnleft.Testshaveshownthatbackgroundnoiseintheenvironmentisnottoobig,thecontrollerunderthepremiseofclearpronunciation,voicecontrolcarvoicerecognitionsystemcanmakeintelligentresponsetoaparticularvoicecommands,limited,asexpected.Firstofall,c
6、cashutconfirmthesystemoftheprogram,andthendescribetheunitssoftwareandhardwareaswellasintroducethemaincomponentsofthesituation.Keywords:SPCE061A,SpeechRecognition,Full-bridge,driver,Trolley目录TOC o 1-5 h z HYPERLINK l bookmark0 摘要I HYPERLINK l bookmark2 AbstractII HYPERLINK l bookmark12 第1章绪论-1- HYPER
7、LINK l bookmark14 选题的目的和意义-1-选题目的-1-1.1.2.选题意义-1- HYPERLINK l bookmark16 语音小车的发展及现状-1-课题的目的任务和要求-2- HYPERLINK l bookmark18 第2章语音小车的方案论证-3- HYPERLINK l bookmark20 语音控制方案-3- HYPERLINK l bookmark22 方案论证-4-采用DSP+FPGA方案-4-采用MCS-51方案-4-采用凌阳61方案-5- HYPERLINK l bookmark24 系统控制方案-6- HYPERLINK l bookmark26 第3
8、章系统硬件设计-9- HYPERLINK l bookmark28 系统硬件总体设计-9-系统各单元设计-10-控制单元设计-10-动力单元设计-15-音频单元设计-16-小车单元设计-19-系统总体电路图-25-第4章系统软件设计-26-系统总体程序设计-26-系统各分支设计-28-训练子程序-28-语音识别子程序-29-动作子程序-31-中断子程序-34-第5章系统调试-37-硬件调试-37-软件调试-38-系统联调-39-结论-41-参考文献-43-致谢-45-附录-47-康虹:基于单片机的语言控制小车设计华科学院本科毕业设计(论文)- - -第1章绪论选题的目的和意义选题目的通过设计一
9、个用单片机控制的语音小车来熟悉模块化编程方法,掌握C语言汇编语言的程序设计和调试方法,并理解单片机的原理、结构、指令;运行模式及应用方法。1.1.2.选题意义语音识别系统的实用化研究是语音识别研究的一个主要方向。以玩具市场为例,具有高科技含量的电子玩具、智能玩具发展迅猛,电子互动式、智能化玩具已经成为玩具行业发展的主流。我国是玩具生产和出口大国,但在高科技玩具的发展方面和国外的差距很大,因此,及时投入精力广泛开展这方面的研究,无论对技术创新应用,还是社会经济发展,都有巨大的现实意义。与机器进行语音交流,让机器明白你说什么,这是人们长期以来梦寐以求的事情。语音识别技术就是让机器通过识别和理解过程
10、把语音信号转变为相应的文本或命令的高技术。近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。语音识别功能大大增加了玩具使用的乐趣,并使玩具体现出一定的智能性,因此成为大部分电子玩具、智能玩具设计中使用的关键技术。本文利用凌阳单片机设计一个具有语音识别功能的智能遥控小车。该设计将遥控车由传统的手动遥控改成了语音识别遥控,集成了先进的语音识别技术,加上小车的机动灵活的特点,使控制者可以通过语音控制小车实现预设动作,从而释放控制者的双手,而且小车和控制者之间还具有一定的交互功能。所以此次研究具有较强的实用性和发展前景。语音小车的发展及现状随着微电子技术、计算机技术、及传感器技术的迅速发展,
11、现今声控技术已经应用到社会中的各个角落,为人们提供着各种便利。1、声控玩具车:进一步提高系统的滤噪性能,和识别的准确率,并利用已有的软件开发出独具特色的语音芯片,并将其集成在遥控上即可做出声控玩具车。2、能识别主人的看门狗:在本系统的基础上扩充对说话者的识别功能,并将软件硬件化,集成在芯片上。将芯片置于防盗门上,使之可以完成主人叫门即开门的功能。3、真实汽车上的声控系统:在驾驶的过程中,不便于用手来完成的其它操作可以用声控系统来实现。这于我们的系统是极其相似的。但是实际的汽车中可能存在着大量的噪声,所以,滤噪便成为最为关键的技术。声控技术虽然是一项比较先进的技术。但是,声控技术在无限传输时的合
12、成的质量不是很好,它还需进一步提高,因为无线环境中的背景噪音太大了,当然还有其他方面的因素影响着声控功能的发挥,具体来说表现在以下几个方面:1、时效型。从发出指令到执行指令,有一段延迟时间,虽已降低到尽可能的小,但还是很明显。可行的方法就是改用高效的DSP芯片,这在经费上和时间上都是不允许的。2.、对环境的适应。如果环境噪声很大,或偶尔出现较大的噪声,则会出现误识。这个不足之处还没有很有效的解决方案。3、多人识别。各人的发音不尽相同,因此该系统还限于单人识别。若要做多人识别,则识别的时效性会降低,即有很大的延迟。另外,多人识别,也没有较为有效、成熟的算法供参考。1.3课题的目的任务和要求声控小
13、车其技术要求是通过相关语音对小车进行操作控制。使用了“前、后、左、右停”五个字作为小车行驶的指令。本毕业设计有助于培养我们的独立动手能力、思考能力。具体的项目制作过程分为两部分:软件部分和硬件部分。其目的让我们熟悉61板的设计与制作,并掌握其原理;学会运用C语言进行编程且运用。语音控制小车的主要功能:可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;可以在行走过程中声控改变小车运动状态;在超出语音控制范围时能够自动停车。第2章语音小车的方案论证2.1语音控制方案基本原理机器语音识别、处理的过程与人
14、对语音识别、理解过程基本上是一致的,目前主流的语音识别技术是基于统计模式识别的基本理论。一个完整的语音识别系统可大致分为语音特征提取、声学模型与模式匹配(识别算法)和语义理解3部分。其基本原理如图2.1所示。训练参考模板模式匹配参数修正结果_输出识别一图2.1语音识别系统原理框图从图中我们可以看出语音识别一般分为2个步骤:第一步是系统“学习”或“训练”阶段这一个阶段的任务是建立识别基本单元的声学模型以及进行文法分析的语言模型,即构建参考模式库;第二步是“识别”或“测试”阶段,根据识别系统的类型选择能够满足要求的识别方法,采用语音分析方法分析出这种识别方法所要求的语音特征参数,按照一定的准则和测
15、度与参考模式库中的模型进行比较,通过判决得出结果。语音识别系统的构成语音识别系统的基本结构主要包括预处理、A/D转换、起止点识别、特征提取和识别判断等部分,结构如下图2.2所示。图2.2语音识别系统的基本结构2.2方案论证采用DSP+FPGA方案语音识别根据实际需要和应用场合的不同,可以分为孤立词识别和连续语音识别、特定人识别和非特定人识别。语音识别追求的主要指标为高识别率、实时性和大词汇量;而对于一个语音识别系统,还应考虑软硬件设计简单、价格低廉、外围控制灵活、人机交互便捷等特点。现在应用于语音识别的芯片主要为DSP(数字信号处理器)芯片:如TI公司的TMS320系列。然而,将DSP芯片用于
16、小型语音识别系统中,其不足之处是很明显的:引脚多、价格贵、使用繁琐;控制功能弱,常需要与单片机或FPGA(现场可编程门阵列)结合,来实现人机交互;常需要外接A/D转换芯片;引脚为3.3V,与单片机、FPGA、Flash存储器等连接时,要考虑电平匹配。这些将使整个系统结构庞大,设计繁琐。采用MCS-51方案采用MCS-51系列单片机实现,由于有语音识别和语音播放功能,所以需要扩展语音识别模块和语音播放模块,这样必然造成端口的资源紧张,所以还必须加入接口扩展芯片。该实现方案结构如图2.3所示。图2.3采用MCS-51系列单片机实现语音控制小车采用凌阳61方案SPCE061A是凌阳科技推出的一个16
17、位结构的微控制器CPU时钟频率为0.3249.152MHz,具有较高的处理速度,可使unSPTM能够非常容易、快速地处理复杂的数字信号;拥有可编程音频处理;内置2KWord的SRAM和32KWord的FLASH;2个16位可编程定时器/计数器(可自动预置初始计数值),2个10位DAC输出通道,32位通用可编程输入输出端口。它是数字语音识别应用领域产品中的一种比较经济的选择。图2.4基于SPCE061A的语音控制小车实现方案本案采用采用SPCE061A实现语音控制小车方案。系统结构框图2.5如下:图2.5结构系统图系统组成主要包括以下两部分:SPCE061A精简开发板、语音小车控制电路板。图中的
18、语音输入部分MIC_IN、按键输入KEY、声音输出部分的功率放大环节等已经做到了精简开发板61板上,为我们使用提供了很大的方便。在电机的驱动方面,采用全桥驱动技术,利用四个I/O端口分为两组分别实现两个电机的正传、反转和停三态运行。2.3系统控制方案小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间到,中断服务程序会发出指令让小车停下来。第3章系统硬件设计3.1系统硬件总体设计系统的硬件方面,由于大部分的功能实现都是在61板上完成
19、的,只有电机控制部分电路另外设计在一块独立的电路板上,我们称之为控制板。下面详细的介绍小车的结构和运行原理以及控制电路板的结构和功能实现。图3.1总体设计框图3.2系统各单元设计3.2.1控制单元设计SPCE061A最小系统中,包括SPCE061A芯片及其外围的基本模块,其中外围的基本模块有:晶振输入模块(OSC)灯(LED)等。IO.PORTKEYSPCE061APLCC84梧茴实駙坂V1.6、锁相环外围电路(PLL)、复位电路(RESET)、指示图3.361板最小系统SPCE061A芯片特性简介SPCE061A是一种十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位
20、精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外十六位单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准C语言编程,也支持C语言与汇编语言的互相调用。另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。SPCE061是一款拥有2KRAM、32KFlash、32个I/O口,并集成了AD/DA功能强大的16位微处理器,它还拥有丰富的语音处理功能,为小车的功能扩展提供了相当
21、大的空间。只要按照该单片机的要求对其编制程序就可以实现很多不同的功能。SPCE061A是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以nSP为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。SPCE061A特性:16位nSP微处理器;工作电压:内核工作电压VDD为3.0V3.6V(CPU
22、),I/O口工作电压VDDH为VDD5.5V(I/O);CPU时钟:0.32MHz49.152MHz;内置2K字SRAM;内置32K闪存ROM;可编程音频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电小于2pA3.6V;2个16位可编程定时器/计数器(可自动预置初始计数值);2个10位DAC(数-模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号;32768Hz实时时钟;7通道
23、10位电压模-数转换器(ADC)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;低电压复位(LVR)功和低电压监测(LVD)功能;内置在线仿真板另外,SPCE061A单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。精简开发板61板SPCE061A精简开发板(简称61板,SPCE061AEMUBOARD的简称),是以凌阳16位单片机SPCE061A
24、为核心的精简开发仿真实验板,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。61板”除了具备单片机最小系统电路外,还包括有电源电路、复位电路、ICE电路、音频电路(含MIC输入部分和DAC音频输出部分)等。“61板”可以采用电池供电。1.SPCE061A功能61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSPIDE,可方便地在板上实现程序的下载、在线仿真调试。0POWER0SLEEPPLLRESETK474HC244P_OB=S
25、PY0030MICR/CSPCE061A(PLCC84)K3uo-u.dsun.MAWPORTPORTAPOWER5V&3V供电电路PLL锁向环外部电路Power一电源指示灯Sleep一睡眠指示灯RESET复位电路K4复位按键PROBE在线调试器串行5针接口ESPs框图表3.1框图说明S5EZ-PROBE和PROBE切换的拨断开关J12、J3耳机插孔和两针喇叭插针DAC一路音频输出电路,采用SPY0030集成音频放大器MIC麦克风输入电路OSC32768晶振电路VREFA/D转换外部参考电压输入接口R/C芯片其他外围电阻、电容电路K1K1K3扩展的按键:接IOA0IOA2SPCE061A61板
26、核心:16位微处理器PORTA/B32个I/O口61板接口说明如图3.3所示:2.61板输入/输出(I/O)接口61板将SPCE061A的32个I/O口IOAOIOA15,I0B0I0B15全部引出,对应的引脚为:A口,4148、53、5460;B口,51、8176、6864。而且该I/O口是可编程的,即可以设置为输入或输出。设置为输入时,分为悬浮输入或非悬浮输入。非悬浮输入又可以设置为上拉输入或是下拉输入。在5V情况下,上拉电阻为150K,下拉电阻为110K;设置为输出时,可以选择同向输出或者反相输出。电源指睡眠指示賀示灯电源PROBE3PIN单排针EZ_PR0BE*音频输出麦克输入OO1J
27、4PROBEEZ_PROBEJUXIJ3OJ10POWERSLEEPRESETK3K2KI0000000000000000000000000000000000000000I0B7I0B15I0B0I0B8I0A7I0A15IOAOI0A8图3.5SPCE061板接口说明图3音频输入/输出接口正如我们在前面介绍的61板具有强大的语音处理功能,如图3.5所示,XI是语音的MIC输入端,带自动增益(AGC)控制。J12和J3都是语音输出接口,一个是耳机插孔;另一个是两针的插针外接喇叭,由DAC输出引脚21或22经语音集成放大器SPY0030放大,然后输出。SPY0030是凌阳的芯片,相当于LM386
28、,但是比386音质好。它可以工作在2.46.0V范围内,最大输出功率可达700mW(LM386必须工作在4V以上,而且功率只有100mW)。4在线调试器(PROBE)和EZ-PR0BE接口.图3.5中J4为PROBE的接口,该接口有5针,其中两个分别是地(VSS)和3.3V电源(VCC)。此接口与PROBE的5针接口相连,PROBE的另一端接PC机25针并口。这样,就不需要再用仿真器和编程器了,只要按如图3.4所示将其连接好,就可以通过它在PC机上调试程序、在线仿真、最后将程序下载到芯片中,完成程序的烧写。如图3.5中的J11是EZ-PROBE的接口,我们提供一根转接线用作EZ-PROBE的下
29、载,一端连接PC机的25针并口,另外一端连接61板的5针EZ-PROBE接口,如图3.6所示:图3.661、PROBE/连接线、计算机三者之间的连接图3.2.2动力单元设计电源部分的电路,由电池盒提供的4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺,具有静态电流低、驱动能力强、线性调整出色等特点,如图3.7图中的VDDH3为SPCE061A的I/O电平参考,如果该点接SPCE061A(PLCC84封装,下面的介绍中当出现SPCE061A的引脚描述时,均指此封装的芯片)的51脚,可使I/O输出高电平为3.3V;VDDP
30、为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚;AVSS2接音频输出电路的AVSS2。图中前后两组电容用来去耦滤波,使其供给芯片的电源更加干净平滑。为了获得标准的3.3V电压,加入SPY0029A三端稳压器。两个二极管D3和D4,是为防止误将电源接反造成不必要损失而设置的,注意在操作过程中千万不要将电源接反,因为反向电压超过一定的值,二极管将会被损坏,达不到保护的目的。音频单元设计音频电路由音频输出和音频输入两部分组成。SP
31、CE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。图中的SPY0030是凌阳的一款音频放大芯片,可以工作在2.46V范围内,最大输出功率可达700mW。SPCE061A芯片中已经集成了音频输入专用ADC以及AGC放大电路,因此芯片外部的电路比较简单。图3.8音频电路音频输入部分如图3.9,MICP和MICN将随着MIC产生的波形变化,并在两个端口处形成两路反相的波形,再经过两级运放放大,把放大的语音信号交给ADC转换为数字量,这个时候就可以通过单片机编程对这些数据进行处理,比如说进行语音数据压缩、语音识别等。C9r104图3.9音频输入外围电路音频输出部分SPY00
32、30A是凌阳公司开发的专门用于语音信号放大的芯片,它的增益为:Gain=2*5000/(5000+R1),如图3.10是SPY0030的典型应用电路。104ACCOhilVDDH_C20rkmSPVC030R1DC23224100u|S*peaer图3.10SPY0030A工作原理图数摸转换电路凌阳SPCE061A单片机自带双通道DAC音频输出,DAC1、DAC2转换输出的模拟量电流信号分别通过AUDI和AUD2管脚输出,DAC输出为电流型输出,所以DAC输出经过SPY0030音频放大,以驱动喇叭放音,放大电路(只列出DAC1,DAC2类似),这为单片机的音频设计提供了极大方便。在它们后面接一
33、个简单的音频放大电路和喇叭即可实现语音播报功能。DAC20CON3123AVSS2224图3.11数模转换电路按键、LED和复位电路此电路主要是对电源和睡眠指示作用以及复位重新训练小车等作用如3.12图示。康虹:基于单片机的语言控制小车设计华科学院本科毕业设计(论文)- -图3.17车体侧视图- -LEDRESETR12图3.13复位电路3.6下载线接口电路和在线调制电路图3.14LED电路此电路主要是下载程序代码和在线调试程序,为其那片机提供灵魂。如图3.15所示。EZ-PROBEPROBEGNDCON3ICEENICESCKICESDAU4CON5PD0L,1A11Y1T8ICESCKIC
34、ESDA4,1A21Y2T66,1A31Y314GND81A41Y412PD111,2A12Y19ICESDAR270)/有语音触发?*P_IOB_Data=0 x0000;/临时停车switch(Result)caseNAME_ID:/识别出名称命令Stop();/停车待命break;caseCOMMAND_GO_ID:/识别出第一条命令GoAhead();/执行动作一:直走break;caseCOMMAND_BACK_ID:/识别出第二条命令BackUp();/执行动作二:倒车break;caseCOMMAND_LEFT_ID:/识别出第三条命令TurnLeft();/执行动作三:左转br
35、eak;caseCOMMAND_RIGHT_ID:/识别出第四条命令TurnRight();/执行动作四:右转break;default:break;动作子程序动作子程序包括:前进、倒车、左拐、右拐、停车子程序。前进:由小车的结构原理和驱动电路分析知:只要IOB8为高电平,IOB9,IOBIO,I0B11全部为低电平即可实现小车的前进。前进子程序包括语音提示、置端口数据、启动定时器操作。倒车:由小车的结构原理分析和驱动电路分析知:只要IOB9为高电平,IOB8,IOB1O,IOB11全部为低电平即可实现小车的倒退。倒退子程序包括语音提示、置端口数据、启动定时器操作。左转:由小车的结构原理分析和
36、驱动电路分析知:小车左转需要两个条件:1.前轮左偏2.后轮前进,这时对应的I/O状态为:IOB8、IOB1O为高电平,IOB9、IOB11为低电平。左转子程序包括语音提示、置端口数据、启动定时器操作。右转:由小车的结构原理分析和驱动电路分析知:小车右转需要两个条件:1.前轮右偏2.后轮前进,这时对应的I/O状态为:IOB8、IOB11为高电平,IOB9、IOB1O为低电平。右转子程序包括语音提示、置端口数据、启动定时器操作。注:在转弯之前首先让前轮朝目标方向的反方向偏转,然后再让前轮朝目标方向偏转,这样前轮的摆动范围更大,惯性更大,摆幅也最大,能更好实现转弯。voidGoAhead()/前进P
37、laySnd(S_ACT1,3);*P_IOB_Data=0 x0100;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);uiTimecont=0;/提示/前进/以下为中断定时操作/=/语法格式:voidBackUp();/实现功能:后退子函数/参数:无/返回值:无/倒退/提示/倒退/以下为中断定时操作/voidBackUp()PlaySnd(S_DCZY,3);*P_IOB_Data=0 x0200;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);uiTimecont=0;/=/语法格式:voidTurnLeft();/实现功能:左转子
38、函数/参数:无/返回值:无/左转/=voidTurnLeft()PlaySnd(S_GJG,3);康虹:基于单片机的语言控制小车设计华科学院本科毕业设计(论文)- - -*P_IOB_Data=0 x0900;Delay();*P_IOB_Data=0 x0500;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);/右转/延时/左转/以下为中断定时操作uiTimecont=0;/=/语法格式:voidTurnRight();/实现功能:右转子函数/参数:无/返回值:无/voidTurnRight()PlaySnd(S_GJG,3);*P_IOB_Data=0 x050
39、0;Delay();*P_IOB_Data=0 x0900;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);uiTimecont=0;/右转/语音提示/左转/延时/右转/以下为中断定时操作/=/语法格式:voidStop();/实现功能:停车子函数/参数:无/返回值:无/=voidStop()*P_IOB_Data=0 x0000;PlaySnd(S_RDY,3);/停车/停车/语音提示中断子程序虽然已经有了前进、后退以及停车(通过直接呼叫小车的名字使其停车)等语音控制指令,但是考虑环境的干扰因素,小车运行时的噪音影响和有效距离的限制,小车运行后可能接收不到语音指令
40、而一直运行。为了防止出现这种情况,加入了时间控制,在启动小车运行的同时启动定时器,定时器时间到停止小车的运行,该定时器借助于2Hz时基中断完成,所示为该程序的流程图。可以在程序中修改uiTimeset参数来控制运行时间,当uiTimeset=2时,运行时间为1s,以此类推。voidIRQ5(void)_attribute_(ISR);/运动定时控制voidIRQ5(void)if(uiTimecont+=uiTimeset)*P_IOB_Data=0 x0000;*P_INT_Clear=0 x0004;程序中需要说明的几个问题在程序中可能有几个地方不易理解,下面我向大家说明一下:首先,小车有
41、没有被训练过是怎么知道的?在这里利用了一个特殊的Flash单元,语音模型存储区首单元(该示例程序中为OxeOOO单元)。当Flash在初始化以后,或者在擦除后为Oxffff,在成功训练并存储后为0 x0055(该值由辨识器自动生成)。这样就可以根据这个单元的值来判断是否经过训练。其次,为什么已经训练过的系统在重新运行时还要进行模型装载?在首次训练完成之后,辨识器中保存着训练的模型,但是系统一旦复位辨识器中的模型就会丢失,所以在重新运行时必须把存储在Flash中的语音模型装载到辨识器(RAM)中去。第三,在转弯时为什么前轮要先做一个反方向的摆动?这是为了克服车体的限制,由于前轮电机的驱动能力有限
42、,有时会出现前轮偏转不到位的情况,所以在转弯前首先让前轮朝反方向摆动,然后再朝目标方向摆动。这样前轮的摆动范围更大,惯性更大,摆幅也最大,能更好实现转弯。第四,关于语音的一些具体问题,关于语音的一些具体问题请参看SPCE061A相关书籍中关于语音的详细介绍。第5章系统调试5.1硬件调试一、硬件链接语音控制小车电路包括两大部分:61板部分和控制板部分,硬件部分的连接。主要用到SPCE061A的IOB8IOB11来控制小车的状态。电源部分连接:电池电源直接接控制板电源接口J1,J2接61板的电源,连接时注意电源极性。61板和控制板的I/O连接有两种情况:采用I/O排针向下的61板,直接将61板和控
43、制板扣接在一起即可,61板的IOBH通过J6与控制电路连通;采用I/O排针向上的61板,直接用排线将61板的IOBH和J5相连接即可。二、硬件模块连线图图5.1连线图三、功能说明小车运动控制:通过SPCE061A的I/O端口,驱动控制板的H桥电路,进而控制前轮电机和后轮电机。声控功能:利用特定人语音识别实现小车的名称和动作训练,并根据相应语音指令输入执行前进、后退、左转、右转、停车等动作。定时控制功能:利用时基定时器设定运行时间,小车运行同时启动定时器,时间到小车停止运行。5.2软件调试一、下载代码硬件连接完成之后,检查无误,接下来就可以下载程序了具体的步骤为:第一步:打开集成开发环境,打开“
44、CarDemo.spj”文件,编译链接。(注意:如果看不到CarDemo.spj,请在弹出的对话框中选择打开类型为spj或者所有文件)第二步:点击菜单ProjectSelectBody,或者直接点击图标打开如图5.2所示的对话框:图5.2SelectBody对话框第三步:在弹出的对话框中选择BodyName为SPCE060A_061A,选择Probe为Auto,点击OK按钮确定。第四步:点击IDE工具栏上的图标頑选择UseICE模式。第五步:按F8快捷下载按钮,下载代码。二、训练小车成功下载程序以后,去掉下载线并复位系统(如果使用EZ-Probe还应将Probe选择跳线S5拔去),小车就会提示
45、对它进行训练。训练采用应答式训练,每条指令的训练次数为两次,每一条命令的训练过程都是一样的,以“前进”为例说明:步骤一:小车提示“前进”;步骤二:告诉小车“前进”;步骤三:小车提示“请再说一遍”(重复训练提示音);步骤四:再次告诉小车“前进”(重复训练一次)。这是一个完整的训练过程,如果训练成功,小车会自动进入下一条指令的训练,并会提示下一条指令对应的动作;如果没有训练成功,小车会提示“说什么暗语呀”或者“没有听到任何声音”等信息,这样的话就要重复刚才所说的四个步骤,直到成功为止。整个的训练过程共有5次这样的训练,依次为:名称前进后退左拐右拐。整个的训练流程如图5.3所示:开始训练训练倒车指令
46、倒车训练成功Y11T训练名称N名称训练成功训练前进指令前进训练成功左转训练成一_功1_=一亠Y1r训练右转指令一右转训练成功Y11训练成功提示1一一一_训练结束111F_一一一1训练左转指令图5.3小车训练流程5.3系统联调一、训练小车训练完小车之后,怎样进行声控操作,让小车运动或者停下来呢?可以直接对小车说前进,或者倒车、左拐、右拐等,小车如果识别出指令会有一个回应信号,告知你它要执行的动作,然后执行该动作。如果想要小车执行其它动作,直接告诉小车将要执行动作对应的指令即可。比如在前进时告诉小车“倒车”,小车识别出之后就会直接倒车。如果在小车运动的过程中想要小车停下来,可以直接呼叫小车的名字,
47、小车准确识别之后就会停下来。二、重新训练在实际的使用过程当中,可能会对训练的结果不满意,或者其他人也想对它进行训练、控制。这样就要求小车可以被重新训练。为此,我们把61板的KEY3键定义为重新训练按钮,系统运行之后就会不断的扫描61板的KEY3键。如果检测到KEY3键按下,那么程序首先会把训练标志位(OxeOOO)单元擦除,并会进入一个死循环等待复位的到来。复位到来之后,程序检测到训练标志单元内容为Oxffff,认为小车没有经过训练,就会要求对它进行训练。结论本设计综合应用了SPCE061A丰富的软硬件资源,成功的实现了语音控制功能。下面简单的介绍一下实际应用中的一些资源优势:在硬件方面,较高
48、的执行速度、内置的硬件乘法器、ADC和DAC功能、内置的AGC自动增益环节,这些为语音处理提供了强大基础。在软件方面,标准的C语言编程,丰富的语音资源函数为编程提供了很大的方便。该设计方案结构简单,以单芯片实现了语音播放与识别以及电机控制功能,相当于“语音识别芯片+普通单片机”的功能。但是比“语音识别芯片+普通单片机”方案实现起来要简单很多,而且成本也会降低很多。该语音控制小车操作比较简单,训练和识别成功的几率也比较高,是一个典型的语音识别应用方案。设计初期,我开始了我的毕业论文工作,时至今日,论文基本完成。最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,历经了几个月的奋战,紧张而又充实的
49、毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。在与导师的交流讨论中我的题目定了下来,是:基于单机的语音控制小车设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,不知如何下手。我将这一困难告诉了导师,在导师细心的指导下,终于使我对自己现在的工作方向和方法有了掌握。在搜集资料的过程中,我认真准备了一个笔记本。我在学校图书馆搜集资料,还在网上查找各类相关资料,将这些宝贵的资料全部记在笔记本上,尽量使我的资料完整、精确、数量多,这有利于论文的撰写。然后我将收集到的资料仔细整理分类,及时拿给导师进行沟通。资料已
50、经查找完毕了,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。开始进行相关图形的绘制工作和电路的设计工作。为了画出自己满意的电路图,图表等,我仔细学习了Excel的绘图技术。在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过导师的指导,我的设计渐渐有了头绪,通过查资料,逐渐确立系统方案。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。我不会忘记这难忘的几个月的时间。毕业论文的制作给了我难忘的回忆。我从资料的收集中,掌握了很
51、多单片机、语音控制、软件程序的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机、语音技术、软件程序最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感
52、谢我的导师是你的细心指导和关怀,使我能够顺利的完成毕业论文。在我的学业和论文的研究工作中无不倾注着老师们辛勤的汗水和心血。老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。参考文献于平.移动机器人核心控制系统研制开发D哈尔滨理工大学,2005.陈全福.智能移动机器人平台控制系统设计D哈尔滨工程大学,2006.华亮.多功能移动机器人运动机构及控制系统的研究与实现D浙江工业大学,2007.美DavidCook毕树生李大寨译.机器人制作提高篇M北京:北京航空航天大学出版社
53、.2005赵亮.单片机应用系统设计与产品开发M.北京:人民邮电出版社.2004AdelS.SedraandKenneth.SmithM:MicroelectronicCircuits,4rded,OxfordUniversityPress.Inc,1998.2058.谈世哲、胡少宏.电路设计与制版Protel98.人民邮电出版社.1998张毅刚.单片机原理及应用.北京高等教育出版社.2003李华.MCS-51系列单片机实用接口技术.北京航空航天大学出版社.1993童诗白,华成英模拟电子技术基础(第三版)M.高等教育出版社,2000.雷思孝,李伯成等单片机原理及实用技术-凌阳16位单片机原理及应
54、用M.西安:西安电子科技大学,2004.彭为,黄科,雷道仲单片机典型系统设计实例精讲M.电子工业出版社,2006.张友德单片微型机原理、应用于实验M.3版上海:复旦大学出版社,2000.黄根春,陈小桥,张望先电子设计教程M.北京:电子工业出版社,2007.李玉贤,欧阳斌林基于SPCE061A单片机的语音识别系统的研究.优秀硕士学位论文库.张震宇,王华.基于凌阳单片机的语音识别技术及应用.微计算机信息,2007,8-2:23.INTEGRATEDCIRCUITSDATAHANDBOOK80C51-based8-bitmicrocontrollersPHILIPS,1992AdelS.Sedra,
55、KennethC.Smith:MicroelectronicsCircuits,3rdEdition,HoltRinehartandWinston,Inc.,1991V.Yu.Teplov,A.V.Anisimov.ThermostattingSystemUsingaSingle-ChipMicrocomputerandThermoelectricModulesBasedonthePeltierEffectJ,2002YeagerBrent.HowtotroubleshootyourelectronicscaleJ.PowderandBulkEngineering.1995MeehanJoan
56、ne,MuirLindsey.SCMinMerseysideSMEs:BenefitsandbarriersJ.TQMJournal.2008华科学院本科毕业设计(论文)华科学院本科毕业设计(论文)- #- -致谢此次毕业实习、毕业设计和毕业论文撰写过程中,得到了王老师、同学和朋友的关心、指导和帮助。课题选定后,在指导老师辛勤工作和教诲下,我能顺利地完成了本次设计。在此过程中,我系统地学习了单片机的相关知识,把以前所学习的知识螎汇贯通,连成一片,使我在综合素质提高、专业理论知识学习和实践工作能力等各方面都受益匪浅。经过几个月的忙碌和学习,本次毕业论文设计已经接近尾声。作为一个本科生的毕业设计,
57、由于经验的匮乏,难免有许多考虑不周全的地方,如果没有指导教师的的督促指导,想要完成这个设计是难以想象的。在这里我要衷心地感谢我的论文指导老师。王玉杰老师平日里工作繁多,但在我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。除了王玉杰老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。为我以后的扬帆远航注入了动力。感谢四年以来众多同学和朋友的帮助,大家一起在紧张的学习之余度过了许多愉快的时光。感谢父母多年来的关爱!康虹:基于单片机的语言控制小车设计康虹:基于单片机的语言控制小
58、车设计华科学院本科毕业设计(论文)- - - -附录附1主要程序:工程名称:Car_Demo涉及的库:CMacro1016.libbsrv222SDL.libsacmv26e.lib组成文件:main.cFlash.asm,hardware.asm,ISR.asmhardware.h,s480.h,hardware.inc硬件连接:IOA0KEY1IOA1KEY2IOA2KEY3IOB8前进IOB9倒车IOB10左拐IOB11右拐#includes480.h#includebsrsd.h#defineP_IOA_Data#defineP_IOA_Dir#defineP_IOA_Attrib#d
59、efineP_IOB_Data#defineP_IOB_Dir#defineP_IOB_Attrib#defineP_TimerA_Data(volatileunsignedint*)0 x7000(volatileunsignedint*)0 x7002(volatileunsignedint*)0 x7003(volatileunsignedint*)0 x7005(volatileunsignedint*)0 x7007(volatileunsignedint*)0 x7008(volatileunsignedint*)0 x700A#defineP_TimerA_Ctrl#define
60、P_TimerB_Data#defineP_TimerB_Ctrl#defineP_Watchdog_Clear#defineP_INT_Mask#defineP_INT_Clear#defineNAME_ID#defineCOMMAND_GO_ID#defineCOMMAND_BACK_ID#defineCOMMAND_LEFT_ID(volatileunsignedint*)0 x700B(volatileunsignedint*)0 x700C(volatileunsignedint*)0 x700D(volatileunsignedint*)0 x7012(volatileunsign
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锅巴的营销方案
- 施工防止中暑施工方案
- 安徽省联考2025-2026学年高二上学期10月联考数学试题(原卷版)
- 养生医馆营销方案
- 2025年及未来5年中国手机安全产品行业竞争格局分析及投资规划研究报告
- 2025年及未来5年中国消费级物联网行业发展潜力分析及投资方向研究报告
- 小升初英语分班考试模拟卷三带教案
- 一年级语文上册集体表格式教案
- 幼儿教育幼儿园大班数学公开课教案有趣的号码(2025-2026学年)
- 幼儿园中班教案动物之最含反思(2025-2026学年)
- GA/T 148-2019法医学病理检材的提取、固定、取材及保存规范
- DZZ4型自动气象站用户手册
- 易经中的人生智慧-职业生涯规划与个人发展课件
- 社区工作者经典备考题库(必背300题)
- 上海科技大学自荐信模板5篇
- 文博考研-文物学概论复习笔记
- 屋面防水安全技术交底
- 信息系统工程监理方案
- 新部编版六年级下册道德与法治全册教案(教学设计)
- 《中外民俗》第三章课件
- 领导干部压力管理与心理调适PPT通用课件
评论
0/150
提交评论