![毕业设计(论文)-基于单片机的语音遥控车[附源码和中英文翻译]_第1页](http://file.renrendoc.com/FileRoot1/2019-11/16/3fe0bcee-8517-454b-8a7d-69b62cbe1bb2/3fe0bcee-8517-454b-8a7d-69b62cbe1bb21.gif)
![毕业设计(论文)-基于单片机的语音遥控车[附源码和中英文翻译]_第2页](http://file.renrendoc.com/FileRoot1/2019-11/16/3fe0bcee-8517-454b-8a7d-69b62cbe1bb2/3fe0bcee-8517-454b-8a7d-69b62cbe1bb22.gif)
![毕业设计(论文)-基于单片机的语音遥控车[附源码和中英文翻译]_第3页](http://file.renrendoc.com/FileRoot1/2019-11/16/3fe0bcee-8517-454b-8a7d-69b62cbe1bb2/3fe0bcee-8517-454b-8a7d-69b62cbe1bb23.gif)
![毕业设计(论文)-基于单片机的语音遥控车[附源码和中英文翻译]_第4页](http://file.renrendoc.com/FileRoot1/2019-11/16/3fe0bcee-8517-454b-8a7d-69b62cbe1bb2/3fe0bcee-8517-454b-8a7d-69b62cbe1bb24.gif)
![毕业设计(论文)-基于单片机的语音遥控车[附源码和中英文翻译]_第5页](http://file.renrendoc.com/FileRoot1/2019-11/16/3fe0bcee-8517-454b-8a7d-69b62cbe1bb2/3fe0bcee-8517-454b-8a7d-69b62cbe1bb25.gif)
已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的语音遥控车摘 要随着单片机集成功能的发展,其应用领域也逐渐的由传统的控制扩展为控制处理、数据处理以及DSP等领域,凌阳科技的十六位单片机SPCE061A就是为此而设计的。SPCE061A的全双工异步通讯的串行接口可实现多机通讯,组成了步式控制系统。红外收发通讯接口,可用于远距离的双机通讯或制作红外遥控装置。A/D,D/A转换接口可以方便用于各种数据采集、处理和控制输出。A/D,D/A转换接口与CPU的DSP运算功能结合在一起,可实现语音识别功能。凌阳SPCE061A十六位单片机加上内部集成了2K字的RAM、32K字的Flash,即可实现语音辨识和一系列职能动作。凌阳单片机提供了相当好的语音采集、播放和录制机制以及简单的API接口编程,因此利用凌阳SPCE061A十六位单片机为主的系统模拟将来的智能小车。根据录制的语音命令来控制启动、停止、返回和语音模,并且能自动避开障碍物,进行前行和倒退。利用光电检测器检测道路上的障碍物,控制电动小汽车行使状态,并自动记录往返距离,在整个行程中如果遇到正前方的障碍物将倒退一段距离后拐弯正向前行。关键词: SPCE061A单片机 应用 性能 语音遥控AbstractWith the development of integrated function of the single-chip computer, application its gradual to expand from traditional control to and control such domains as dealing with , data processing and DSP ,etc., 16 single-chip computers of SUNPLUS Technology CO SPCE061A is designed for this. SPCE061A duplexing asynchronous serial interface of communication can realize many machine communication , make up step type control system all. Receive and dispatch the communication interface infraredly , can be used in double remote machine communication or make infrared remote control device . A/D, D/A change interface can convenient to used in various kinds of datum gather , punish and control exporting. A/D, D/A changes the interface to combine with DSP operation function of CPU, can realize the phonetic recognition function .16 single-chip computer , SUNPLUS Technology CO SPCE061A add inside integrated 2K RAM , Flash , 32K of word of word , can realize pronunciation distinguish and a series of function movements. Insult open one-chip computer offer kind pronunciation gather , broadcast and record and produce mechanism and simple API interface programming quite, so it is intellectual cars in the future of systematic simulation of the main fact to utilize and insult open SPCE061A 16 single-chip computers. Order to control starting , stop , returns and pronunciation mould according to the pronunciation recorded and produced, and can avoid barriers automatically , move ahead and fall back. Utilize the photoelectric detection to measure the barrier on the road, control the little electronic automobile and exercise the state, and automatic record round distance, run into barrier of just in the front turn round forward competent after falling back one distancing among whole journeyKeywords: single-chip computer; SPCE061A; application; function第一章 凌阳16位单片机1.1 凌阳16位单片机随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSP(Microcontroller and Signal Processor)16位微处理器芯片(以下简称nSP)。围绕nSP所形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,它以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,如图1-1所示。图1-1nSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。nSP家族有以下特点: 体积小、集成度高、可靠性好且易于扩展nSP家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系统扩展,以适应不同用户的需求。 具有较强的中断处理能力nSP家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。 高性能价格比nSP家族片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。另外,nSP的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得nSP家族运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。功能强、效率高的指令系统nSP指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。低功耗、低电压nSP家族采用CMOS制造工艺,同时增加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。另外,nSP家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电。这对于其在野外作业等领域中的应用具有特殊的意义。1.2 SPCE061A简介1.2.1 总述SPCE061A 是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以nSP为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。1.2.2 性能16位nSP微处理器;其工作电压(CPU) VDD为2.43.6V (I/O) VDDH为2.45.5V;它的CPU时钟频率为:0.32MHz49.152MHz ;它有两种寄存器即:2K字SRAM和32K FLASH;它还具有可编程音频处理的功能;具有晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电仅为2A3.6V;2个16位可编程定时器/计数器(可自动预置初始计数值);2个10位DAC(数-模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号32768Hz实时时钟;7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;具有低电压复位(LVR)功能和低电压监测(LVD)功能;内置在线仿真电路ICE(In- Circuit Emulator)接口;具有保密能力;具有WatchDog功能。1.2.3 结构概览SPCE061A的结构如图1-2所示图1-21.2.4 芯片的引脚排列和说明SPCE061A有两种封装片,一种为84个引脚,PLCC84封装形式;它的排列如图1.4所示;另一种为80个引脚,LQFP80封装。它的排列如0所示。在PLCC84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。在LQFP80封装中有9个空余脚,用户使用时这9个空余脚接地。 此处以LQFP80封装管脚功能介绍。表1.1 管脚描述表1.2.5 特性SPCE061A系统的特性参数如表1.2所示。表1.2 系统特性参数1.2.6 SPCE061A最小系统最小系统接线如图1.6所示,在OSC0、OSC1端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。其它不用的电源端和地端接上0.1F的去藕电容提高抗干扰能力。+1.2.7 SPCE061A开发方法SPCE061A的开发是通过在线调试器PROBE实现的。它既是一个编程器(即程序烧写器),又是一个实时在线调试器。用它可以替代在单片机应用项目的开发过程中常用的软件工具硬件在线实时仿真器和程序烧写器。它利用了SPCE061A片内置的在线仿真电路ICE(In- Circuit Emulator)接口和凌阳公司的在线串行编程技术。PROBE工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上SPCE061A相应管脚,直接在目标电路板上的CPU-SPCE061A调试、运行用户编制的程序。PROBE的另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机IDE集成开发环境软件包下,完成在线调试功能。图1.7是计算机、PROBE、用户目标板三者之间的连接示意图,图1.8是实物连接图。第二章 语音控制多功能小车SPCE061A单片机概述SPCE061A是继mnSP系列产品SPCE500A等之后凌阳科技推出的又一个16位结构的微控制器。目前有两种封装形式:84引脚的PLCC84封装和80引脚的LQFP80贴片封装。主要性能如下:32位通用可编程输入/输出端口;32768Hz实时时钟,锁相环PLL振荡器提供系统时钟信号;2个16位可编程定时器/计数器(可自动预置初始计数值);16位mnSP微处理器;工作电压:VDD为2.43.6V(cpu), VDDH为2.45.5V(I/O);CPU时钟: 32768Hz49.152MHz ;内置2K字SRAM、内置32K FLASH;可编程音频处理;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;具备异步、同步串行设备接口;具有低电压复位(LVR)功能和低电压监测(LVD)功能;内置在线仿真电路接口ICE(In- Circuit Emulator);具有WatchDog功能(由具体型号决定)2个10位DAC(数-模转换)输出通道;7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器;声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能;系统处于备用状态下(时钟处于停止状态)耗电小于2mA3.6V;14个中断源:定时器A / B,2个外部时钟源输入,时基,键唤醒等;具有保密能力;2.1 方案设计与论证本系统为典型的实时控制系统,易用单片机控制来实现,这里以凌阳SPCE061A单片机为主控元件,提出两种设计方案。方案一:采用凌阳SPCE061A十六位单片机,对小车的整个行驶过程进行实时监控,完成所有功能需要24个I/O口,由于凌阳SPCE061A单片机提供32个I/O口,一片即可实现所有功能,这为设计过程提供了极大方便。其主要设计思想是:小车上,安装一个霍尔元件利用单片机的IOB3外部中断判别轮胎转数的结果用以计算路程;安装三个检测障碍物的光电检测器和一个碰撞开关,利用IOB4、IOB5、IOB6用扫描的方式来控制拐弯和返回;利用单片机的IOB8-IOB13控制继电器选择小车的正、反向和加、减速行驶;凌阳SPCE061A十六位单片机提供了丰富的时基信源和时基中断,给设计者以大量的选择空间,并给设计者提供精确的时基计数,其加减速通过大功率电阻消耗功率来实现。整体框架如图1,这种方案可以使程序简单,易于控制。方案二:此方案也采用凌阳SPCE061A十六位单片机,与第一种方案不同之处在于利用单片机的IOB8 、IOB9产生控制调速的脉宽和控制小车的正、反行驶,用凌阳SPCE061A十六位单片机的TimeA和TimeB很容易实现脉宽调制,这大大加强了用脉宽调制控制加减速的可选性,但对继电器要求较高,这里考虑到大众化设计,采用第一个方案。2.2硬件电路设计2.2.1电路方框图及说明系统原理框图如图1所示。主控元件采用凌阳SPCE061A单片机,属于凌阳unSP系列产品的一个16位结构的微控制器。在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH),但用在此系统上已经绰绰有余。较高的处理速度使unSP能够非常容易地、快速地处理复杂的数字信号。因此以unSP为核心的SPCE061A微控制器也适用在数字语音识别应用领域。SPCE061A在2.6V3.6V工作电压范围内的工作速度范围为0.32MHz49.152MHz,较高的工作速度使其应用领域更加拓宽。2K字SRAM和32K字FLASH仅占一页存储空间,32位可编程的多功能I/O端口;两个16位定时器/计数器;32768Hz实时时钟;低电压复位/监测功能;8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能,这就为本系统的特定人辨识和语音播报打下了基础。 2.3 各部分电路设计 图2-12.3.1光电检测电路电路为了确定障碍物,加入障碍物检测的光电传感器,根据小车所处的位置改变行驶状态,所使用的光电传感器为市场上普通的光电传感器,再没检测到障碍物时Uo输出为低电平,在检测到障碍物时Uo将与传感器内部电路断开,因而加一个上拉电阻,如图2所示,此时将输出高电平。在检测障碍物的过程中采用查询方式。 2.3.2继电器驱动电路的设计由于单片机I/O口提供的电流太小,不能直接驱动继电器。在这里采用8050来提供一个开关电压,实现I/O口对继电器的驱动,用IN4007去掉继电器断开时线圈产生的反向电流,保护8050。如图3。 2.3.3行使状态控制电路的设计 如图4所示为行使状态控制电路,整个小车的行驶状态由两个电机来控制,MOTOR B控制左拐和右拐,MOTOR A控制前进、倒退以及三挡速度。具体控制如表1所示。 图4行使状态控制电路 表一: 行驶状态 IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 全速前进 1 0 1 1 0 0 中速前进 1 0 1 0 0 0 慢速前进 1 0 0 0 0 0 左拐 1 0 0 0 1 0 右拐 1 0 0 0 0 1 全速倒退 0 1 1 1 0 0 中速倒退 0 1 1 0 0 0 慢速倒退 0 1 0 0 0 0 倒退左拐 0 1 0 0 1 0 倒退右拐 0 1 0 0 0 1 2.3.4路程计数的设计 通过检测车轮转过的转数乘上车轮的周长来计算路程,霍尔元件就是一种很好的可用于车轮转数计数的元件。在普通转盘计数的仪表中加装霍尔元件和磁铁,即可构成基于磁电转换技术的传感器。霍尔元件固定安装在计数转盘附近,永磁铁安装在计数盘位上,当转盘每转一圈,永磁铁经过霍尔元件一次即在信号端产生一个计量脉冲。由于霍尔电压很微弱(mV级),需用霍尔集成电路进行处理,如图4所示。无论信号转子的哪个叶片通过空气间隙时,霍尔信号发生器都将产生一个电位由高到低的脉冲信号直接送IOB3作外部中断源,信号转子通过霍尔元件将产生一个中断,此中断的个数即为车轮转过的转数。 图5 2.3.5显示电路 采用共阴极数码管LG5641AH进行动态显示,LG5641AH具有四位数码管,这四个数码管的段选a、b、c、d、e、f、g分别接在一起,每一个都拥有一个共阴的位选端,通过动态显示可轮流显示时间和路程,这有利于节省I/O口。系统显示时间的精度为1S,显示路程的精度为0.01m。用IOB8IOB11口作为位选控制, IOA8IOA11口传输要显示的数据,数据线和位选线直接接凌阳SPCE061A单片机的I/O口即可,因为I/O口输出电流很小不会对LED造成损坏,它的电压值却足以驱动LED,这不像别的单片机还要外接驱动电路和电阻,采用凌阳SPCE061A单片机大大减化了设计过程和硬件电路。 图62.3.6麦克录音输入及AGC电路麦克风电路如图4所示。凌阳的SPCE061A是16位单片机,具有DSP功能,有很强的信息处理能力,最高时钟可达到49M,具备运算速度高的优势等等,这为语音的播放、录放、合成及辨识提供了条件。本系统接入MIC电路如图所示,MIC为录制语音辨识命令服务。 图7下图是简化的语音识别原理图,其中实线部分成为训练模块,虚线部分为识别模块。辨认特定的使用者即特定语者(Speaker Dependent,SD)模式,使用者可针对特定语者辨认词汇(可由使用者自行定义,如人名声控拨号),即在启动小车前,系统将会提示输入语音命令作简单快速的训练纪录,在这里输入“启动”“停止”“返回”和“模式切换”四个语音命令,通过使用者的声音特性来加以辨认。随着技术的成熟,进入语音适应阶段SA(speaker adaptation),使用者只要对于语音辨识核心,经过一段时间的口音训练后,即可拥有不错的辨识率。 图82.3.7语音播报电路音频部分的原理图如下所示,在图9中可以看到两个跳线,其作用在于可以测量DAC的输出波形;另外拔掉跳线,可以断开DAC到喇叭放大的通路,使得DAC通道处于开路状态。这样便于用DAC做其他用途,用户可以用过这个跳线来加入自己的外围电路。凌阳音频压缩算法根据不同的压缩比分为以下几种 (具体可参见语音压缩工具一节内容):SACM-A2000:压缩比为8:,8:1.25,8:1.5SACM-S480: 压缩比为80:3,80:4.5SACM-S240: 压缩比为80:1.5按音质排序:A2000S480S240用凌阳Compress Tool事先把所需要的语音信号录制好,本系统共包括十多个语音资源,整个语音信号经凌阳SACM_S480压缩算法压缩只占有13.2K存储空间,SPCE061A单片机具有32k闪存,使用内部flash即可满足要求。凌阳SPCE061A单片机自带双通道DAC音频输出, DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出, DAC输出为电流型输出,所以DAC输出经过SPY0030音频放大,以驱动喇叭放音,放大电路如图9(只列出了DAC1,DAC2类似),这为单片机的音频设计提供了极大方便。在它们后面接一个简单的音频放大电路和喇叭即可实现语音播报功能,音频的具体功能主要通过程序来实现。 图9 音频放大电路 2.4 软件设计2.4.1软件流程图及设计思路说明 2.5模块设计2.5.1中断服务流程图部分SPCE061单片机有两个外部中断,分别为EXT1和EXT2,两个外部输入脚分别为B口的IOB2和IOB3的复用脚。EXT1(IOB2)和EXT2(IOB3)两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断以负跳沿触发方式来输入中断请求信号。EXT1(IOB2)为黑线检测,确定小车位置,EXT2(IOB3)为轮子转数检测用于计算路程。IRQ4用做整个行程的时间计数。 2.5.2显示和播报部分当收到三次辨识循环,小车停止,进行路程的显示和拨报,路程的显示采用动态显示,显示路程,采用四位显示单位为厘米,显示子程序流,程图如图12,显示的同时会有语音播报时间和路程,语音采用凌阳SACM_S480语音播报,流程图如图13。 图12 图13 2.5.3语音辨识部分在这里我们用的是SPCE061的特定语者辨识SD(Speaker Dependent),SD即语音样板由单个人训练,也只能识别训练某人的语音命令,而他人的命令识别率较低或几乎不能识别。 图14是语音辨识的一个整体框图: 图14在程序中我们通过四条语句的训练演示特定人连续音识别,其中第一条语句为触发名称。另外三条为命令,训练完毕开始辨识当识别出触发名称后,开始发布命令,则会听到自己设置的应答,具体流程图如图15 图15第三章 组装语音控制多功能小车机构可分为三部分:车体、控制板和凌阳8061板1,车体 车体包括4个轮子和2个直流电机,2个直流电机分边控制小车一侧的2个轮子,这样安排的好处是当一个直流电机正转而另一个直流电机反转时,小车就能完成原地打转这样一个动作,从而使能更有效的控制小车的运动状态。2,控制板 控制板前端的三级管搭成的电路可以控制电流的正相和反相,从而控制小车的后退和转弯,控制板后端是由两个 CMOS管构成的两个可控制电流通断的电路,以便使用PMW控制小车的行驶速度3, 61板 主要验证了它的IOB口的几个IO 口的控制电路,可以控制小车的行驶状态,然后使用了它的语音功能,以便语音来控制它语音控制多功能小车的组装步骤如下:1、先进行车体的改装,车体一共有6根线,2组直流电机分别占用2根线,剩下2根线是2根电源线。接下来将小车控制板放在车体上,将电机线焊接在主控板上,但要注意的是:必须把两组电机线交叉焊接,分别焊接在主控板的J1和J3两个接口。红线接1脚绿线接2脚。这样2个电机就焊接完毕。一定要注意2组电机线的交叉。2,下面开始连接电源线,电源线接在J13的1脚和2脚上。电源的正极接1脚、负极接2脚。然后,就将小喇叭固定在车体上(用热熔胶将小喇叭控制板固定)。接下来就可以将控制板固定在小车车体上面。3,固定完毕后,就可以把电池装入电池盒内了。用螺丝将电池盒固定好。先把电源开关置到OFF的位置。然后再在J14上焊上线,这主要是为了给61板供电。将这根线焊接到61板的J10上。将61板固定到控制板上。注意,I/O端口不要错位。这样,小车的硬件组装就完成了,可以给小车供电,接下来就是往小车里下载程序。第四章 系统测试与总结41 系统测试以及整机指标本系统经测试运行效果良好,达到了预期的目的,语音控制和音频播放清晰而且有趣。但是为了更好的实现语音辨识,本系统机械性能要求较高,噪声不能太大,行使速度不宜太快。 42 总结随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。系统用凌阳SPCE061A十六位单片机实现。内部集成了2K字的RAM、32K字的Flash加上用凌阳SPCE061A十六位单片机实现不需要外扩程序存储器和RAM,也不用外接语音芯片,即可实现语音辨识和一系列职能动作,。由于采用了高性能的MCU,省掉了大量的外围器件,如外扩RAM、ROM存储器等,使硬件结构大大简化,提高了系统的可靠性。凌阳SPCE061A十六位单片机很好的语音识别功能,使其方便的运用于数字声音和语音识别应用领域。具体在下列应用领域大有用武之地:语音识别类产品,只能语音交互式玩具,高级亦教亦类乐类玩具,儿童电子故事书类产品,通用语音合成器类产品,需较长语音持续时间类产品等 参考文献1 Joyce Van de Vegte.Fundamentals of Digital signal Processing.第一版.北京:电子工业出版社,2003 2 李学海. PIC单片机原理.第一版.北京:北京航空航天大学出版社,20043薛钧义.凌阳十六位单片机原理及应用.第一版.北京:北京航空航天大学出版社,20034 李晶皎.嵌入式语音技术及凌阳十六位单片机应用.第一版.北京:北京航空航天大学出版社,2003 5 谢宜仁.单片机实用技术问答.第一版.北京:人民邮电出版社,20036 丁元杰.单片微机原理与应用.第二版.北京:机械工业出版社,20037罗亚非.凌阳16位单片机应用基础.第一版.北京:北京航空航天大学出版社,20038 刘全盛.数字电子技术.第一版.北京:机械工业出版社,20009 刘修文.实用电子电路设计制作300例.第一版.北京:中国电力出版社,2005附 录本设计的主程序如下:#include bsrsd.h#include hardware.h#include a2000.h#include s480.h#defineP_IOA_Data (volatile unsigned int *)0x7000 #define P_IOA_Buffer (volatile unsigned int *)0x7001#define P_IOA_Dir (volatile unsigned int *)0x7002#define P_IOA_Attrib (volatile unsigned int *)0x7003#define P_IOA_Latch (volatile unsigned int *)0x7004#define P_IOB_Data(volatile unsigned int *)0x7005 #define P_IOB_Buffer(volatile unsigned int *)0x7006 #define P_IOB_Dir(volatile unsigned int *)0x7007 #define P_IOB_Attrib(volatile unsigned int *)0x7008 #define P_Watchdog_Clear(volatile unsigned int *)0x7012 #define P_SystemClock(volatile unsigned int *)0x7013 #include bsrsd.h#include hardware.h#define NAME_ID 0x100#define COMMAND_ONE_ID 0x101#define COMMAND_TWO_ID 0x102#define COMMAND_THREE_ID 0x103#define COMMAND_FORE_ID 0x104#define COMMAND_FIVE_ID 0x105#define COMMAND_SIX_ID 0x106#define COMMAND_SEVEN_ID 0x107#define RSP_INTR0#define RSP_NAME1#define RSP_FIRE2#define RSP_GUARD3#define RSP_AGAIN4#define RSP_NOVOICE5#define RSP_NAMEDIFF6#define RSP_CMDDIFF7#define RSP_STAR8#define RSP_MASTER9#define RSP_HERE10#define RSP_GUNSHOT0#define RSP_PATROL11#define RSP_READY12#define RSP_COPY13#define RSP_NOISY14extern unsigned int BSR_SDModel100;unsigned int commandID;unsigned int g_Ret;/.全程变量.int gActivated = 0;/该变量用于检测是否有触发命令,当有识别出语句 /为触发名称则该位置1 int gTriggerRespond = RSP_MASTER, RSP_HERE, RSP_MASTER;int gComm2Respond = RSP_PATROL, RSP_READY, RSP_COPY;extern void ClearWatchDog();int PlayFlag = 0;unsigned int uiSpeed=0;/unsigned int *ClearWatchdog = 0x7012;void PlayRespond2(int Result)BSR_StopRecognizer();SACM_A2000_Initial(1);SACM_A2000_Play(Result, 3, 3);while(SACM_A2000_Status()&0x0001) != 0)SACM_A2000_ServiceLoop();ClearWatchDog();SACM_A2000_Stop();BSR_InitRecognizer(BSR_MIC);BSR_EnableCPUIndicator();void PlayRespond(int Result)BSR_StopRecognizer();SACM_S480_Initial(1);SACM_S480_Play(Result, 3, 3);while(SACM_S480_Status()&0x0001) != 0)SACM_S480_ServiceLoop();ClearWatchDog();SACM_S480_Stop();BSR_InitRecognizer(BSR_MIC);BSR_EnableCPUIndicator();int TrainWord(int WordID, int RespondID)int res;PlayRespond(RespondID);while(1)res = BSR_Train(WordID,BSR_TRAIN_TWICE);if(res = 0) break;switch(res)case -1: /没有检测出声音PlayRespond(5);return -1;case -2: /需要重新训练一遍PlayRespond(4);break;case -3: /环境太吵PlayRespond(5);return -1;case -4: /数据库满 return -1;case -5: /检测出声音不同if(WordID = NAME_ID)PlayRespond(5);/两次输入名称不同elsePlayRespond(5);/两次输入命令不同return -1;case -6: /序号错误return -1;return 0;void F_GoAheadCtr() /前进 int i;for(i=0;i4000;i+)SP_Export(Port_IOB_Data,0x2800); F_Delay(); ClearWatchDog(); ClearWatchDog(); void F_BackUpCtr() /倒退 int i; for(i=0;i4000;i+) SP_Export(Port_IOB_Data,0x1400); F_Delay(); ClearWatchDog(); ClearWatchDog(); void F_TurnLeftCtr() /左转int i; for(i=0;i4000;i+)SP_Export(Port_IOB_Data,0x2400); F_Delay(); ClearWatchDog(); ClearWatchDog(); void F_TurnRightCtr() /右转int i;for(i=0;i4000;i+) SP_Export(Port_IOB_Data,0x1800); F_Delay(); ClearWatchDog(); ClearWatchDog(); void F_StopCtr() /停止int i,j ; ClearWatchDog();i=i&0x00c0;i=i|0x0000;int main()int res,jk,k, timeCnt=0, random_no=0,iMoveFlag=0xffff,BS_Flag=0,iMoveFlagBS=0,iCarState=0,iCarSpeed=14;int uiIOB,i,ulAddr,Ret,free,*p;/unsigned int *p; p=0xef00;BS_Flag=*p; ClearWatchDog(); SP_Init_IOB(0xff00,0x0000,0xff00); SP_Init_IOA(0x0000,0x0000,0x0000); BSR_DeleteSDGroup(0);/ 初始化存储器RAMif(BS_Flag=0xffff)PlayRespond(0); /播放开始训练的提示音/.训练名称.while(TrainWord(NAME_ID,0) != 0) ;/.训练第一条命令.while(TrainWord(COMMAND_ONE_ID,1) != 0) ;/.训练第二条命令.while(TrainWord(COMMAND_TWO_ID,2) != 0) ;/.训练第三条命令.while(TrainWord(COMMAND_THREE_ID,3) != 0) ;/.训练第四条命令.while(TrainWord(COMMAND_FORE_ID,4) != 0) ;BS_Flag=0xaaaa;F_FlashWrite1Word(0xef00,0xaaaa); F_FlashErase(0xe000); F_FlashErase(0xe100); F_FlashErase(0xe200); ulAddr=0xe000;/*for(commandID=0x100;commandID0x105;commandID+)g_Ret=BSR_ExportSDWord(commandID);while(g_Ret!=0)g_Ret=BSR_ExportSDWord(commandID);/for(i=0;i100;i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精准扶贫考试题及答案
- 籽粒玉米购销合同范本
- 道路渣土清理合同范本
- 隧道工人分包合同范本
- 软件系统出售合同范本
- 装修材料订金合同范本
- 谈判法律服务合同范本
- 软件追加开发合同范本
- 进口钢琴租售合同范本
- 活动硬架租赁合同范本
- 合规风险管理制度
- 2024年四川省成都市中考作文“赢”与“迎”写作指导
- GB/T 21220-2024软磁金属材料
- 2.1 地表形态变化的内外力作用-内力作用 中图版(2019)地理选择性必修一高二上学期
- 数字化印花工艺智能化
- 成人鼻肠管的留置与维护
- 专题02 概率与统计解答题综合(解析版)
- 多格列艾汀使用指南2024课件
- MOOC 创业基础-暨南大学 中国大学慕课答案
- (2024年)面神经炎课件完整版
- GB/T 41666.4-2024地下无压排水管网非开挖修复用塑料管道系统第4部分:原位固化内衬法
评论
0/150
提交评论