基于单片机调光调速仪毕业设计说明书.doc

上传人:文库蛋蛋多 文档编号:3940392 上传时间:2023-03-28 格式:DOC 页数:43 大小:416.50KB
返回 下载 相关 举报
基于单片机调光调速仪毕业设计说明书.doc_第1页
第1页 / 共43页
基于单片机调光调速仪毕业设计说明书.doc_第2页
第2页 / 共43页
基于单片机调光调速仪毕业设计说明书.doc_第3页
第3页 / 共43页
基于单片机调光调速仪毕业设计说明书.doc_第4页
第4页 / 共43页
基于单片机调光调速仪毕业设计说明书.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《基于单片机调光调速仪毕业设计说明书.doc》由会员分享,可在线阅读,更多相关《基于单片机调光调速仪毕业设计说明书.doc(43页珍藏版)》请在三一办公上搜索。

1、编号: 毕业设计说明书题 目: 基于单片机的声控 调光调速仪设计 学院: 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 陈寿宏 职 称: 讲师 题目类型:理论研究 实验研究 工程设计 工程技术研究 软件开发 2012年5月20日摘 要语音识别是一门交叉学科。近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。 语音识别听写机在一些领域的应用被美国新闻界评为1997年计算机发展十件大事之一。随着科技技术的发展,电子产品日新月异的发展,声控产品使用率的提

2、高,为人类的生活带来了巨大的变化,随着近几年来信号处理技术的不断发展与提升,语音辨识的应用已真正走入人们的日常生活,声控系统的应用也不再遥不可及,家用电器的操作,不再需以遥控器的繁多按键为控制接口,取而代之是我们用平常说话的模式来驱使家电动作,诸如多种智能电器,人们在也不必为种类繁多操作复杂的遥控器而烦恼,人们可以很清松的操作各种各样的电器产品,达到更符合人性化的操作接口设计。随着语音技术的不断发展进,人们不光可以用语音来控制家电,声控产品也越来越受人们的欢迎,成为了21世纪发展的一大前景。本毕业设计研究的内容是学习和掌握SPCE061A单片机的应用技术,利用其适应用于数字语音识别的特点,完成

3、基于单片机的声控调光调速仪的设计。通过语音控制系统,实现对灯的亮度和电机转速的调节,同时使用1602显示当前亮度等级和转速等级。关键词:SPCE061A单片机;语音识别;调光;调速AbstractSpeech recognition is a cross discipline. Come nearly twenty years, the speech recognition technology has made significant progress, starting from the laboratory to the market. It is expected, the next

4、10 years, voice recognition technology will enter the industry, home appliances, communications, automotive electronics, medical, family services, consumer electronics and other fields. Speech recognition dictation machine the application in some fields are the United States press in 1997 as one of

5、the ten events of computer development.Along with the science and technology development, electronic product change rapidly development, voice products using rate, for human life to bring tremendous change, as in recent years the development of signal processing technology and promotion, speech reco

6、gnition application has really come into peoples daily life, sound control system application is no longer remote and, household appliances operating, no longer need to remote control key for various control interface, we usually say replace sb. With the mode to drive home appliance such as a variet

7、y of movements, smart appliances, people have no need for a variety of complicated operation of remote control and trouble, people can be very clear loose operating various electrical appliances products, to achieve more consistent with user-friendly interface design. Along with the speech technolog

8、y unceasing development, people not only can use speech to control the household appliances, voice products are increasingly welcomed by the people, has become a great prospects for development in twenty-first Century.This graduation design research content is to study and master the SPCE061A MCU ap

9、plication technology, using its adaptation for digital voice recognition features, based on SCM voice light and speed regulating apparatus design. Through the voice control system, to achieve the brightness of the lamp and the motor speed regulation, the simultaneous use of 1602shows the current lev

10、el of brightness level and speed.Key words: SPCE061A MCU,Speech recognition,Light modulation ,Speed control目 录引言11 任务要求11.1 设计任务11.2 设计要求12 方案论证22.1 方案比较22.2 方案确定23 系统框图介绍24 硬件系统介绍34.1 凌阳SPCE061A单片机学习开发板34.1.1 “61板”硬件框图及简要说明34.1.2 SPCE061A单片机介绍44.2 电机驱动系统54.2.1 电机电路的设计54.2.2 电机驱动硬件框图及简要说明54.2.3 LM26

11、79集成电路64.2.4 JQC-16F继电器84.2.5 7805稳压模块84.3 LCD160284.3.1 LCD1602简介84.3.2 LCD1602管脚功能84.4 LDE灯95 系统软件介绍105.1 初始化105.2语音训练115.3语音识别145.4 辨识结果输出165.5 集成开发环境IDE176 调试测试结果176.1 电机驱动板调试186.2 软件调试197 结论20谢 辞22参考文献23附录124附录225引言近年来, 消费类电子产品中智能化趋势日益明显, 其中语音识别技术的应用起到了关键的作用。语音识别技术是实现人机通信的一种重要的技术手段,语音识别与语音合成技术的

12、结合使人们能够摆脱键盘,通过语音命令实现控制功能。语音技术的应用已经成为一个具有竞争性的新兴高技术产业,语音识别产品在人机交互应用中已经占到越来越大的比例。从实现手段看, 当前以电子技术为基础, 实现语音识别可以利用单片机、数字信号处理器(DSP)或语音识别专用集成电路芯片来完成, 从设计成本、功能实现程度等综合来看, 利用单片机来实现语音识别是一种高性价比的方法。根据对说话人依赖程度的不同, 语音识别技术可以分为特定发音人识别和非特定人语音识别, 前者只能识别特定训练人的语音命令, 后者则可以识别一群人的语音命令。另外, 根据识别词汇量的大小, 语音识别系统可以分为小字表、中字表、大字表以及

13、无限字表的识别系统。根据对说话方式的要求, 又可以分为连续语音识别系统、连接词语音识别系统以及孤立词语音识别系统。本文研究了基于凌阳SPCE061A 单片机的孤立词、小字表、特定发音人语音识别技术, 并成功地将其应用于语音控制调光调速仪的设计中。1 任务要求1.1 设计任务本课题主要内容为设计一个基于单片机的声控调光调速仪。(1)利用单片机作为核心对语音信号进行处理和控制;(2)能对相应的语音信号进行调光调速的调节。1.2 设计要求(1)利用凌阳单片机开发板上的语音识别模块,灯的控制实现亮度的调节,同时控制电机的转速实现对转速的控制(2)灯光调节分为10个等级,转速调节分为5个等级。(3)使用

14、lcd1602显示灯光亮度等级和转速等级。2 方案论证2.1 方案比较方案一:系统采用MCS-51单片机AT89S52作为控制核心,由单片机自带计数器计数来完成频率、脉宽的测量,计数值再由单片机读取,单片机完成运算、控制及显示功能。同时用麦克风采集语音信息,将采集到的语音信息转换成数字信号储存到flash内存芯片。然后在利用麦克风采集需要识别的语音信息与储存在FlASH内存芯片进行比较。该方案的特点是硬件电路复杂,同时工作速度低,精度差,难以达到设计要求。方案二:系统采用PC作为控制核心,利用一块DSP56F805芯片对语音信号采集并传至PC作为语音识别的模板。用另一块DSP56F805芯片作

15、为输出控制信号。该方法方案的特点是硬件电路简单,但是不便于携带,输出端口少,难以达到设计要求。方案三:系统采用MCS-51单片机凌阳SPCE061A单片机控制核心,其内集成FLASH存储器、SRAM数据存储器、通用I/O端口、定时器/计数器、中断控制、CPU时钟、模-数转换器A/D、DAC输出等。该方案由于采用单片机技术,使其具有智能化的特点,简化了硬件电路, 提高了测量精度, 同时也能利用软件对测量误差进行补偿,并能方便地对系统进行功能扩展与改进。2.2 方案确定 分析以上三种方案的优缺点,方案三具有更大的优越性、灵活性,因此采用方案三作为具体实施的方案。3 系统框图介绍麦克风喇叭SPCE0

16、61A单片机电机驱动直流电机LED灯1602LCD显示在本次设计中,主要用凌阳SPCE061A 单片机做为主要芯片,用于处理语音数据和输出控制信号。如图3.1所示,这是本设计的整体框图,分为三个部分。语音输入和输出部分,SPCE061A 单片机处理部分,功能实现部分。图3.1 系统框图语音识别主要分为两部分,第一是语音学习,通过麦克风输入语音,让凌阳SPCE061A 单片机接收语音数据,并存储在Flash存储器。另一部分是语音识别,在语音学习完成后,通过麦克风再次输入语音信号,凌阳SPCE061A 单片机接收到语音信号与储存在Flash储存器的语音数据进行比对,比对成功后输出相对应的动作信号。

17、SPCE061A 是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以nSP为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。功能实现主要是能对灯的亮度和电机的转速进行调整,在这次设计中,使用的是直流电机,并用LCD1602显示亮度和转速等级。4 硬件系统介绍 4.1 凌阳SPCE061A单

18、片机学习开发板凌阳SPCE061A单片机学习开发板简称“61板”,是以凌阳16位单片机SPCE061A为核心的精简开发仿真实验板,大小相当于一张扑克牌, “61板”除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电。4.1.1 “61板”硬件框图及简要说明106mm如图4.1所示,为“61板”硬件框图。POWERK4RESETPLLPOWERSLEEPPORTBPORTAPROBE72mmOSC74HC244S5SPCE061A(PLCC84)EZ_PROBESPY0030VRTJ3K3R/CK1K2MIC图 4.1 “6

19、1板”框图下面说明“61板”框图的各个部分。表4.1 框图说明POWER 5v&3.3V供电电路 PLL 锁向环外部电路 Power电源指示灯Sleep睡眠指示灯RESET复位电路 K4 复位按键 PROBE 在线调试器串行5pinS5 EZ_PROBE和PROBE切换的3PIN单排针 J3 2pin喇叭插针 EZ_PROBE 下载线的5pin接口 DAC 一路音频输出电路 MIC 麦克风输入电路 OSC 32768晶振电路 VRT A/D转换外部参考电压输入接口 R/C 其他外围电阻电容 K1K3 扩展的按键:接IOA0IOA2 PORTA/B32个I/O口 SPCE061A 61板核心:1

20、6位微处理器 4.1.2 SPCE061A单片机介绍随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。SPCE061A是一款16位结构的微控制器。它的 CPU 内核采用凌阳最新推出的16 位微处理器芯片(以下简称nSP)。围绕nSP所形成的 16 位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,它以nSP内核为中心集成不同规模的 ROM、RAM 和功能丰富的各种外设接口部件。SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设

21、备输入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号。SPCE061A的结构如图4.2所示:16位微控制器unSPTM+ICEFLASHRAM双16位定时器/计数器时基中断控制锁相环振荡器CPU时钟实时时钟7通道10位ADC单通道ADC+AGC双通道10位DAC串行输入输出接口低电压监测/低电压复位Watchdog串行异步通讯接口32管脚通用输入输出端口IOB7(RXD)IOB10(TXD)IOB0(SCK)IOB1(SDA)ICE-ENICE-SCKICE-SDAVcpXI/RXOMIC-INAUD1AUD2IO

22、A150IOB150图4.2 SPCE061A的结构4.2 电机驱动系统4.2.1 电机电路的设计方案一:使用步进电机,可以利用凌阳“61”单片机本身自带的PWM功能输出端口对步进电机的控制,其特点是电路简单,但是要用到单片机PWM功能就要不断地调用中断来控制脉宽。这会影响到不断进行的语音识别的中断系统,所以这个方案会影响到整个系统的稳定性。方案二:使用的是直流电机。所以选择利用数字电阻控制集成电路LM2679获得性价比较高的可调电压电源用来驱动直流电机。虽然这个方案所涉及到的电路设计较复杂,但只用想LM2679集成电路输出高低电平就能控制直流电机的转动,降低了整个系统的不稳定性。所以通过以上

23、两个方案的比较,我选择第二个方案,因为第二个方案较易实现保持整个系统的稳定性。在这次设计中的电机驱动系统中主要用了数字电阻控制集成电路LM2679芯片用来获得可调的电压,用来调节直流电机的转数,同时使用JQC-16F继电器来控制直流电机的转向。还有用7805稳压模块稳定电机驱动系统输出电压的稳定。4.2.2 电机驱动硬件框图及简要说明如图4.3所示,为电机驱动硬件框图,下面说明电机驱动硬件框图的各个部分。J1J4LM2679JQC-16FJ5S1L1123mm83mmPOWER图4.3 电机驱动硬件框图表4.2 框图说明POWER8v40V供电电路J1外部信号出入端Power电源指示灯L1去抖

24、动电感S1电源开关J5信号输出端LM2679数字电阻控制集成电路LM2679 芯片JQC-16F继电器4.2.3 LM2679集成电路LM2679单片集成电路是一种电压变换器,它有较高的变换效率,最大输出电流可达5A,输出电压可以为固定电压3.3V、5V、12V或可调。LM2679系列产品具有过热保护和限流短路保护功能。它的输出电压精度优于2。由于电压转换器的内部由少量的元器件组成,并采用了高频振荡技术,使得该芯片的体积小、速率高、功能强。在DC/DC电源设计中,选用LM2679单片集成电路可以大大简化设计步骤和减少外围元器件的个数。LM2679系列产品可分为定压输出和可调压输出两种,本设计中

25、用到的是可调压输出的LM2679,典型的电路连接如图4.4所示。它的各引脚定义说明如下:图4.4 LM2679典型的电路连接图引脚1接入电感。去电压抖动,使得输出到直流电机的电压能够稳定在一个固定的电压值。引脚2电源电压输入端。它除了对负载提供能量外,也为LM2679的内部电路系统提供偏压,输入电压在8V40V之间。同时接入电容,用来稳定电压和滤掉高频信号。在实际应用中,电容离引脚2越近越好,其滤高频信号的效果越好。引脚3升压电容端,一般使用情况下此电容值为0.01F。引脚4接地端。在画板时尽量画粗,且尽量靠近输出端。引脚5电流调整端。在这个端口上连接一个电阻,其电阻值决定了整个系统的输出电流

26、的最大值引脚6反馈端。反馈电压输入到双向高增益放大器,用于驱动PWM控制器。对于固定电压输出(3.3V、5V、12V输出),将引脚6接到输出端。对于可调电压输出,需接两个外部电阻器以控制直流输出电压。其中,输出电压的调节,实际上是通过改变反馈端和输出端之间电阻上的分压实现的。反馈端通过R2和输出电压相连,同时通过R1与地相连。假设输出端负载上的电压为Vout,反馈端的电压为Vref,器件手册上给出的值为1.21V,则根据图3.17可得到其关系为:Vout=1.21*(1+R1/R2)V。引脚7软启动端。这个端口可连接一个电容,可形成一个缓慢导通的稳压开关器。电容的大小决定了电源导通的时间。这可

27、以大大减少的很大的电流突然流入带来的伤害。如果不需要软启动的话,该引脚悬空。LM2679集成电路芯片具体在本设计中的应用见附件1电机驱动板电路原理图,其使用原理如上诉所说。本设计中的直流电机主要是通过单片机控制LM2679的引脚6,也就是反馈端,的电阻变化来达到LM2679输出端电压变化,进而控制直流电机的转速。4.2.4 JQC-16F继电器在本次设计中使用的是JQC-16F双继电器,其主要用途是控制电机的转向。JQC-16F继电器主要特性有:1、超小型;2、可提供双继电器静音型;3、转换型触点;4、单击电器、双继电器可供选择;5、符合RoHS、HLV指令。JQC-16F双继电器顾名思义就是

28、期中包含了两个继电器,可以通过同时控制这两个继电器来获得四个输出状态。JQC-16F双继电器管脚接线图如图4.5所示,其中管脚1,2,3,4,5为一组继电器;另外一组管脚为另一组继电器的控制接口。图4.5 JQC-16F双继电器管脚接线图4.2.5 7805稳压模块7805稳压模块是三端正电源稳压电路,他的封装形式为TO-220。它有一系列固定的电压输出,应用非常的广泛,每种类型由于内部电流的限制,以及过热保护和安全工作区的保护,使它基本上不会损坏。如果能提供足够的散热片,它就能够提供大于1.5A的输出电流。虽然是按照固定电压值来设计的,但是当接入适当的外部器件后,就能获得各种不同的电压和电流

29、。4.3 LCD1602在本次设计中使用的是LCD1602用来显示整个系统的运作的状态,其主要显示LED灯的亮度和直流电机的转数等级,这能使用户更好的,直观的了解整个系统运作的状态。4.3.1 LCD1602简介1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。4.3.2 LCD1602管脚功能LCD1602管脚如图4.6所示,LCD1602VssVccV0RSR/WEDB1DB2

30、DB3DB4DB5DB6DB7DB0BLABLK12345678910111213141516图4.6 LCD1602管脚图1602LCD采用标准的16脚(带背光)接口,各引脚接口说明如表3.3所示表4.3 1602LCD,各引脚接口说明编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源

31、负极 4.4 LDE灯在本设计中主要通过点亮LED的个数来实现控制亮度的改变。LED灯实际上是一个二极管,它的特点是当电流通过二极管时,二极管会发出可见光,反之则不发光。在这次设计中将凌阳“61”单片机的IO端口设置为默认的高电平,将LED的正极通过一个电阻接入+5V电压,然后LED的负极接到凌阳“61”板上的IO口,所以只要设置IO端口为低电平就可以点亮LED灯,其LED灯原理图如图4.7所示。图4.7 LED灯原理图在图4.7中,J11是一个型号为A102J排阻,其作用是作为LED灯的上拉电阻。保证LED不会因为LED两端电压差过大而导致损坏。5 系统软件介绍 SPCE061A单片机属于系

32、统级芯片(SOC),用户使用非常方便 ,涉及到必需的外围电路也非常简单。例如其内置有自动增益放大模块 (AGC),使 MIC 输入模块只需要外接3个电阻和3个电容即可。而功放和喇叭输出模块只需要三极管,2 个电阻和1个电容。因此,这里重点从软件设计(主要是函数调用)的角度介绍该实现过程。有必要指出的是,凌阳公司为了便于开发者利用SPCE061A单片机来设计语音系统,在其集成开发环境(IDE)中专门设计了语音处理函数库,语音样本的训练、被识别语音数据的采集和相关处理以及识别结果的输出等都是靠调用库函数完成的,所以完全可以将精力放在如何正确地进行函数调用上,而不必过于关心语音处理函数本身,大大节省

33、了开发设计的时间。同时,将通过训练将声音转换成数字信号储存在SPCE061A单片机的32k的Flash内存中。所以当整个系统中在掉电的状态下也能保存声音信息,不用每次上电后重新训练。从实现过程的时序来看,可将语音识别在单片机上的实现过程分为个主要阶段:初始化、训练、辨识和辨识结果输出。其过程框图如图 5.1所示。初始化训练识别辨识结果图5.1 语音识别过程框图5.1 初始化在第一次输入程序后或者上电复位后,整个系统要进行一次初始化。初始化主要有以下动作:(1) 初始化语音播放状态为空闲,其程序语句如下:SetPlayStatus(plNULL)(2) 打开2Hz时基中断,设置R_Interru

34、ptStatus变量以防止放音程序将中断关闭,其程序语句如下: *P_INT_Ctrl = *P_INT_Ctrl_New | 0x0004;/打开2Hz时基中断 SetInterruptStatus(0x0004); /设置R_InterruptStatus变量以防止放音程序将中断关闭 (3) 初始化A,B IO口,设置A,B的IO口为输出,同向,初始默认为高电平。其IO口设置初始化程序如下:void Io_init(void)*P_IOB_Dir=0xffff ; /B口作同相高电平输出*P_IOB_Attrib =0xffff; *P_IOB_Data=0xffff;*P_IOA_Dir

35、=0xffff ; /A口作同相高电平输出*P_IOA_Attrib =0xffff; *P_IOA_Data=0xffff;(4) 初始化液晶 IO口通过“LCD_InitIO()”指令,程序跳到初始化液晶IO口的子程序,并且执行初始化液晶IO口。(5) 初始化LCD1602(6) 在显示LCD1602“Learning”5.2语音训练语音训练过程编写的函数有特征提取函数、模板修改函数、计时函数和语音播放函数。语音播放主要是利用凌阳公司提供的函数。语音训练软件流程图如图5.2所示。在语音训练开始后,首先判断是否是第一次在初始化下载程序,如果是第一次下载程序的话,就开始进行语音训练。首先要格式

36、化需要存储命令的存储器,然后播放提示音提示输入两次语音信息,判断输入两次的与语音信息是否一样,如果两次语音一致就提示成功,如果不一致,就重新训练语音信息。在1次语音训练成功后判断是否完成1名字和4指令语音信息的训练。如果未完成全部语音训练,就继续语音训练,直到完成。其语音训练程序如下:uiActivated = 0;/语音识别标志位清零 uiFlagFirst = IsFirstDownLoad();/判断是否为第一次下载这套程序if(uiFlagFirst = 1)/如果是第一次下载这套程序就重新训练FormatFlash();/格式化需要存储命令的存储器TrainFiveCommand()

37、;/训练需要的五条命令(一组)SaveFiveCommand(0xf700);/存储五条命令PlaySnd(OK, 1);/播放Ok,Lets go,表示一组命令存储结束PlaySnd(LETUSGO, 1);PlaySnd(HO, 1);/播放HO,HOO,HOOOPlaySnd(HOO, 1);PlaySnd(HOO, 1);PlaySnd(HOOO, 1);PlaySnd(HO, 1);PlaySnd(HOO, 1);PlaySnd(HOO, 1);PlaySnd(HOOO, 1);uiFlagFirst = 0xaaaa;F_FlashWrite1Word(0xfd00,0xaaaa)

38、; /存入0xaaaa,说明已经训练过了格式化需要存储命令的存储器判断是否下载过程NY播放提示音,提示输入语音信息输入两遍语音信息判断两遍语音信息是否一致NY判断是否完成1个名字和4个指令语音信号的训练和存储NY开始结束图5.2 语音训练软件流程图5.3语音识别在语音训练完成后,就可以通过语音识别进行声控调节。在语音识别过程中的编写函数有起点判断函数、止点判断函数、线性预测系数函数、线性预测倒谱特征函数、特征值差的分段先行动态时配函数、判断函数、出错函数以及利用这些子函数构建上层函数特征提取函数。语音识别过程的软件流程图如图5.3所示。在与训练后,可以开始进行语音识别。在进行语音识别之前,重新

39、设置SPCE061A单片机初始状态,要重新设置LCD1602的显示,导入训练好的命令和初始化识别器。当LCD1602分两行显示“Speed:0”和“Line:0”就说明已经做好开始语音识别的准备了。这时还不能进行语音识别,因为为了提高辨识的准确度,还为这套系统起了个“名字”。只有在你喊了它的“名字”后,它才会提起“注意力”为你进行语音指令的识别,给这套系统起的名字叫“JACK”。所以在开始进行声音控制之前,还要对着麦克风喊一声“JACK”,如果系统识别了声音,就会发出“Ho”一声,没有识别的话就没有反应,就要继续喊它的名字。然后在系统激活后,就可以开始进行识别具体的“指令”语音信号了,完成相应

40、的动作。以下是开始语音识别之前所需要执行的程序,以确保在识别语音过程中能实现相应的功能:ImportFiveCommand(Group1);/导入训练好的语音命令uiBS_Team = 0;BSR_InitRecognizer(BSR_MIC);/初始化识别器LCD_Write_Com(0x01,1); /显示清屏WrStr(0,0,Speed:);/显示:Speed:0 Line: 0 WrNum(6,0,0);WrStr(0,1,Line:);WrNum(5,1,0);开始调入语音函数,初始化语音识别器,开始识别设置LCD1602分两行显示“Speed:0”,“Line:0”输入外部语音信

41、号,进入语音识别阶段。取得识别结果判断是否是“名字”语音信号N等待“名字”语音信号Y继续获取外部语音信号,取得识别结果判断是否是为“指令”语音信号YN根据识别的“指令”命令来决定动作继续等待,听到声音是否超时NY发出“Hoo”声图5.3 语音识别过程的软件流程图5.4 辨识结果输出根据识别的命令来决定动作如果识别的是“减慢”,直流电机速度减慢1个等级,直到等级0,显示直流电机转速等级。如果识别的是“变亮”,LED灯多亮一盏,直到8盏LED灯都点亮,显示LED亮度的等级。如果识别的是“变暗”,LED灯暗掉一盏,直到8盏LED灯都熄灭,显示LED亮度的等级。如果识别的是“加快”,直流电机速度加快1

42、个等级,直到等级5,显示直流电机转速等级。本次设计中主要通过直流电机的转数,led灯的亮度和LCD1602的显示做为整个系统的直观的输出结果。识别后的辨识结果输出如图5.4所示。图5.4 辨识结果输出如图在直流电机方面,主要是通过对电机驱动板输入控制信号,完成对直流电机的控制。通过直流电机驱动电路图(见附录1)可知,可以通过对J1端的5、6、7、8、9接入端输入控制信号完成对直流电机的控制。例如只对J1端的6接入端设置低电平,是的三极管导通,此时R8就作为反馈电阻,此时电机驱动电路的输出电压Vout=1.21*(1+R8/R2)V。所以通过改变出入信号,使得可以改变通路选择不同的电阻值,进而完

43、成对输出电压值的改变。在J1端的3、4接入端是JQC-16F继电器的控制端,通过控制输入这两个端口可以完成对直流电机转向的控制。例如,以下是选择速度等级1的控制指令:case 1:*P_IOA_Data|=0x00ff;/速度等级1*P_IOA_Data&=0x0006;break;在LED灯方面,将LED灯的负极连接一个排阻,将正极连接到凌阳单片机的IO口上。因为在凌阳单片机的初始化中,已经将凌阳单片机的IO口都设置成默认高电平了,所以只要将凌阳单片机的IO口的输出信号变成低电平,就可以点亮LED灯。例如,以下是选择亮度等级1的控制指令:case 1:*P_IOA_Data|=0xff00;

44、*P_IOA_Data&=0x0100;break;在LCD1602方面,直接将LCD1602的管教与凌阳单片机的IO口相连接,进行对LCD1602的控制。5.5 集成开发环境IDE集成开发环境IDE是nSP 集成开发环境,它集程序的编辑、编译、链接、调试以及仿真等功能为一体。具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表等,使人们的编程、调试工作更加方便且高效。此外,它的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。6 调试测试结果本次设计中,主要有三大块实物板,一是凌阳SPCE061A单片机开发板,二是电机驱动板,三是功能实现板。对于这三块实物板,使用跳线来进行连接,使得它们能一起工作。凌阳SPCE061A单片机开发板主要用来收集信息,处理信息和发送工作信号。在凌阳SPCE061A单片机开发板的IOA的低八位端口用来控制电机驱动板的工作信

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号