基于单片机技术的语音控制小车设计毕业设计 推荐.docx
- 文档编号:9424609
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:23
- 大小:150.26KB
基于单片机技术的语音控制小车设计毕业设计 推荐.docx
《基于单片机技术的语音控制小车设计毕业设计 推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机技术的语音控制小车设计毕业设计 推荐.docx(23页珍藏版)》请在冰点文库上搜索。
基于单片机技术的语音控制小车设计毕业设计推荐
基于单片机技术的语音控制小车设计
【摘要】
本文主要介绍了KeilC51简介、汇编语言的发展、智能小车的软件实现,以及小车的机械结构和使用说明以及工作原理。
基于单片机技术的语言控制小车的程序。
关键词:
语音控制、汇编语言
Abstract:
Thistextprimarilyintroducedthekeilc51thebriefintroductioned,editcollectedmaterialslanguagethatsmallcarofdevelopment,intelligencethatsoftwarerealizes,andsmallcarofthemachineconstructionexplainwithusageandworkprinciple.Accordingtoprocedureforsmallcarofcontroloflanguageoftechniquemachineofsingleslice.Itisdetailedtointroduced
......
Keywords:
Speechcontrol,editcollectedmaterialsthelanguage、uVision2、KeilC51
毕业论文(设计)诚信声明
本人声明:
所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得或其他教育机构的学位或证书使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
论文(设计)作者签名:
日期:
年月日
毕业论文(设计)版权使用授权书
本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。
本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。
本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为。
论文(设计)作者签名:
日期:
年月日
指导教师签名:
日期:
年月日
目录
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-13
3KEILC51简介及汇编语言的发展4
3.1 KeilC51简介4
3.1.18051开发工具4
3.1.2uVision2集成开发环境4
3.1.3uVision2编辑器和调试器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.1S1—S4功能键如下9
4.2.2基本控制电路10
5声控小车的软件实现11
5.1功能分析11
5.1.1主控电路11
5.2程序设计12
结束语18
谢辞19
文献20
1绪论
本文主要介绍“基于单片机技术的语音控制小车”。
以下主要介绍问题的引入及其发展的前景和趋势。
记这网上有一款是采用凌阳SPCE061A十六位单片机。
而我们作的是采用模块化设计,用89C51作为主控模块,声音识别芯片作为语音识别模块.用89C51的P1口高低电平.通过驱动电路来控制电机的正反转.从而达到控制小车前进、后退、左转、右转的目的。
本方案扩展方便,外围接口电路简单,可靠性高,各摸块相互独立,便于维修,检查故障。
要求及解决思路在后面第二章有提到。
后面第三章有介绍了一些KEIL编译器和汇编及其语言的发展和优点。
第四章介绍了小车及其原理和语音训练的内容。
最后的第五章主要讲了程序。
由于本人是第一次做向这样的设计,难免有些不足的地方,希望老师能给予指正和宝贵的意见,我们讲不剩感激。
1.1问题的引入
而全球玩具市场的内在结构比重却发生了重大变化:
传统玩具的市场比重下在逐步缩水,高科技含量的电子玩具则蒸蒸日上。
高科技含量的电子互动式玩具已经成为玩具行业发展的主流。
本文设计一个具有语音识别功能的智能小车。
该小车对传统的小车的做了改进,使之可以实现任意角度转向,而不象一般的小车那样只能以固定角度转向,更加的方便,因此更加接近真实的车辆。
本文还在小车的控制系统中采用语音识别系统,使控制者可以用语音对小车进行控制,产生相应的动作,而且小车和控制者还具有一定的交互功能。
1.1.1声控产品前景及发展趋势
随着科技技术的发展,电子产品日新月异的发展,声控产品使用率的提高,为人类的生活带来了巨大的变化,随着近几年来信号处理技术的不断发展与提升,语音辨识(Speech-Recognition)的应用已真正走入人们的日常生活,声控系统的应用也不再遥不可及,家用电器的操作,不再需以遥控器的繁多按键为控制接口,取而代之是我们用平常说话的模式来驱使家电动作,诸如多种智能电器,人们在也不必为种类繁多操作复杂的遥控器而烦恼,人们可以很清松的操作各种各样的电器产品,达到更符合人性化的操作接口设计。
随着语音技术的不断发展进,人们不光可以用语音来控制家电,声控产品也越来越受人们的欢迎,成为了21世纪发展的一大前景。
1.1.2研究的目的及意义
近几年,人民生活水平稳步提高,嵌入式电子产品的消费者已经不再满足“能用够使”的消费目的,他们需要电子产品具有更多人性化和个性化的功能,技术上的特点客观上给嵌入式语音识别应用带来了更大的市场需求。
本设计主要应用语音识别技术,来完成语音控制小车的目的,将语音识别技术应用在实际设计当中,为以后进一步学习应用语音技术打下基础,也可以为他人设计语音产品提供参考。
2声控小车软件的设计方案
声控小车的设计分为二部分,一部分是硬件设计另一部分是软件设计,在这里我们只阐述软件的部分。
首先要对设计的题目进行分析,熟知其要求才能更加深刻的理解。
其次进行思路的整理规划好流程。
从而梳理设计的方案。
2.1任务分析
2.1.1设计要求
1、基于单片机技术的语音控制小车设计要求:
1)、可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;
2)、利用系统的语音播放和语音识别资源,实现语音控制的功能;
3)、可以在行走过程中声控改变小车运动状态;
4)、在超出语音控制范围时能够自动停车。
2.1.2设计思路及软件流程图
设计思路,根据设计要求,首先通过麦克风将声音信号采集,通过放大电路将信号放大,在将放大的信号,送给AD转换器,由AD转换器将模拟信号转换成数字信号,再将数字信号送给语音处理识别芯片,语音处理识别芯片将信号处理识别后,将处理识别结果送给89C51单片机,再由单片机将识别结果进一步处理,将输出结果送给外围放大电路,由外围放大电路去驱动小车的不同动做,从而实现设计目的。
流程图如下:
图2-1
3KEILC51简介及汇编语言的发展
以下分二个部分分别介绍了KeilC51和汇编的发展史。
通过以下介绍可以多多了解
3.1 KeilC51简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
3.1.18051开发工具
KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
C51V7版本是目前最高效、灵活的8051开发平台。
它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。
因此,C51V7版本无疑是8051开发用户的最佳选择。
3.1.2uVision2集成开发环境
KeiluVision2是一种编辑软件,做单片机用的。
包括以下以下几项项目管理:
(1)工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
(2)一个单一的uVision2工程能够产生一个或多个目标程序。
产生目标程序的源文件构成“组”。
开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。
此数据库包含:
片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者加速器(mathaccelerator)的特性。
uVision2可以为片外存储器产生必要的连接选项:
确定起始地址和规模。
(3)集成功能
uVision2的强大功能有助于用户按期完工。
1.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。
用详细的符号信息来优化用户变数存储器。
2.文件寻找功能:
在特定文件中执行全局文件搜索。
3.工具菜单:
允许在V2集成开发环境下启动用户功能。
4.可配置SVCS接口:
提供对版本控制系统的入口。
5.PC-LINT接口:
对应用程序代码进行深层语法分析。
6.Infineon的EasyCase接口:
集成块集代码产生。
7.Infineon的DAVE功能:
协助用户的CPU和外部程序。
DAVE工程可被直接输入uVision2。
3.1.3uVision2编辑器和调试器
(1)源代码编辑器
uVision2编辑器包含了所有用户熟悉的特性。
彩色语法显像和文件辩识都对C源代码进行和优化。
可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。
(2)断点
uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。
用户启动V2调试器之后,断点即被激活。
断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框(attributescolumn)中可以快速浏览断点设置情况和源程序行的位置。
代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
(3)调试函数语言
uVision2中,你可以编写或使用类似C的数语言进行调试。
1.内部函数:
如printf,memset,rand及其它功能的函数。
2.信号函数:
模拟产生CPU的模拟信号和脉冲信号(simulateanaloganddigitalinputstoCPU)。
3.用户函数:
扩展指令范围,合并重复动作。
(4)变量和存储器
用户可以在编辑器中选中变呈来观察其取值。
双层窗口显示,可进行以下调整:
1.当前函数的局部变量
2.用户在两个不同watch窗口页面上的自定义变量
3.堆栈调用(callstack)页面上的调用记录(树)(calltree)
4.不同格式的四个存储区。
3.2汇编语言的发展
3.2.1汇编语言的发展史
汇编语言(AssemblyLanguage)是面向机器的程序设计语言.汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
汇编语言”作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。
高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。
在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。
现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。
汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序
3.2.2汇编语言的优点
1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
2.保持了机器语言的优点,具有直接和简捷的特点。
3.可有效地访问、控制计算机的各种硬件设备,如磁盘、村储器、CPU、I/O端口等。
4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
5.经常与高级语言配合使用,应用十分广泛。
3.2.3汇编语言的应用
1.70%以上的系统软件是用汇编语言编写的。
2.某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。
3.某些高级绘图程序、视频游戏程序是用汇编语言编写的。
汇编语言是我们理解整个计算机系统的最佳起点和最有效途径
人们经常认为汇编语言的应用范围很小,而忽视它的重要性。
其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。
所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。
所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。
机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。
汇编语言直接描述机器指令,比机器指令容易记忆和理解。
通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。
学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。
4小车使用说明
要想使用小车就应先了解其的工作原理,懂得了他的机械构造才可能使其为你所用。
通过了对小车的工作原理的了解,进一步进行语音程序的编写。
4.1小车的工作原理
通过小车的介绍和了解其工作工作原理可以更好的为设计服务,下面我们就介绍小车和其工作原理。
4.1.1车体的介绍及工作原理
语音控制小车为四轮结构。
其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。
在自然状态下,前轮在弹簧作用下保持中间位置。
后面两个车轮由后轮电机驱动,为整个小车提供动力。
所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮。
(2)小车的行走原理
直走:
由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后轮电机正转小车就会前进。
倒车:
倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车就会向后运动。
图1小车前进、后退示意图
左转:
前轮电机逆时针旋转(规定为正转),后轮电机正转,这时小车就会在前后轮共同作用下朝左侧前进。
右转:
前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进。
图2小车转向示意图
4.2语音的训练
4.2.1S1—S4功能键如下
按键S1:
做语音参考样本训练输入,一次训练一组,展示系统为5个辨认的单音,已训练的语句会永久保存在FLASH的记忆芯片中,即使关机还是有效的,语音训练需要输入2次以上,一般正常情况下输入2次便可按下S1键。
操作过程如下:
系统说出“SAYNAME”(第一个单音)第一次录音
系统说出“REPEATNAME”(重复一遍非必要)第二次录音
系统说出“REPEATNAMETORECORD”(重复一遍录音)第三次录音
第1、2次录音作为产生语音参考样本,第三次录音是做聆听存在的语音内容用,若训练成功,系统会说出刚刚输入的语音以做确认。
按键S2:
修改原先已存在的语音参考样本,按S3键聆听系统已存在的某组语音内容,再按S2键则该组内容会被删除,再执行语音输入训练过程来建立新的语音参考样本,若在语音输入训练过程中失败,可使用S1键输入新的语音样本。
按键S3:
聆听系统已存在的语音内容。
按键S4:
进行辨认。
RESET+S(RESETS6键与S1键同时按住,RESET先放开);清楚所有已存在的语音,或是做声控芯片系统重置用系统连续三次发出哗的一声来响应。
此情况是在系统死机,完全不听使唤时非必要的动作;一旦执行声控芯片的系统重置后,原先存在芯片内的所有语言样本数据全部消除,用户需要重新输入语言,才能辨认。
4.2.2基本控制电路
所有应用主控制系统都时经过串行接口来控制vcmm动作,进一步完成声控目的,经串口连接控制vcmm。
由外部任何单芯片(如8051)经串口来控制vcmm,其电平为TTL信号,算可由J8(89c51)串行接口I/O接头,连接到vcmm。
Vcmm串行接口声控命令句柄如下:
1、句柄‘t’:
语言训练,做语音参考样本输入,一次训练一组,展示为与个辨认单音。
2、句柄‘l’:
语音聆听,聆听系统以存在的某组语音内容。
3、句柄‘m’语音修改,修改原先已存在的语音参考样本。
4、句柄‘n’语音辨认。
5、以上所做的动作如同操作vcmm上的4个键一样。
IO51送出辨认句柄‘r’后,等待1s后,vcmm送出句柄‘@ab’用以表示辨认结果,ab为所辨认的语言样本编号编码,实际辨认结果为no,no=10*a+b,其中no有效值为0~59
若辨认错误则会传回‘x’作为响应。
IO51在收到辨认结果也会以内置的LED结合表示,LED动作是反向高天,一次亮一次灭。
IO51控制板上的操作如下:
安下K1键:
送出句柄‘t’语音训练,
K2‘m’语音修改,
K3‘l’语音聆听,
K4‘r’语音辨认。
5声控小车的软件实现
要想让声控小车实现其功能一部分是硬件的介绍一部分是软件,本文主要是软件的介绍。
通过对其的功能分析,设计出主控电路,以及编写其对应的程序,下面主要对其功能分析和程序。
5.1功能分析
根据设计要求,首先通过麦克风将声音信号采集,通过放大电路将信号放大,在将放大的信号,送给AD转换器,由AD转换器将模拟信号转换成数字信号,再将数字信号送给语音处理识别芯片,语音处理识别芯片将信号处理识别后,将处理识别结果送给89C51单片机,再由单片机将识别结果进一步处理,将输出结果送给外围放大电路,由外围放大电路去驱动小车的不同动做,从而实现设计目的。
5.1.1主控电路
5.2程序设计
停车:
CH0=CH1=CH2=CH3=1
前进:
CH0=CH1=1CH2=0CH3=1
后退:
CH0=CH1=1CH2=1CH3=0
向左:
CH0=0CH1=1CH2=0CH3=1
向右:
CH0=1CH1=0CH2=0CH3=0
;--------------------------------------------------------------------------------------------
;V51,ASMTESTIO51KEY4CONTOLVCMCIASERIALPORT
;SERIALPORT:
9600,N,8,1ASM:
keilCOPYRIGHTCMY2003
;--------------------------------------------------------------------------------------------
;由IO51串口送进句柄到VCMM板子上完成辨认功能
CLISEQU‘I’;聆听功能句柄
CRECEQU‘r’;辨认功能句柄
CTREQU‘t’;训练功能句柄
CMODEQU‘m’;修改功能句柄
K1EQUp2.4;按键1引脚定义—训练功能
K2EQUp2.5;按键2引脚定义—修改完成
K3EQUp2.6;按键3引脚定义—聆听完成
K4EQUp2.7;按键4引脚定义—辨认完成
WLEDEQUP3.7;工作指示灯引脚定义
ANSEQU30H;辨认结果存放变量0~4
;----------------------------------------------------------------------------------------------
ORG0H;程序代码由地址0开始执行
JMPBEGIN
;-----------------------------------------------------------------------------------------------
BEGIN:
CALLINIT_RS232;设置串行端口的通讯协议
CALLLED_BL;LED闪动,表示程序开始执行
CALLTEST_LED;测试LED灯
LOOP:
JBK1,L1;未按下K1键则开始继续扫描
JNBK1,$;等按键放开来
;K1KEYED……………………
MOVA,#CTR;送出训练句柄
CALLTX_CHAR
CALLLED_BL;LED闪动
JMPLOOP;循环继续执行
;…………………………………..
L1:
JBK2,L2;未按下K2键则开始继续扫描
JNBK2$;等按键放开来
;K2KEYED…………………….
MOVA,#CMOD;送出修改语句
CALLTX_CHAR
CALLLED_BL;LED闪动
JMPLOOP;循环继续执行
;………………………………….
L2:
JBK3,L3;未按下K3键则开始继续扫描
;JNBK3,$;等按键放开来
;K3KEYED……………………..
MOVA,#CLIS;送出聆听句柄
CALLTX_CHAR
CALLLED_BL;LED闪动
JMPLOOP;循环继续执行
;…………………………………..
L3:
JBK4,L4;未按下K4键则开始继续扫描
;K4KEYED……………………..
CALLRECOG;执行辨认功能
CALLLED_BL;LED闪动
JMPLOOP;循环继续执行
;…………………………………..
L4:
JMPLOOP;循环继续执行
;-----------------------------------------------------------------------------------------------
;DELAYR5*10ms;延时子程序
DELAY;总延时时间R5*10ms
MOVR6,#50
D1:
MOVR7,#100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于单片机技术的语音控制小车设计毕业设计 推荐 基于 单片机 技术 语音 控制 小车 设计 毕业设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)