基于单片机技术的语音控制小车设计

合集下载

基于单片机技术的语音控制小车设计(1)

基于单片机技术的语音控制小车设计(1)

基于单片机技术的语音控制小车设计【摘要】本文主要介绍了Keil C51简介、汇编语言的发展、智能小车的软件实现,以及小车的机械结构和使用说明以及工作原理。

基于单片机技术的语言控制小车的程序。

关键词:语音控制、汇编语言Abstract: This text primarily introduced the keil c51 the brief introductioned, edit collected materials language that small car of development, intelligence that software realizes, and small car of the machine construction explain with usage and work principle.According to procedure for small car of control of language of technique machine of single slice.It is detailed to introduced......Key words:Speech control, edit collected materials the language、uVision2、Keil C51目录1 绪论 (1)1.1问题的引入 (1)1.1.1声控产品前景及发展趋势 (1)1.1.2研究的目的及意义 (1)2 声控小车软件的设计方案 (3)2.1任务分析 (3)2.1.1设计要求 (3)2.1.2设计思路及软件流程图 (3)图2-1 (3)3 KEIL C51简介及汇编语言的发展 (4)3.1K EIL C51简介 (4)3.1.1 8051开发工具 (4)3.1.2 uVision2集成开发环境 (4)3.1.3 uVision2编辑器和调试器 (5)3.2汇编语言的发展 (6)3.2.1汇编语言的发展史 (6)3.2.2 汇编语言的优点 (6)3.2.3 汇编语言的应用 (6)4 小车使用说明 (8)4.1小车的工作原理 (8)4.1.1 车体的介绍及工作原理 (8)4.2语音的训练 (9)4.2.1 S1—S4功能键如下 (9)4.2.2 基本控制电路 (10)5 声控小车的软件实现 (11)5.1功能分析 (11)5.1.1主控电路 (11)5.2程序设计 (12)结束语 (18)谢辞 (19)文献 (20)1 绪论本文主要介绍“基于单片机技术的语音控制小车”。

基于单片机语音控制小车的设计

基于单片机语音控制小车的设计
传感器
安装传感器,如红外传感器、超声波传感器等,以检 测障碍物和路径。
语音识别模块
选用适合的语音识别模块,以实现小车的语音控制功 能的电池,如锂电池或镍氢电池,以满足小车的供电需求。
充电器
设计或选用适合电池的充电器,以确保电池的正常充电和使用。
电源管理电路
设计或选用适合的电源管理电路,以实现稳定的电压输出和电流控 制。
基于单片机语音控制小车的设计
• 引言 • 单片机介绍 • 语音识别技术 • 小车硬件设计 • 小车软件设计 • 测试与验证 • 结论与展望
01
引言
设计背景
语音控制技术的发展
实际应用需求
随着人工智能和语音识别技术的快速 发展,语音控制已经成为智能家居、 智能机器人等领域的重要应用。
在某些特定场景下,如家庭、办公室 等,需要一种能够通过语音控制的小 车来实现便捷的移动和操作。
01
特征提取
通过对语音信号进行预处理和特 征提取,提取出语音中的关键信 息,如音调、音高、音长等。
模式匹配
02
03
训练模型
将提取出的语音特征与预先训练 好的模型进行匹配,找出最相似 的模型,从而识别出语音内容。
通过大量的语音数据训练出高效 的模型,以提高语音识别的准确 率。
小车的控制逻辑设计
输入接口
03
除了基本的移动功能,还可以通过扩展接口实现其他功能,如
携带物品、巡逻监控等。
02
单片机介绍
单片机的定义
• 单片机是一种集成电路芯片,它包含了计算机的基本组成 单元,如中央处理器、存储器、输入输出接口等。它具有 体积小、功耗低、可靠性高等优点,广泛应用于各种嵌入 式系统中。
单片机的种类和特点

基于单片机技术的语音控制小车设计--(

基于单片机技术的语音控制小车设计--(

基于单片机技术的语音控制小车设计--(附:湘潭市技师学院毕业论文(设计)题目关于单片机控制语音小车的系统设计专业机电一体化班级:姓名指导教师2012 年 2 月27 日关于单片机控制语音小车的系统设计目录1、引言2、语音控制小车设计要求2.1 功能要求2.2 参数说明3. SPCE061A特性简介4、系统总体方案介绍5、系统硬件设计5.1 车体介绍5.2 小车的行走原理5.3 控制板原理图6、系统软件设计6.1 系统的主程序设计6.2主控制源程序:6.3 语音识别的原理简介7、总结8、结束语基于单片机技术的语音控制小车设计1、引言语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。

以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。

普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。

专门的语音处理芯片也比较多,如ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。

SPCE061A 是一款 16 位μ'nSP结构的微控制器。

该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。

它不仅运算能力强,而且处理速度快,单周期最高可以达到 49MHz。

SPCE061A 内嵌 32K 字的 FLASH 程序存储器以及 2K 的SRAM。

同时该 SOC 芯片具有 ADC 和 DAC 功能,其 MIC_ADC 通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路 10 位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。

以上介绍的这些硬件资源使得该SPCE061A 能够单芯片实现语音处理功能。

借助于 SPCE061A 的语音特色,“基于单片机技术的语音控制小车设计”实现了对小车前进、后退、左转、右转、停车等语音控制功能.2、语音控制小车设计要求2.1 功能要求:1.可以通过简单的 I/O 操作实现小车的前进、后退、左转、右转功能;2.配合 SPCE061A 的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;3.可以在行走过程中声控改变小车运动状态;4.在超出语音控制范围时能够自动停车。

基于单片机的语音控制小车系统设计与实现

基于单片机的语音控制小车系统设计与实现

基于单片机的语音控制小车系统设计与实现摘要
随着微控制器技术的发展,单片机在实现物联网的各种应用方面取得
了较大的进步。

本文基于单片机技术的发展,设计并实现了一种基于语音
控制小车的系统。

该系统帮助用户控制小车的行驶状态和运行方向,实现
用户所需要的控制功能。

系统设计使用ESP8266模块实现WIFI连接,
MPU6050模块实现空间姿态监测,并采用DC直流电机控制小车,并采用
语言识别技术识别用户语音,进而实现控制。

本文介绍了系统的功能要求,硬件组件和软件结构,以及整个系统的实现流程。

在硬件电路方面,本文
介绍了最终系统的电路原理图及其各个模块之间的电路连接。

在软件结构
方面,本文介绍了整个系统的软件架构,包括硬件驱动层的实现和应用层
的实现,以及语音识别模块的设计与实现。

最终,本文实现了一个基于单
片机的语音控制小车系统,这种系统可以满足用户的实际需求,可以有效
提高小车的可控性。

关键词:单片机;小车;语音控制;ESP8266;MPU6050
1 Introduction
随着物联网技术的发展,单片机在实现各种应用方面取得了长足的进步。

基于凌阳单片机的语音控制小车---毕业设计 - 副本

基于凌阳单片机的语音控制小车---毕业设计 - 副本

基于凌阳单片机的语音控制小车摘要声音控制功能是凌阳单片机的一个特色,通过这个功能更能够实现普通单片机无法实现的一些任务,本设计是通过凌阳单片机的语音处理功能实现语音控制小车的前进和方向,并让小车作出相应的回答,设计系统主要包括三大部分,其中两部分为硬件部分:凌阳单片机的小系统,包括I/O端口、DAC转换、ADC转换等等;另一部分是控制板部分,用于控制电机的旋转方向;第三部分为软件部分。

关键词:语音控制小车;声控;小车;SPCE061ABased on Ling Y ang monolithic integrated circuit's voice control carAbstractThe phonic control function is a Ling Y ang monolithic integrated circuit's characteristic, suffices some duties which through this function realizes the ordinary monolithic integrated circuit to be unable to realize, this design is realizes the voice control car's advance and the direction through the Ling Y ang monolithic integrated circuit's pronunciation processing function, and lets the car make the corresponding reply, the design system mainly includes three major parts, two parts for hardware part: The Ling Y ang monolithic integrated circuit's small system, including the I/O port, DAC transforms, ADC transformation and so on; Another part is the control panel part, uses in controlling electrical machinery's hand of rotation; The third part is the software part.Key word: V oice control car;V oice control;Car;SPC061A目录1 引言 (1)2方案论证 (2)2.1方案论证 (2)3语音控制小车设计要求 (3)3.1功能要求 (3)3.2备注 (3)3.2.1 参数说明 (3)3.2.2 注意事项 (3)3.3扩展功能 (3)4 凌阳芯片的介绍 (4)4.1SPCE061A芯片的特点及其功能 (4)4.2SPCE061A芯片内核结构 (5)5硬件系统设计 (6)5.1系统的总体方案 (6)5.1.1 16位微处理器芯片的外围结构 (6)5.261板的各部分硬件模块 (7)5.2.1 麦克录音输入及AGC电路 (7)5.2.2 数摸转换电路 (7)5.2.3 按键,LED和复位电路 (8)5.2.4 电源电路 (8)5.2.5 下载线接口电路和在线调制电路 (9)5.2.6 16位微处理器的连接电路 (9)5.3车体介绍 (10)5.4小车的行走原理 (10)5.5控制电路原理板 (11)5.6控制电路原理 (12)5.6.1 后轮电机驱动电路原理 (12)5.6.2 前轮电机驱动电路原理 (13)6 系统软件设计 (14)6.1系统主程序设计流程图 (14)6.2语音识别 (15)7硬件制作及系统调试 (17)7.1硬件制作 (17)7.2调试和下载程序 (17)7.3调试小车 (17)7.4初试小车 (17)7.5重新调试 (18)结束语 (19)致谢 (20)参考文献 (21)附录附录1 电路原理图(61板)附录2 电路原理图(控制板)附录3 元件清单附录4 PCB图附录5 小车图片附录6 主控制源程序基于凌阳单片机的语音控制小车1 引言语音控制技术是一门新兴技术,可以通过语音直接控制电子产品,摆脱了遥控器的束缚。

基于STC单片机的智能语音控制小车

基于STC单片机的智能语音控制小车

基于 STC 单片机的智能语音控制小车一、实验目的1.随着科技的进步和社会的发展, 汽车技术的发展越来越智能化。

本次接口实验 设计就是基于简单智能化的基础上, 采用LD3320 语音单元和 STC 单片机和L298N 机电驱动, 开辟出基于语音无线控制与智能避障的小车, 实现非特定人声语音控 制小车, 以及小车超声波自动避障行驶的功能, 同时液晶显示出超声波前方障碍 物的距离。

2.掌握用 Altium Designer10 软件绘制原理图和 PCB 电路,以及电路板的制作 过程(包括转印、腐蚀,焊接,下载与调试),熟练 Keil uVision4 环境以及单 片机 C 代码的编写、 调试和 hex 文件的生成并下载到单片机芯片内, 掌握软硬联 调技巧与方法。

3.掌握 基于 LD3320 的语音单元的编程、语音处理及与单片机间的通信。

二、系统总体方案本次设计的小车采用 STC89C52 单片机作为主控芯片, 通过 LD3320 语音单元 接单片机控制小车行驶状态(包括前进、后退、左转、右转及停车);小车行驶 过程中遇到障碍物, 如果没有接收到语音信号而超声波检测模块检测周围障碍物 小于安全距离 40cm ,小车自动转向, 距离通过 LCD1602 液晶显示出来; 采用 L298 作为机电驱动芯片驱动小车行驶。

系统总体框图如图 2.1:图 2.1 系统总体框图LCD1602 液晶显示STC89C52 单片机7805 稳压电路18650 锂电池电源HC-SR04 超声波模块L298N 机电驱动直流减 速机电降压模块扬声器LD3320 语音单元三、硬件设计3.1 主控系统本次设计采用 STC89C52 单片机作为控制芯片, STC89C52RC 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 字节系统可编程 Flash 存储器。

单片机系统电路图 2:图 3.1 单片机最小系统原理图复位电路:手动复位,按下复位按钮,复位脚得到 VCC 的高电平,单片机复位,按钮松开后,单片机开始工作。

基于单片机的声音循迹智能小车控制系统设计

基于单片机的声音循迹智能小车控制系统设计
设计图如图 6 示。 所
图 4 电机 驱 动 电路
图 6 声 源接 收 电路
图 1声音导 引系统示意 图 1 设 汁思想 . 2 系统的主要设 汁思想是计算 两个 接收点的 时 间差值 A ,T的大小 来决策 对小 车启停 快 TA 慢的控制。 小车距离 O X线 的垂直距离 △ 与接 L 收时间差 A T成一定对应关 系 , A 用 T代替 △ 。 L 把小车启和停之间 的总距离 L 为 2 , 车 分 段 小 全速 运行阶段和小车慢速运行 阶段 , 车接 收 小 到控制信号经过分段 P 算法 控制 电机转速 , I 两 段分别对应两个 P 参数 。当小车距 O 1 X线垂 直 距离 △ I 大于设定值时选用第一段 P 参数控制 I 小车运行。 小车距 O X线垂直距 离小于设定 值时 , 选用第二 段 P 参数控 制小 车运行 。其 闭 I 环控 制结构框 图如 图 2 示 。 所
合 科技 创新 和 实用推 广。
关键 词 : 源检 测 ; 能车 ; 思卡 尔; 制算 法 声 智 飞 控
智能车是近年来发展起来 的一门新兴的综 合技术 , 在军事 、 研和工业领域 中有着 广阔的 科 应用前景[近年来 由于对智 能车研究水平 的不 1 1 , 断提高 , 不仅大大提高 了劳动效率 , 减轻 了人们 的劳动强度 , 而且也减少了能源和材料的消耗 。 1 计思想 和整体设 计 设 1 . 1系统要求 声音 导引系统有一个 可移动声源 s ,三个 声 音接收器 A B和 c 、 ,声音接收器能利用可移 动声源和接收器之间的不 同距离 ,产生一个 可 移动声源 离 0 线( Oy 的误差信 号 , x 或 '线) 并用 无线方式将 此误差信 号传输 至可移 动声 源 , 引 导其运动 。 可移动声源运动的起始点必须在 O x 线 右侧 , 声源到达 O X线后停止 运行 并等待 5一 s 1s 0。然后利用 接收器 A和 c使 可移 动声源运 , 动到w点, 声音导引系统如 图 l 所示 。

声控小车

声控小车

学士学位毕业设计(论文)基于单片机的声控小车学生姓名:XXX指导老师:X X所在学院:信息技术学院专业:电气工程及其自动化中国·大庆2015 年 5 月摘要本文主要设计一种用语音进行控制的单片机小车。

声控小车以拥有可编程音频处理的凌阳SPCE061A单片机作为整个系统的控制核心,不需要添加额外的语音芯片就能实现语音控制功能;声控小车采用H桥电路控制小车电机转动,根据语音识别技术,采用C语言进行编程,实现小车的前进、停止左转和右转,以及语音播报功能。

关键词:SPCE061A 声控小车语音识别H桥电路ABSTRACTThis paper states the design of a voice control car based on single chip microcomputer. In hardware design of the car, we use SPCE061A as the control center in the system, which have programmable audio processing and can realize voice control function without additional voice chip. V oice control car use H- bridge circuit to control the car motor rotation, according to the speech recognition technology, using C language programming, realize the car forward, stop, turn left, turn right and voice broadcast.Keywords: SPCE061A V oice control car Speech recognition technology H- bridge circuit目录摘要 (I)ABSTRACT ........................................................................................ I I 前言 (IV)1绪论.............................................................................................. - 1 -1.1国内外研究发展和现状 ........................................................ - 1 - 1.2研究主要内容......................................................................... - 2 -1.3研究的目的和意义................................................................. - 3 -2 小车的设计方案......................................................................... - 4 -2.1设计方案的选择..................................................................... - 4 -2.2整体设计方案......................................................................... - 4 -3 系统的硬件设计......................................................................... - 7 -3.1 MCU核心控制模块设计 ...................................................... - 7 - 3.2语音识别模块的设计........................................................... - 10 - 3.3 电机及其驱动电路模块设计 ............................................. - 13 -3.4电源模块............................................................................... - 15 -4 系统的软件设计....................................................................... - 17 -4.1语音模块程序设计............................................................... - 18 - 4.2电机控制模块程序设计 ...................................................... - 19 - 4.3主程序设计........................................................................... - 20 - 结论............................................................................................... - 22 -参考文献....................................................................................... - 23 -致谢............................................................................................... - 25 -附录一声控小车硬件原理图 .................................................... - 26 -附录二声控小车程序................................................................. - 27 -前言随着人们生活水平的提高,电子产品的快速发展,普通电子产品的消费已经满足人们需求。

基于单片机的语音控制小车

基于单片机的语音控制小车

基于单片机的语音控制小车设计摘要随着电子工业的发展,具有语音控制功能的小车越来越受到人们的青睐,在人们的日常消费生活中起着不可忽视的作用。

目前,声控技术已在很多领域得到使用。

本文对语音控制功能的小车概况做了阐述。

在硬件设计方面,本论文以凌阳公司的SPCE061A单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。

完成了电源电路、复位电路、键盘电路、音频输入电路,音频输出电路和无线控制电路等硬件功能模块的设计。

在软件方面,利用C语言进行编程,进行语音的“训练”和“识别”。

设计出具有如下功能的语音声控小车:能够根据录制的语音命令来控制小车的前进,后退,左转,右转的功能。

测试表明,在环境背景噪音不太大,控制者的发音清晰的前提下,语音控制小车的语音识别系统能对特定的语音指令做出智能反应,做出预想中的有限的动作。

论文首先对系统的方案进行论证,然后对各单元的软件、硬件工作原理进行了阐述,并介绍了系统的主要组成部分情况。

关键词:SPCE061A,语音识别,全桥驱动,小车IVoice control car design based on single chipmicrocomputerAbstractWith the development of the electronics industry, the voice - the control car become more and more popular to people. And it plays an important role in people 's daily life. At present, the voice - activated technology has had 2 in many fields, For example, voice - activated phone. Only if you called out the names you want and it automatically called to the telephone.This article gives a detail to the voice-activated car. In hardware design, the paper use Sunplus SPCE061A as the control of core. On the software, we use C language programming for voice "training"and"recognition". .Completedthepowercircuit,resetcircuit,keyboardcircuitry,audioinput circuits,audiooutputcircuitandcontrolcircuitofwirelesshardwaresuchasthedesignoffunctionmodule s.It has the following features: According to recorded the voice command to control the car to start, stop,turn right , and turn left. Tests have shown that background noise in the environment is not too big, the controller under the premise of clear pronunciation, voice control car voice recognition system can make intelligent response to a particular voice commands, limited, as expected.First of all, cca shut confirm the system of the program, and then describe the unit 's software and hardware as well as introduce the main components of the situation.Key words:S PCE061A,Speech Recognition,Full-bridge ,driver,TrolleyII目录摘要 (I)Abstract (II)第1章绪论.......................................................................................................................... - 1 -1.1 选题的目的和意义.................................................................................................... - 1 -1.1.1选题目的............................................................................................................. - 1 -1.1.2.选题意义............................................................................................................. - 1 -1.2 语音小车的发展及现状............................................................................................ - 1 -1.3 课题的目的任务和要求............................................................................................ - 2 - 第2章语音小车的方案论证.................................................................................................. - 3 -2.1 语音控制方案............................................................................................................ - 3 -2.2 方案论证.................................................................................................................... - 4 -2.2.1 采用DSP+FPGA方案 ...................................................................................... - 4 -2.2.2采用MCS-51方案 ............................................................................................. - 4 -2.2.3 采用凌阳61方案.............................................................................................. - 5 -2.3 系统控制方案............................................................................................................ - 6 - 第3章系统硬件设计.............................................................................................................. - 9 -3.1 系统硬件总体设计.................................................................................................... - 9 -3.2 系统各单元设计...................................................................................................... - 10 -3.2.1 控制单元设计.............................................................................................. - 10 -3.2.2 动力单元设计.............................................................................................. - 15 -3.2.3 音频单元设计.............................................................................................. - 16 -3.2.4 小车单元设计.............................................................................................. - 19 -3.3 系统总体电路图...................................................................................................... - 25 - 第4章系统软件设计............................................................................................................ - 26 -4.1系统总体程序设计................................................................................................. - 26 -4.2 系统各分支设计..................................................................................................... - 28 -4.2.1训练子程序....................................................................................................... - 28 -4.2.2语音识别子程序............................................................................................... - 29 -III4.2.3动作子程序....................................................................................................... - 31 -4.2.4中断子程序....................................................................................................... - 34 - 第5章系统调试.................................................................................................................... - 37 -5.1 硬件调试.................................................................................................................. - 37 -5.2 软件调试.................................................................................................................. - 38 -5.3 系统联调.................................................................................................................. - 39 - 结论........................................................................................................................................ - 41 - 参考文献.................................................................................................................................. - 43 - 致谢........................................................................................................................................ - 45 - 附录........................................................................................................................................ - 47 -IV第1章绪论1.1 选题的目的和意义1.1.1选题目的通过设计一个用单片机控制的语音小车来熟悉模块化编程方法,掌握C语言汇编语言的程序设计和调试方法,并理解单片机的原理、结构、指令;运行模式及应用方法。

语音控制运动小车

语音控制运动小车

基于凌阳单片机的语音控制遥控小车摘要:本设计给出了以凌阳16位单片机为核心的语音小车的基本原理与实现方案。

该系统由直流电机,桥式驱动电路两个模块构成,分别由单片机独立地实现控制与语音识别功能,使其具有人机对话功能。

关键词:直流电机驱动语音识别凌阳16位单片机语音识别芯片目录1 绪论 (3)1.1语音识别小车的意义和作用 (3)2 系统方案设计与验证 (4)2.1 系统方案设计 (4)2.2 方案验证 (4)2.3 系统方案原理框图 (4)2.3.1 主系统控制部分方案 (5)3 系统各模块设计 (5)3.2 电机驱动模块 (7)3.2.2 三极管8550介绍 (8)3.2.3 三极管8050介绍 (9)4 软件设计 (10)4.1 软件任务分析 (10)4.2 软件准备数据 (11)4.2.1 电机转动编码 (11)4.3 软件程序流程及程序代码设计 (11)4.3.1 发送设备主流程图 (11)5 系统安装和调试过程 (12)5.1 系统安装过程 (12)5.2 系统调试过程 (12)参考文献 (12)1 绪论1.1语音识别小车的意义和作用随着电子业的发展,自动化已经不再是新鲜的话题了,在对系统业提出更高更深入的要求的同时,智能化已成为必然的发展趋势。

智能化产品已开始逐渐投入市场,走进千家万户,渗入各个领域。

随着经济的增长,个人拥有私家汽车已不再是梦想,伴随着汽车业的发展,无人驾驶的智能汽车也必将进入实用阶段。

本设计的主要是针对智能无人驾驶汽车设计出智能音控小车,在智能化小车上实现语音控制,避免出现许多大大小小的事故。

本设计方案也可应用于移库倒库过程中,而且在诸如智能建筑、公共便民设施、自动立体车库等类似的人性化环境中也能够发挥其作用。

2 系统方案设计与验证2.1 系统方案设计本系统由硬件和软件两部分组成。

硬件部分主要有无线发送和接收模块(JZ863)、障碍物检测模块(LM324和ST188(单光束反射式红外光电传感器))、直流电机驱动电路模块(H桥驱动电路)和遥控器的按键模块。

基于单片机的声控小车的控制

基于单片机的声控小车的控制

江苏科技大学本科毕业设计(论文)学院江苏科技大学专业机械电子工程学生姓名***班级学号05******指导教师李磊二零零九年六月江苏科技大学本科毕业论文江苏科技大学本科毕业论文基于单片机的声控小车控制The control of V oice-activated car based on Single Chip摘要随着电子工业的发展,具有语音控制功能的小车越来越受到人们的青睐,在人们的日常消费生活中起着不可忽视的作用。

目前,声控技术已在很多领域得到使用。

比如声控手机、声控洗衣机、电视机、电脑等设备。

本文对声控小车概况做了阐述。

在硬件设计方面,本论文以凌阳公司的SPCE061A 单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。

在软件方面,利用C语言进行编程,进行语音的“训练”和“识别”。

设计出具有如下功能的语音声控小车:能够根据录制的语音命令来控制小车的启动、停止、返回、拐弯。

论文首先对系统的方案进行论证,然后对各单元的软件、硬件工作原理进行了阐述,并介绍了系统的主要组成部分情况。

关键词:SPCE061A,语音识别,全桥驱动,小车AbstractWith the development of the electronics industry,the voice-control car become more and more popular to people. And it plays an important role in people's daily life. At present, the voice-activated technology has been used in many fields. For example, voice-activated phone. Only if you called out the names you want and it automatically called the telephone. There are also voice-activated washing machines, televisions, computers and other equipments.This article gives a detail to the voice-activated car. In hardware design, the paper use Sunplus SPCE061A as the control of core. On the software, we use C language programming for voice "training" and "recognition". It has the following features: According to recorded the voice command to control the car to start, stop, return, and turn.First of all ,papers confirm the system of program, and then describe the unit's software, hardware as well as introduce the main components of the situation.Key words: SPCE061A,Speech Recognition,Full-bridge driver,Trolley目录第一章绪论 (1)1.1引言 (1)1.2国内外研究状况 (1)1.3存在的不足或有待解决的问题 (2)1.4课题的目的任务和要求 (2)第二章设计方案论证 (3)2.1系统总体方案 (3)2.2系统硬件方案 (4)2.3系统控制方案 (5)2.4小结 (5)第三章系统硬件设计 (6)3.1SPCE061A 特性简介 (6)3.2精简开发板——61 板 (7)3.3车体介绍 (8)3.3.1小车的行走原理 (9)3.4控制板原理图 (11)3.4.1全桥驱动原理 (12)3.4.2动力电机驱动电路 (15)3.4.3方向电机控制电路 (15)3.5小结 (17)第四章系统软件设计 (18)4.1 系统的总体程序流程 (18)4.1.1 语音识别的原理简介 (19)4.1.2 训练子程序 (20)4.1.3 语音识别子程序 (22)4.1.4 动作子程序 (22)4.1.5 中断子程序 (24)4.2 程序中需要说明的几个问题 (25)4.3小结 (26)结语 (27)致谢 (28)参考文献 (29)附录 (31)第一章绪论1.1引言所谓声控技术其实也就是利用语音识别技术来达到控制或者操作的一种技术,而语音识别技术这近五年来已经有很大的进步,最新的语音识别技术可以辨识90%以上的人类说出的字。

基于单片机的智能语音小车硬件设计

基于单片机的智能语音小车硬件设计

本科毕业设计论文题目基于单片机的智能语音小车硬件设计专业名称学生姓名指导教师毕业时间毕业一、题目:基于单片机的智能语音小车硬件设计二、指导思想和目的要求:通过毕业设计,使学生对所学电子工艺、传感器知识、电机控制技术、模电、数电、等电子基础课程的基本知识加深理解,在所学51八位单片机的基础上,学习更高级十六位单片机的基本指令及基本结构,并将其与实际工程应用紧密结合起来,培养创新意识,增强分析问题解决问题能力,为尽快进入社会角色,熟悉相关开发工作流程、项目小组组成、分工、合作方式方法等。

增强团队合作意识,提高基本工作技能,为即将踏入社会奠定理论和实践基础。

要求:认真复习有关基础理论和技术知识,查阅参考资料,参照智能小车设计思想,设计一个可以按照预定语音控制命令动作的智能小车,运用所学单片机知识独立设计电路、自行焊接、调试,直至预期结果方可。

要求实现:小熊和在语音信号控制下自动实现启动、停止、左转、右转等功能。

(1)设计思路:在所学单片机知识的基础上,按照设计指标要求完成各功能模块方案论证、原理图设计、器件选型、印刷电路板制作、元器件焊装、软件编程及联机调试。

(2)步骤:l、了解小车各功能模块要求及工作原理。

2、根据功能要求进行方案选型及论证。

3、设计各功能模块原理图。

4、各功能模块器件选型。

5、绘制各功能模块PROTEL原理图6、制做各印刷电路板并焊装。

7、编程调试。

三、进度与要求:1.第一周~第二周在工作中收集各种相关资料。

2.第三周~第四周用PROTEL设计硬件原理图并进行器件选型。

3.第五周~第九周绘制PROTEL PCB板图并焊装。

4.第十周~第十一周编程调试,整理并组织论文。

6.第十二周~第十四周再次焊装调试,完成修改稿,定稿,打印,交评阅。

7.第十五周~第十六周评阅与答辩四、主要参考书及参考资料[1] 谢宜人主编,单片机实用技术问答, 北京人民邮电出版社 ; 2003[2] 靳达,单片机应用系统开发实例导航 , 北京人民邮电出版社 ; 2003[3] 流光斌等,单片机系统实用抗干扰技术,北京人民邮电出版社;2004[4] 余永权,ATMEL89系列单片机应用技术,北京航空航天大学出版社;2002[5] 陈瑾;智能小车运动控制系统的研究与实现[D];东南大学硕士论文;2005年[6] 韦巍;智能控制技术[M];北京:机械工业出版社;2000年[7] 蒋新松;机器人学导论[M];辽宁科学技术出版社;2003年[8] 孙迪生,王炎;机器人控制技术;北京:机械工业出版社;1997年[9] 陈明荧,8051单片机课程设计实训教材,清华大学出版社;2003年[10] 蔡美琴等,MCS-51系列单片机系统及其应用,高等教育出版社;2004年学生指导教师系主任摘要随着汽车电子和机器人智能技术的发展,智能车已经成为自动控制领域内的一个研究热点。

基于单片机语音控制小车的设计

基于单片机语音控制小车的设计

一、论文的主要内容


1.语音识别技术的概述 2.SPCE061A单片机的介绍 3.系统设计 4. 硬件调试
1.语音识别技术的概述

语音识别技术是一门交叉学科,正逐步成为信 息技术中人机接口的关键技术,语音识别与语 音合成结合使人们能够甩掉键盘,通过语音命 令进行操作。这样既可以方便用户,又可以实 现保密功能,语音技术的应用已经成为一个具 有竞争性的新兴高技术产业。
1)它整合了多个常用的功能模块,让我们在进行系 统开发的时不用外加过多的硬件就可方便的完成一个 系统的设计。 2)耗电少,可以满足很多手提设备、掌上设备低能 耗的需求。 3)可方便的用来实现声音录制、播放, 音乐合成和 语音识别。 4)可方便的完成一系列乘加的运算,实现一些数据 处理比较容易。 5)芯片里具备在线仿真调试电路,使调试和程序下 载更加方便,比较经济。
低电压监测/ 低电压复位 Watchdog 串行异步通讯接口
IOB7(RXD) IOB10(TXD)
双通道 10位DAC 串行输入输出接口
IOB0 (SCK) IOB1(SDA)
AUD1 AUD2
32 管脚通用输入输出端口
IOA15 - 0
IOB15 - 0
(2)SPCE061A单片机的优点


0
1 0 0
1
0 1 1
正转
反转 正转 正转
停转
停转 正转 反转
前进
倒退 左前传 右前转
语音小车控制板的PCB板
(5)软件设计

1)主程序流程图
2)训练程序流程图
开始训练 训练名称 训练左转指令 训练成功 Y N
训练成功
Y 训练右转指令

基于单片机的语音控制小车系统设计与实现论文

基于单片机的语音控制小车系统设计与实现论文

毕业设计说明书题目:基于单片机的语音控制小车系统设计与实现题目类型:工程设计工程技术研究软件开发毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

基于单片机的智能语音小车控制系统设计

基于单片机的智能语音小车控制系统设计

别 的 无 线 小 车 智 能 控 制 系 统, 实
现 非 特 定 人 声 语 音 控 制 小 车, 同
时还具有小车自动避障及循迹行
驶 的 功 能, 用 液 晶 显 示 输 出 小 车
行驶状态。
【关键词】单片机 语音控制 智能小车 避障 循迹
图 1:系统整体框图
语音识别技术目前是相当重要的人机接 口技术。采用语音识别作为人机交换技术具有 快捷、实用等显著优点。伴随着工业自动化技 术及汽车工业自动化的迅猛发展,研究智能小 车也逐渐受到大家的关注。微电子技术的快速 发展为人们的生活提供了诸多便利,尤其是 51 单片机、ARM、DSP 等微型计算机的发展 快速的推动着科技的发展。将单片机等微型计 算机的控制功能与传感器检测技术、语音识别 技术等有机结合,已经成为智能化不可缺少的 部分。小车的语音识别、自动寻迹、红外避障 等技术,不仅可以在智能儿童玩具中应用,还 可以应用在无人驾驶、工厂自动化 、服务机 器人等诸多领域。本设计是一种以晶宏公司的 STC89C52 单片机为控制器,将语音识别与、 自主寻迹及避障功能有机结合,有一定的实际 应用价值。
●项目来源:宁夏回族自治区科学研究项目,项目编号:NGY2016281。
Electronic Technology & Software Engineering 电子技术与软件工程 • 247
• 单片机技术 SCM Technology
优化算法,通过口令触发模式和垃圾词语吸收 模式可以提高语音识别的准确度。设计中语 音通讯采用的是串口通讯,直接与 STC89C52 的 RXD 信 号 相 连 接。 工 作 中 将 采 集 的 语 音 信号送入到 LD3320,进行解析并提取语音信 息,将提取的语音信息与列表中的关键词进行 对比与匹配,找出最匹配的关键词,送入到 STC89C52 单片机中。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、引言语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。

以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。

普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。

专门的语音处理芯片也比较多,如ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。

SPCE061A 是一款 16 位μ'nSP结构的微控制器。

该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。

它不仅运算能力强,而且处理速度快,单周期最高可以达到 49MHz。

SPCE061A 内嵌 32K 字的 FLASH 程序存储器以及 2K 的SRAM。

同时该 SOC 芯片具有 ADC 和DAC 功能,其 MIC_ADC 通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路 10 位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。

以上介绍的这些硬件资源使得该SPCE061A 能够单芯片实现语音处理功能。

借助于 SPCE061A 的语音特色,“基于单片机技术的语音控制小车设计”实现了对小车前进、后退、左转、右转、停车等语音控制功能.2、语音控制小车设计要求2.1 功能要求:1.可以通过简单的 I/O 操作实现小车的前进、后退、左转、右转功能;2.配合 SPCE061A 的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;3.可以在行走过程中声控改变小车运动状态;4.在超出语音控制范围时能够自动停车。

2.2 参数说明车体:双电机两轮驱动供电:电池(四节 AA:1.2V×4 或 1.5V×4)工作电压:DC 4V~6V工作电流:运动时约 200mA3.SPCE061A特性简介SPCE061A是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。

这为实现语音录入提供了方便的硬件条件。

两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。

该单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准 C 语言编程,也支持 C 语言与汇编语言的互相调用。

另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。

SPCE061A特性:16位μ’nSP微处理器;工作电压:内核工作电压VDD为 3.0V~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);CPU时钟:0.32MHz~49.152MHz;内置2K 字 SRAM;内置32K 闪存 ROM;可编程音频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电小于 2μA@3.6V;2 个 16 位可编程定时器/计数器(可自动预置初始计数值);2 个 10 位 DAC(数-模转换)输出通道;32 位通用可编程输入/输出端口;14 个中断源可来自定时器 A / B,时基,2 个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用音频编码 SACM_S240 方式(2.4K 位/秒),能容纳 210 秒的语音数据;锁相环 PLL 振荡器提供系统时钟信号;32768Hz 实时时钟;7 通道 10 位电压模-数转换器(ADC)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;低电压复位(LVR)功和低电压监测(LVD)功能;内置在线仿真板(IC E,In-C ircuitEm ulator)接口。

4、系统总体方案介绍小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。

在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间一到,中断服务程序就会发出指令让小车停下来。

SPCE061A控制板程序下载电缆控制程序下载线喇叭电池盒被控对象小车SPCE061A芯片MIC输入口复位按钮控制按钮程序下载接口图1 控制系统所需硬件5、系统硬件设计系统的硬件方面,由于大部分的功能实现都是在61板上完成的,只有电机控制部分电路另外设计在一块独立的电路板上,我们称之为控制板。

下面详细的介绍小车的结构和运行原理以及控制电路板的结构和功能实现。

图2 系统硬件框图图3 系统硬件组装效果图5.1 车体介绍语音控制小车为四轮结构。

其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。

在自然状态下,前轮在弹簧作用下保持中间位置。

后面两个车轮由后轮电机驱动,为整个小车提供动力。

所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮。

5.2 小车的行走原理.直走:由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后轮电机正转小车就会前进。

倒车:倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车就会向后运动。

图4 小车前进、后退示意图左转:前轮电机逆时针旋转(规定为正转),后轮电机正转,这时小车就会在前后轮共同作用下朝左侧前进。

右转:前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进。

图5 小车转向示意图5.3 控制板原理图控制板主要包括:接口电路、电源电路和两路电机的驱动电路,控制板原理图如下。

接口电路:接口电路负责将61板的I/O接口信号传送给控制电路板,I/O信号主要为控制电机需要的IOB8~IOB11这四路信号,同时为了方便后续的开发和完善,预留了IOB12~IOB15 以及IOA8~IOA15接口,可以在这些接口上添加一些传感器。

电源部分:整个小车有4个电源信号:电池电源,控制板工作电源,61板工作电源,61板的I/O输出电源。

系统供电由电池提供,控制板直接采用电池供电(VCC),然后经二极管D1后产生61板电源SPCE061A 在语音控制小车中的应用(VCC_61),通过61板的Vio跳线产生61板的端口电源(V1)。

图6 小车控制电路图6、系统软件设计6.1 系统的主程序设计系统的主程序流程如下图所示:图7 主程序流程图共分为四大部分:初始化部分、训练部分、识别部分、重训操作。

初始化部分:初始化操作将IOB8~IOB11 设置为输出端,用以控制电机。

必要时还要有对应的输入端设置和PWM 端口设置等。

训练部分:训练部分完成的工作就是建立语音模型。

程序一开始判断小车是否被训练过,如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到Flash,在以后使用时不需要重新训练;如果已经训练过会把存储在Flash 中的模型调出来装载到辨识器中。

识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后等待动作命令。

如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫小车SPCE061A在语音控制小车中的应用的名字使小车停下来。

重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61 板的KEY3),循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000 单元),并等待复位。

复位后,程序重新执行,当检测到训练标志位为0xffff 时会要求重新对其进行训练。

6.2主控制源程序://======================================================// The information contained herein is the exclusive property of// Sunnnorth Technology Co. And shall not be distributed, reproduced,// or disclosed in whole in part without prior written permission.// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.// ALL RIGHTS RESERVED// The entire notice above must be reproduced on all authorized copies.//========================================================//========================================================// 工程名称:Car_Demo// 功能描述:实现小车的语音控制// 涉及的库:CMacro1016.lib// bsrv222SDL.lib// sacmv26e.lib// 组成文件:main.c// Flash.asm, hardware.asm,ISR.asm// hardware.h,s480.h, hardware.inc// 硬件连接: IOA0-----KEY1// IOA1-----KEY2// IOA2-----KEY3// IOB8-----前进// IOB9-----倒车// IOB10----左拐// IOB11----右拐// 维护记录: 2005-12-12 v1.0//========================================================#include "s480.h"#include "bsrsd.h"#define P_IOA_Data (volatile unsigned int *)0x7000#define P_IOA_Dir (volatile unsigned int *)0x7002#define P_IOA_Attrib (volatile unsigned int *)0x7003#define P_IOB_Data (volatile unsigned int *)0x7005#define P_IOB_Dir (volatile unsigned int *)0x7007#define P_IOB_Attrib (volatile unsigned int *)0x7008#define P_TimerA_Data (volatile unsigned int *)0x700A#define P_TimerA_Ctrl (volatile unsigned int *)0x700B#define P_TimerB_Data (volatile unsigned int *)0x700C#define P_TimerB_Ctrl (volatile unsigned int *)0x700D#define P_Watchdog_Clear (volatile unsigned int *)0x7012#define P_INT_Mask (volatile unsigned int *)0x702D#define P_INT_Clear (volatile unsigned int *)0x7011#define NAME_ID 0x100#define COMMAND_GO_ID 0x101#define COMMAND_BACK_ID 0x102#define COMMAND_LEFT_ID 0x103#define COMMAND_RIGHT_ID 0x104#define S_NAME 0 //给我取个名字吧#define S_ACT1 1 //前进#define S_ACT2 2 //倒车,请注意#define S_ACT3 3 //左拐#define S_ACT4 4 //右拐#define S_RDY 5 //Yeah#define S_AGAIN 6 //请再说一遍#define S_NOVOICE 7 //没有听到任何声音#define S_CMDDIFF 8 //说什么暗语呀#define S_NOISY 8 //说什么暗语呀#define S_START 9 //准备就绪,开始辨识#define S_GJG 10 //拐就拐#define S_DCZY 11 //倒车,请注意extern unsigned int BSR_SDModel[100]; //外部变量BSR_SDModel[100],辨识器自带extern void F_FlashWrite1Word(unsigned int addr,unsigned int Value);extern void F_FlashErase(unsigned int sector);unsigned int uiTimeset = 3; //运行时间定时,调整该参数控制运行时间unsigned int uiTimecont; //运行时间计时//=============================================================// 语法格式:void Delay();// 实现功能:延时// 参数:无// 返回值:无//=============================================================void Delay(){unsigned int i;for(i=0;i<0x3Fff;i++){*P_Watchdog_Clear=0x0001;}}//=============================================================// 语法格式:void PlaySnd(unsigned SndIndex,unsigned DAC_Channel);// 实现功能:语音播放函数// 参数:SndIndex-播放语音资源索引号// DAC_Channel-播放声道选择// 返回值:无//=============================================================void PlaySnd(unsigned SndIndex,unsigned DAC_Channel){BSR_StopRecognizer(); //停止识别器SACM_S480_Initial(1); //初始化为自动播放SACM_S480_Play(SndIndex, DAC_Channel, 3); //开始播放一段语音while((SACM_S480_Status()&0x0001)!= 0) //是否播放完毕?{SACM_S480_ServiceLoop(); //解码并填充队列*P_Watchdog_Clear=0x0001; //清看门狗}SACM_S480_Stop(); //停止播放BSR_InitRecognizer(BSR_MIC); //初始化识别器}//=============================================================// 语法格式:int TrainWord(int WordID,int SndID);// 实现功能:训练一条指令// 参数:WordID-指令编码// SndID-指令提示音索引号// 返回值:无//=============================================================int TrainWord(unsigned int WordID,unsigned int SndID){int Result;PlaySnd(SndID,3); //引导训练,播放指令对应动作while(1){Result = BSR_Train(WordID,BSR_TRAIN_TWICE); //训练两次,获得训练结果if(Result==0)break;switch(Result){case -1: //没有检测出声音PlaySnd(S_NOVOICE,3);return -1;case -2: //需要训练第二次PlaySnd(S_AGAIN,3);break;case -3: //环境太吵PlaySnd(S_NOISY,3);return -3;case -4: //数据库满return -4;case -5: //检测出声音不同PlaySnd(S_CMDDIFF,3);return -5;case -6: //序号错误return -6;default:break;}}return 0;}//============================================================= // 语法格式:void TrainSD();// 实现功能:训练函数// 参数:无// 返回值:无//============================================================= void TrainSD(){while(TrainWord(NAME_ID,S_NAME) != 0) ; //训练名称while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) ; //训练第1个动作while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) ; //训练第2个动作while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) ; //训练第3个动作while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) ; //训练第4个动作}//============================================================= // 语法格式:void StoreSD();// 实现功能:存储语音模型函数// 参数:无// 返回值:无//=============================================================void StoreSD(){ unsigned int ulAddr,i,commandID,g_Ret;F_FlashWrite1Word(0xef00,0xaaaa);F_FlashErase(0xe000);F_FlashErase(0xe100);F_FlashErase(0xe200);ulAddr=0xe000;//********for(commandID=0x100;commandID<0x105;commandID++){g_Ret=BSR_ExportSDWord(commandID);while(g_Ret!=0) //模型导出成功?g_Ret=BSR_ExportSDWord(commandID);for(i=0;i<100;i++) //保存语音模型SD1(0xe000---0xe063){F_FlashWrite1Word(ulAddr,BSR_SDModel[i]);ulAddr+=1;}}}//=============================================================// 语法格式:void StoreSD();// 实现功能:装载语音模型函数// 参数:无// 返回值:无//=============================================================void LoadSD(){ unsigned int *p,k,jk,Ret,g_Ret;p=(int *)0xe000;for(jk=0;jk<5;jk++){for(k=0;k<100;k++){Ret=*p;BSR_SDModel[k]=Ret; //装载语音模型p+=1;}g_Ret=BSR_ImportSDWord();while(g_Ret!=0) //模型装载成功?g_Ret=BSR_ImportSDWord();}}//============================================================= // 语法格式:void GoAhead();// 实现功能:前进子函数// 参数:无// 返回值:无//============================================================= void GoAhead() //前进{PlaySnd(S_ACT1,3); //提示*P_IOB_Data=0x0100; //前进*P_INT_Mask |= 0x0004; //以下为中断定时操作__asm("int fiq,irq");uiTimecont = 0;}//============================================================= // 语法格式:void BackUp();// 实现功能:后退子函数// 参数:无// 返回值:无//============================================================= void BackUp() //倒退{PlaySnd(S_DCZY,3); //提示*P_IOB_Data=0x0200; //倒退*P_INT_Mask |= 0x0004; //以下为中断定时操作__asm("int fiq,irq");uiTimecont = 0;}//============================================================= // 语法格式:void TurnLeft();// 实现功能:左转子函数// 参数:无// 返回值:无//============================================================= void TurnLeft() //左转{PlaySnd(S_GJG,3);*P_IOB_Data=0x0900; //右转Delay(); //延时*P_IOB_Data=0x0500; //左转*P_INT_Mask |= 0x0004; //以下为中断定时操作__asm("int fiq,irq");uiTimecont = 0;}//============================================================= // 语法格式:void TurnRight();// 实现功能:右转子函数// 参数:无// 返回值:无//============================================================= void TurnRight() //右转{PlaySnd(S_GJG,3); //语音提示*P_IOB_Data=0x0500; //左转Delay(); //延时*P_IOB_Data=0x0900; //右转*P_INT_Mask |= 0x0004; //以下为中断定时操作__asm("int fiq,irq");uiTimecont = 0;}//============================================================= // 语法格式:void Stop();// 实现功能:停车子函数// 参数:无// 返回值:无//============================================================= void Stop() //停车{*P_IOB_Data=0x0000; //停车PlaySnd(S_RDY,3); //语音提示}//============================================================= // 语法格式:void BSR(void);// 实现功能:辨识子函数// 参数:无// 返回值:无//============================================================= void BSR(void){int Result; //辨识结果寄存Result = BSR_GetResult(); //获得识别结果if(Result>0) //有语音触发?{*P_IOB_Data=0x0000; //临时停车switch(Result){case NAME_ID: //识别出名称命令Stop(); //停车待命break;case COMMAND_GO_ID: //识别出第一条命令GoAhead(); //执行动作一:直走break;case COMMAND_BACK_ID: //识别出第二条命令BackUp(); //执行动作二:倒车break;case COMMAND_LEFT_ID: //识别出第三条命令TurnLeft(); //执行动作三:左转break;case COMMAND_RIGHT_ID: //识别出第四条命令TurnRight(); //执行动作四:右转break;default:break;}}}//============================================================= // 语法格式:void IRQ5(void);// 实现功能:中断服务子函数// 参数:无// 返回值:无//============================================================= void IRQ5(void)__attribute__((ISR)); //运动定时控制void IRQ5(void){if(uiTimecont++ == uiTimeset){*P_IOB_Data = 0x0000;}*P_INT_Clear = 0x0004;}//============================================================= // 语法格式:int main(void);// 实现功能:主函数// 参数:无// 返回值:无//=============================================================int main(void){ unsigned int BS_Flag; //Train标志位*P_IOA_Dir=0xff00; //初始化IOA,IOA0~7下拉输入*P_IOA_Attrib=0xff00;*P_IOA_Data=0x0000;*P_IOB_Dir=0x0f00; //初始化IOB,IOB8~11同向输出*P_IOB_Attrib=0x0f00;*P_IOB_Data=0x0000;BSR_DeleteSDGroup(0); //初始化存储器RAMBS_Flag=*(unsigned int *)0xe000; //读存储单元0xe000if(BS_Flag==0xffff) //没有经过训练(0xe000内容为0xffff){TrainSD(); //训练StoreSD(); //存储训练结果(语音模型)}else //经过训练(0xe000内容为0x0055){LoadSD(); //语音模型载入识别器}PlaySnd(S_START,3); //开始识别提示BSR_InitRecognizer(BSR_MIC); //初始化识别器while(1){BSR();if((*P_IOA_Data)&0x0004) //是否重新训练{F_FlashErase(0xe000);while(1);}}}6.3 语音识别的原理简介语音识别主要分为“训练”和“识别”两个阶段。

相关文档
最新文档