




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安航空职业技术学院毕业设计论文基于单片机技术的语音控制小车设计【摘要】本文主要介绍了KEILC51简介、汇编语言的发展、智能小车的软件实现,以及小车的机械结构和使用说明以及工作原理。基于单片机技术的语言控制小车的程序。关键词语音控制、汇编语言ABSTRACTTHISTEXTPRIMARILYINTRODUCEDTHEKEILC51THEBRIEFINTRODUCTIONED,EDITCOLLECTEDMATERIALSLANGUAGETHATSMALLCAROFDEVELOPMENT,INTELLIGENCETHATSOFTWAREREALIZES,ANDSMALLCAROFTHEMACHINECONSTRUCTIONEXPLAINWITHUSAGEANDWORKPRINCIPLEACCORDINGTOPROCEDUREFORSMALLCAROFCONTROLOFLANGUAGEOFTECHNIQUEMACHINEOFSINGLESLICEITISDETAILEDTOINTRODUCEDKEYWORDSSPEECHCONTROL,EDITCOLLECTEDMATERIALSTHELANGUAGE、UVISION2、KEILC51西安航空职业技术学院毕业设计论文目录1绪论111问题的引入1111声控产品前景及发展趋势1112研究的目的及意义12声控小车软件的设计方案321任务分析3211设计要求3212设计思路及软件流程图3图2133KEILC51简介及汇编语言的发展431KEILC51简介43118051开发工具4312UVISION2集成开发环境4313UVISION2编辑器和调试器532汇编语言的发展6321汇编语言的发展史6322汇编语言的优点6323汇编语言的应用64小车使用说明841小车的工作原理8411车体的介绍及工作原理842语音的训练9421S1S4功能键如下9422基本控制电路105声控小车的软件实现1151功能分析11511主控电路1152程序设计12结束语18谢辞19文献20西安航空职业技术学院毕业设计论文11绪论本文主要介绍“基于单片机技术的语音控制小车”。以下主要介绍问题的引入及其发展的前景和趋势。记这网上有一款是采用凌阳SPCE061A十六位单片机。而我们作的是采用模块化设计,用89C51作为主控模块,声音识别芯片作为语音识别模块用89C51的P1口高低电平通过驱动电路来控制电机的正反转从而达到控制小车前进、后退、左转、右转的目的。本方案扩展方便,外围接口电路简单,可靠性高,各摸块相互独立,便于维修,检查故障。要求及解决思路在后面第二章有提到。后面第三章有介绍了一些KEIL编译器和汇编及其语言的发展和优点。第四章介绍了小车及其原理和语音训练的内容。最后的第五章主要讲了程序。由于本人是第一次做向这样的设计,难免有些不足的地方,希望老师能给予指正和宝贵的意见,我们讲不剩感激。11问题的引入而全球玩具市场的内在结构比重却发生了重大变化传统玩具的市场比重下在逐步缩水,高科技含量的电子玩具则蒸蒸日上。高科技含量的电子互动式玩具已经成为玩具行业发展的主流。本文设计一个具有语音识别功能的智能小车。该小车对传统的小车的做了改进,使之可以实现任意角度转向,而不象一般的小车那样只能以固定角度转向,更加的方便,因此更加接近真实的车辆。本文还在小车的控制系统中采用语音识别系统,使控制者可以用语音对小车进行控制,产生相应的动作,而且小车和控制者还具有一定的交互功能。111声控产品前景及发展趋势随着科技技术的发展,电子产品日新月异的发展,声控产品使用率的提高,为人类的生活带来了巨大的变化,随着近几年来信号处理技术的不断发展与提升,语音辨识SPEECHRECOGNITION的应用已真正走入人们的日常生活,声控系统的应用也不再遥不可及,家用电器的操作,不再需以遥控器的繁多按键为控制接口,取而代之是我们用平常说话的模式来驱使家电动作,诸如多种智能电器,人们在也不必为种类繁多操作复杂的遥控器而烦恼,人们可以很清松的操作各种各样的电器产品,达到更符合人性化的操作接口设计。随着语音技术的不断发展进,人们不光可以用语音来控制家电,声控产品也越来越受人们的欢迎,成为了21世纪发展的一大前景。112研究的目的及意义近几年,人民生活水平稳步提高,嵌入式电子产品的消费者已经不再满足西安航空职业技术学院毕业设计论文2“能用够使”的消费目的,他们需要电子产品具有更多人性化和个性化的功能,技术上的特点客观上给嵌入式语音识别应用带来了更大的市场需求。本设计主要应用语音识别技术,来完成语音控制小车的目的,将语音识别技术应用在实际设计当中,为以后进一步学习应用语音技术打下基础,也可以为他人设计语音产品提供参考。西安航空职业技术学院毕业设计论文32声控小车软件的设计方案声控小车的设计分为二部分,一部分是硬件设计另一部分是软件设计,在这里我们只阐述软件的部分。首先要对设计的题目进行分析,熟知其要求才能更加深刻的理解。其次进行思路的整理规划好流程。从而梳理设计的方案。21任务分析211设计要求1、基于单片机技术的语音控制小车设计要求1)、可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;2)、利用系统的语音播放和语音识别资源,实现语音控制的功能;3)、可以在行走过程中声控改变小车运动状态;4)、在超出语音控制范围时能够自动停车。212设计思路及软件流程图设计思路,根据设计要求,首先通过麦克风将声音信号采集,通过放大电路将信号放大,在将放大的信号,送给AD转换器,由AD转换器将模拟信号转换成数字信号,再将数字信号送给语音处理识别芯片,语音处理识别芯片将信号处理识别后,将处理识别结果送给89C51单片机,再由单片机将识别结果进一步处理,将输出结果送给外围放大电路,由外围放大电路去驱动小车的不同动做,从而实现设计目的。流程图如下图21西安航空职业技术学院毕业设计论文43KEILC51简介及汇编语言的发展以下分二个部分分别介绍了KEILC51和汇编的发展史。通过以下介绍可以多多了解31KEILC51简介KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KEILC51开发系统各部分功能和使用。3118051开发工具KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到UVISION2的集成开发环境中,这个集成开发环境包含编译器,汇编器,实时操作系统,项目管理器,调试器。UVISION2IDE可为它们提供单一而灵活的开发环境。C51V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51V7版本无疑是8051开发用户的最佳选择。312UVISION2集成开发环境KEILUVISION2是一种编辑软件,做单片机用的。包括以下以下几项项目管理(1)工程PROJECT是由源文件、开发工具选项以及编程说明三部分组成的。(2)一个单一的UVISION2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。UVISION2包含一个器件数据库DEVICEDATABASE,可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含片上存储器和外围设备的信息,扩展数据指针EXTRADATA西安航空职业技术学院毕业设计论文5POINTER或者加速器MATHACCELERATOR的特性。UVISION2可以为片外存储器产生必要的连接选项确定起始地址和规模。(3)集成功能UVISION2的强大功能有助于用户按期完工。1集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。2文件寻找功能在特定文件中执行全局文件搜索。3工具菜单允许在V2集成开发环境下启动用户功能。4可配置SVCS接口提供对版本控制系统的入口。5PCLINT接口对应用程序代码进行深层语法分析。6INFINEON的EASYCASE接口集成块集代码产生。7INFINEON的DAVE功能协助用户的CPU和外部程序。DAVE工程可被直接输入UVISION2。313UVISION2编辑器和调试器(1)源代码编辑器UVISION2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。(2)断点UVISION2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框ATTRIBUTESCOLUMN中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。(3)调试函数语言UVISION2中,你可以编写或使用类似C的数语言进行调试。1内部函数如PRINTF,MEMSET,RAND及其它功能的函数。2信号函数模拟产生CPU的模拟信号和脉冲信号SIMULATEANALOGANDDIGITALINPUTSTOCPU。3用户函数扩展指令范围,合并重复动作。(4)变量和存储器用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整1当前函数的局部变量西安航空职业技术学院毕业设计论文62用户在两个不同WATCH窗口页面上的自定义变量3堆栈调用CALLSTACK页面上的调用记录(树)CALLTREE4不同格式的四个存储区。32汇编语言的发展321汇编语言的发展史汇编语言ASSEMBLYLANGUAGE是面向机器的程序设计语言汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言”作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写WINDOWS的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序322汇编语言的优点1面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。2保持了机器语言的优点,具有直接和简捷的特点。3可有效地访问、控制计算机的各种硬件设备,如磁盘、村储器、CPU、I/O端口等。4目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。5经常与高级语言配合使用,应用十分广泛。323汇编语言的应用170以上的系统软件是用汇编语言编写的。2某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。3某些高级绘图程序、视频游戏程序是用汇编语言编写的。汇编语言是我们理解整个计算机系统的最佳起点和最有效途径人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机西安航空职业技术学院毕业设计论文7器的逻辑功能。所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。西安航空职业技术学院毕业设计论文84小车使用说明要想使用小车就应先了解其的工作原理,懂得了他的机械构造才可能使其为你所用。通过了对小车的工作原理的了解,进一步进行语音程序的编写。41小车的工作原理通过小车的介绍和了解其工作工作原理可以更好的为设计服务,下面我们就介绍小车和其工作原理。411车体的介绍及工作原理语音控制小车为四轮结构。其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮在弹簧作用下保持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力。所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮。(2)小车的行走原理直走由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后轮电机正转小车就会前进。倒车倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车就会向后运动。图1小车前进、后退示意图左转前轮电机逆时针旋转(规定为正转),后轮电机正转,这时小车就会西安航空职业技术学院毕业设计论文9在前后轮共同作用下朝左侧前进。右转前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进。图2小车转向示意图42语音的训练421S1S4功能键如下按键S1做语音参考样本训练输入,一次训练一组,展示系统为5个辨认的单音,已训练的语句会永久保存在FLASH的记忆芯片中,即使关机还是有效的,语音训练需要输入2次以上,一般正常情况下输入2次便可按下S1键。操作过程如下系统说出“SAYNAME”(第一个单音)第一次录音系统说出“REPEATNAME”(重复一遍非必要)第二次录音系统说出“REPEATNAMETORECORD”(重复一遍录音)第三次录音第1、2次录音作为产生语音参考样本,第三次录音是做聆听存在的语音内容用,若训练成功,系统会说出刚刚输入的语音以做确认。按键S2修改原先已存在的语音参考样本,按S3键聆听系统已存在的某组语音内容,再按S2键则该组内容会被删除,再执行语音输入训练过程来建立新的语音参考样本,若在语音输入训练过程中失败,可使用S1键输入新的语音样本。按键S3聆听系统已存在的语音内容。按键S4进行辨认。RESETSRESETS6键与S1键同时按住,RESET先放开;清楚所有已存在的语音,或是做声控芯片系统重置用系统连续三次发出哗的一声来响应。此西安航空职业技术学院毕业设计论文10情况是在系统死机,完全不听使唤时非必要的动作;一旦执行声控芯片的系统重置后,原先存在芯片内的所有语言样本数据全部消除,用户需要重新输入语言,才能辨认。422基本控制电路所有应用主控制系统都时经过串行接口来控制VCMM动作,进一步完成声控目的,经串口连接控制VCMM。由外部任何单芯片(如8051)经串口来控制VCMM,其电平为TTL信号,算可由J889C51串行接口I/O接头,连接到VCMM。VCMM串行接口声控命令句柄如下1、句柄T语言训练,做语音参考样本输入,一次训练一组,展示为与个辨认单音。2、句柄L语音聆听,聆听系统以存在的某组语音内容。3、句柄M语音修改,修改原先已存在的语音参考样本。4、句柄N语音辨认。5、以上所做的动作如同操作VCMM上的4个键一样。IO51送出辨认句柄R后,等待1S后,VCMM送出句柄AB用以表示辨认结果,AB为所辨认的语言样本编号编码,实际辨认结果为NO,NO10AB,其中NO有效值为059若辨认错误则会传回X作为响应。IO51在收到辨认结果也会以内置的LED结合表示,LED动作是反向高天,一次亮一次灭。IO51控制板上的操作如下安下K1键送出句柄T语音训练,K2M语音修改,K3L语音聆听,K4R语音辨认。西安航空职业技术学院毕业设计论文115声控小车的软件实现要想让声控小车实现其功能一部分是硬件的介绍一部分是软件,本文主要是软件的介绍。通过对其的功能分析,设计出主控电路,以及编写其对应的程序,下面主要对其功能分析和程序。51功能分析根据设计要求,首先通过麦克风将声音信号采集,通过放大电路将信号放大,在将放大的信号,送给AD转换器,由AD转换器将模拟信号转换成数字信号,再将数字信号送给语音处理识别芯片,语音处理识别芯片将信号处理识别后,将处理识别结果送给89C51单片机,再由单片机将识别结果进一步处理,将输出结果送给外围放大电路,由外围放大电路去驱动小车的不同动做,从而实现设计目的。511主控电路西安航空职业技术学院毕业设计论文1252程序设计停车CH0CH1CH2CH31前进CH0CH11CH20CH31后退CH0CH11CH21CH30向左CH00CH11CH20CH31向右CH01CH10CH20CH30;V51,ASMTESTIO51KEY4CONTOLVCMCIASERIALPORT;SERIALPORT9600,N,8,1ASMKEILCOPYRIGHTCMY2003;由IO51串口送进句柄到VCMM板子上完成辨认功能CLISEQUI;聆听功能句柄CRECEQUR;辨认功能句柄CTREQUT;训练功能句柄CMODEQUM;修改功能句柄K1EQUP24;按键1引脚定义训练功能K2EQUP25;按键2引脚定义修改完成K3EQUP26;按键3引脚定义聆听完成西安航空职业技术学院毕业设计论文13K4EQUP27;按键4引脚定义辨认完成WLEDEQUP37;工作指示灯引脚定义ANSEQU30H;辨认结果存放变量04;ORG0H;程序代码由地址0开始执行JMPBEGIN;BEGINCALLINIT_RS232;设置串行端口的通讯协议CALLLED_BL;LED闪动,表示程序开始执行CALLTEST_LED;测试LED灯LOOPJBK1,L1;未按下K1键则开始继续扫描JNBK1,;等按键放开来;K1KEYEDMOVA,CTR;送出训练句柄CALLTX_CHARCALLLED_BL;LED闪动JMPLOOP;循环继续执行;L1JBK2,L2;未按下K2键则开始继续扫描JNBK2;等按键放开来;K2KEYEDMOVA,CMOD;送出修改语句CALLTX_CHARCALLLED_BL;LED闪动JMPLOOP;循环继续执行;L2JBK3,L3;未按下K3键则开始继续扫描;JNBK3,;等按键放开来;K3KEYEDMOVA,CLIS;送出聆听句柄西安航空职业技术学院毕业设计论文14CALLTX_CHARCALLLED_BL;LED闪动JMPLOOP;循环继续执行;L3JBK4,L4;未按下K4键则开始继续扫描;K4KEYEDCALLRECOG;执行辨认功能CALLLED_BL;LED闪动JMPLOOP;循环继续执行;L4JMPLOOP;循环继续执行;DELAYR510MS;延时子程序DELAY;总延时时间R510MSMOVR6,50D1MOVR7,100DJNZR7,DJNZR6,D1DJNZR5,DELAYRET;LED_BL;工作指示灯闪烁MOVR4,4LE1CPLWLED;位反向MOVR5,5;延时50MSCALLDELAYDJNZR4,LE1RET;INIT_RS232;通信协议9600N81西安航空职业技术学院毕业设计论文15MOVSCON,50H;设置串行接口工作于模式1MOVTMOD,20H;设置定时器1工作于模式2MOVTH1,0FDH;设置波特率为9600BPSSETBTR1;启动定时期1开始记数SETBT1;设置串行传送中断产生标志RET;TX_CHAR;传送一个字节数据JNBT1,;等待传送中断标志产生CLRT1;清除串行传送中断产生标志MOVSBUF,A;由串行端口传送出数据RET;RECOGMOVA,CREEC;送出聆听句柄CALLTX_CHAR;VCMENTERRECOGMODEMOV5,100;等待一秒使VCMM做辨认处理CALLDELAY;WAITFORANSWERCALLRXA;接受辨认结果CALLOP;做出反应RET;O/PSIGNAL;执行辨认反应动作OPMOVA,ANSCJNEA,0,01;传回码不是0则继续比较CPLP10;LED位反向RET西安航空职业技术学院毕业设计论文1601CJNEA,1,02;传回码不是1则继续比较CPLP11;LED位反向RET02CJNEA,2,03;传回码不是2则继续比较CPLP12;LED位反向RET03CJNEA,3,04;传回码不是3则继续比较CPLP13;LED位反向RET04CJNEA,4,05;传回码不是4则继续比较CPLP14;LED位反向RET05RET;TEST_LED;测试LED指示灯的组合MOVP1,0;LED全亮MOVR5,50CALLDELAYMOVP1,30FFH;LES全灭RET;RXANSWER0XXANSWERINDEXNO04;WAIRDORORXTOEXITRXA;等待VCMM传回辨认结果MOVANS,255;重置辨认结果;WAIRFOXORX;等待接受或是XJNBRI,;判断是否数据接收准备好CLRRI;清除RI标志MOVA,SUBF;由串行端口接收数据进来西安航空职业技术学院毕业设计论文17CJNEA,X1;不是字符则返回;RX0;等待接收0JNB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书范本:共同债权债务分担及追偿
- 中国历史文选 课件 第十三讲 张骞传;第十四讲 党锢列传
- 标准方法验证培训
- 老年照护技术考试题及答案
- 辅警常用知识培训课件
- 中国银行2025呼伦贝尔市信息科技岗笔试题及答案
- 农业银行2025四平市秋招笔试性格测试题专练及答案
- 建设银行2025张家界市秋招英文面试题库及高分回答
- 建设银行2025泸州市秋招结构化面试经典题及参考答案
- 2025年3D打印的仿生骨骼材料
- 个人资金转账合同模板
- 血管内超声在冠状动脉疾病中应用的中国专家共识(全文)
- 心理社交功能评估表
- 20G520-1-2钢吊车梁(6m-9m)2020年合订本
- 电梯维护保养规则(TSG T5002-2017)
- 感染性膝关节炎的护理查房
- 气血不足百病生
- 弱电工程移交模板
- 中心静脉深静脉导管维护操作评分标准
- 心肺复苏操作并发症
- 胆管空肠吻合术护理查房课件
评论
0/150
提交评论